feat(workplan): close STATE-WP-0083-T04 — fleet reset is idempotent
Second pass: 93 repositories noop with zero created, updated or retired, demonstrating ADR-012 decision 7's requirement that reset twice produces the same projection. Slug refusal took errors from 12 to 9 — three repositories were erroring on slug collisions, not just disaster-control. 60 records across 13 repositories no longer derive from any file, which is the retirement work CUST-WP-0068-T09 waits on, now enumerated per repository. 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:
parent
4991ac79ed
commit
12d8a1d018
1 changed files with 35 additions and 1 deletions
|
|
@ -184,7 +184,7 @@ so partial convergence cannot be mistaken for full. 678 tests pass.
|
|||
|
||||
```task
|
||||
id: STATE-WP-0083-T04
|
||||
status: progress
|
||||
status: done
|
||||
priority: medium
|
||||
```
|
||||
|
||||
|
|
@ -631,3 +631,37 @@ exists`. The identifier refusal added earlier checks `id`; `slug` carries its ow
|
|||
unique constraint across the whole table, so two repositories can derive
|
||||
different identifiers whose slugs still collide. Now refused with the holder
|
||||
named, and covered by test.
|
||||
|
||||
|
||||
## Second fleet pass — idempotent (2026-08-26)
|
||||
|
||||
Re-run after the slug-collision refusal deployed.
|
||||
|
||||
| | first pass | second |
|
||||
|---|---|---|
|
||||
| applied | 91 | 0 |
|
||||
| **noop** | 2 | **93** |
|
||||
| refused | 16 repos / 64 | 19 repos / 69 |
|
||||
| errored | 12 | **9** |
|
||||
| created / updated / retired | 8 / 737 / 0 | **0 / 0 / 0** |
|
||||
|
||||
**Idempotence demonstrated rather than asserted.** 93 repositories changed
|
||||
nothing on the second run: `ADR-012` decision 7 requires that reset twice
|
||||
produces the same projection, and it does.
|
||||
|
||||
The slug fix helped more than predicted. Errors fell 12 → 9, not 12 → 11 — three
|
||||
repositories were erroring on slug collisions rather than only
|
||||
`disaster-control`. They now refuse with the holder named:
|
||||
|
||||
| Refusal reason | Count |
|
||||
|---|---|
|
||||
| would be retired; the forge no longer derives it | 60 |
|
||||
| slug already belongs to another repository | 9 |
|
||||
|
||||
**60 records across 13 repositories no longer derive from any file.** That is the
|
||||
retirement work `CUST-WP-0068-T09` waits on, now enumerated per repository:
|
||||
`railiance-platform` (20), `vergabe-teilnahme` (16), `railiance-apps` (8), then
|
||||
single figures elsewhere.
|
||||
|
||||
All 9 remaining errors are private repositories the pod cannot clone
|
||||
anonymously — unchanged, and not a code problem.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue