the-custodian/docs/recovery/cache-only-disposition-2026-08-28.md
codex 6cd450fa55
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
finish CUST-WP-0068: recover, disposition, discard the cache
Close T02–T06 from live hub evidence, disposition clay-borg product
records as not workplans, lift the task-reset restriction in state-hub,
dump and remove the retired local Postgres instance, and record ADR-010's
work-record divergence as closed.
2026-08-28 21:06:25 +02:00

76 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Cache-only work-record disposition — 2026-08-28
Coordination: `CUST-WP-0068`. Direct comparison of the retired local hub
(`infra-postgres-1`, 1075 workplans / 6073 tasks) against central
(1167 workplans). Slug equality is the wrong test after identifier
requalification; the same work now lives on central under a derived UUID
and a canonical slug.
## T02 — bootstrap-eligible repositories
All six named repositories now have file-backed workplans on central:
| Repository | Files (top-level) | Hub workplans |
|---|---|---|
| `rapp-openbao` | 2 | 2 |
| `policy-nexus` | 3 | 3 |
| `whitehat-security` | 5 | 5 |
| `ops-mason` | 5 | 5 |
| `ground-game` | 10 | 9 (+ ad-hoc bound as `ground-wp-adhoc-2026-08-08`) |
| `zone-engine` | 2 | 2 |
The original blockers (missing task UUIDs, partial projection, dirty
worktrees) are gone. No owner action remains.
## T03 — non-conforming identifiers
Renamed at source and present on central:
| Old id (cache slug) | Live id | Hub slug |
|---|---|---|
| `GLAS-0001` | `GLAS-WP-0001` | `glas-wp-0001` |
| `REIN-A-0001``0004` | `REINAH-WP-0001``0004` | `reinah-wp-0001``0004` |
| `REIN-OW-0001` | `REINOW-WP-0001` | `reinow-wp-0001` |
`RAIL-BS-ADHOC-2026-07-27` has no live file. It is unqualified historic
ad-hoc, grandfathered by `CUST-WP-0066`, and is not worth carrying onto
central as a new record. Cache copy retained only until the cache is
discarded.
## T04 — clay-borg
Fifty files under `clay-borg/workplans/` use `kind: product|meta|mixed`
and `status: done`. They are not workplans. Fleet tooling correctly
ignores them (`type: workplan` is required). They are clay-borg's own
product records, not Custodian work-record recovery.
Disposition: **do not rewrite, do not project as workplans.** The files
remain the owner's source. The 50 `cb-wp-*` cache rows are not unique
fleet work.
## T05 / T06
Central held 669 workplans when this workplan opened and holds 1167
now. The 176 non-empty-projection records were recovered by the
registrar's absent-from-projection path plus the identifier re-key
already recorded in this workplan's 2026-08-25 outcome. T06's ruling
was that re-key, not a second decision. Remainder is T03/T04 above.
## Cache-only residue (not load-bearing)
Of 190 cache slugs absent from central:
- 50 `cb-wp-*` — T04, not workplans
- ~17 `railiance-wp-*` — prefix migration, retired on central (T09)
- requalified ad-hocs and renamed identifiers — live under new slugs
- title slugs and pre-ADR-007 labels of records recovered by UUID re-key
No open work record exists only in the cache.
## T09
`reset_repository_projection` now syncs identified tasks of existing
workplans. Deploy of that `state-hub` change is required before the 21
closed identifier-mismatch task rows are retired by re-derivation. They
are all already closed (0 open), so they are not a live surface.
`record_id`-less rows stay out of this pass, as scoped.