fix(workplans): adopt ADR-007 derived identifiers for unregistered records
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s

These workplans exist only in the retired local hub. Their random pre-ADR-007
identifiers are refused by C-06 as stale references, so they cannot be
registered. Deriving from the canonical record id takes no identity from
anything: central does not hold them and the old ids die with the cache.

Records central already holds were deliberately left untouched.

Refs CUST-WP-0068-T06

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
This commit is contained in:
codex 2026-08-25 20:10:10 +02:00
parent 0d921aa2ef
commit 24aad6ec6a
4 changed files with 40 additions and 11 deletions

View file

@ -13,7 +13,7 @@ spec_refs:
- README.md
- src/pdf/ingest.ts
- src/pdf/metadata.ts
state_hub_workstream_id: "831267a1-fc93-4872-a25b-73793d9c5df4"
state_hub_workstream_id: "16444f5e-93f2-5a7f-a2f1-92284315d041"
---
# ESRC-WP-0003 — Metadata enrichment
@ -29,7 +29,7 @@ it into the `Document` record without breaking the pure-over-bytes contract.
id: ESRC-WP-0003-T01
status: done
priority: low
state_hub_task_id: "45eeef15-41a9-4abd-9436-ed77e2c6b3a4"
state_hub_task_id: "01187f2c-f6fa-549e-91ad-a0acc46bcd36"
```
Enumerate available PDF metadata sources (info dict, XMP) via PDF.js and decide
precedence vs. caller-supplied options (caller wins).
@ -38,7 +38,7 @@ precedence vs. caller-supplied options (caller wins).
id: ESRC-WP-0003-T02
status: done
priority: low
state_hub_task_id: "41ca090f-c709-420a-b7c5-8332e4e82bd1"
state_hub_task_id: "95176499-3ae7-586d-bce4-a96c075632ab"
```
Implement extraction into a normalized metadata shape; keep it optional so
minimal-metadata PDFs still ingest cleanly.
@ -47,7 +47,7 @@ minimal-metadata PDFs still ingest cleanly.
id: ESRC-WP-0003-T03
status: done
priority: low
state_hub_task_id: "0004881b-6577-4a62-a2ff-cbb5c4706b1b"
state_hub_task_id: "83fa3027-61f7-5bb9-95ce-ffbe58c90ebd"
```
Contract tests over the fixture corpus asserting extracted vs. overridden
metadata precedence.