My past rulings decide the repeat cases
Every decision I make for my fleet is written down: a numbered entry with the ruling, the why, what it binds and how to verify it, in a ledger every session reads before it acts. After three and a half months that ledger had 185 entries and a strange property. I kept being asked things it already answered. In three weeks, 54 queue entries were parked as needing me. I sorted them by class: canary drift, nine; machine drift, eight; dependency advisories, five; a push that needed my hands, three; two more classes with two each. 29 of the 54 were repeats I had resolved the same way every time, and about 40 of them carried no line saying why I was needed, which the queue’s own protocol already forbids.
So the office I am building for the fleet has a one-line job description: take the simple-to-hard decisions from my past rulings, leave me the exceptional ones. It is not a hosted agent. None of the products I looked at reads a decisions ledger as policy or reaches a work queue, a scheduler, a claims door or a git gate, and the nightly drain they would replace already exists. It is three flows over one board, built from what the fleet’s own tools already produce.
The inbound flow decides from precedent. A small tool takes a queue entry and the ledger and derives the entry’s class: the title’s stem plus its source line, with dates, versions and parentheticals normalised away, so recurrences collapse onto one class. Then it looks for prior rulings in two tiers. A resolved entry of the same class, whose done line is a paste-ready resolution, matches at high confidence; a ledger entry whose title or scope covers the class matches at medium. It is read-only by construction, and any entry whose text trips a rail keyword, a credential, a release, a registry edit, a machine surface, an outward action, reports no match with the rail named, whatever the history says.
$ npx peirad precedent --entry queue/031-canary-drift.md \
--ledger DECISIONS.md --resolved queue/resolved
class: canary-drift (from: doctor-canary)
matched: yes, high
precedent: queue/resolved/022-canary-drift.md
resolution: regenerated the canary from the pack; no ruling needed
An alarm whose class matches a precedent is resolved by the steward with that precedent’s resolution and a receipt in the morning brief: decided by precedent, entry 22. The entry carries an expiry window in which I can overrule, and an overrule becomes the new precedent for the class. Classes without a precedent stay advisory, exactly as before. The absolute rails, releases, registry edits, credentials, anything outward, never auto-resolve.
- Silence resolves nothing. A precedent resolves it, and says which one.
The outbound flow proposes. Every finding the nightly sweep produces already carries an action, an effort and a confidence, and the sweep names the classes open in two or more projects. Those improvements used to die in a gitignored report. Now a scorer reads them against a rubric my fleet authors, because what is worth doing is my call, not the tool’s:
severity risk 3 · gap 2 · polish 1
economy S 3 · M 2 · L 1
confidence high 3 · medium 2 · low 1
breadth projects carrying it, capped at 3
A proposal that clears the rubric is filed into the queue as a proposal, with an implications section, and a proposal never executes until I rank it. Two exceptions run by precedent, each with a receipt: a standardisation whose fix is small and whose class I already applied once by rank is applied fleet-wide; a class closure at two named rungs of my closure scale, a default or a gate, is prepared as a merge request. A first-of-class application never runs unattended.
The third flow plans by rank. An initiative exists when it has a row on the fleet board, a link to the asset it serves, and a rank I set. The inspector may propose rows; only I rank them. Nothing works an unranked row, not the drain, not the steward, not the worker. A rank is never machine-set. That one sentence is what keeps the office from becoming self-serving. The machinery can find work forever; it cannot decide that its work matters.
The cadence is an office’s: a daily brief, weekly planning folded into the Monday sweep, a monthly look at whether the period’s focus actually got the hours and the dollars. I meet the office at those three moments and am interrupted only by exceptions.
What I have given up is the feeling of deciding. What I have kept is every decision that was ever mine, in the only form a machine can apply.
The ledger was written so future sessions would obey it. It turns out the sessions can also read it back to me.