Disciplines · Audits

What was adopted from the 19 September backlog rationalization

1.

5sections7 minread

On this page

Date: 19 September 2026. This records what was done with the rationalization audit (commit 821d795f688), what was deliberately not done, and what the work found that the audit had not. It is a record, not a tracker: nothing here is a task.

The audit's findings were checked against the database and the source before anything was changed, and every one that was tested held. Its proposed structure, 28 execution groups with all 24,822 open items re-homed into them, was not adopted: the crosswalk behind it is 55 rules over those rows, three of the groups hold 18,000 of them, and a third rewrite of the board in three days is the thing the audit itself warns against. The findings were turned into small repairs where they bind.

Adopted#

Audit finding What was done Commit
F01, F02: no edge between families; eight dangling references never printed The resolver reads a key (family:ID), an id in a named file, a lettered id one other family has, a section gate (§45, §52-§54), an id in backticks, an abbreviated id, and a group id. ./eve check asks an eighth question. 237 edges added, none dropped, no tracker text edited. 4bed6cf5d0e
F03: the board said six shipped commands were not built The list is rendered from the CLI's own map (lib/planned.mjs); the page now teaches context, prompt, docs, note, promote, pull, resolve, git-setup. Two specs that pinned the stale text were corrected. c62726e9309
F09: Psyche's gateway reported its database and Redis healthy unprobed /ready connects to both, answers 503 when either is down, shares one answer for five seconds, and leaks nothing about the deployment. The gateway is deployed and public. 1cadb313d1c
F01, F05: 55 presentation items ready with no prerequisite Each open item of 0.6–0.14 was read; 45 carry a dated "depends on" sentence from their own text. EI.8.00 is new: decide where authoring runs before it is built. The board offers the phase's real frontier, eight items, not 55. dcf49003a99
F04: safety-automation tasks described fixes already made SA.1–SA.8 rewritten against the code; SA.9 added. See "Found while adopting". 76c08aba166
F06: T.00.06 asked for nine ADR-0008 questions; the ADR has eleven A dated sentence on the item names Q10 and Q11. df917faa4bf
F01, F08: 182.C.40.01 was ready while its own text named a corpus blocker ./eve dep add on 182.C.33.01, then ./eve park --reason corpus. The family's other six ready items were read and left as the 18 September re-read decided. 93954070cfd
F02: 56 ready items said [later] on their own first line An item labelled [later] straight after its id is Later on both boards. [V1.1] and [V1.2] are planned releases and stay actionable. e0f546a566f
F08: OYA.G1 and OYA.G2 each named the other G1 goes first from one statically admitted fixture model; G2's measurements depend on G1. One edge, no cycle. e0f546a566f
F09: Aphrodite's metrics were literals The router reports the counts the discovery store already queries and a real database probe; an unmeasured series is absent in Prometheus and null in JSON; a failing source is reported as down. 71dbceb6b10

Found while adopting, and not in the audit#

  1. ./eve dep add did not survive an import. It wrote only the database; the importer diffs the graph against what the trackers state and deleted the edge (measured on a copy of the real board: 0 → 1 → 0). It now writes the sentence the importer reads into the tracker, rm takes out only what it wrote, and a procedure family refuses (4bed6cf5d0e).
  2. The merge driver could not delete. It took the union of both sides' edges and links and never read the base, so a merge put back the eight dangling links one commit after they were resolved (650dde584f9).
  3. The merge driver called a moved task a conflict. Two sessions each shifted line numbers in one tracker; 1,557 tasks were journalled as conflicts (309,851 bytes) and forced to ready, parked and deferred ones included, until the next import. It now compares what a task is, not where it sits. It also wrote its output loose: 26,951,680 bytes from two boards that each passed the size check. It now compacts the file it has just created (02f819e66ba).
  4. The safety service's evals API fabricated its results. The golden-set run scored each example's expected answer as the answer, the adversarial run scored a canned refusal chosen by the prompt's expected behaviour, and the app wired a framework that returned passed: true whatever it was given. No system was ever queried, every route answered 200 with a 100% detection rate, and all 156 tests passed. Neither this audit nor the 18 September rewrite saw it; the audit marked the routes' premise as met. It is now a fail-loud seam: no system under test, no run, and 503 not_configured on all eleven routes (76c08aba166). SA.9 binds something real.
  5. Two specs had been failing on main: one pinned promote as unbuilt, one pinned the Docs Center at exactly 3,121 pages (c62726e9309).

