diff --git a/workplans/STATE-WP-0083-forge-derived-projection-reset.md b/workplans/STATE-WP-0083-forge-derived-projection-reset.md index 26e1368..4c20052 100644 --- a/workplans/STATE-WP-0083-forge-derived-projection-reset.md +++ b/workplans/STATE-WP-0083-forge-derived-projection-reset.md @@ -218,7 +218,7 @@ Its behaviour on failure is the part that matters, and all three are tested: ```task id: STATE-WP-0083-T05 -status: wait +status: done priority: medium ``` @@ -665,3 +665,45 @@ single figures elsewhere. All 9 remaining errors are private repositories the pod cannot clone anonymously — unchanged, and not a code problem. + + +## T05 outcome — every hub record derives from a file (2026-08-26) + +| | | +|---|---| +| repositories | 121 | +| noop | **106** | +| refused | 6 — all identifier collisions, no retirements | +| errored | 9 — private repositories | +| **retired** | **51** | +| progress events | 21522, untouched throughout | + +Zero repositories hold a record that no longer derives. + +**26 real workplans were rescued from wrongful retirement**, more than half the +number actually retired: + +- `vergabe-teilnahme` (17) — a repository predating the convention entirely: no + `type:` field anywhere, bare `WP-NNNN` identifiers, no hub identifiers, no + registered prefix. The diff showed 16 records to retire; the truth was 17 + workplans no projection could see. +- `glas-harness` (3), `binky-control` (2), `rein-aharness` (2), `ops-mason` (1), + `rein-openweights` (1) — files carrying no `type:` field at all. + +Three of those nine were created *by this session's own renames*, which never +added a type the files had never had. The pre-flight check — does the forge +derivation actually see workplans in this repository — is the only reason they +survived, and it has now caught wrongful retirement three times: `kont-wp-0015`, +all of `vergabe-teilnahme`, and these nine. + +**A collision this session created.** Retiring `railiance-platform` first +required repairing a fault introduced earlier the same day: the `RAILIANCE-WP` +migration numbered from `RPF-WP-0001` without checking whether the target prefix +was in use. It was, and the migration collided at 0018, 0019 and 0020. The fleet +reset then ran over the colliding files and left mixed records on central — +`rpf-wp-0018` carried one file's status and another's backing path. The +displaced files moved to 0025-0027. The source numbering was checked before +renaming; the target was not. + +**Remaining, and not solvable by retirement:** 9 private repositories central +cannot clone, and 9 identifier collisions that are identity decisions. \ No newline at end of file