| p-059 |
Implement the Prometheus exporter behind serve-metrics |
completed — exporter, tailer, CLI wiring; 13 gauges matching the metric vocabulary. |
| p-060 |
Emit conversion provenance per record |
completed — per-record .prov.ttl for both forward stages. |
| p-061 |
Synthetic field-coverage corpus |
completed — generator, 319 probes, --check guard in CI. |
| p-063 |
Pair repeated fields by content, not position |
completed — content-based pairing, fuzzy fallback, reordered status. |
| p-062 |
Wire the three validation boundaries into the stages |
completed — all three boundaries run: Boundary 1 gates by severity, Boundary 2 rescoped and gating, Boundary 3 rescoped to lkd.rdf axioms and reporting. |
| p-064 |
Clear the Boundary-3 residue p-062 left behind |
completed — Hub retype + Manifestation→Work lift, 10 flagged records → 5. Title shapes and the expressionOf domain family resolved. |
| p-065 |
Recover MARC 246 variant-title fields the XSLT leaves discriminator-less |
completed — Phase A: route_title_variants attaches bffi:marcKey to untyped blocks. Phase B: reverse dispatcher reads marcKey. Phase C: ind1/ind2 reconstructed verbatim from marcKey. Multi-manifestation merge in bffi_to_marc. All 6 records with 246 now round-trip. |
| p-066 |
DevOps: CI coverage, GitHub Pages, releases |
completed — coverage badge, MkDocs Material site with mermaid diagrams, release workflow, CHANGELOG, release skill. |
| p-067 |
Recover MARC fields the XSLT reads but the reverse converter does not emit |
completed — 24 of 51 forward-only tags recovered (023/026/037/042/043/045/046/086/257/351/352/353/384 from p-067; 045/246/260/264/505/520 from p-070). 14 skipped (no discriminator or marc2bibframe2 bottleneck). 13 out-of-scope (XSLT drop or shared predicates). |
| p-068 |
Recover remaining forward-only MARC fields and subfields |
completed — Phase 1: 020/024/028 $q recovered, 336/337/338 $3 recovered. Phase 2: 051/055/072 skipped (no discriminators). Phase 3: remaining subfields (257 $0, 080 $x, 240 $k, 505 $t, 490 $x, 490 $6) out of scope — no BFFI predicates exist. |
| p-069 |
Recover MARC 336/337/338 $3 (materials specified) subfield |
completed — Extended _RdaEntry with applies_to field, updated _rda_entries to read bffi:appliesTo/rdfs:label, added $3 to _RDA_SUBFIELDS, updated emit rules and _append_rda_datafields. |
| p-070 |
Recover additional MARC fields lost in the round-trip after p-067 |
completed — 6 tags recovered (045, 246, 260, 264, 505, 520). 9 tags confirmed unrecoverable (marc2bibframe2 does not handle them): 049, 240, 521, 538, 574, 575, 599, 776, 880. |
| p-071 |
Recover alt-script 880 fields in the BFFI → MARC round-trip |
completed — 9/6 alt-script 880 fields reconstructed for record 2602288 (cyrillic corpus). Extended subfields ($b, $c) emitted for titles/publications, $e for contributors. 7 tag families covered. 539 tests passing. |