Not adopted, and why#

  • The C01–C28 re-homing and task-dispositions.tsv as board structure. The groups are a reading aid. Waves 0 and 1 are what the repairs above deliver; C17–C19 are containers, as the audit says of C19 and C20 itself.
  • An option register for Isis A.03.05, E.01.07, E.04.05, E.06.04, F.03.05 and L.07.01. All six were already parked on 18 September, each with a dated sentence stating its trigger. Moving them changes nothing the board does.
  • Expanding the Isis tracker's 43 heading-level Dependencies: lines into edges. Each is qualified prose about whole sections ("T.01 per family"). Expanded mechanically they would hold about 200 items behind every open item of several sections. An item that waits says so in its own body.
  • Retiring P2 §§59–72, consolidating the companion tracker, merging the old agentic-content ledgers. Each is a judgement about what work is still wanted, which is the owner's. The §-gates those re-verification items state are now real edges, so none is handed out early.
  • Deferring [V1.1] and [V1.2] items. They are planned releases; putting V1.0 first is a ranking decision, not a deferral.
  • The evidence bundle as a living check. Its --check is pinned to the board's bytes and has failed since the first change after it, as its README says it should. It is a snapshot of e6a64111e3a.

Decided by the owner later the same day#

The four questions this record first left open were put to the owner and answered.

  1. The failing Eve SOTA gate: fix it here. Tasks 5.30–5.35, added to the ledger by another session without their record, now have explicit dependencies and proof scopes, the matrix owns them, and verify-gap-task-evidence-exit.mjs reports 211 task owners on an acyclic graph. Measured before re-pinning: the ledger before the addition hashes to the previous pin, all 205 existing requirements and states are unchanged (36d5e1ebf4e).
  2. The board's size budget: 32 MiB stays. The note beside it is corrected (a zero freelist is not an empty file; what took the board over 25 MiB was the two merge defects), and ./eve check now also reports growth of more than 512 KiB since the committed board, because both defects arrived as one jump that only the old budget noticed.
  3. EI.8.00: authoring is a local-operator capability. Decision 6 of authoring/four-surfaces-architecture.md, with a file and line for each fact. Checking them found the read side has the same gap and a cheaper fix, so EI.5.06 and EI.8.07 were added (a4b5dec53a9).
  4. SA.9, delegated ("go with what you think is best"): the family is deferred. Nothing calls the service and none of its fleet is deployed, while the shipping product has its own measured red-team programme. It now refuses to start in production outright, naming SA.5, SA.7 and SA.9, where a flag nothing read used to let it through (bf00c3d834c).

Closing EI.8.00 found one more defect the audit had named only as a risk (F03): every ./eve import reset a held task to ready and left its claim row, so the task could be neither closed nor re-claimed until the lease ran out (2fa86516576).

Still open#

  • The 1,557 false merge-conflict events are still in the journal. They were withdrawn once, with a merge-conflicts-withdrawn event recording why, and the next merge brought them back: the journal is a union by design, so a deletion on one branch cannot stick while another carries the rows. They are wrong but harmless (every one has the same status on both sides).
  • Other verifiers in tools/eve-everywhere fail for reasons none of this touched, and did before it: verify-release-scope-dual-provider-free and verify-reliability-slo-contract hash the whole ledger file and have been stale since before 15 September; verify-deep-completion-matrix reports a 4.2 label drift; verify-operator-labor-accounting pins an open 13.2 box; verify-planning-fleet-lifecycle pins source text that has moved.
  • The fallback JWT secret is fleet-wide. Six apps/lilith/svc-* services register process.env.JWT_SECRET || '<literal>'. None is deployed.