feat(workplan): record CUST-WP-0067-T10 progress — 129 of 426 workplans recovered
Central 670 -> 799. All 403 cache-only workplans with a backing path have that file on disk, confirming ADR-010's finding that nothing was lost. Only 57 carry deterministic identifiers, so C-06 refuses most as stale references. --bootstrap-empty-projection recovers them with identifiers preserved, verified on one repository before rollout. Classifies the 297 remaining and lists per-repository blockers from actual error messages. Corrects this task's own earlier reading of bootstrap_source_invalid as a single cause: it covers at least two. Recommends promotion to its own workplan — the mechanical share is done; the rest needs content fixes, an identifier decision overlapping RMGR-WP-0005, and owner judgement across ~40 repositories. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
137c7796a6
commit
e205e37d31
1 changed files with 53 additions and 0 deletions
|
|
@ -678,3 +678,56 @@ repository-record subset and touches every repo with work records.
|
|||
Acceptance: every cache-only workplan and task either exists on central or
|
||||
carries a written disposition; the cache database can then be discarded, and
|
||||
`ADR-010`'s divergence is closed rather than merely described.
|
||||
|
||||
**Progress (2026-08-25): 129 of 426 recovered.** Central went from 670 to 799
|
||||
workplans. Measured precisely rather than estimated — the divergence is 426
|
||||
workplans, not the ~400 first reported, and **all 403 with a backing path have
|
||||
that file present on disk**, confirming `ADR-010`'s finding that nothing was
|
||||
lost.
|
||||
|
||||
**Mechanism.** Only 57 of 403 carry deterministic UUIDv5 identifiers; the rest
|
||||
are pre-`ADR-007` v4. C-06 refuses non-derived identifiers as
|
||||
`C-03 FAIL — stale reference`, so the ordinary path cannot re-derive most of
|
||||
them. Rewriting 345 identifiers fleet-wide was rejected: it overlaps
|
||||
`RMGR-WP-0005`'s ownership of identifier migration and was unnecessary.
|
||||
`--bootstrap-empty-projection` registers a repository's workplans **preserving
|
||||
their existing identifiers**, verified on one repository first — workplan and
|
||||
all four tasks landed with original UUIDs and statuses, no file rewritten and
|
||||
no commit.
|
||||
|
||||
**A self-inflicted failure worth recording.** The registrar generates
|
||||
`WORK-RECORDS.md`, which dirties the worktree and then fails its own git
|
||||
precondition; the retry reports `git_precondition_failed` instead. Several runs
|
||||
had in fact registered successfully before failing on the file they created.
|
||||
Committing that generated index and retrying clears it.
|
||||
|
||||
**The 297 remaining, classified:**
|
||||
|
||||
| Count | Class | What it needs |
|
||||
|---|---|---|
|
||||
| 176 | non-empty projection | C-06 for the deterministic subset; the rest await the identifier-migration decision |
|
||||
| 58 | file not shaped as a workplan | content fix — 50 are `clay-borg`, using `kind: product` instead of `type: workplan` and `status: done`, which is not a workplan status |
|
||||
| 24 | bootstrap-eligible | blocked on the per-repository causes below |
|
||||
| 23 | orphan, no backing file | written disposition, per the orphan rules above |
|
||||
| 16 | non-conforming record id | identifier fix with the repo owner |
|
||||
|
||||
**Per-repository blockers**, from actual error messages:
|
||||
|
||||
| Repository | Cause |
|
||||
|---|---|
|
||||
| `clay-borg` | no file parses as a workplan |
|
||||
| `rapp-openbao`, `policy-nexus`, `whitehat-security` | a task has no authoritative projection UUID; task ids must be minted first |
|
||||
| `glas-harness`, `rein-aharness`, `rein-openweights` | record ids rejected by the canon registry (e.g. `GLAS-0001`, not `PREFIX-WP-NNNN`) |
|
||||
| `ops-mason` | projection no longer empty — already partly registered |
|
||||
| `ground-game` | genuine uncommitted work; left untouched |
|
||||
| `zone-engine` | untracked `DECISIONS.md`; owner content |
|
||||
|
||||
A correction to this task's own analysis: `bootstrap_source_invalid` was first
|
||||
read as one cause because only the error *code* was captured. It covers at
|
||||
least two unrelated causes, separated only after capturing the messages.
|
||||
|
||||
**Recommendation: promote to its own workplan.** What remains is not one job.
|
||||
It is a content-conformance pass, an identifier decision overlapping
|
||||
`RMGR-WP-0005`, an orphan disposition, and a per-repository unblocking pass —
|
||||
across ~40 repositories, several needing owner judgement. The mechanical share
|
||||
is done.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue