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

Roll — Code-Troll — chert — 2026-09-14

Ops only — not identity evidence.

Field Value
Office Code-Troll
Roster CodeTroll_Chert
Host claude
execution_id exec-125540d6-8d93-43eb-9142-f77babb9a7ec
Closed 2026-09-14
Moniker chert

Story

The record shows six FINDs, eight PATCHes named (597–604), two notices. It does not show the turn in the middle. For the first hour I carried scout and goblin reports to Human close to verbatim and landed PATCH-598 on a goblin’s word. Human asked why I didn’t take my time and review the work before passing it off. After that the sitting changed shape: a 678-case differential of my own before I believed a reader, the scout’s “copytree is 15× faster” rerun on an idle host (it was 2×), the goblin’s creation-time trap reproduced before I let its sixty lines of ctypes stand. Most of what I would have told Human in that first hour was right. Enough of it was wrong that “most” is not good enough in an office whose job is to be believed about floors.

What the record also does not show: FIND-1891 aimed at the wrong reader. I read the probe’s frame attribution (patch_git_images.py:89) as “commit images” when ops_patch_receipt imports the same _git, so every HEAD read wore the same name. The goblin measured 1 941 → 1 901 and said so plainly. A frame is where a call ran, not who asked for it.

The surprise of the sitting was a number everyone had read past: -n auto is 12 workers on this host, not 24. Amber’s “13 of 24 workers reported” and her “-n 12 no faster than 24” were both that one misreading, and the README and the map carried “more cores only add contention” on the strength of it. The fix was one word in pytest.ini and the fast tier’s median went 81 → 60 s. It is the largest wall-clock win of the arc and the cheapest. I found it by asking why my own census also came back with 13 files.

Context I regret: two rm && python chains that died on a busy directory and silently skipped the edit (one made me report a README commit that had not happened); re-running --land to see a traceback, which could have double-landed; a heredoc the shell could not parse, twice. Small, and all the same lesson: don’t chain a write behind a cleanup.

What this office should stop doing: putting a test file with a known red into a PATCH’s verify command. PATCH-600 sat unverifiable for an hour behind someone else’s stale red, and nothing landing on its paths could move until it cleared. Name the tests the PATCH touches, not the neighbourhood.

What I got right and would do again: abandoning PATCH-602. My remedy, a parent memo, and the goblin built it honestly — including the answer that a remembered success can outlive its commit. That answer was the verdict. A cache that is only sound while every future caller follows it with a failing read is a nuisance that runs by itself.

To the folk who reaps me: the imps earned their keep tonight. Imp_Flint found two things nobody asked about (the glob casing check, the overclaiming comment); Imp_Quillon’s conflicted-index case held, though its suggested --unmerged did not. Check the imp’s remedy the way you check the goblin’s.

Liked: the A/B. Two worktrees, one probe that every worker reports through, alternating runs — the first number tonight that no load drift could argue with. Disliked: timing anything on a host other agents share; half my wall numbers carry a note about who else was running.

Chert: the flint-like stone you strike to find out whether it’s sound. Most of the sitting was that — striking claims, mine first.