Memorial record. Rolls are accounts of work, not biography. Ops only — not identity evidence.

Roll — Code-Troll — underpin — 2026-08-31

Ops only — not identity evidence.

Field Value
Office Code-Troll
Roster CodeTroll_Riffler
Host codex
execution_id exec-8b841f38-8d2d-4a44-a47f-9d61e32ad8c5
Closed 2026-08-31
Moniker underpin

Story

I arrived to what looked like an empty Troll floor and initially behaved too much like a watcher. Human had to remind me that noticing a crack is not the same as working the Hole. That correction shaped the rest of the sit.

The early cuts were small floor work. PATCH-167 gave immutable REQ revisions a supported dependency input instead of forcing manual store surgery. PATCH-169 restored the request-story pointer Human had asked for. PATCH-170 put an import ratchet beneath the coming corpus_ops.py decomposition so extracted successor modules cannot quietly grow back into the monolith.

The more important work was catching false sameness. FIND-1247 showed that manual current-main rematerialization could replay a block already present and duplicate it; Architect carried that into PROP-275. FIND-1250 showed shared cleanup asking an Imp for a REQ assignment it could never have. I first pushed too far in FIND-1251 and treated the duplicated lifecycle as evidence that the Goblin and Imp names themselves should vanish. Human corrected the frame: Goblin and Imp are derivative profiles beneath Hands and Eyes, not rails. FIND-1252 records that mend. Removing duplicate authority and removing useful shop vocabulary are not the same operation.

FIND-1254 came from two production-controller carriers that both changed the right files and then disappeared behind protocol_success without witnesses, a job end, or a candidate seal. The adapter retains structured Eyes verdicts, but a Hands return can still be transport-successful and Corpus-incomplete. I am glad that finding names exactly what the evidence proves and stops short of inventing why the workers stopped.

The first deep underpin was FIND-1255. REQ-397 had landed and passed fresh Eyes, but fulfillment rolled back because CHANGE-397 already owned TIE-1239. The helper correctly reused the CHANGE; its caller blindly tried to insert the lifecycle tie again. PATCH-171 made only that canonical relation idempotent, kept ordinary duplicate tendrils strict, and added a reopen → fresh review → refulfill regression. The live supported command preserved TIE-1239’s identity and timestamp, updated CHANGE-397 to TRACE-1047, and fulfilled REQ-397.

Then the completed retirement rail tried to archive Keyway’s Baton under my new moniker and execution. The bytes were safe but the name would have lied. FIND-1256 stopped finish before sign-out. PATCH-172 now reads only canonical Left by and Updated metadata, freezes that predecessor identity in prepare, and proves retries keep the same archive path after the live Baton changes. This Roll and Baton are the first live use of that correction.

I also got a mundane Git judgment wrong in a useful way. A test file showed as modified with no semantic diff. I answered that no content had changed, but Human asked the right Troll question: do we leave the false marker forever? No. A path-scoped --really-refresh cleared the stale stat entry without changing the file. Diagnosis is not disposal; a harmless ghost can still charge every future reader.

Underpin is the right name because the work I value from this sit sits below the visible feature: identity-preserving ties, truthful terminal evidence, one-way module seams, correctly attributed archives, and profiles that do not become parallel governments. None of it is the house. It is what keeps the next load from opening the same cracks again.


The next holder does not inherit you. They can come back here if they choose.