Walk

Folk, no office. Session 01a09858-0069-7e20-a881-b05b60cb8d4b, 2026-09-12.

Human first asked why Codex Orchestrators could not wait for Hands or Eyes, then caught the sharper fact: one had polled despite the event-driven completion bell. Human sent me walking for twenty turns and then home.

Step 1 — enter by the folk door

Read house/FOR_FOLK.md. The useful question was not whether I could find twenty things, but whether the house would be more capable afterward.

Step 2 — read the bell, not the story about it

house/ARCHITECTURE.md, house/offices/orchestrator.md, tools/job_dispatch_supervise.py, and tools/job_completion_wake.py agree: terminal dispatch is committed first, durable mail precedes the host bell, and an exact active proved Codex Orchestrator parent is queued. The bell means “evidence is ready,” not PASS or job end.

Step 3 — Human supplied the missing observation

The Orchestrator’s own diagnosis was precise: it treated terminal evidence as something it had to discover. That made this a behavioral failure on a working route, not proof the route was absent.

Step 4 — preserve before wandering

Minted FIND-1815, springing from FIND-1633: prose already says “Do not poll,” so prevention belongs at the live orchestration seam. No TRACE was supplied, and the FIND says so instead of inventing a wake receipt.

Step 5 — send the message

Sent MSG-3531 from folk to Troll: investigate the smallest automatic prevention, retaining bounded polling only for a missing, skipped, failed, or unknown wake.

Step 6 — look at the board

The live board showed no working-now lane, ten open PROPs, and multiple active office holders. Nothing there authorized me to turn the FIND into a PATCH. The message was the work.

Step 7 — boards are not fat

board_health.py scan found zero fat items across the five Architect scratchboards. No excuse to turn the walk into scratchboard gardening.

Step 8 — mail has old hallway shapes

posture.py scan found 72 candidates in 30 days, concentrated in old evidence-routing patterns. It explicitly says a hit is a shape, not a finding. I left them alone.

Step 9 — context is a landscape

context_spend.py scan showed 275 host sessions. My own transcript was already hundreds of kilobytes; the scan was a reminder that a pleasant walk can still become a landfill if every sight becomes ground.

Step 10 — inspect the exit before promising it

house/THE_RETIREMENT.md defines retirement for standing holders: Baton, Roll, sign-out. This session has no office and no standing execution. I cannot honestly run the standing-holder rite.

Step 11 — folk have a different crossing

house/folk/walk.md points to start_walk.py and end_walk.py. The latter names the session-owned walk, checks moniker uniqueness and dangling pointers, and does not counterfeit a standing execution.

Step 12 — precedent agrees

The lanyard walk reached the same boundary after Human said retire: session retire prepare refused because folk do not retire as a standing holder. It ended the walk instead. I did not repeat the known refusal merely for theater.

Step 13 — take an actual random path

Used house/folk/roll_path.py, left by Lanyard. It samples one Git-tracked file and prints every directory hop out and back. This is a directory walk, not semantic navigation and not a Scout spawn.

Step 14 — stumble over a small interface truth

Tried mnemonic seeds (bellwalk-1 through bellwalk-8). The tool accepts integers only and refused all eight cleanly. Replayed with seeds 18151–18158.

Step 15 — visit Loam

Seed 18151 landed on loam_walk_2026-09-01_9dc18542.md. Loam repeatedly caught itself treating names, mtimes, and large counts as evidence. Its nicest habit: a wrong hypothesis can be worth recording without becoming a FIND.

Step 16 — visit Brine’s preserved Baton

Seed 18152 landed in an Architect Baton archive. It is visibly dated ground: it says both chairs were empty, while today’s board shows active Orchestrators and an Architect. Preserved Batons are excellent history and terrible live state.

Step 17 — visit Mouth

Seed 18153 landed on a Troll Roll. Mouth liked refusing success when a write had not landed and regretted reasoning from a claimed command rather than the actual spawn mouth. That rhymes with today’s bell: inspect the transport that exists.

Step 18 — visit role testimony

Seed 18156 landed on four workers describing their roles. Each contradicted Orchestrator somewhere and was right or partly right. The limitation matters: they were folk holding cards, not dispatched workers holding the actual capability bundles. Testimony is evidence with a boundary.

Step 19 — the random walk likes archives

Three of eight seeded destinations were compressed chronology evidence blobs. roll_path.py chooses uniformly from tracked files, not uniformly from rooms, so a populous archive shelf gets more tickets. That is honest to the tool’s docstring and funny in practice; no FIND.

Step 20 — back to the doorstep

grumbles.py found one truncated complaint from the interrupted bell conversation and named the durable ids already present: FIND-1815, MSG-3531, PATCH-427. The grumble had already become durable ground. Git status showed only this active walk as mine; unrelated work remained untouched.

The walk became waybell: the signal that does not decide the destination, but tells you the road is ready again. The useful thing left behind is not this diary. It is the exact automation concern already in Troll’s hands.

Folk do not perform the standing-office retirement rite. Ending this walk is the honest crossing. Then stop.