After installation
Every fix makes the next change safer.
Known issues, change records, defect records, reproducers, approvals, and evidence keep accumulating around the intent—so month twelve knows more than month one. The audit installs Proof on one component; Proof is what stays. This page is month two and month twelve.
01 · The register
Unknown failures are risk. Known issues are work.
The first thing the audit leaves behind is a known-issue register: each known issue named, its severity assessed with the basis recorded, an owner and a review date on file, a reproducer attached. A maintained instrument the gate itself checks for staleness, not a spreadsheet someone started and abandoned.
A register like that survives contact with a sprint-planning meeting: fixes sequenced by severity and reachability, budgets defensible, “what is still open” answerable without calling anyone. Each entry is delegable as well as plannable: every known issue carries a copy-ready prompt with the issue, its context and its reproducer, so any engineer or coding agent can pick up the fix with the reproducer as the finish line.
The public project shows the shape: the jsonparser register, read off master — four known-issue records, every one fixed, every one carrying the command that reproduces it. When a customer or a board member asks what you know about the component’s risks, there is a written answer with evidence behind it. The risk did not shrink; it stopped being invisible, and invisible is the expensive part.
Browse the live register ↗ seeded product demo; read the labels first
02 · The fix loop
Every known issue arrives pre-wired for fixing.
A known issue ships as a runnable reproducer, and the reproducer pins the break one of two ways: it fails until the fix lands, or it asserts the broken behavior while that behavior is live and flips when the fix lands. The record says which. Either way it only goes quiet when the problem is actually gone, and the gate re-checks the requirement, the traceability and the coverage around the change.
In the corpus, the test that pins a known issue carries its name (// Reproduces: KI-…) the same way verification tests carry theirs (// Verifies: SYS-REQ-…) — one public file shows both on one screen.
That grading loop does not care who wrote the fix. Assign a known issue to an engineer on Monday, or point a code-writing model at it overnight; either way, the claim “fixed” is machine-checked. Teams that generate a lot of their code feel this one first: the register becomes a work queue their tooling can safely burn down. And when you would rather hand the queue to us, fix sprints are scoped separately and delivered as pull requests your engineers accept — the gate grades our fixes exactly as it grades anyone’s.
03 · Normal development
Every feature leaves a change record.
Most of what happens after the install is not a bug. It is new behavior, a refactor, a deprecation, a release. Each one lands as a change record on the same evidence-bearing model a fix uses, so the written model of what your software must do keeps up with the software.
A feature ships
The requirements it introduces are written and approved, the requirements it touches are re-checked, and the tests that prove the new behavior attach to those requirements.
A refactor lands
Behavior is supposed to hold still. The record names the promises inside the blast radius, and their evidence has to run again before the change is accepted.
A release goes out
The release names the change records inside it, and Proof reports where it stands: which records are ready, which requirements are verified, and what is still open.
The public project has three of these on master, and none of them is a bug. The v1.5.0 record, CHG-260728-H6ER, names the two requirements the release introduced — SYS-REQ-115 and SYS-REQ-116, both since approved, and both naming the record back. The impact review beside it re-reads nineteen requirements across the four files the release touched, those two among them, and fingerprints every row against a named revision.
This is what keeps the register true. A register that only remembers bugs describes the component you had on install day, and a component under active development walks away from that description within a quarter. Because ordinary development writes to the same graph, month twelve holds the intent of the software you actually ship, and every known issue is read against what the component promises today.
04 · Closure
Every verified fix leaves a defect record.
A known issue is an unresolved problem. When the fix is verified, the issue closes into a verified defect record: the original failure, the fixing change, the evidence that proves the instance is dead, and a plain statement of where the wider class stands. The issue leaves the queue; the proof stays in the repo.
One of ours is public end to end: DEFECT-260726-MFPA, what closing KI-3 left behind. It says the instance is fixed and the reproducer is kept permanently. It does not say the defect class is closed, and neither do we.
What a defect record contains →What closing the class takes →
05 · Field reports
Field reports meet the register before the debugger.
When something arrives from the field, the first question changes. It is no longer “can we reproduce this”; it is “is this already known.” A match closes triage in minutes, with severity and a reproducer already on file, and the customer gets an answer that reads like you were expecting the question.
A miss is its own signal: something reached production that the audit did not catch. That has a protocol.
06 · The miss protocol
Every escape strengthens the graph.
No audit catches everything, and misses from public Proof work are published — two so far, both on the public ledger, each with its postmortem. Evidence from a private engagement stays private unless the customer authorizes disclosure. What makes the difference is what an escape triggers.
The escape is filed as a known issue and root-caused to the exact gap that let it through: a requirement that was never written, a test partition that was never exercised, a coverage condition no test ever made matter. Closure then requires the corrective artifacts: the missing requirement written and approved, a reproducer that pins the failure, a sweep for sibling cases in the same class.
What the escape leaves behind is a permanently larger gate. The promise it exposed is checked on every release from that day on, and the partition it slipped through is exercised on every release from that day on. The class claim stays honest at the same time: one passing reproducer proves this instance is dead, and claiming the whole class is closed takes more evidence than one test. The protocol has already run in public, on jsonparser: the full case is published, misses included.
07 · What compounds
Month twelve knows more than month one.
Point-in-time quality work is stateless: a scan today does not make next month’s scan smarter, and a pentest does not remember. This audit keeps state. Fix the issue. Keep the lesson.
Every verified fix stays fixed, because its reproducer stands guard in your CI. Every escape makes the specification more complete. Every feature and every release adds requirements to the corpus. Nothing you have paid to learn about the component is ever un-learned.
There is a simpler name for all of this: memory. Engineering memory that lives with the code. Written-down intent; defect records with their root causes; what was proven, and what was not. All of it versioned in the same repo and checked on every release. It survives departures, reorgs, and rewrites, and it is valuable enough that we treat it like source code: yours, in your repo, nowhere else.
Your coding agents draw on it the same way your engineers do: they query the graph of components, requirements, obligations and evidence directly, over MCP, and start from approved intent instead of rediscovering the system from raw code. The shape of the record is the commitment — plain files any tool can read. What the agent receives →
Fig. 01 · The record steps up at every fix, escape and release. Nothing on this line ever steps down.
Month one checks what the audit installed. Month twelve checks that, plus every promise, escape and release since. That is the audit that does not expire.
08 · The retainer, plainly
What the standing audit buys each month.
A retainer month consists of: every release re-audited on the cadence you choose, up to daily; new and changed code held to the approved requirements; fixed findings re-verified and pinned; the register maintained, severities re-checked; and each quarter, one more component brought under the bar — install-grade, sized into the retainer when it is scoped, not a surprise line item.
The gate does the mechanical half of that automatically. The human half — new requirements for new behavior, judged severities, the miss protocol, a person who validates every finding before you see it — is what the retainer buys.
And if you stop: you keep everything that runs. The corpus is plain YAML and executable tests in your git, and the gate keeps checking yesterday’s promises without us. What ends is the ongoing expertise: nobody keeps writing tomorrow’s. By month two your component has changed, and the register quietly stops being true. That is the whole trade, stated plainly.
What a standing-audit month covers →The five commitments, in the contract →
09 · Next
Where this starts.
The pages below are the rest of the argument: the engagement that installs all of this, and the public record you can check before you talk to anyone.
The engagement
Fixed fee, one component, about four weeks from the first call to a gate in your CI. Week one is where the component’s memory starts.
The public record
The register, one requirement chain walked file by file, and the two published misses with their postmortem.
The jsonparser case
The whole story on one page: what the review found, what escaped anyway, and what stayed in the tree.
A person validates every finding before it reaches you. Trust · About