This document is the required execution checklist for cross-provider reconciliation of:
- `PropositionalObject` exhibition concepts/plans
- exhibition `Activity` records
- `LinguisticObject` literature/publication records
It exists to prevent duplicate, fragmented, or conflicting representations of the same exhibition/publication across providers while preserving source provenance.
---
Scope
- In scope:
- Matching equivalent exhibitions/publications across providers.
- Creating internal reconciliation links and confidence/audit metadata.
- Human-review flow for ambiguous cases.
- Out of scope:
- Destructive source record merges.
- URI rewriting in source payloads.
- Inference from URI path structure.
---
Non-negotiable invariants
- Preserve `_source.raw` exactly as ingested.
- Preserve URI opacity; never parse URI path segments for semantics.
- Preserve Linked Art modeling boundaries:
- object-carried content is not collapsed into physical object identity
- event-centric relationships remain event-centric
- Use `equivalent`/explicit relationship assertions for alignment; do not collapse provider identities into a single rewritten URI.
---
Candidate generation + scoring (baseline)
- Blocking keys:
- normalized title/label
- time window overlap
- place/venue authority alignment
- Evidence signals:
- identifiers (ISBN/ISSN/OCLC/DOI/local refs when present)
- equivalent URI identity hints, including work and embedded participant `equivalent[]`
- organizer/publisher/participant overlap
- catalog/object co-reference overlap
- multilingual title similarity
Suggested decision bands:
- `>= 0.90` auto-link
- `0.65 - 0.89` review queue
- `< 0.65` no-link
Thresholds are test-driven and may only change with fixture + regression updates.
---
Required failing-first fixtures
Add and maintain explicit pass/fail fixtures for:
- same exhibition across different institutional URIs
- same publication/catalog across different institutional URIs
- near-title false positives
- mismatched edition/publication-year conflicts
- date uncertainty overlaps and non-overlaps
- multilingual title variants
Every new provider slice that touches exhibition/literature fields must update this fixture set.
---
Required tests
- `tests/quality/reconciliation-exhibitions-literature.test.ts`
- pass/fail fixture coverage
- confidence threshold behavior
- provenance invariants
- URI opacity guard
- carrier/content separation guard
CI expectation:
- no net-new critical reconciliation regressions
- no degradation in previously accepted pass fixtures
---
Review + audit requirements
- Every reconciliation decision stores:
- candidate pair
- score
- evidence features
- decision (`auto-link`, `accepted`, `rejected`, `needs-review`)
- actor (`system` or reviewer identity)
- timestamp
- Reviewer decisions are reversible and append-only in audit history.
---
Standards mapping requirement
Any implementation PR for this slice must include:
- Linked Art standards rounds referenced from:
- `docs/linked-art/LinkedArtModel1.0-Reference.md`
- fixture anchors exercised
- failing-first tests added/updated
- protocol assertions touched (if API endpoints are changed)