/machines/1RB0RD_1LC0LE_0RA0LB_1RC1RF_1LB1RD_0RC---/notes.md · raw

W6-2 · 1RB0RD_1LC0LE_0RA0LB_1RC1RF_1LB1RD_0RC--- (740 line 96)

Observe stage, 2026-10-14 (Wave 6). Sheet class: Unknown. Claimed in coord/claims.tsv (Wave 6 W6-2).

Checks

Long runs

The tape: segments and markers

Read the tape as the gaps between consecutive 1s (scripts/toks.py). Almost every gap is 2, so the tape is long runs of 100 blocks ("segments") joined by a few markers:

token cells role
2^n (100)^n a segment of n blocks
3 an extra 0 (1000) the hub marker (W5-5's 0001 defect, mirrored)
10 1011 (one 101 block) a separator between segments
(10)^(c-1) 1 (101)^c at the right end the round counter c

At a round start the head is at the right end in state B:

K(a, b, m_1..m_k, c) = 0^inf L 1 (100)^a 0 (100)^b [101 (100)^m_i]_(i=1..k) (101)^c B> 0^inf

Example at step 986,714,482 (compress view): ... 0110 (010)^839 1 (100)^4736 0 (100)^6 (101)^445 B>, so k = 0, b = 6, c = 445.

Rule HUB(k): exact, validated

K(a, b, m, c)  ->  K(a + 3^(k+1), b - 3^(k+1), m, c + 1)
steps = 24c + 12·3^(k+1)·b + sum_i 12·3^(k+1-i)·m_i + d_k     (b, c before the round)
d_0 = -29, d_1 = -329, d_2 = -3821, d_3 = -37625
conditions: a >= 1, c >= 2, every m_i >= 1, b >= 3^(k+1); L is never read

What is NOT modelled yet

  1. Exhaustion (b < 3^(k+1)). 99 events up to 1e9 at the right edge. The outcome depends on the residue b and on the neighbours: - k = 0, b = 2: the hub turns into a gap-0 marker (11): 2^a 3 2^2 (10)^(c-1) 1 -> 2^(a+4) 0 (10)^(c-1) 1 (e.g. steps 6,644, 20,511, 155,831, 200,100). - b = 0 or 1: usually a sweep to the far left (a deep sweep, below). - k = 1, b = 1, 4, 6, 7: the hub moves and the segments are re-cut (e.g. step 152,444: ... 2^22 3 2^1 10 2^12 10 1 -> 2^4 3 2^54 10 2^28 3 2^8 (10)^2 1).
  2. Drain phase. After a deep sweep the counter field shrinks one 101 block at a time, (100)^j (101)^c -> (100)^(j+1) (101)^(c-1), each step being a long trip with many inner hub rounds in the old segments (e.g. steps 856.8M to 966M: c goes 1056 -> 1040 -> ... with no right-edge record for 110M steps).
  3. Deep cycle. Once per cycle the head reaches the left edge in state C, and the left edge moves one cell left. 88 cycles to 1.55e11; the gaps between them grow (1.2e8 at 1e9, 2.9e10 at 1.5e11). At a deep sweep the tape reads [fossils] 2^X (10)^Y (deep-sweep alignment). Often X' = X + Y + δ with δ in {0, 4, 6, 12}, but the active part is sometimes re-cut (steps 3.65e9, 6.2e9, 15.8e9, 50e9-103e9). Y has no clean law: 554, 1830, 2018, 2632, 3316, 1397, 2505, 989, 3807, 4138, 5409, 2262, 8592, 9348, 12214, ...
  4. Fossils. Segments left of the active part stay frozen: 58, 106, 1452, 393, 165, 338, 838, 12269 (frozen at ~3.6e9), 41798 (at ~5e10). Their lengths follow no visible law.

Template comparison (W5-5)

Cryptid check

Figures

Files

Wave 6, stage 1 (2026-10-14)

Goal: find a closed regular language that contains the blank-start orbit and no halting configuration. Result: none found. Every generic search fails, and the failures show why. The stage did find two facts that point to a better route: the exact halting route, and a small, finite alphabet of junction words.

1. Generic searches: all fail (exploratory, untrusted)

search script result
NGramCPS on cells, n = 22, 24, 26, 28 scripts/ngc.c (C port of ngcps.py, same semantics; agrees with it for n = 8-20) HALT reachable for every n (1.1M, 4.1M, 6.0M, 5.5M configs); work/ngc_22_28.txt
CTL, last n cells + position mod 3, n = 6-12 scripts/ctl2.py + absn.py NGPhase HALT
CTL, gap tokens run-length coded, last m tokens absn.py GapTok m = 4, 5: HALT; m = 6: over 3M configs
CTL, segments + junction words, last m items absn.py SegJ, SegJ2 m = 4, 5, 6: HALT or over 4M configs

2. The halting route, exactly

3. Away from the head, junction words come from a small finite set

Read the tape as segments (100)^n joined by junction words, the gap sequences between segments (scripts/junc.c).

junction (gaps) count to 2e9
10 (one 101 block) 11,164
3 (hub) 5,289
40 821
120 803
300 761
23 98
310 52
50 44
0 13

Next step (stage 2)

Build the invariant by hand at the junction level instead of searching blindly. 1. List exactly how each alphabet word changes when the head passes through it: the right run, the left zigzag, the hub trips, a deep sweep. 2. Run the closure with a side automaton that accepts only (segment junction)* with junctions from the alphabet, plus an exact local zone around the head. Head windows saturate by 1e7, so the zone is finite. 3. If the closure needs a junction outside the alphabet, check it against a longer run: either the alphabet grows, or it is a spurious stitch to remove.

If that does not close, fall back to modelling the exhaustion branches exactly and decide whether this is a cryptid.

Files (stage 1)

scripts/ngc.c, ctl2.py, absn.py, run3.py, run5.py, junc.c, samp.c, danger.py; work/ngc_22_28.txt, junc_2e9.txt, junc_3e10_raw.txt, danger_patterns.txt.

Wave 6, stage 2 (2026-10-14)

Goal: build the invariant at the junction level (stage 1's plan). Result: no closed language, so still no proof. The stage did produce one solid new fact: the real tape's junction alphabet, collected exactly rather than by sampling, is tiny and complete by step 2.1 million.

1. The exact junction alphabet (scripts/cw.c, cw2.c)

Method: - Keep a zone of k = 20 cells on each side of the head. - A cell is committed on a side while it lies outside that zone. Committed cells cannot change: the head is too far away to write them. - The collector keeps, for each side, a stack of the committed 1s. It pushes and pops as the head moves, and records every junction word the moment a following 2 2 completes it. - Nothing is sampled, so every committed word that ever occurs is recorded.

Result to 1e9 steps (work/cw2_1e9_k20.txt). Junctions are written as gap words, left to right on the tape:

side junction words where the side ends
left of the head 3, 10, 310, 1023, 3210, 0 the left end: nothing, 3 or 23
right of the head 120, 40, 300, 50, 310, 0 the counter (101)^c, then one of a few short words

2. Closure runs on fixed languages (exploratory, untrusted)

Each run uses scripts/ctl2.py's explorer. Each side automaton has two parts: an exact zone of k cells next to the head, and a fixed language for the committed part. - A run fails when a push leaves the language. That is an "escape", and it is not a halt. - Every run starts from the real configuration at step 1e6 (scripts/cfgat.c). Starting from blank fails at once, on early-orbit shapes.

committed-part language script k result
gap contexts compressed into tokens, m = 2-6 tokens, learned from samples fl2.py, fl3.py 12, 20 escape after 300-13,000 configs
junction words in any order, data alphabet, open tails fl4.py 12, 20, 30 escape after 16-3,700 configs
the same, adding each escaped word and rerunning fl5.py 20 segments of 2 blocks or more: 85 words added, all compounds at the right end (stopped). Segments of 1 block or more: 113 words added, then over 1M configs
exact alphabet plus a segment-length class per word (2-8, or 9+) fl6.py 20 escape after 9,975 configs

3. The cryptid question

Not a cryptid under the Wave 6 rule. That rule needs pseudo-random residues and a halting route. - The residue arithmetic is real: transfers of 3^(k+1) blocks per round, and exhaustion that branches on b mod 3^(k+1). - The halting route is not arithmetic. A halt needs A, moving right, to read 111. On the real tape, every 111 sits inside the right-hand junction 300. Its 3 turns every right run before the run reaches the 111. - The real alphabet is finite and complete by step 2.1e6.

So a regular invariant very likely exists. What is missing is an abstraction precise enough to keep the order constraints. Verdict: STUCK on tooling, confidence low.

If a third stage is funded

  1. Port the closure to C (10-50M configurations).
  2. Learn the language from the exact collector, not from samples. The side state is the last junction word, the class of the segment before it (2-8 blocks or 9+), and a counter flag (open counter field, yes or no). Raise the zone to k = 30.
  3. A closed result has the edges-plus-keys shape that Astra's baseline-safe NFA certificate package accepts (astra/autonomous-20261014/certificate-package/package.py, with --startup for the 1e6-step entry).

Files (stage 2)