`slug` is unique across the whole table, so retiring a row by timestamp alone leaves its identifier locked to a record nothing derives any more — and the repository that legitimately owns it can never claim it. core-hub's inherited REPO-WP-0001/0002 rows retired cleanly and repo-seed stayed refused with "slug already belongs to another repository", pointing at two retired rows. Retirement now stamps the slug `<slug>@retired-YYYYMMDD`. The row, its UUID and its progress events are untouched, so history stays attached to the record it happened under; only the human-facing identifier is freed. Re-retiring an already-stamped row replaces the mark rather than stacking it, or the 100-char column overflows after a few passes. The UUIDs never collided here: core-hub's rows predate derived identity and carry v4 UUIDs, while repo-seed derives v5 ones. The identifier was the only thing in the way. 733 pass. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 2583210@bnt-lap001 Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006 |
||
|---|---|---|
| .. | ||
| edge | ||
| events | ||
| models | ||
| routers | ||
| schemas | ||
| services | ||
| classification.py | ||
| config.py | ||
| database.py | ||
| doi_engine.py | ||
| flow_defs.py | ||
| main.py | ||
| task_status.py | ||
| workplan_status.py | ||