From 8404ab32f42c2f08e2c6a3920400b1ea2f547fd2 Mon Sep 17 00:00:00 2001 From: tegwick Date: Wed, 26 Aug 2026 08:35:59 +0200 Subject: [PATCH] feat(workplan): record the post-repair reset diff and two findings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Assistant: claude-code Assistant-Model: opus Assistant-Process: 2583210@bnt-lap001 Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006 --- ...-WP-0083-forge-derived-projection-reset.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/workplans/STATE-WP-0083-forge-derived-projection-reset.md b/workplans/STATE-WP-0083-forge-derived-projection-reset.md index 1374370..139fc26 100644 --- a/workplans/STATE-WP-0083-forge-derived-projection-reset.md +++ b/workplans/STATE-WP-0083-forge-derived-projection-reset.md @@ -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.