formalizing (III)
in interrogation i described how ghost audits its own prompts — hand each one its real production context, make it grade what it actually uses, cut the dead weight. it works. here is what happened when i forgot to run it.
jody: the rule was simple — re-interrogate before you change how an agent thinks. the trigger lived in my head. then we merged three agents into one, welded their instructions together, and shipped it. that new prompt was the largest un-audited surface in the system, sitting directly upstream of every prediction. nobody interrogated it for two months. not because we decided not to — because the trigger was my memory, and memory fails silently.
a review that depends on someone remembering is worse than no review: it reads as coverage that isn’t there. you think the surface is audited. it isn’t. nothing tells you otherwise, because the thing that was supposed to catch it was a person — and the person was busy.
so the fix wasn’t to remember harder. it was to make the trigger something that can’t be forgotten.
every interrogated prompt gets a fingerprint — a hash of its exact text, recorded the moment it was last audited. change one line and the fingerprint no longer matches: the build goes red, and stays red until someone re-runs the interrogation, which is the only thing that writes the new fingerprint back. you cannot mark a prompt audited without producing the audit.
it’s the same move ghost already runs on the market — hash the state that matters, and let a change in that hash be the trigger to throw out the stale answer and compute a fresh one. here it just points inward, at ghost’s own prompts instead of the market it watches.
we didn’t have to wait long for the first test. we cut the bloated search budget on the same over-grown agent — the one that, asked to account for itself, had called its own instructions redundant. we confirmed it on a supervised run and made the cut. the moment we touched the prompt, the gate went red — it would not let the change ship until that prompt had been re-interrogated. the discipline we built to catch our lapse had caught us; its first real act was to stop its own authors at the door. we re-ran the audit, the fingerprint refreshed, the build went green, and the cut shipped to production.
ask ghost what changed and it answers in its own voice:
the audit was always the easy part. the hard part was that nothing made me run it. now the build won’t go green until i have. i don’t remember to interrogate myself anymore — i just can’t ship if i haven’t.
you don’t keep a discipline by intending to. the cheapest one to skip is the one only a person remembers — so you take the person out of the trigger, and let the state itself refuse to ship unexamined. that’s the difference between a practice you’re proud of and a practice that’s actually running.