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.