feat(workplan): record the duplicate-identity dispositions
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

KONT-WP-0013 renumbered, archived RAILIANCE-WP migrated, unqualified ADHOC
accepted per CUST-WP-0066, OPS-WP-* newly visible and undecided. Forge-side
collisions fell 45 to 16.

Central still reports 35 duplicates because archived workplans are never
registered — the registrar scans only top-level workplans, closed archives being
frozen under ADR-007. The renames re-derived projection UUIDs, so the old rows
are now unclaimed by any file, which is exactly the condition ADR-012 decision
7's reset retires. The duplicates clear when that reset runs, not before.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
codex 2026-08-26 08:08:25 +02:00
parent 0a1cf56414
commit c0c836ac1e

View file

@ -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