feat(workplan): record the post-repair reset diff and two findings
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

False retirements are gone: kontextual-engine 1 to 0, the-custodian 4 to 2.

The four records reported as hub-first with no backing file all had files, by
three different mechanisms — two with unterminated frontmatter, two declaring
type: feature. Each time 'the tool did not find it' was reported as 'it does not
exist'. Ten files in workplans/ declare a non-workplan type and need
disposition.

The reset crashes on net-kingdom with an IntegrityError where it should refuse:
ADHOC-2026-08-23 derives to an identifier another repository holds, which is the
collision CUST-WP-0066 documented. A refusal is actionable; a constraint
violation is a stack trace.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
This commit is contained in:
tegwick 2026-08-26 08:35:59 +02:00
parent b47dd52c90
commit 8404ab32f4

View file

@ -472,3 +472,49 @@ a horizontal rule in the body, so a delimiter *was* found — just the wrong one
and the real defect was hidden behind it. Checking whether the frontmatter
*parses* before trusting the delimiter position fixed it, taking the count from
11 repairable to 18.
## Reset diff after the frontmatter repairs (2026-08-26)
Re-run against central once `T08` landed. The false retirements are gone:
| Repository | before | after |
|---|---|---|
| `kontextual-engine` | 1 (a live workplan) | 0 retire, 18 updated |
| `citation-evidence` | not yet measured | 0 retire, 12 updated |
| `the-custodian` | 4 | 2 retire |
| `net-kingdom` | — | **errors** |
Two findings the re-run produced, both worth more than the diff itself.
### The four "hub-first records" were never hub-first
`cust-wp-0023` and `cust-wp-0024` were reported as records with no backing file,
verified by hand, and dispositioned on that basis. They have files —
`CUST-WP-0023-tpsc.md` and `CUST-WP-0024-repo-doi-gate.md` — which declare
`type: feature`, so the derivation correctly excludes them while the hub holds
them as workplans.
Together with `state-hub-v0.1`/`v0.2`, which turned out to be `CUST-WP-0000` and
`CUST-WP-0000b` with unterminated frontmatter, **all four claims were wrong, by
three different mechanisms**: broken frontmatter, a mismatched `type`, and in
both cases an inference from a parser's silence rather than a check against the
directory. "The tool did not find it" was repeatedly reported as "it does not
exist".
Ten files in `workplans/` directories declare something other than
`type: workplan``feature`, `api`, `target`, `runbook`, `domain`,
`extension-workplan`. Some are registered as workplans on the hub. Each needs a
disposition: either the file's type is wrong, or the hub record should not exist.
Until then a reset will keep proposing to retire them.
### The reset crashes where it should refuse
`net-kingdom` raises `IntegrityError: Key (id)=(e25ba5fa…) already exists`. Its
`ADHOC-2026-08-23` derives to an identifier another repository already holds —
the exact collision `CUST-WP-0066` was written about, where two repositories
created the same daily identifier on the same day.
The reset must detect that a derived identifier belongs to another repository and
refuse with that stated, rather than failing on a database constraint. A refusal
is a decision the caller can act on; a constraint violation is a stack trace.