Commit graph

8 commits

Author SHA1 Message Date
codex
9f60894df8 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>
2026-08-25 23:20:16 +02:00
codex
2edde0edf9 feat(workplan): widen CUST-WP-0068-T09 to every stale hub row
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
An attempt to purge stale task rows established that the hub has no hard-delete
for work records at all: DELETE /tasks/{id} is cancel_task, DELETE
/workstreams/{id} is 410 Gone, and no session.delete exists for either.
Re-derivation is not one removal option among several, it is the only one
permitted — a deliberate property, since a read model that cannot drop a record
except by re-deriving cannot be quietly edited into disagreeing with its source.

Scope is now 26 workplan rows plus 305 task rows across 44 workplans, of which
only 9 show open. All wait on ADR-012's per-repository reset.

No records were mutated: eight cancel calls hit STATE-WP-0080 tasks that were
already cancel.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 23:08:04 +02:00
codex
6629212985 feat(workplan): record the RAILIANCE-WP orphan debt as CUST-WP-0068-T09
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Migrating active workplans off the retired family prefix left 26 hub rows with
no backing file. Accepted deliberately: the alternative was one repository
carrying two prefixes indefinitely.

Blocked on ADR-012 decision 7's per-repository reset — C-07 is not fixable and
hand-deleting hub rows is the direct central edit ADR-010 decision 6 forbids.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 23:00:47 +02:00
codex
0dfdb9b63f feat(workplan): record CUST-WP-0068 recovery outcome — 964 of 1075 records
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Central 670 -> 1018 workplans; cache-only gap 426 -> 111.

T06 was scoped as an identifier-migration decision and that framing was wrong.
Two defects did most of the blocking: 50 repositories carried retired
gitea-remote URLs on central so fix-consistency could not match them, and the
registrar was blind to records that had an identifier but were absent from the
hub. Both were masked by a generic error whose real message sat in a child
process's stderr.

Also records the repo-wide re-key that severed eight working identifiers on
kaizen-agentic, and the rule now enforced in code to prevent it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 20:28:17 +02:00
codex
b422a615b6 feat(workplan): CUST-WP-0068-T07 binding order fixed and 63/73 explained
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
The registrar now binds workplan files in the same pass as minting, verified
end to end. The unbound remainder is explained: those identifiers are the
cache-only records this workplan exists to recover, so the count is a progress
indicator rather than a fault.

Remaining under T07: re-sync fleet-wide, re-measure the 278, then disposition
whatever is genuinely orphaned.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 15:39:37 +02:00
codex
262ac4a6bb fix(workplan): rescope CUST-WP-0068-T07 — the orphan count rests on a broken field
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
backing_filename is written only by the bindings sync, which fix-consistency
runs before the registrar mints the UUID. Newly registered workplans therefore
record no backing file. Reproduced on CUST-WP-0068 itself.

278 of 800 workplans on central record no backing file, which is what ADR-010
predicted as the "broken links" class. The 23 cache-only orphans were counted
with the same field, so that number is an investigation starting point rather
than a work list.

T07 now repairs the ordering and re-measures before dispositioning anything.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 15:24:14 +02:00
repo-manager
b436c44653 chore(registrar): assign State Hub identifiers
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-25 15:19:05 +02:00
codex
bccf2a950f feat(workplan): open CUST-WP-0068 for cache-only work-record recovery
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Promotes the remainder of CUST-WP-0067-T10. 297 workplans and their tasks
still exist only in the retired local hub, which is why its database cannot be
discarded.

Eight tasks covering the registrar's self-defeating precondition, per-repo
unblocking, six non-conforming identifiers, clay-borg's 50 unparseable
workplans, the 176 with non-empty projections, the identifier ruling that
overlaps RMGR-WP-0005, 23 orphans, and final convergence.

Carries forward a correction: ten of sixteen records flagged as
non-conforming are ADHOC-YYYY-MM-DD, which is the documented convention. The
classifier's pattern was wrong, not the files.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 15:15:31 +02:00