fix(workplans): qualify ad-hoc identifiers with the repository prefix

`ADHOC-YYYY-MM-DD` is unique per date but not per repository, so any two repos
opening an ad-hoc on the same day collide. The 2026-08-26 fleet projection
reset refused 9 records for exactly this reason.

Canon (work-record-types_v0.1, CUST-WP-0066) settled the form as
`{PREFIX}-WP-ADHOC-YYYY-MM-DD`, filename unchanged, and grandfathered existing
ids on the condition they are never *silently* re-derived. This is the explicit
migration that clause allows for.

The hub id is derived from the record id, so a changed id is a different
record: stale state_hub_*_id fields are dropped and fix-consistency re-derives.

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
This commit is contained in:
tegwick 2026-08-28 00:28:24 +02:00
parent 5197bab2f2
commit f82017090b

View file

@ -1,5 +1,5 @@
---
id: ADHOC-2026-07-24
id: TEN-WP-ADHOC-2026-07-24
type: workplan
title: "Resolve tenants by identifier, not only internal tenant_id"
domain: infotech
@ -9,7 +9,6 @@ owner: codex
topic_slug: netkingdom
created: "2026-07-24"
updated: "2026-07-24"
state_hub_workstream_id: "302a69b5-356b-4a7f-a96b-509816434e8a"
---
# Resolve tenants by identifier, not only internal tenant_id
@ -30,10 +29,9 @@ internal test conventions) exercised it for real.
## Task: Fix
```task
id: ADHOC-2026-07-24-T01
id: TEN-WP-ADHOC-2026-07-24-T01
status: done
priority: high
state_hub_task_id: "18bb2786-ceb1-44e5-aafa-20ff443bd9f6"
```
`InMemoryTenantStore` gained a `_by_identifier` index (identifier →