Skip to content

The Findings Ledger

syntaxis/context/findings.md is where defects actually live. A chat report doesn’t survive a context clear — this file does.

Two commands write to it: /audit, coming out of a code review, and /test-run, coming out of a test cycle. One ledger, one gate, no matter which one wrote the entry.

The header line is a machine-readable contract. Everything below it is prose, meant for a person to read.

### F-03 [P0] open - Retained auth volumes carry the run label
**File:** ops/agent-proof/compose.yaml:86
**Found:** 2026-07-21 by /audit (scope: current; lens: security)
**Why it matters:** ...
**Suggested fix:** ...
**Resolution:**

A defect that came from a test cycle instead names its cycle and case:

**Found:** 2026-09-19 by /test-run (cycle: regression; case: TC-014)

They’re sequential within the ledger — F-01, F-02 — and never get reused or renumbered while an entry is still living there, even once it closes.

/complete archives resolved entries under a prefix tied to the work item: feature 12’s first F-03 turns into 12/F-03, and a second build attempt’s becomes 12-build-2/F-03. That prefixed form is the permanent reference going forward, which is exactly what lets a fresh ledger start back at F-01 without ever colliding with something archived earlier.

Status Meaning Blocks P0/P1 at /complete
unverified Suspected, with no confirming evidence yet No
open Confirmed, not yet repaired Yes
fixed Repaired, but not yet re-reviewed Yes
closed Repaired and re-reviewed against the new code No
accepted Left as-is, by your explicit decision No
invalid A re-examination showed the finding was wrong No

fixed still blocking completion is intentional — a repair is only a claim until something actually goes back and checks it.

Level Meaning
P0 Data loss, a security break, or code that flatly can’t ship
P1 A likely bug, a broken contract, a missing guard, risky duplication
P2 A real defect that has a workaround
P3 Minor or purely cosmetic
  • Nothing closes itself. A fixed finding only becomes closed once a pass has actually re-examined its file, confirmed the original defect is gone with no new one introduced, and explicitly said so in its report.
  • accepted takes your explicit decision, made in the current session, with your reasoning written down. It’s never assumed on your behalf.
  • invalid takes actual evidence that the finding was wrong, recorded under Resolution.
  • One defect, one finding. Several test cases failing for the same underlying cause share a single entry rather than each getting their own.
  • /test-run never touches the status of an entry that already exists.

/complete won’t proceed while any P0 or P1 sits at open or fixed. Whatever resolved — closed, accepted, invalid — gets archived alongside the work at its final status, and the live ledger starts fresh.

A fixed entry never gets archived, at any severity — it isn’t resolved yet, so there’s nothing final to file away.