feat(workplan): CUST-WP-0068 — binding re-sync clears 236 apparent orphans
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

Fleet-wide re-sync across 120 repositories: 1075 bindings sent, 1015 written,
workplans recording no backing file fell from 265 to 29. ADR-010 predicted this
as the "broken links" class and it was 89% of the apparent orphans.

The 29 remaining are all closed: 23 finished, 6 archived, none open.

Corrects T09's scope: the prefix migration left 4 orphaned rows, not 26. The
other 22 are still backed by the archived RAILIANCE-WP files that migration
deliberately did not rename. The overstatement came from counting rows by slug
prefix rather than by whether a file backs them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
codex 2026-08-25 23:20:16 +02:00
parent 2edde0edf9
commit 9f60894df8

View file

@ -243,6 +243,17 @@ Order of work:
3. Re-sync bindings fleet-wide and re-measure the 278. Most are expected to be 3. Re-sync bindings fleet-wide and re-measure the 278. Most are expected to be
this same ordering gap and should resolve without any content change. this same ordering gap and should resolve without any content change.
3b. **Done 2026-08-25.** The fleet-wide re-sync ran across 120 repositories:
1075 bindings sent, 1015 written, and workplans recording no backing file fell
from **265 to 29**. `ADR-010` predicted this precisely — "broken links, where a
file exists but `backing_filename` was never recorded … likely the largest
class" — and it was: 89% of the apparent orphans were files that had existed
all along and were never recorded.
The 29 that remain are all closed — 23 `finished`, 6 `archived`, none open.
`vergabe-teilnahme` holds 16 of them, then `railiance-cluster` (3),
`railiance-platform` (3) and singles elsewhere.
4. Only then apply `ADR-010`'s orphan rules to whatever genuinely has no file: 4. Only then apply `ADR-010`'s orphan rules to whatever genuinely has no file:
open hub-first records are `ADR-001` violations needing a file written or an open hub-first records are `ADR-001` violations needing a file written or an
explicit drop; closed ones may be retained as provenance where cheap. explicit drop; closed ones may be retained as provenance where cheap.
@ -347,12 +358,22 @@ Full scope of rows that no longer derive from any file:
| Count | What | Origin | | Count | What | Origin |
|---|---|---| |---|---|---|
| 26 | `railiance-wp-*` workplan rows | the prefix migration above | | 4 | `railiance-wp-*` workplan rows | the prefix migration above |
| 305 | task rows across 44 workplans | superseded task sets, drafts registered before a workplan was retargeted | | 305 | task rows across 44 workplans | superseded task sets, drafts registered before a workplan was retargeted |
Of the 305, only **9 currently show open**; the rest are already `finished` or **Corrected 2026-08-25.** The migration was first reported as leaving 26 orphaned
`cancel`, so the misleading surface is small. `kaizen-agentic` (8 workplans), rows. It left four. The other 22 are still backed by the *archived*
`the-custodian` (5), `ops-warden` (4) and `state-hub` (4) hold the largest shares. `RAILIANCE-WP` files, which this migration deliberately did not rename — so those
rows continue to derive from a real file and are not orphans at all. The
overstatement came from counting rows by slug prefix instead of by whether a file
still backs them, and only surfaced when the fleet-wide binding re-sync bound 22
of them. The four genuinely unbacked are `railiance-wp-0017`, `-0018`, `-0022`
and `-0023`, all `finished`.
Of the 305 task rows, only **9 currently show open**; the rest are already
`finished` or `cancel`, so the misleading surface is small. `kaizen-agentic`
(8 workplans), `the-custodian` (5), `ops-warden` (4) and `state-hub` (4) hold the
largest shares.
**Nothing was mutated.** Eight cancel calls were issued against `STATE-WP-0080` **Nothing was mutated.** Eight cancel calls were issued against `STATE-WP-0080`
before the endpoint's real behaviour was understood; all eight tasks were already before the endpoint's real behaviour was understood; all eight tasks were already