Catalog (70)

IDDocumentUpdatedAnchorsSHA
agents/ag2-extraction-notesAG2 Extraction Notes
agents/ag2-extraction-notes.md
10/20/2018, 1:46:40 AM11e8d0072ebec1
asset-provenanceAsset Provenance
asset-provenance.md
10/20/2018, 1:46:40 AM41025c0acc117
closeout-notesAI-RSI one-click closeout notes
closeout-notes.md
10/20/2018, 1:46:40 AM21f560f6a8535
content-credibility-engineContent Credibility Engine
content-credibility-engine.md
10/20/2018, 1:46:40 AM8d9aa32358670
demo-scriptDemo Video — Shot List & Script (60–90s)
demo-script.md
10/20/2018, 1:46:40 AM2131ddae42e6e
deploymentDeployment — Vercel + Render
deployment.md
10/20/2018, 1:46:40 AM84911b1f459b5
development-roadmapMeta Museum Development Roadmap
development-roadmap.md
10/20/2018, 1:46:40 AM23624a8a089d72
development/aidd-tddAIDD + TDD Discipline
development/aidd-tdd.md
10/20/2018, 1:46:40 AM5cd0a0524525a
envEnvironment Variables
env.md
10/20/2018, 1:46:40 AM109c18634cab1a
evals/golden-museum-questionsGolden Eval Dataset: Complex Museum Questions
evals/golden-museum-questions.md
10/20/2018, 1:46:40 AM62876a2b5e78d
linked-art/conformance-matrixLinked Art 1.0 — Conformance Matrix
linked-art/conformance-matrix.md
10/20/2018, 1:46:40 AM553ff87000bf4
linked-art/Linked%20Art%20NotesLinked Art Notes.md
linked-art/Linked Art Notes.md
10/20/2018, 1:46:40 AM0aca66d51107b
linked-art/Linked%20Open%20Art%20Data%20Web%20App%20-%20Must-have%20Data%20SourcesLinked Open Art Data Web App (AI) — Must-have Data Sources
linked-art/Linked Open Art Data Web App - Must-have Data Sources.md
10/20/2018, 1:46:40 AM77b7d350fe8a0
linked-art/LinkedArtAppFeatures🏛️ Art Explorer: Linked Art Application & Ecosystem
linked-art/LinkedArtAppFeatures.md
10/20/2018, 1:46:40 AM14e23b890ecd2a
linked-art/LinkedArtChallengesLinkedArtChallenges.md
linked-art/LinkedArtChallenges.md
10/20/2018, 1:46:40 AM0d8c987070277
linked-art/LinkedArtCollaborationLinkedArtCollaboration.md
linked-art/LinkedArtCollaboration.md
10/20/2018, 1:46:40 AM114ccf63edef3
linked-art/LinkedArtDashboardLinkedArtDashboard.md
linked-art/LinkedArtDashboard.md
10/20/2018, 1:46:40 AM06d04d4b2bf79
linked-art/LinkedArtFeatureRoadmapFeature Roadmap for Linked Open Art Data Apps
linked-art/LinkedArtFeatureRoadmap.md
10/20/2018, 1:46:40 AM8ac10d8e79c20
linked-art/LinkedArtJobReadyLinkedArtJobReady.md
linked-art/LinkedArtJobReady.md
10/20/2018, 1:46:40 AM0c60b357bcb87
linked-art/LinkedArtModel1.0-ReferenceLinked Art Model 1.0 Reference (Round 1)
linked-art/LinkedArtModel1.0-Reference.md
10/20/2018, 1:46:40 AM344e6d48d474b3e
linked-art/LinkedArtPatternsLinkedArtPatterns.md
linked-art/LinkedArtPatterns.md
10/20/2018, 1:46:40 AM0d45bbbb02d70
linked-art/LinkedArtPRD🖼️ Product Requirements Document
linked-art/LinkedArtPRD.md
10/20/2018, 1:46:40 AM2091bc1f37307c
linked-art/LinkedArtRoadmapLinkedArtRoadmap.md
linked-art/LinkedArtRoadmap.md
10/20/2018, 1:46:40 AM0e52e71c6bd28
linked-art/LinkedArtSaaSLinkedArtSaaS.md
linked-art/LinkedArtSaaS.md
10/20/2018, 1:46:40 AM03d260738fb29
linked-art/LinkedArtSoftwareCode and Tools
linked-art/LinkedArtSoftware.md
10/20/2018, 1:46:40 AM89e8fef24aea9
linked-art/LinkedArtSOTAWebAppLinkedArt SOTA Web App — Master Build Specification
linked-art/LinkedArtSOTAWebApp.md
10/20/2018, 1:46:40 AM129a5f0baca89c6
linked-art/LinkedArtUnmetNeedsLinkedArtUnmetNeeds.md
linked-art/LinkedArtUnmetNeeds.md
10/20/2018, 1:46:40 AM0cb35fac29cc1
linked-art/LinkedArtUseCasesLinkedArtUseCases.md
linked-art/LinkedArtUseCases.md
10/20/2018, 1:46:40 AM05c572ce8e7f3
linked-art/LinkedArtWidgetsLinkedArtWidgets.md
linked-art/LinkedArtWidgets.md
10/20/2018, 1:46:40 AM0b39911c7d97d
linked-art/LinkedDesignLinkedDesign.md
linked-art/LinkedDesign.md
10/20/2018, 1:46:40 AM00a02240471e5
linked-art/LODEngineLODEngine.md
linked-art/LODEngine.md
10/20/2018, 1:46:40 AM0ef73426f80db
linked-art/LODPipelineLODPipeline.md
linked-art/LODPipeline.md
10/20/2018, 1:46:40 AM0fe95e61ed9da
linked-art/LODToolsLODTools.md
linked-art/LODTools.md
10/20/2018, 1:46:40 AM03167947fc4e4
linked-art/SPARQLSPARQL.md
linked-art/SPARQL.md
10/20/2018, 1:46:40 AM050e00ed51733
linked-art/VocabulariesVocabularies.md
linked-art/Vocabularies.md
10/20/2018, 1:46:40 AM0e0574a338aaa
linked-art/YaleLuxYaleLux.md
linked-art/YaleLux.md
10/20/2018, 1:46:40 AM074fd47fae749
meta-wiki-art-bridgeMeta Wiki Art Bridge (MediaWiki + Wikibase)
meta-wiki-art-bridge.md
10/20/2018, 1:46:40 AM77a43fb0c48b8
ops/activity-adoption-proofActivity Feed Adoption Proof Runbook
ops/activity-adoption-proof.md
10/20/2018, 1:46:40 AM568a80b43ae58
ops/ag2-workerAG2 Worker and Bridge Runbook
ops/ag2-worker.md
10/20/2018, 1:46:40 AM950efcd4e3318
ops/auth-credential-rotationAuth credential rotation runbook
ops/auth-credential-rotation.md
10/20/2018, 1:46:40 AM4449b8b8eecb6
ops/deployment-preflightDeployment Preflight Runbook
ops/deployment-preflight.md
10/20/2018, 1:46:40 AM5ac60432d0aed
ops/era-c-exit-gate-evidenceEra C Exit-Gate Evidence Pack
ops/era-c-exit-gate-evidence.md
10/20/2018, 1:46:40 AM6656b9c7f85c6
ops/go-live-checklistGo-Live & Evidence-Pipeline Checklist
ops/go-live-checklist.md
10/20/2018, 1:46:40 AM6ae7f5d71f7dc
ops/k6-slok6 SLO Load Test (SOTA §20.4)
ops/k6-slo.md
10/20/2018, 1:46:40 AM4328b5b3163d4
ops/kpi-evidenceSOTA §26 KPI Evidence Input
ops/kpi-evidence.md
10/20/2018, 1:46:40 AM5d7b2973d2927
ops/launch-reviewLaunch Review Packet
ops/launch-review.md
10/20/2018, 1:46:40 AM5880e41ebcbe3
ops/managed-linked-art-pilot-runbookManaged Linked Art Pilot Runbook
ops/managed-linked-art-pilot-runbook.md
10/20/2018, 1:46:40 AM11d4f125c2ddae
ops/otel-localLocal OpenTelemetry Wiring (Tempo / Jaeger)
ops/otel-local.md
10/20/2018, 1:46:40 AM51ebbc3b33f92
ops/outbox-projectorTransactional Outbox Projector (Postgres -> Solr/GraphDB)
ops/outbox-projector.md
10/20/2018, 1:46:40 AM5dc70ad766471
ops/procurement-readiness-packetProcurement Readiness Packet
ops/procurement-readiness-packet.md
10/20/2018, 1:46:40 AM9c5685e82cca7
ops/reconciliation-serviceReconciliation Service (C2)
ops/reconciliation-service.md
10/20/2018, 1:46:40 AM605162c313ea9
ops/search-graph-provisioningSolr 9 + GraphDB Provisioning
ops/search-graph-provisioning.md
10/20/2018, 1:46:40 AM6fc1b15279a84
ops/security-dr-drillPen Test Baseline + DR Drill Runbook
ops/security-dr-drill.md
10/20/2018, 1:46:40 AM3a766ef3e2afc
progress/2026-05-31/era-c-readiness-snapshotEra C Readiness Snapshot (May 31, 2026)
progress/2026-05-31/era-c-readiness-snapshot.md
10/20/2018, 1:46:40 AM39672614ceb53
progress/era-historyMeta Museum — Era Delivery History
progress/era-history.md
10/20/2018, 1:46:40 AM47cc030755d1e5
providers/harvard-art-museumsHarvard Art Museums API Integration Plan
providers/harvard-art-museums.md
10/20/2018, 1:46:40 AM11fa8b980154f5
providers/louvre-collections-jsonLouvre Collections JSON Integration Plan
providers/louvre-collections-json.md
10/20/2018, 1:46:40 AM11775f91a8d813
providers/nga-open-dataNational Gallery of Art (NGA) Open Data Integration Plan
providers/nga-open-data.md
10/20/2018, 1:46:40 AM1151c4807c8de0
providers/princeton-art-museumPrinceton University Art Museum API Integration Plan
providers/princeton-art-museum.md
10/20/2018, 1:46:40 AM11c8823f65ee41
providers/rkd-knowledge-graphRKD Knowledge Graph Integration Plan
providers/rkd-knowledge-graph.md
10/20/2018, 1:46:40 AM162b4b42f2ad42
providers/smithsonian-open-accessSmithsonian Open Access Integration Plan
providers/smithsonian-open-access.md
10/20/2018, 1:46:40 AM12db1ffa4cab02
providers/vanda-collections-apiVictoria and Albert Museum (V&A) Collections API Integration Plan
providers/vanda-collections-api.md
10/20/2018, 1:46:40 AM11755d93972233
qualityQuality & Performance
quality.md
10/20/2018, 1:46:40 AM6174add040960
reconciliation/exhibition-literature-reconciliationExhibition + Literature Reconciliation (B6.1)
reconciliation/exhibition-literature-reconciliation.md
10/20/2018, 1:46:40 AM7293e9d81dd7c
responsible-aiResponsible AI
responsible-ai.md
10/20/2018, 1:46:40 AM8f90006650821
risk-registerRisk Register
risk-register.md
10/20/2018, 1:46:40 AM4becb213d5c5e
roadmap-to-10Roadmap to 10/10
roadmap-to-10.md
10/20/2018, 1:46:40 AM1540a11000dc7e
roadmapMeta Museum Roadmap
roadmap.md
10/20/2018, 1:46:40 AM18145d0cbbe54a
rsi-wikiAI-RSI compounding wiki
rsi-wiki.md
10/20/2018, 1:46:40 AM8b64914fe6f20
wikibase-cloud-migration-checklistWikibase Cloud -> Self-Host Migration Checklist
wikibase-cloud-migration-checklist.md
10/20/2018, 1:46:40 AM12170657fcbf2b

    Current Document: Linked Art 1.0 — Conformance Matrix

    Source updated 10/20/2018, 1:46:40 AM · SHA-256 53ff87000bf4 · 70 lines

    Canonical ID: linked-art/conformance-matrix

    JSON for this doc:/api/docs/content?path=linked-art/conformance-matrix.md

    Human link:/docs?doc=linked-art%2Fconformance-matrix.md

    Canonical API endpoint:/api/docs/content?path=linked-art%2Fconformance-matrix.md

    Sections (stable anchors):

    Linked Art 1.0 — Conformance Matrix

    A candid, evidence-based view of how Meta Museum conforms to the Linked Art 1.0 API — at the protocol layer, the model layer, and per provider. For the full standards ledger see LinkedArtModel1.0-Reference.md(LinkedArtModel1.0-Reference.md).

    Protocol conformance (MUST-level) — verified against the live deploy

    The Linked Art Protocol page defines three MUSTs (first three rows); the `HEAD` and HTTP/2 SHOULDs are also met. All are verified against the live deploy on the canonical entity endpoints (`/api/objects/[id]`, `/api/artworks/[id]`, `/api/works/[id]`, …):

    | Requirement | Status | Evidence |

    |---|---|---|

    | Content-Type `application/ld+json;profile="https://linked.art/ns/v1/linked-art.json"` when requested via `Accept` | ✅ | Echoed exactly under content negotiation (`src/utils/protocol.ts`). |

    | `Access-Control-Allow-Origin: *` on every response | ✅ | `createPublicCorsHeaders()`. |

    | `GET` + `OPTIONS` supported | ✅ | `optionsResponse()` on every public route; auto-implemented `OPTIONS` plus explicit allow-methods. |

    | `HEAD` supported (SHOULD) | ✅ | Canonical entity/collection routes export `HEAD` (same headers as GET, no body, mirrors 200/404); `Allow-Methods` advertises `GET,HEAD,OPTIONS`. `tests/api/head-methods.test.ts`. |

    | HTTP/2 on the live deploy (SHOULD) | ✅ | Vercel edge negotiates HTTP/2 — verified `HTTP/2.0 200` on `www.metamuseum.org`. |

    Tested by the B8 protocol-conformance suite across ~14 representative routes (media-type negotiation, CORS, URI opacity, array cardinality, HAL `_links` separation).

    Core model conformance (all normalized records)

    Applied uniformly in `src/utils/linked-art.ts` (`normalizeIncomingRecord`) and `src/utils/artwork-builder.ts`:

    | Aspect | Status |

    |---|---|

    | `@context` (`linked-art.json`) always present | ✅ |

    | `id` / `type` / `_label` required | ✅ |

    | `identified_by` (Name/Identifier), `classified_as`, `referred_to_by` | ✅ |

    | `produced_by` as a `Production` activity (maker via `carried_out_by`, date via `timespan`, place via `took_place_at`) | ✅ |

    | Event-centric provenance (`Activity`-wrapped acquisition/transfer; ownership vs. custody distinct) — B9 guardrails | ✅ |

    | Multi-valued properties kept as arrays (cardinality-safe) | ✅ |

    | Carrier / content / surrogate distinct (HumanMadeObject ≠ VisualItem ≠ DigitalObject) | ✅ |

    | HAL `_links` separated from semantic assertions; `describedby` signposting | ✅ |

    | `subject_to` (Right entities with classification) | ✅ Every object record: Getty's preserved; others synthesized from rights signals, classified by CC0 / rightsstatements.org URIs (`src/utils/linked-art-rights.ts`) |

    Per-provider matrix

    Every production provider has committed pass + fail fixtures (`provider-fixture-manifest.json`(../../tests/fixtures/validation/provider-fixture-manifest.json)), asserted in CI by `validation-architecture-depth.test.ts`(../../tests/quality/validation-architecture-depth.test.ts): the pass fixture must conform and the fail fixture must be rejected, each mapped to explicit Linked Art reference rounds. Each pass fixture is also validated against the Linked Art SHACL shapes by a dedicated pyshacl CI job (`shacl-conformance.yml`(../../.github/workflows/shacl-conformance.yml)) — proving the JSON-LD expands to valid CIDOC-CRM RDF. Rights are modeled uniformly as `subject_to` `Right` entities for every provider (Getty's preserved; the rest synthesized — see the rights row in the core-model table). The table below is generated from those fixtures and the capability registry, so it cannot drift from what the tests verify.

    <!-- GENERATED:provider-matrix:start -->

    _Generated by `pnpm conformance:matrix` from `provider-fixture-manifest.json`(../../tests/fixtures/validation/provider-fixture-manifest.json) and the provider capability registry. Each ✓ is computed live by running `inspectLinkedArtRecord` over the committed pass/fail fixtures — 13/13 providers pass both directions (pass conforms, fail rejected). Do not edit by hand._

    | Provider | Import | Search | Pass fixture conforms | Fail fixture rejected | Linked Art rounds |

    |---|:--:|:--:|:--:|:--:|---|

    | Art Institute of Chicago API | ✅ | ✅ | ✅ | ✅ | R2, R3, R11 |

    | Cleveland Museum of Art Open Access API | ✅ | ✅ | ✅ | ✅ | R2, R3, R11 |

    | Europeana | ✅ | ✅ | ✅ | ✅ | R2, R3, R11, R65 |

    | Getty Museum Collection | ✅ | ❌ | ✅ | ✅ | R2, R3, R11, R14 |

    | Harvard Art Museums | ✅ | ✅ | ✅ | ✅ | R2, R3, R11, R68 |

    | Louvre Collections | ✅ | ✅ | ✅ | ✅ | R2, R3, R11, R14 |

    | National Gallery of Art Open Data Program | ✅ | ✅ | ✅ | ✅ | R2, R3, R11, R14 |

    | Princeton University Art Museum | ✅ | ✅ | ✅ | ✅ | R2, R3, R11 |

    | Rijksmuseum Data Services | ✅ | ✅ | ✅ | ✅ | R2, R3, R65 |

    | RKD Knowledge Graph | ✅ | ✅ | ✅ | ✅ | R2, R3, R11, R65 |

    | Smithsonian Open Access | ✅ | ✅ | ✅ | ✅ | R2, R3, R11, R65 |

    | The Metropolitan Museum of Art | ✅ | ✅ | ✅ | ✅ | R2, R3, R11 |

    | Victoria and Albert Museum Collections API | ✅ | ✅ | ✅ | ✅ | R2, R3, R65 |

    <!-- GENERATED:provider-matrix:end -->

    Counts come from the provider capability registry (`src/gateway/readiness.ts`), also surfaced at `/api/providers/capabilities`: 13 production providers · 12 searchable · 13 importable. Access: most providers are open; RKD uses a Triply token, Harvard and Smithsonian need an API key.

    Honest gaps

    • Non-Getty rights are heuristically derived. Every object record now carries a `subject_to` `Right` classified by a CC0 / rightsstatements.org URI, so the graph is queryable for all providers. But outside Getty the category (public-domain / in-copyright / undetermined) is inferred from the provider's rights signals and defaults conservatively to "Copyright Undetermined" — precise per-provider license mapping (e.g. CC-BY vs. CC-BY-SA) is still future work.
    • Search runs in-app, not yet on Solr. `/api/search` now returns relevance-ranked results (exact label > prefix > substring > name hit) with `type` / `provider` facet counts and `q` / `type` / `provider` / `limit` / `offset` params, as a `ld+json` `OrderedCollectionPage` (`src/services/search.ts`). It runs over the record set; Solr 9 remains the documented scale-out backend (env-gated), with this in-app implementation as the portable default and conformance reference.
    • SHACL shapes are minimal (but now CI-gated). A dedicated CI job (`shacl-conformance.yml`(../../.github/workflows/shacl-conformance.yml)) validates every provider's pass fixture against the Linked Art SHACL shapes with pyshacl, so a regression that breaks CIDOC-CRM expansion blocks the build. The shapes themselves are still minimal (object `identified_by` + `label` minimums); enriching them toward full Linked Art SHACL coverage is ongoing work.

    Bottom line

    The spec's MUST-level HTTP requirements and the hard part — the event-centric model — are genuinely conformant and test-backed. The remaining gaps are breadth (precise per-provider license categories, Solr-scale search, richer SHACL shapes), not correctness.

    AI/agent quick endpoints