diff --git a/workplans/STATE-WP-0083-forge-derived-projection-reset.md b/workplans/STATE-WP-0083-forge-derived-projection-reset.md index 139fc26..c8d6d93 100644 --- a/workplans/STATE-WP-0083-forge-derived-projection-reset.md +++ b/workplans/STATE-WP-0083-forge-derived-projection-reset.md @@ -518,3 +518,17 @@ created the same daily identifier on the same day. The reset must detect that a derived identifier belongs to another repository and refuse with that stated, rather than failing on a database constraint. A refusal is a decision the caller can act on; a constraint violation is a stack trace. + +**Fixed and verified live (2026-08-26, `main-5e4d0be`).** `net-kingdom` now +returns `refused` with reason *"derived identifier already belongs to another +repository"*, naming `ADHOC-2026-08-23` and the holder. + +Acknowledging retirements deliberately does not authorise a collision: those are +different decisions — one says the work is gone, the other says take an +identifier another repository owns — and conflating them would let a routine +acknowledgement carry an identity change through. Covered by test. + +Worth recording how nearly this was mis-reported. A first check run against the +*cache* returned `refused` and was almost reported as proof; it had exercised the +retirement path instead, because the cache does not hold the colliding record. +The output looked like success while testing nothing of the sort.