Status: review-only candidate engine implemented; no additional public journey
is authorized.
Run a source-backed normalized dataset through:
pnpm connections:patterns -- --input=path/to/records-and-sources.json
The input has `records` and `sources` arrays. Every source row requires the
record ID, provider, citation URL, and retrieval timestamp. Records without valid
source evidence are rejected rather than used to create an uncited lead.
The report currently detects:
and
`represents_instance_of_type`; and
treating missing or unknown rights as a contradiction.
- conflicting title or production-date fields among equivalent-linked records;
- maker identifiers with the same normalized label as reconciliation candidates;
- shared material, owner/custodian, and set or exhibition references;
- absence of structured ownership-change events as a metadata coverage gap; and
- contrasting production places among equivalent-linked records;
- matching explicit exhibition identifiers across providers;
- multi-object `used_specific_object` exhibition groupings;
- structured acquisition and transfer histories from `changed_ownership_through`;
- broken transfer chains where a dated recipient does not match the next dated transferor;
- ownership events dated before the modeled production begins;
- dated, multi-place ownership-event sequences as movement candidates; and
- actors shared by explicit cross-provider activity records;
- alternative maker assignments modeled with `AttributeAssignment`;
- event timespans whose explicit end precedes their explicit beginning;
- repeated production, creation, or activity technique identifiers;
- shared iconographic concepts while keeping `represents` separate from `about`;
- unidentified depicted-person leads expressed through
- explicit open-versus-restricted rights statement contradictions, without
The report also emits a cited semantic event graph connecting source records,
stable production/creation/ownership/exhibition activities, makers and other
actors, owners/custodians, places, materials, techniques, classifications,
subjects, equivalence references, exhibition objects, transfer participants, and
source citation nodes. Edges retain the source record ID, citation ID where
applicable, and whether the relationship is source-asserted or only a
reconciliation reference.
Every candidate has deterministic identity, citations, confidence, an explicit
claim boundary, and `needs-review` status. Missing structured provenance is not
called a suspicious historical gap. Shared owners are not automatically called
collectors. Shared sets are not called exhibitions until their entity type is
verified. Geographic disagreement is not presented as movement.
Candidate scoring and no-LLM escalation are governed separately by
`cultural-intelligence-orchestration.md`(cultural-intelligence-orchestration.md),
so detectors cannot invoke an agent or publish their own output.
The engine refuses demographic underrepresentation and exhibition-to-market
impact analysis from collection records alone because those conclusions need
qualified contextual or market sources. Outputs are “newly surfaced
evidence-backed candidates,” never verified discoveries. Pricing remains an
unvalidated value-based report hypothesis until real buyer evidence is imported.
Event locations do not prove physical object movement. Exhibition object
references require participation review before the report says works were
displayed together. Ownership-event histories describe modeled acquisitions or
transfers without claiming completeness, authenticity, custody, or legal title.
Alternative attribution candidates preserve the primary maker assertion and do
not resolve authorship. Timeline anomalies identify contradictory supplied
timestamps without proposing corrected dates. Repeated techniques do not imply a
shared workshop or transmission path. Unidentified depicted people do not support
identity, demographic, marginalization, or underrepresentation conclusions.
Contradictory rights metadata never determines which statement governs or grants
permission; it blocks reuse pending qualified rights review.
Every candidate records its rule ID/version, input record and citation IDs,
explicit contradiction ledger, deterministic or local-probabilistic execution
mode, and zero-LLM call count. Those fields flow into dossiers, API records, and
feed previews so a result can be reproduced rather than merely narrated.