diff --git a/workplans/CUST-WP-0068-cache-only-work-record-recovery.md b/workplans/CUST-WP-0068-cache-only-work-record-recovery.md index 37f8365..ba4c8dd 100644 --- a/workplans/CUST-WP-0068-cache-only-work-record-recovery.md +++ b/workplans/CUST-WP-0068-cache-only-work-record-recovery.md @@ -392,6 +392,46 @@ before the endpoint's real behaviour was understood; all eight tasks were alread Acceptance: no `railiance-wp-*` workplan row and no orphaned task row remains on central, all removed through re-derivation rather than deletion. +## Disposition of duplicate task identities (2026-08-26) + +Establishing task identity (`STATE-WP-0083-T06`) exposed 35 duplicate identities +on central. Owner decisions, and what each actually achieved: + +**`KONT-WP-0013` — renumbered.** `kontextual-engine` carried two different +workplans under one identifier: blob-storage content streaming, registered +2026-05-07, and cmis-browser binding TCK compatibility, 2026-05-08. The later one +became `KONT-WP-0018`. Ten colliding task identifiers resolved at source. + +**Archived `RAILIANCE-WP` — migrated.** The 2026-08-25 decision covered active +workplans only; the archived copies kept historical identifiers and three +repositories shared one number space. All 17 archived files are now on their +repository's successor prefix, numbered on from each repository's active +sequence so nothing is reused. Forge-side collisions fell from 45 to 16. + +**Unqualified `ADHOC-*` — accepted.** `CUST-WP-0066` already ruled that +`{PREFIX}-WP-ADHOC-YYYY-MM-DD` is canonical and the unqualified historic form is +grandfathered compatibility, explicitly declining to reinterpret repositories as +namespaces. Five remain and are correct as they stand. + +**`OPS-WP-*` — newly visible, undecided.** Another two-repositories-one-prefix +case, only apparent once task identity existed. Not yet dispositioned. + +### What renaming files does not do + +Central still reports 35 duplicates, and the reason is worth recording rather +than retrying: **archived workplans are never registered.** The registrar scans +`workplans/*.md` at the top level only — closed archives are frozen under +`ADR-007` and are not registration work — so renaming an archived file changes +the source without touching the hub. + +The renames also re-derived each file's projection UUIDs, so those files no +longer claim the rows they used to. The old rows are now unclaimed by any file: +precisely the "no longer derives" condition that `ADR-012` decision 7's reset +exists to retire. + +So the duplicates clear when `STATE-WP-0083-T03`'s reset runs against central, +not before. The work above is what makes that reset produce the right answer. + ## Converge and retire the cache database ```task