{"generatedAt":"2026-06-24T20:42:27.550Z","sourceRoot":"docs/","docs":[{"id":"agents/ag2-extraction-notes","relativePath":"agents/ag2-extraction-notes.md","title":"AG2 Extraction Notes","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":8341,"checksum":"e8d0072ebec1bfeda11c08aaedcf7c0f164d0e0b41100f10c5167ba0407f55b4","checksumPrefix":"e8d0072ebec1","sections":[{"level":2,"heading":"Decision","anchor":"decision"},{"level":2,"heading":"Extracted AG2 Runtime Rules","anchor":"extracted-ag2-runtime-rules"},{"level":2,"heading":"Agent Factory Pattern","anchor":"agent-factory-pattern"},{"level":2,"heading":"Tool Registration Rules","anchor":"tool-registration-rules"},{"level":2,"heading":"Orchestration Patterns To Keep","anchor":"orchestration-patterns-to-keep"},{"level":2,"heading":"Human Approval Gates","anchor":"human-approval-gates"},{"level":2,"heading":"Eval Gate Pattern","anchor":"eval-gate-pattern"},{"level":2,"heading":"Observability Pattern","anchor":"observability-pattern"},{"level":2,"heading":"AG-UI / A2A Notes","anchor":"ag-ui-a2a-notes"},{"level":2,"heading":"What Was Not Ported","anchor":"what-was-not-ported"},{"level":2,"heading":"Recommended Bridge Sequence","anchor":"recommended-bridge-sequence"}],"lineCount":224,"anchorCount":11,"docPath":"/docs?doc=agents%2Fag2-extraction-notes.md","rawUrl":"/api/docs/content?path=agents%2Fag2-extraction-notes.md","htmlUrl":"/docs?doc=agents%2Fag2-extraction-notes.md"},{"id":"asset-provenance","relativePath":"asset-provenance.md","title":"Asset Provenance","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":7423,"checksum":"1025c0acc117bce812610b5f264c734de822c9352f34e5cf5f31adab3fa5ce09","checksumPrefix":"1025c0acc117","sections":[{"level":2,"heading":"Imported assets","anchor":"imported-assets"},{"level":2,"heading":"License review status enum","anchor":"license-review-status-enum"},{"level":2,"heading":"Excluded use","anchor":"excluded-use"},{"level":2,"heading":"Maintenance rule","anchor":"maintenance-rule"}],"lineCount":45,"anchorCount":4,"docPath":"/docs?doc=asset-provenance.md","rawUrl":"/api/docs/content?path=asset-provenance.md","htmlUrl":"/docs?doc=asset-provenance.md"},{"id":"closeout-notes","relativePath":"closeout-notes.md","title":"AI-RSI one-click closeout notes","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":1092,"checksum":"1f560f6a8535e08f338da6153000c11fff8768ce11b27cbea63d43d84318c4ce","checksumPrefix":"1f560f6a8535","sections":[{"level":2,"heading":"[ ] RSI-<N> closeout (ready-to-fill)","anchor":"rsi-n-closeout-ready-to-fill"},{"level":3,"heading":"Reuse tip","anchor":"reuse-tip"}],"lineCount":31,"anchorCount":2,"docPath":"/docs?doc=closeout-notes.md","rawUrl":"/api/docs/content?path=closeout-notes.md","htmlUrl":"/docs?doc=closeout-notes.md"},{"id":"content-credibility-engine","relativePath":"content-credibility-engine.md","title":"Content Credibility Engine","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4560,"checksum":"d9aa323586701afb7fcd729d276b832b7f4b17e3a81bf441938bca7888c6a843","checksumPrefix":"d9aa32358670","sections":[{"level":2,"heading":"Scope and compatibility","anchor":"scope-and-compatibility"},{"level":2,"heading":"1) Trust layer requirements","anchor":"1-trust-layer-requirements"},{"level":2,"heading":"2) Originality layer requirements","anchor":"2-originality-layer-requirements"},{"level":2,"heading":"3) Distribution layer requirements","anchor":"3-distribution-layer-requirements"},{"level":2,"heading":"4) Consistency layer requirements","anchor":"4-consistency-layer-requirements"},{"level":2,"heading":"5) Monitoring and audits","anchor":"5-monitoring-and-audits"},{"level":2,"heading":"6) Implementation notes for this repository","anchor":"6-implementation-notes-for-this-repository"},{"level":2,"heading":"7) Definition of done for credibility-ready content features","anchor":"7-definition-of-done-for-credibility-ready-content-features"}],"lineCount":145,"anchorCount":8,"docPath":"/docs?doc=content-credibility-engine.md","rawUrl":"/api/docs/content?path=content-credibility-engine.md","htmlUrl":"/docs?doc=content-credibility-engine.md"},{"id":"demo-script","relativePath":"demo-script.md","title":"Demo Video — Shot List & Script (60–90s)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3002,"checksum":"131ddae42e6e4bce4b3afe2588d3a067e0d2f8ab8f3002f25ae19a5ab9890cf1","checksumPrefix":"131ddae42e6e","sections":[{"level":2,"heading":"Screenshot gallery (for the README / portfolio)","anchor":"screenshot-gallery-for-the-readme-portfolio"},{"level":2,"heading":"Recording tips","anchor":"recording-tips"}],"lineCount":34,"anchorCount":2,"docPath":"/docs?doc=demo-script.md","rawUrl":"/api/docs/content?path=demo-script.md","htmlUrl":"/docs?doc=demo-script.md"},{"id":"deployment","relativePath":"deployment.md","title":"Deployment — Vercel + Render","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":5540,"checksum":"4911b1f459b5c331dc05f45b1d453bee478c0b43f5485b0e90293e03b51289ac","checksumPrefix":"4911b1f459b5","sections":[{"level":2,"heading":"Part A — Next.js on Vercel","anchor":"part-a-next-js-on-vercel"},{"level":3,"heading":"One-time setup","anchor":"one-time-setup"},{"level":3,"heading":"Vercel environment variables","anchor":"vercel-environment-variables"},{"level":2,"heading":"Part B — Python services on Render","anchor":"part-b-python-services-on-render"},{"level":3,"heading":"Setup","anchor":"setup"},{"level":3,"heading":"Wire services back to Vercel","anchor":"wire-services-back-to-vercel"},{"level":2,"heading":"Part C — Background workers","anchor":"part-c-background-workers"},{"level":2,"heading":"Quick path to a live demo","anchor":"quick-path-to-a-live-demo"}],"lineCount":108,"anchorCount":8,"docPath":"/docs?doc=deployment.md","rawUrl":"/api/docs/content?path=deployment.md","htmlUrl":"/docs?doc=deployment.md"},{"id":"development-roadmap","relativePath":"development-roadmap.md","title":"Meta Museum Development Roadmap","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":21096,"checksum":"624a8a089d72f60a4a6cb38fba3388d48e12570d2b89582ca608d8f32d000676","checksumPrefix":"624a8a089d72","sections":[{"level":2,"heading":"Product Thesis","anchor":"product-thesis"},{"level":2,"heading":"Product Separation","anchor":"product-separation"},{"level":2,"heading":"Audience Paths","anchor":"audience-paths"},{"level":2,"heading":"Information Architecture","anchor":"information-architecture"},{"level":3,"heading":"Public Site","anchor":"public-site"},{"level":3,"heading":"Research Workspace","anchor":"research-workspace"},{"level":3,"heading":"Agent + Publishing Workspace","anchor":"agent-publishing-workspace"},{"level":2,"heading":"Current Prototype","anchor":"current-prototype"},{"level":2,"heading":"Product Principles","anchor":"product-principles"},{"level":2,"heading":"Architecture Decision: Next.js Timing","anchor":"architecture-decision-next-js-timing"},{"level":2,"heading":"Target Architecture","anchor":"target-architecture"},{"level":2,"heading":"Design System Direction","anchor":"design-system-direction"},{"level":2,"heading":"Engineering Standards","anchor":"engineering-standards"},{"level":2,"heading":"Quality Gates","anchor":"quality-gates"},{"level":2,"heading":"Phased Plan","anchor":"phased-plan"},{"level":3,"heading":"Phase 0: Prototype Hardening and Public UX, Weeks 1-2","anchor":"phase-0-prototype-hardening-and-public-ux-weeks-1-2"},{"level":3,"heading":"Phase 1: Data Contracts and Validation, Weeks 3-5","anchor":"phase-1-data-contracts-and-validation-weeks-3-5"},{"level":3,"heading":"Phase 2: Public Artwork Pages and Search, Weeks 6-8","anchor":"phase-2-public-artwork-pages-and-search-weeks-6-8"},{"level":3,"heading":"Phase 3: Research and Graph Tools, Weeks 9-11","anchor":"phase-3-research-and-graph-tools-weeks-9-11"},{"level":3,"heading":"Phase 4: Agent Workflows and Meta Wiki Art Drafting, Weeks 12-15","anchor":"phase-4-agent-workflows-and-meta-wiki-art-drafting-weeks-12-15"},{"level":3,"heading":"Phase 5: Production Architecture and Publishing, Weeks 16-20","anchor":"phase-5-production-architecture-and-publishing-weeks-16-20"},{"level":2,"heading":"Immediate Build Queue","anchor":"immediate-build-queue"},{"level":2,"heading":"Open Architecture Decisions","anchor":"open-architecture-decisions"}],"lineCount":293,"anchorCount":23,"docPath":"/docs?doc=development-roadmap.md","rawUrl":"/api/docs/content?path=development-roadmap.md","htmlUrl":"/docs?doc=development-roadmap.md"},{"id":"development/aidd-tdd","relativePath":"development/aidd-tdd.md","title":"AIDD + TDD Discipline","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2640,"checksum":"cd0a0524525a1eaa1218bbbed59b4ffa15835cd7936faa340dad06e72ae0063f","checksumPrefix":"cd0a0524525a","sections":[{"level":2,"heading":"Required loop","anchor":"required-loop"},{"level":2,"heading":"Non-negotiables","anchor":"non-negotiables"},{"level":2,"heading":"User story coverage gate","anchor":"user-story-coverage-gate"},{"level":2,"heading":"Quality gates","anchor":"quality-gates"},{"level":2,"heading":"Technical comment standard","anchor":"technical-comment-standard"}],"lineCount":56,"anchorCount":5,"docPath":"/docs?doc=development%2Faidd-tdd.md","rawUrl":"/api/docs/content?path=development%2Faidd-tdd.md","htmlUrl":"/docs?doc=development%2Faidd-tdd.md"},{"id":"env","relativePath":"env.md","title":"Environment Variables","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":8240,"checksum":"9c18634cab1ae55285c55c7f29c750f433291c3374eb442798fe5b510b4e2c61","checksumPrefix":"9c18634cab1a","sections":[{"level":2,"heading":"Core app","anchor":"core-app"},{"level":2,"heading":"Storage and database","anchor":"storage-and-database"},{"level":2,"heading":"GitHub issues/SSE","anchor":"github-issues-sse"},{"level":2,"heading":"Auth.js / GitHub OAuth","anchor":"auth-js-github-oauth"},{"level":2,"heading":"Roles and allowlists","anchor":"roles-and-allowlists"},{"level":2,"heading":"Optional provider keys (as providers require)","anchor":"optional-provider-keys-as-providers-require"},{"level":2,"heading":"Validation service","anchor":"validation-service"},{"level":2,"heading":"AG2 worker and bridge","anchor":"ag2-worker-and-bridge"},{"level":2,"heading":"Launch readiness / observability","anchor":"launch-readiness-observability"},{"level":2,"heading":"Notes","anchor":"notes"}],"lineCount":107,"anchorCount":10,"docPath":"/docs?doc=env.md","rawUrl":"/api/docs/content?path=env.md","htmlUrl":"/docs?doc=env.md"},{"id":"evals/golden-museum-questions","relativePath":"evals/golden-museum-questions.md","title":"Golden Eval Dataset: Complex Museum Questions","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":7324,"checksum":"2876a2b5e78dbfb093fb404058766bc1f6b8e2a8d841a42c30da8203ac546b23","checksumPrefix":"2876a2b5e78d","sections":[{"level":2,"heading":"Scope","anchor":"scope"},{"level":2,"heading":"Prompt contract","anchor":"prompt-contract"},{"level":2,"heading":"Reliability rubric","anchor":"reliability-rubric"},{"level":2,"heading":"Conformance enforcement","anchor":"conformance-enforcement"},{"level":2,"heading":"CI gate (AI-layer PRs)","anchor":"ci-gate-ai-layer-prs"},{"level":2,"heading":"Regression thresholds + fail-fast citation drift","anchor":"regression-thresholds-fail-fast-citation-drift"}],"lineCount":168,"anchorCount":6,"docPath":"/docs?doc=evals%2Fgolden-museum-questions.md","rawUrl":"/api/docs/content?path=evals%2Fgolden-museum-questions.md","htmlUrl":"/docs?doc=evals%2Fgolden-museum-questions.md"},{"id":"linked-art/conformance-matrix","relativePath":"linked-art/conformance-matrix.md","title":"Linked Art 1.0 — Conformance Matrix","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":7246,"checksum":"53ff87000bf4beee3e6c40e0d7719f5e79f6382f671c467d61868d0758c80300","checksumPrefix":"53ff87000bf4","sections":[{"level":2,"heading":"Protocol conformance (MUST-level) — verified against the live deploy","anchor":"protocol-conformance-must-level-verified-against-the-live-deploy"},{"level":2,"heading":"Core model conformance (all normalized records)","anchor":"core-model-conformance-all-normalized-records"},{"level":2,"heading":"Per-provider matrix","anchor":"per-provider-matrix"},{"level":2,"heading":"Honest gaps","anchor":"honest-gaps"},{"level":2,"heading":"Bottom line","anchor":"bottom-line"}],"lineCount":70,"anchorCount":5,"docPath":"/docs?doc=linked-art%2Fconformance-matrix.md","rawUrl":"/api/docs/content?path=linked-art%2Fconformance-matrix.md","htmlUrl":"/docs?doc=linked-art%2Fconformance-matrix.md"},{"id":"linked-art/Linked%20Art%20Notes","relativePath":"linked-art/Linked Art Notes.md","title":"Linked Art Notes.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":6295,"checksum":"aca66d51107b1119fc34c50048e6a318ff58a739649e786c501223a02ea9adeb","checksumPrefix":"aca66d51107b","sections":[],"lineCount":618,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinked%20Art%20Notes.md","rawUrl":"/api/docs/content?path=linked-art%2FLinked%20Art%20Notes.md","htmlUrl":"/docs?doc=linked-art%2FLinked%20Art%20Notes.md"},{"id":"linked-art/Linked%20Open%20Art%20Data%20Web%20App%20-%20Must-have%20Data%20Sources","relativePath":"linked-art/Linked Open Art Data Web App - Must-have Data Sources.md","title":"Linked Open Art Data Web App (AI) — Must-have Data Sources","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4653,"checksum":"7b7d350fe8a0277522ad6f9b967e40ea414c24b1413f85cc3ca6e0e65cbca592","checksumPrefix":"7b7d350fe8a0","sections":[{"level":2,"heading":"Recommended pattern (why this stack works)","anchor":"recommended-pattern-why-this-stack-works"},{"level":2,"heading":"Top 10 prioritized sources","anchor":"top-10-prioritized-sources"},{"level":3,"heading":"Core art sources","anchor":"core-art-sources"},{"level":3,"heading":"High-value linked-data & standards","anchor":"high-value-linked-data-standards"},{"level":2,"heading":"Practical build order (implementation sequence)","anchor":"practical-build-order-implementation-sequence"},{"level":2,"heading":"Notes for AI-powered features (what to extract/standardize)","anchor":"notes-for-ai-powered-features-what-to-extract-standardize"},{"level":2,"heading":"Follow-ups / next steps","anchor":"follow-ups-next-steps"}],"lineCount":82,"anchorCount":7,"docPath":"/docs?doc=linked-art%2FLinked%20Open%20Art%20Data%20Web%20App%20-%20Must-have%20Data%20Sources.md","rawUrl":"/api/docs/content?path=linked-art%2FLinked%20Open%20Art%20Data%20Web%20App%20-%20Must-have%20Data%20Sources.md","htmlUrl":"/docs?doc=linked-art%2FLinked%20Open%20Art%20Data%20Web%20App%20-%20Must-have%20Data%20Sources.md"},{"id":"linked-art/LinkedArtAppFeatures","relativePath":"linked-art/LinkedArtAppFeatures.md","title":"🏛️ Art Explorer: Linked Art Application & Ecosystem","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":7525,"checksum":"e23b890ecd2a6791d3fe70d6da8b5ac136edbd0764df0e880b0ab3c3963449d4","checksumPrefix":"e23b890ecd2a","sections":[{"level":2,"heading":"⚙️ 1. Core Architecture & Technology Stack","anchor":"1-core-architecture-technology-stack"},{"level":2,"heading":"🧩 2. The 4 Core Modular Tools (Micro-Frontends)","anchor":"2-the-4-core-modular-tools-micro-frontends"},{"level":3,"heading":"🛠️ Tool 1: Visual ETL Mapper (CSV-to-Linked-Art)","anchor":"tool-1-visual-etl-mapper-csv-to-linked-art"},{"level":3,"heading":"📝 Tool 2: Linked Art Form Builder (Middle-Tier Editor)","anchor":"tool-2-linked-art-form-builder-middle-tier-editor"},{"level":3,"heading":"🕸️ Tool 3: Dynamic Graph Explorer (Interactive Debugger)","anchor":"tool-3-dynamic-graph-explorer-interactive-debugger"},{"level":3,"heading":"🧱 Tool 4: Reusable UI Component Library","anchor":"tool-4-reusable-ui-component-library"},{"level":2,"heading":"🧠 3. Data Modeling & Semantic Patterns","anchor":"3-data-modeling-semantic-patterns"},{"level":2,"heading":"📊 4. Advanced Visualization & Discovery Suite","anchor":"4-advanced-visualization-discovery-suite"},{"level":2,"heading":"🎓 5. Pedagogy, Storytelling & Accessibility","anchor":"5-pedagogy-storytelling-accessibility"},{"level":2,"heading":"🚀 6. Phased Development Roadmap","anchor":"6-phased-development-roadmap"},{"level":3,"heading":"**Phase 0: Foundation & Standards (Weeks 1-2)**","anchor":"phase-0-foundation-standards-weeks-1-2"},{"level":3,"heading":"**Phase 1: Core Data Engines & APIs (Weeks 3-5)**","anchor":"phase-1-core-data-engines-apis-weeks-3-5"},{"level":3,"heading":"**Phase 2: Micro-Frontends & Tooling (Weeks 6-9)**","anchor":"phase-2-micro-frontends-tooling-weeks-6-9"},{"level":3,"heading":"**Phase 3: Assembly, UI & Pedagogy (Weeks 10-12)**","anchor":"phase-3-assembly-ui-pedagogy-weeks-10-12"}],"lineCount":162,"anchorCount":14,"docPath":"/docs?doc=linked-art%2FLinkedArtAppFeatures.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtAppFeatures.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtAppFeatures.md"},{"id":"linked-art/LinkedArtChallenges","relativePath":"linked-art/LinkedArtChallenges.md","title":"LinkedArtChallenges.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":6417,"checksum":"d8c9870702778b85b2868697a9b73adffdf7db3b426d4be819d00adf5e767df0","checksumPrefix":"d8c987070277","sections":[],"lineCount":165,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtChallenges.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtChallenges.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtChallenges.md"},{"id":"linked-art/LinkedArtCollaboration","relativePath":"linked-art/LinkedArtCollaboration.md","title":"LinkedArtCollaboration.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":684,"checksum":"14ccf63edef3ac95bca0ae4502eaec48abb0e52bd5a39f66c200965dab90dab2","checksumPrefix":"14ccf63edef3","sections":[{"level":3,"heading":"Institutions","anchor":"institutions"}],"lineCount":30,"anchorCount":1,"docPath":"/docs?doc=linked-art%2FLinkedArtCollaboration.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtCollaboration.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtCollaboration.md"},{"id":"linked-art/LinkedArtDashboard","relativePath":"linked-art/LinkedArtDashboard.md","title":"LinkedArtDashboard.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":15434,"checksum":"6d04d4b2bf792aada0b28b83f20f8686ef4b97dc3388dac4eef55dd6ac9dd137","checksumPrefix":"6d04d4b2bf79","sections":[],"lineCount":335,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtDashboard.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtDashboard.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtDashboard.md"},{"id":"linked-art/LinkedArtFeatureRoadmap","relativePath":"linked-art/LinkedArtFeatureRoadmap.md","title":"Feature Roadmap for Linked Open Art Data Apps","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2631,"checksum":"ac10d8e79c20a1ff2a51b960a13fe783baa4c63901bc6cfe20ea3dc49ee71086","checksumPrefix":"ac10d8e79c20","sections":[{"level":2,"heading":"1. Usability for Non-Specialists","anchor":"1-usability-for-non-specialists"},{"level":2,"heading":"2. Cross-Institution Interoperability","anchor":"2-cross-institution-interoperability"},{"level":2,"heading":"3. Provenance & Relationship Visualization","anchor":"3-provenance-relationship-visualization"},{"level":2,"heading":"4. Multilingual & Inclusive Access","anchor":"4-multilingual-inclusive-access"},{"level":2,"heading":"5. Monetization & Sustainability","anchor":"5-monetization-sustainability"},{"level":2,"heading":"6. Educational Storytelling","anchor":"6-educational-storytelling"},{"level":3,"heading":"Strategic Positioning","anchor":"strategic-positioning"},{"level":3,"heading":"Next Steps","anchor":"next-steps"}],"lineCount":108,"anchorCount":8,"docPath":"/docs?doc=linked-art%2FLinkedArtFeatureRoadmap.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtFeatureRoadmap.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtFeatureRoadmap.md"},{"id":"linked-art/LinkedArtJobReady","relativePath":"linked-art/LinkedArtJobReady.md","title":"LinkedArtJobReady.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":12006,"checksum":"c60b357bcb870b4087f1843bd457ad8e48ccc394af1f6a94ea3f10df840fdf76","checksumPrefix":"c60b357bcb87","sections":[],"lineCount":648,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtJobReady.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtJobReady.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtJobReady.md"},{"id":"linked-art/LinkedArtModel1.0-Reference","relativePath":"linked-art/LinkedArtModel1.0-Reference.md","title":"Linked Art Model 1.0 Reference (Round 1)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":316990,"checksum":"e6d48d474b3ef2ce9af7395c61cb0fd9ba28e2496c4dd865f1a1be5fe6b9e571","checksumPrefix":"e6d48d474b3e","sections":[{"level":2,"heading":"Purpose","anchor":"purpose"},{"level":2,"heading":"Canonical Model Summary","anchor":"canonical-model-summary"},{"level":2,"heading":"Model Coverage Areas (from official structure)","anchor":"model-coverage-areas-from-official-structure"},{"level":2,"heading":"Design Principles To Preserve","anchor":"design-principles-to-preserve"},{"level":2,"heading":"Scope Boundaries (Important)","anchor":"scope-boundaries-important"},{"level":2,"heading":"Meta Museum Implementation Mapping (Round 1)","anchor":"meta-museum-implementation-mapping-round-1"},{"level":2,"heading":"TDD Guidance Derived From Linked Art 1.0","anchor":"tdd-guidance-derived-from-linked-art-1-0"},{"level":3,"heading":"Contract-level tests","anchor":"contract-level-tests"},{"level":3,"heading":"Adapter-level tests","anchor":"adapter-level-tests"},{"level":3,"heading":"Route-level tests","anchor":"route-level-tests"},{"level":3,"heading":"Regression tests","anchor":"regression-tests"},{"level":2,"heading":"Roadmap Hooks (What this reference should drive)","anchor":"roadmap-hooks-what-this-reference-should-drive"},{"level":2,"heading":"Round 2 Addendum — Objects (Physical Object Modeling)","anchor":"round-2-addendum-objects-physical-object-modeling"},{"level":3,"heading":"Implementation Mapping — Objects","anchor":"implementation-mapping-objects"},{"level":3,"heading":"TDD Additions — Objects","anchor":"tdd-additions-objects"},{"level":2,"heading":"Round 3 Addendum — Digital Content","anchor":"round-3-addendum-digital-content"},{"level":3,"heading":"Implementation Mapping — Digital Content","anchor":"implementation-mapping-digital-content"},{"level":3,"heading":"TDD Additions — Digital Content","anchor":"tdd-additions-digital-content"},{"level":3,"heading":"Fixture Anchors — Digital Content Examples","anchor":"fixture-anchors-digital-content-examples"},{"level":2,"heading":"Round 4 Addendum — Collections and Sets","anchor":"round-4-addendum-collections-and-sets"},{"level":3,"heading":"Implementation Mapping — Collections/Sets","anchor":"implementation-mapping-collections-sets"},{"level":3,"heading":"TDD Additions — Collections/Sets","anchor":"tdd-additions-collections-sets"},{"level":3,"heading":"Fixture Anchors — Collections/Sets Examples","anchor":"fixture-anchors-collections-sets-examples"},{"level":2,"heading":"Round 5 Addendum — Object Provenance","anchor":"round-5-addendum-object-provenance"},{"level":3,"heading":"Implementation Mapping — Provenance","anchor":"implementation-mapping-provenance"},{"level":3,"heading":"TDD Additions — Provenance","anchor":"tdd-additions-provenance"},{"level":3,"heading":"Fixture Anchors — Provenance Examples","anchor":"fixture-anchors-provenance-examples"},{"level":2,"heading":"Round 6 Addendum — Acquisitions and Loans","anchor":"round-6-addendum-acquisitions-and-loans"},{"level":3,"heading":"Implementation Mapping — Acquisitions/Payments","anchor":"implementation-mapping-acquisitions-payments"},{"level":3,"heading":"TDD Additions — Acquisitions/Payments","anchor":"tdd-additions-acquisitions-payments"},{"level":3,"heading":"Fixture Anchors — Acquisitions/Payments Examples","anchor":"fixture-anchors-acquisitions-payments-examples"},{"level":2,"heading":"Round 7 Addendum — Auctions","anchor":"round-7-addendum-auctions"},{"level":3,"heading":"Implementation Mapping — Auctions","anchor":"implementation-mapping-auctions"},{"level":3,"heading":"TDD Additions — Auctions","anchor":"tdd-additions-auctions"},{"level":3,"heading":"Fixture Anchors — Auctions Examples","anchor":"fixture-anchors-auctions-examples"},{"level":2,"heading":"Round 8 Addendum — Changes of Custody","anchor":"round-8-addendum-changes-of-custody"},{"level":3,"heading":"Implementation Mapping — Custody","anchor":"implementation-mapping-custody"},{"level":3,"heading":"TDD Additions — Custody","anchor":"tdd-additions-custody"},{"level":3,"heading":"Fixture Anchors — Custody Examples","anchor":"fixture-anchors-custody-examples"},{"level":2,"heading":"Round 9 Addendum — Exhibitions","anchor":"round-9-addendum-exhibitions"},{"level":3,"heading":"Implementation Mapping — Exhibitions","anchor":"implementation-mapping-exhibitions"},{"level":3,"heading":"TDD Additions — Exhibitions","anchor":"tdd-additions-exhibitions"},{"level":3,"heading":"Fixture Anchors — Exhibitions Examples","anchor":"fixture-anchors-exhibitions-examples"},{"level":2,"heading":"Round 10 Addendum — Encounters with Objects","anchor":"round-10-addendum-encounters-with-objects"},{"level":3,"heading":"Implementation Mapping — Encounters","anchor":"implementation-mapping-encounters"},{"level":3,"heading":"TDD Additions — Encounters","anchor":"tdd-additions-encounters"},{"level":3,"heading":"Fixture Anchors — Encounters Examples","anchor":"fixture-anchors-encounters-examples"},{"level":2,"heading":"Round 11 Addendum — Location and Movement","anchor":"round-11-addendum-location-and-movement"},{"level":3,"heading":"Implementation Mapping — Movement","anchor":"implementation-mapping-movement"},{"level":3,"heading":"TDD Additions — Movement","anchor":"tdd-additions-movement"},{"level":3,"heading":"Fixture Anchors — Movement Examples","anchor":"fixture-anchors-movement-examples"},{"level":2,"heading":"Round 12 Addendum — Promised Activities","anchor":"round-12-addendum-promised-activities"},{"level":3,"heading":"Implementation Mapping — Promises","anchor":"implementation-mapping-promises"},{"level":3,"heading":"TDD Additions — Promised Activities","anchor":"tdd-additions-promised-activities"},{"level":3,"heading":"Fixture Anchors — Promised Activities Examples","anchor":"fixture-anchors-promised-activities-examples"},{"level":2,"heading":"Round 13 Addendum — Transfer of Rights","anchor":"round-13-addendum-transfer-of-rights"},{"level":3,"heading":"Implementation Mapping — Rights","anchor":"implementation-mapping-rights"},{"level":3,"heading":"TDD Additions — Rights","anchor":"tdd-additions-rights"},{"level":3,"heading":"Fixture Anchors — Rights Examples","anchor":"fixture-anchors-rights-examples"},{"level":2,"heading":"Round 14 Addendum — Unknown Transfers","anchor":"round-14-addendum-unknown-transfers"},{"level":3,"heading":"Implementation Mapping — Unknown Transfers","anchor":"implementation-mapping-unknown-transfers"},{"level":3,"heading":"TDD Additions — Unknown Transfers","anchor":"tdd-additions-unknown-transfers"},{"level":3,"heading":"Fixture Anchors — Unknown Transfers Examples","anchor":"fixture-anchors-unknown-transfers-examples"},{"level":2,"heading":"Round 15 Addendum — Conservation","anchor":"round-15-addendum-conservation"},{"level":3,"heading":"Implementation Mapping — Conservation","anchor":"implementation-mapping-conservation"},{"level":3,"heading":"TDD Additions — Conservation","anchor":"tdd-additions-conservation"},{"level":3,"heading":"Fixture Anchors — Conservation Examples","anchor":"fixture-anchors-conservation-examples"},{"level":2,"heading":"Round 16 Addendum — People and Organizations","anchor":"round-16-addendum-people-and-organizations"},{"level":3,"heading":"Implementation Mapping — People/Organizations","anchor":"implementation-mapping-people-organizations"},{"level":3,"heading":"TDD Additions — People/Organizations","anchor":"tdd-additions-people-organizations"},{"level":3,"heading":"Fixture Anchors — People/Organizations Examples","anchor":"fixture-anchors-people-organizations-examples"},{"level":2,"heading":"Round 17 Addendum — Places","anchor":"round-17-addendum-places"},{"level":3,"heading":"Implementation Mapping — Places","anchor":"implementation-mapping-places"},{"level":3,"heading":"TDD Additions — Places","anchor":"tdd-additions-places"},{"level":3,"heading":"Fixture Anchors — Places Examples","anchor":"fixture-anchors-places-examples"},{"level":2,"heading":"Round 18 Addendum — Concepts","anchor":"round-18-addendum-concepts"},{"level":3,"heading":"Implementation Mapping — Concepts","anchor":"implementation-mapping-concepts"},{"level":3,"heading":"TDD Additions — Concepts","anchor":"tdd-additions-concepts"},{"level":3,"heading":"Fixture Anchors — Concepts Examples","anchor":"fixture-anchors-concepts-examples"},{"level":2,"heading":"Round 19 Addendum — Events","anchor":"round-19-addendum-events"},{"level":3,"heading":"Implementation Mapping — Events","anchor":"implementation-mapping-events"},{"level":3,"heading":"TDD Additions — Events","anchor":"tdd-additions-events"},{"level":3,"heading":"Fixture Anchors — Events Examples","anchor":"fixture-anchors-events-examples"},{"level":2,"heading":"Round 20 Addendum — About Vocabulary Terms","anchor":"round-20-addendum-about-vocabulary-terms"},{"level":3,"heading":"Implementation Mapping — Vocabulary Terms","anchor":"implementation-mapping-vocabulary-terms"},{"level":3,"heading":"TDD Additions — Vocabulary Terms","anchor":"tdd-additions-vocabulary-terms"},{"level":3,"heading":"Fixture Anchors — Vocabulary Terms Examples","anchor":"fixture-anchors-vocabulary-terms-examples"},{"level":2,"heading":"Round 21 Addendum — Required Terms","anchor":"round-21-addendum-required-terms"},{"level":3,"heading":"Implementation Mapping — Required Terms","anchor":"implementation-mapping-required-terms"},{"level":3,"heading":"TDD Additions — Required Terms","anchor":"tdd-additions-required-terms"},{"level":3,"heading":"Fixture Anchors — Required Terms Examples","anchor":"fixture-anchors-required-terms-examples"},{"level":2,"heading":"Round 22 Addendum — Recommended Terms","anchor":"round-22-addendum-recommended-terms"},{"level":3,"heading":"Implementation Mapping — Recommended Terms","anchor":"implementation-mapping-recommended-terms"},{"level":3,"heading":"TDD Additions — Recommended Terms","anchor":"tdd-additions-recommended-terms"},{"level":3,"heading":"Fixture Anchors — Recommended Terms Examples","anchor":"fixture-anchors-recommended-terms-examples"},{"level":2,"heading":"Round 23 Addendum — Optional Terms","anchor":"round-23-addendum-optional-terms"},{"level":3,"heading":"Implementation Mapping — Optional Terms","anchor":"implementation-mapping-optional-terms"},{"level":3,"heading":"TDD Additions — Optional Terms","anchor":"tdd-additions-optional-terms"},{"level":3,"heading":"Fixture Anchors — Optional Terms Examples","anchor":"fixture-anchors-optional-terms-examples"},{"level":2,"heading":"Round 24 Addendum — Textual Documents","anchor":"round-24-addendum-textual-documents"},{"level":3,"heading":"Implementation Mapping — Textual Documents","anchor":"implementation-mapping-textual-documents"},{"level":3,"heading":"TDD Additions — Textual Documents","anchor":"tdd-additions-textual-documents"},{"level":3,"heading":"Fixture Anchors — Textual Documents Examples","anchor":"fixture-anchors-textual-documents-examples"},{"level":2,"heading":"Round 25 Addendum — Archival Hierarchies","anchor":"round-25-addendum-archival-hierarchies"},{"level":3,"heading":"Implementation Mapping — Archival Hierarchies","anchor":"implementation-mapping-archival-hierarchies"},{"level":3,"heading":"TDD Additions — Archival Hierarchies","anchor":"tdd-additions-archival-hierarchies"},{"level":3,"heading":"Fixture Anchors — Archival Hierarchies Examples","anchor":"fixture-anchors-archival-hierarchies-examples"},{"level":2,"heading":"Round 26 Addendum — Specific Assertions","anchor":"round-26-addendum-specific-assertions"},{"level":3,"heading":"Implementation Mapping — Specific Assertions","anchor":"implementation-mapping-specific-assertions"},{"level":3,"heading":"TDD Additions — Specific Assertions","anchor":"tdd-additions-specific-assertions"},{"level":3,"heading":"Fixture Anchors — Specific Assertions Examples","anchor":"fixture-anchors-specific-assertions-examples"},{"level":2,"heading":"Round 27 Addendum — Profile","anchor":"round-27-addendum-profile"},{"level":3,"heading":"Implementation Mapping — Profile","anchor":"implementation-mapping-profile"},{"level":3,"heading":"TDD Additions — Profile","anchor":"tdd-additions-profile"},{"level":3,"heading":"Fixture Anchors — Profile Examples","anchor":"fixture-anchors-profile-examples"},{"level":2,"heading":"Round 28 Addendum — Linked Art Terms Ontology (RDF Extensions)","anchor":"round-28-addendum-linked-art-terms-ontology-rdf-extensions"},{"level":3,"heading":"Implementation Mapping — Terms Ontology","anchor":"implementation-mapping-terms-ontology"},{"level":3,"heading":"TDD Additions — Terms Ontology","anchor":"tdd-additions-terms-ontology"},{"level":3,"heading":"Fixture Anchors — Terms Ontology Examples","anchor":"fixture-anchors-terms-ontology-examples"},{"level":2,"heading":"Round 29 Addendum — CIDOC-CRM Class Analysis (Practical Utility Profile)","anchor":"round-29-addendum-cidoc-crm-class-analysis-practical-utility-profile"},{"level":3,"heading":"Implementation Mapping — Class Analysis","anchor":"implementation-mapping-class-analysis"},{"level":3,"heading":"TDD Additions — Class Analysis","anchor":"tdd-additions-class-analysis"},{"level":3,"heading":"Fixture Anchors — Class Analysis Examples","anchor":"fixture-anchors-class-analysis-examples"},{"level":2,"heading":"Round 30 Addendum — Linked Art API 1.0 Foundations","anchor":"round-30-addendum-linked-art-api-1-0-foundations"},{"level":3,"heading":"Implementation Mapping — API Foundations","anchor":"implementation-mapping-api-foundations"},{"level":3,"heading":"TDD Additions — API Foundations","anchor":"tdd-additions-api-foundations"},{"level":3,"heading":"Fixture Anchors — API Foundations Examples","anchor":"fixture-anchors-api-foundations-examples"},{"level":2,"heading":"Round 31 Addendum — About Endpoints (Entity Endpoint Taxonomy)","anchor":"round-31-addendum-about-endpoints-entity-endpoint-taxonomy"},{"level":3,"heading":"Implementation Mapping — Endpoint Taxonomy","anchor":"implementation-mapping-endpoint-taxonomy"},{"level":3,"heading":"TDD Additions — Endpoint Taxonomy","anchor":"tdd-additions-endpoint-taxonomy"},{"level":3,"heading":"Fixture Anchors — Endpoint Taxonomy Examples","anchor":"fixture-anchors-endpoint-taxonomy-examples"},{"level":2,"heading":"Round 32 Addendum — Abstract Works Endpoint","anchor":"round-32-addendum-abstract-works-endpoint"},{"level":3,"heading":"Implementation Mapping — Abstract Works Endpoint","anchor":"implementation-mapping-abstract-works-endpoint"},{"level":3,"heading":"TDD Additions — Abstract Works Endpoint","anchor":"tdd-additions-abstract-works-endpoint"},{"level":3,"heading":"Fixture Anchors — Abstract Works Endpoint Examples","anchor":"fixture-anchors-abstract-works-endpoint-examples"},{"level":2,"heading":"Round 33 Addendum — Concepts Endpoint","anchor":"round-33-addendum-concepts-endpoint"},{"level":3,"heading":"Implementation Mapping — Concepts Endpoint","anchor":"implementation-mapping-concepts-endpoint"},{"level":3,"heading":"TDD Additions — Concepts Endpoint","anchor":"tdd-additions-concepts-endpoint"},{"level":3,"heading":"Fixture Anchors — Concepts Endpoint Examples","anchor":"fixture-anchors-concepts-endpoint-examples"},{"level":2,"heading":"Round 34 Addendum — Digital Objects Endpoint","anchor":"round-34-addendum-digital-objects-endpoint"},{"level":3,"heading":"Implementation Mapping — Digital Objects Endpoint","anchor":"implementation-mapping-digital-objects-endpoint"},{"level":3,"heading":"TDD Additions — Digital Objects Endpoint","anchor":"tdd-additions-digital-objects-endpoint"},{"level":3,"heading":"Fixture Anchors — Digital Objects Endpoint Examples","anchor":"fixture-anchors-digital-objects-endpoint-examples"},{"level":2,"heading":"Round 35 Addendum — Events Endpoint","anchor":"round-35-addendum-events-endpoint"},{"level":3,"heading":"Implementation Mapping — Events Endpoint","anchor":"implementation-mapping-events-endpoint"},{"level":3,"heading":"TDD Additions — Events Endpoint","anchor":"tdd-additions-events-endpoint"},{"level":3,"heading":"Fixture Anchors — Events Endpoint Examples","anchor":"fixture-anchors-events-endpoint-examples"},{"level":2,"heading":"Round 36 Addendum — Groups Endpoint","anchor":"round-36-addendum-groups-endpoint"},{"level":3,"heading":"Implementation Mapping — Groups Endpoint","anchor":"implementation-mapping-groups-endpoint"},{"level":3,"heading":"TDD Additions — Groups Endpoint","anchor":"tdd-additions-groups-endpoint"},{"level":3,"heading":"Fixture Anchors — Groups Endpoint Examples","anchor":"fixture-anchors-groups-endpoint-examples"},{"level":2,"heading":"Round 37 Addendum — People Endpoint","anchor":"round-37-addendum-people-endpoint"},{"level":3,"heading":"Implementation Mapping — People Endpoint","anchor":"implementation-mapping-people-endpoint"},{"level":3,"heading":"TDD Additions — People Endpoint","anchor":"tdd-additions-people-endpoint"},{"level":3,"heading":"Fixture Anchors — People Endpoint Examples","anchor":"fixture-anchors-people-endpoint-examples"},{"level":2,"heading":"Round 38 Addendum — Physical Objects Endpoint","anchor":"round-38-addendum-physical-objects-endpoint"},{"level":3,"heading":"Implementation Mapping — Physical Objects Endpoint","anchor":"implementation-mapping-physical-objects-endpoint"},{"level":3,"heading":"TDD Additions — Physical Objects Endpoint","anchor":"tdd-additions-physical-objects-endpoint"},{"level":3,"heading":"Fixture Anchors — Physical Objects Endpoint Examples","anchor":"fixture-anchors-physical-objects-endpoint-examples"},{"level":2,"heading":"Round 39 Addendum — Places Endpoint","anchor":"round-39-addendum-places-endpoint"},{"level":3,"heading":"Implementation Mapping — Places Endpoint","anchor":"implementation-mapping-places-endpoint"},{"level":3,"heading":"TDD Additions — Places Endpoint","anchor":"tdd-additions-places-endpoint"},{"level":3,"heading":"Fixture Anchors — Places Endpoint Examples","anchor":"fixture-anchors-places-endpoint-examples"},{"level":2,"heading":"Round 40 Addendum — Provenance Activities Endpoint","anchor":"round-40-addendum-provenance-activities-endpoint"},{"level":3,"heading":"Implementation Mapping — Provenance Activities Endpoint","anchor":"implementation-mapping-provenance-activities-endpoint"},{"level":3,"heading":"TDD Additions — Provenance Activities Endpoint","anchor":"tdd-additions-provenance-activities-endpoint"},{"level":3,"heading":"Fixture Anchors — Provenance Activities Endpoint Examples","anchor":"fixture-anchors-provenance-activities-endpoint-examples"},{"level":2,"heading":"Round 41 Addendum — Sets Endpoint","anchor":"round-41-addendum-sets-endpoint"},{"level":3,"heading":"Implementation Mapping — Sets Endpoint","anchor":"implementation-mapping-sets-endpoint"},{"level":3,"heading":"TDD Additions — Sets Endpoint","anchor":"tdd-additions-sets-endpoint"},{"level":3,"heading":"Fixture Anchors — Sets Endpoint Examples","anchor":"fixture-anchors-sets-endpoint-examples"},{"level":2,"heading":"Round 42 Addendum — Textual Works Endpoint","anchor":"round-42-addendum-textual-works-endpoint"},{"level":3,"heading":"Implementation Mapping — Textual Works Endpoint","anchor":"implementation-mapping-textual-works-endpoint"},{"level":3,"heading":"TDD Additions — Textual Works Endpoint","anchor":"tdd-additions-textual-works-endpoint"},{"level":3,"heading":"Fixture Anchors — Textual Works Endpoint Examples","anchor":"fixture-anchors-textual-works-endpoint-examples"},{"level":2,"heading":"Round 43 Addendum — Visual Works Endpoint","anchor":"round-43-addendum-visual-works-endpoint"},{"level":3,"heading":"Implementation Mapping — Visual Works Endpoint","anchor":"implementation-mapping-visual-works-endpoint"},{"level":3,"heading":"TDD Additions — Visual Works Endpoint","anchor":"tdd-additions-visual-works-endpoint"},{"level":3,"heading":"Fixture Anchors — Visual Works Endpoint Examples","anchor":"fixture-anchors-visual-works-endpoint-examples"},{"level":2,"heading":"Round 44 Addendum — Shared Structures","anchor":"round-44-addendum-shared-structures"},{"level":3,"heading":"Implementation Mapping — Shared Structures","anchor":"implementation-mapping-shared-structures"},{"level":3,"heading":"TDD Additions — Shared Structures","anchor":"tdd-additions-shared-structures"},{"level":3,"heading":"Fixture Anchors — Shared Structures Examples","anchor":"fixture-anchors-shared-structures-examples"},{"level":2,"heading":"Round 45 Addendum — Shared Structure: Activities","anchor":"round-45-addendum-shared-structure-activities"},{"level":3,"heading":"Implementation Mapping — Shared Activities","anchor":"implementation-mapping-shared-activities"},{"level":3,"heading":"TDD Additions — Shared Activities","anchor":"tdd-additions-shared-activities"},{"level":3,"heading":"Fixture Anchors — Shared Activities Examples","anchor":"fixture-anchors-shared-activities-examples"},{"level":2,"heading":"Round 46 Addendum — Shared Structure: Digital Links","anchor":"round-46-addendum-shared-structure-digital-links"},{"level":3,"heading":"Implementation Mapping — Shared Digital Links","anchor":"implementation-mapping-shared-digital-links"},{"level":3,"heading":"TDD Additions — Shared Digital Links","anchor":"tdd-additions-shared-digital-links"},{"level":3,"heading":"Fixture Anchors — Shared Digital Links Examples","anchor":"fixture-anchors-shared-digital-links-examples"},{"level":2,"heading":"Round 47 Addendum — Shared Structure: Activities (Reconfirmation)","anchor":"round-47-addendum-shared-structure-activities-reconfirmation"},{"level":3,"heading":"Implementation Mapping — Shared Activities (Reconfirmation)","anchor":"implementation-mapping-shared-activities-reconfirmation"},{"level":3,"heading":"TDD Additions — Shared Activities (Reconfirmation)","anchor":"tdd-additions-shared-activities-reconfirmation"},{"level":3,"heading":"Fixture Anchors — Shared Activities (Reconfirmation)","anchor":"fixture-anchors-shared-activities-reconfirmation"},{"level":2,"heading":"Round 48 Addendum — Shared Structure: Dimensions","anchor":"round-48-addendum-shared-structure-dimensions"},{"level":3,"heading":"Implementation Mapping — Shared Dimensions","anchor":"implementation-mapping-shared-dimensions"},{"level":3,"heading":"TDD Additions — Shared Dimensions","anchor":"tdd-additions-shared-dimensions"},{"level":3,"heading":"Fixture Anchors — Shared Dimensions Examples","anchor":"fixture-anchors-shared-dimensions-examples"},{"level":2,"heading":"Round 49 Addendum — Shared Structure: Concept References","anchor":"round-49-addendum-shared-structure-concept-references"},{"level":3,"heading":"Implementation Mapping — Shared Concept References","anchor":"implementation-mapping-shared-concept-references"},{"level":3,"heading":"TDD Additions — Shared Concept References","anchor":"tdd-additions-shared-concept-references"},{"level":3,"heading":"Fixture Anchors — Shared Concept References Examples","anchor":"fixture-anchors-shared-concept-references-examples"},{"level":2,"heading":"Round 50 Addendum — Shared Structure: Identifiers","anchor":"round-50-addendum-shared-structure-identifiers"},{"level":3,"heading":"Implementation Mapping — Shared Identifiers","anchor":"implementation-mapping-shared-identifiers"},{"level":3,"heading":"TDD Additions — Shared Identifiers","anchor":"tdd-additions-shared-identifiers"},{"level":3,"heading":"Fixture Anchors — Shared Identifiers Examples","anchor":"fixture-anchors-shared-identifiers-examples"},{"level":2,"heading":"Round 51 Addendum — Shared Structure: Monetary Amounts","anchor":"round-51-addendum-shared-structure-monetary-amounts"},{"level":3,"heading":"Implementation Mapping — Shared Monetary Amounts","anchor":"implementation-mapping-shared-monetary-amounts"},{"level":3,"heading":"TDD Additions — Shared Monetary Amounts","anchor":"tdd-additions-shared-monetary-amounts"},{"level":3,"heading":"Fixture Anchors — Shared Monetary Amounts Examples","anchor":"fixture-anchors-shared-monetary-amounts-examples"},{"level":2,"heading":"Round 52 Addendum — Shared Structure: Names","anchor":"round-52-addendum-shared-structure-names"},{"level":3,"heading":"Implementation Mapping — Shared Names","anchor":"implementation-mapping-shared-names"},{"level":3,"heading":"TDD Additions — Shared Names","anchor":"tdd-additions-shared-names"},{"level":3,"heading":"Fixture Anchors — Shared Names Examples","anchor":"fixture-anchors-shared-names-examples"},{"level":2,"heading":"Round 53 Addendum — Shared Structure: Rights","anchor":"round-53-addendum-shared-structure-rights"},{"level":3,"heading":"Implementation Mapping — Shared Rights","anchor":"implementation-mapping-shared-rights"},{"level":3,"heading":"TDD Additions — Shared Rights","anchor":"tdd-additions-shared-rights"},{"level":3,"heading":"Fixture Anchors — Shared Rights Examples","anchor":"fixture-anchors-shared-rights-examples"},{"level":2,"heading":"Round 54 Addendum — Shared Structure: References","anchor":"round-54-addendum-shared-structure-references"},{"level":3,"heading":"Implementation Mapping — Shared References","anchor":"implementation-mapping-shared-references"},{"level":3,"heading":"TDD Additions — Shared References","anchor":"tdd-additions-shared-references"},{"level":3,"heading":"Fixture Anchors — Shared References Examples","anchor":"fixture-anchors-shared-references-examples"},{"level":2,"heading":"Round 55 Addendum — Shared Structure: Statements","anchor":"round-55-addendum-shared-structure-statements"},{"level":3,"heading":"Implementation Mapping — Shared Statements","anchor":"implementation-mapping-shared-statements"},{"level":3,"heading":"TDD Additions — Shared Statements","anchor":"tdd-additions-shared-statements"},{"level":3,"heading":"Fixture Anchors — Shared Statements Examples","anchor":"fixture-anchors-shared-statements-examples"},{"level":2,"heading":"Round 56 Addendum — Shared Structure: TimeSpans","anchor":"round-56-addendum-shared-structure-timespans"},{"level":3,"heading":"Implementation Mapping — Shared TimeSpans","anchor":"implementation-mapping-shared-timespans"},{"level":3,"heading":"TDD Additions — Shared TimeSpans","anchor":"tdd-additions-shared-timespans"},{"level":3,"heading":"Fixture Anchors — Shared TimeSpans Examples","anchor":"fixture-anchors-shared-timespans-examples"},{"level":2,"heading":"Round 57 Addendum — Shared Structure: Relationships (AttributeAssignment)","anchor":"round-57-addendum-shared-structure-relationships-attributeassignment"},{"level":3,"heading":"Implementation Mapping — Shared Relationships","anchor":"implementation-mapping-shared-relationships"},{"level":3,"heading":"TDD Additions — Shared Relationships","anchor":"tdd-additions-shared-relationships"},{"level":3,"heading":"Fixture Anchors — Shared Relationships Examples","anchor":"fixture-anchors-shared-relationships-examples"},{"level":2,"heading":"Round 58 Addendum — About Schemas","anchor":"round-58-addendum-about-schemas"},{"level":3,"heading":"Implementation Mapping — Schemas","anchor":"implementation-mapping-schemas"},{"level":3,"heading":"TDD Additions — Schemas","anchor":"tdd-additions-schemas"},{"level":3,"heading":"Fixture Anchors — Schemas Examples","anchor":"fixture-anchors-schemas-examples"},{"level":2,"heading":"Round 59 Addendum — Abstract Work Schema","anchor":"round-59-addendum-abstract-work-schema"},{"level":3,"heading":"Implementation Mapping — Abstract Work Schema","anchor":"implementation-mapping-abstract-work-schema"},{"level":3,"heading":"TDD Additions — Abstract Work Schema","anchor":"tdd-additions-abstract-work-schema"},{"level":3,"heading":"Fixture Anchors — Abstract Work Schema Examples","anchor":"fixture-anchors-abstract-work-schema-examples"},{"level":2,"heading":"Round 60 Addendum — Concept Schema","anchor":"round-60-addendum-concept-schema"},{"level":3,"heading":"Implementation Mapping — Concept Schema","anchor":"implementation-mapping-concept-schema"},{"level":3,"heading":"TDD Additions — Concept Schema","anchor":"tdd-additions-concept-schema"},{"level":3,"heading":"Fixture Anchors — Concept Schema Examples","anchor":"fixture-anchors-concept-schema-examples"},{"level":2,"heading":"Round 61 Addendum — Digital Object Schema","anchor":"round-61-addendum-digital-object-schema"},{"level":3,"heading":"Implementation Mapping — Digital Object Schema","anchor":"implementation-mapping-digital-object-schema"},{"level":3,"heading":"TDD Additions — Digital Object Schema","anchor":"tdd-additions-digital-object-schema"},{"level":3,"heading":"Fixture Anchors — Digital Object Schema Examples","anchor":"fixture-anchors-digital-object-schema-examples"},{"level":2,"heading":"Round 62 Addendum — Event Schema","anchor":"round-62-addendum-event-schema"},{"level":3,"heading":"Implementation Mapping — Event Schema","anchor":"implementation-mapping-event-schema"},{"level":3,"heading":"TDD Additions — Event Schema","anchor":"tdd-additions-event-schema"},{"level":3,"heading":"Fixture Anchors — Event Schema Examples","anchor":"fixture-anchors-event-schema-examples"},{"level":2,"heading":"Round 63 Addendum — Group Schema","anchor":"round-63-addendum-group-schema"},{"level":3,"heading":"Implementation Mapping — Group Schema","anchor":"implementation-mapping-group-schema"},{"level":3,"heading":"TDD Additions — Group Schema","anchor":"tdd-additions-group-schema"},{"level":3,"heading":"Fixture Anchors — Group Schema Examples","anchor":"fixture-anchors-group-schema-examples"},{"level":2,"heading":"Round 64 Addendum — Person Schema","anchor":"round-64-addendum-person-schema"},{"level":3,"heading":"Implementation Mapping — Person Schema","anchor":"implementation-mapping-person-schema"},{"level":3,"heading":"TDD Additions — Person Schema","anchor":"tdd-additions-person-schema"},{"level":3,"heading":"Fixture Anchors — Person Schema Examples","anchor":"fixture-anchors-person-schema-examples"},{"level":2,"heading":"Round 65 Addendum — Human-Made Object Schema","anchor":"round-65-addendum-human-made-object-schema"},{"level":3,"heading":"Implementation Mapping — Human-Made Object Schema","anchor":"implementation-mapping-human-made-object-schema"},{"level":3,"heading":"TDD Additions — Human-Made Object Schema","anchor":"tdd-additions-human-made-object-schema"},{"level":3,"heading":"Fixture Anchors — Human-Made Object Schema Examples","anchor":"fixture-anchors-human-made-object-schema-examples"},{"level":2,"heading":"Round 66 Addendum — Place Schema","anchor":"round-66-addendum-place-schema"},{"level":3,"heading":"Implementation Mapping — Place Schema","anchor":"implementation-mapping-place-schema"},{"level":3,"heading":"TDD Additions — Place Schema","anchor":"tdd-additions-place-schema"},{"level":3,"heading":"Fixture Anchors — Place Schema Examples","anchor":"fixture-anchors-place-schema-examples"},{"level":2,"heading":"Round 67 Addendum — Provenance Activity Schema","anchor":"round-67-addendum-provenance-activity-schema"},{"level":3,"heading":"Implementation Mapping — Provenance Activity Schema","anchor":"implementation-mapping-provenance-activity-schema"},{"level":3,"heading":"TDD Additions — Provenance Activity Schema","anchor":"tdd-additions-provenance-activity-schema"},{"level":3,"heading":"Fixture Anchors — Provenance Activity Schema Examples","anchor":"fixture-anchors-provenance-activity-schema-examples"},{"level":2,"heading":"Round 68 Addendum — Collection (Set) Schema","anchor":"round-68-addendum-collection-set-schema"},{"level":3,"heading":"Implementation Mapping — Collection (Set) Schema","anchor":"implementation-mapping-collection-set-schema"},{"level":3,"heading":"TDD Additions — Collection (Set) Schema","anchor":"tdd-additions-collection-set-schema"},{"level":3,"heading":"Fixture Anchors — Collection (Set) Schema Examples","anchor":"fixture-anchors-collection-set-schema-examples"},{"level":2,"heading":"Round 69 Addendum — Text Schema","anchor":"round-69-addendum-text-schema"},{"level":3,"heading":"Implementation Mapping — Text Schema","anchor":"implementation-mapping-text-schema"},{"level":3,"heading":"TDD Additions — Text Schema","anchor":"tdd-additions-text-schema"},{"level":3,"heading":"Fixture Anchors — Text Schema Examples","anchor":"fixture-anchors-text-schema-examples"},{"level":2,"heading":"Round 70 Addendum — Visual Content Schema","anchor":"round-70-addendum-visual-content-schema"},{"level":3,"heading":"Implementation Mapping — Visual Content Schema","anchor":"implementation-mapping-visual-content-schema"},{"level":3,"heading":"TDD Additions — Visual Content Schema","anchor":"tdd-additions-visual-content-schema"},{"level":3,"heading":"Fixture Anchors — Visual Content Schema Examples","anchor":"fixture-anchors-visual-content-schema-examples"},{"level":2,"heading":"Round 71 Addendum — Search API","anchor":"round-71-addendum-search-api"},{"level":3,"heading":"Implementation Mapping — Search API","anchor":"implementation-mapping-search-api"},{"level":3,"heading":"TDD Additions — Search API","anchor":"tdd-additions-search-api"},{"level":3,"heading":"Fixture Anchors — Search API Examples","anchor":"fixture-anchors-search-api-examples"},{"level":2,"heading":"Round 72 Addendum — About HAL","anchor":"round-72-addendum-about-hal"},{"level":3,"heading":"Implementation Mapping — HAL","anchor":"implementation-mapping-hal"},{"level":3,"heading":"TDD Additions — HAL","anchor":"tdd-additions-hal"},{"level":3,"heading":"Fixture Anchors — HAL Examples","anchor":"fixture-anchors-hal-examples"},{"level":2,"heading":"Round 73 Addendum — Search Relations: HumanMadeObject","anchor":"round-73-addendum-search-relations-humanmadeobject"},{"level":3,"heading":"Implementation Mapping — HumanMadeObject Search Relations","anchor":"implementation-mapping-humanmadeobject-search-relations"},{"level":3,"heading":"TDD Additions — HumanMadeObject Search Relations","anchor":"tdd-additions-humanmadeobject-search-relations"},{"level":3,"heading":"Fixture Anchors — HumanMadeObject Search Relations Examples","anchor":"fixture-anchors-humanmadeobject-search-relations-examples"},{"level":2,"heading":"Round 74 Addendum — Search Relations: Work","anchor":"round-74-addendum-search-relations-work"},{"level":3,"heading":"Implementation Mapping — Work Search Relations","anchor":"implementation-mapping-work-search-relations"},{"level":3,"heading":"TDD Additions — Work Search Relations","anchor":"tdd-additions-work-search-relations"},{"level":3,"heading":"Fixture Anchors — Work Search Relations Examples","anchor":"fixture-anchors-work-search-relations-examples"},{"level":2,"heading":"Round 75 Addendum — Search Relations: Agent","anchor":"round-75-addendum-search-relations-agent"},{"level":3,"heading":"Implementation Mapping — Agent Search Relations","anchor":"implementation-mapping-agent-search-relations"},{"level":3,"heading":"TDD Additions — Agent Search Relations","anchor":"tdd-additions-agent-search-relations"},{"level":3,"heading":"Fixture Anchors — Agent Search Relations Examples","anchor":"fixture-anchors-agent-search-relations-examples"},{"level":2,"heading":"Round 76 Addendum — Search Relations: Place","anchor":"round-76-addendum-search-relations-place"},{"level":3,"heading":"Implementation Mapping — Place Search Relations","anchor":"implementation-mapping-place-search-relations"},{"level":3,"heading":"TDD Additions — Place Search Relations","anchor":"tdd-additions-place-search-relations"},{"level":3,"heading":"Fixture Anchors — Place Search Relations Examples","anchor":"fixture-anchors-place-search-relations-examples"},{"level":2,"heading":"Round 77 Addendum — Search Relations: Concept","anchor":"round-77-addendum-search-relations-concept"},{"level":3,"heading":"Implementation Mapping — Concept Search Relations","anchor":"implementation-mapping-concept-search-relations"},{"level":3,"heading":"TDD Additions — Concept Search Relations","anchor":"tdd-additions-concept-search-relations"},{"level":3,"heading":"Fixture Anchors — Concept Search Relations Examples","anchor":"fixture-anchors-concept-search-relations-examples"},{"level":2,"heading":"Round 78 Addendum — Search Relations: Temporal / Event / Activity","anchor":"round-78-addendum-search-relations-temporal-event-activity"},{"level":3,"heading":"Implementation Mapping — Temporal/Activity Search Relations","anchor":"implementation-mapping-temporal-activity-search-relations"},{"level":3,"heading":"TDD Additions — Temporal/Activity Search Relations","anchor":"tdd-additions-temporal-activity-search-relations"},{"level":3,"heading":"Fixture Anchors — Temporal/Activity Search Relations Examples","anchor":"fixture-anchors-temporal-activity-search-relations-examples"},{"level":2,"heading":"Round 79 Addendum — Search Relations: Set","anchor":"round-79-addendum-search-relations-set"},{"level":3,"heading":"Implementation Mapping — Set Search Relations","anchor":"implementation-mapping-set-search-relations"},{"level":3,"heading":"TDD Additions — Set Search Relations","anchor":"tdd-additions-set-search-relations"},{"level":3,"heading":"Fixture Anchors — Set Search Relations Examples","anchor":"fixture-anchors-set-search-relations-examples"},{"level":2,"heading":"Round 80 Addendum — Data Discovery","anchor":"round-80-addendum-data-discovery"},{"level":3,"heading":"Implementation Mapping — Data Discovery","anchor":"implementation-mapping-data-discovery"},{"level":3,"heading":"TDD Additions — Data Discovery","anchor":"tdd-additions-data-discovery"},{"level":3,"heading":"Fixture Anchors — Data Discovery Examples","anchor":"fixture-anchors-data-discovery-examples"},{"level":2,"heading":"Round 81 Addendum — API Design Principles and Practical Requirements","anchor":"round-81-addendum-api-design-principles-and-practical-requirements"},{"level":3,"heading":"Implementation Mapping — API Design Requirements","anchor":"implementation-mapping-api-design-requirements"},{"level":3,"heading":"TDD Additions — API Design Requirements","anchor":"tdd-additions-api-design-requirements"},{"level":3,"heading":"Fixture Anchors — API Design Requirements Examples","anchor":"fixture-anchors-api-design-requirements-examples"},{"level":2,"heading":"Round 82 Addendum — JSON-LD and Context Design","anchor":"round-82-addendum-json-ld-and-context-design"},{"level":3,"heading":"Implementation Mapping — JSON-LD Context Design","anchor":"implementation-mapping-json-ld-context-design"},{"level":3,"heading":"TDD Additions — JSON-LD Context Design","anchor":"tdd-additions-json-ld-context-design"},{"level":3,"heading":"Fixture Anchors — JSON-LD Context Design Examples","anchor":"fixture-anchors-json-ld-context-design-examples"},{"level":2,"heading":"Round 83 Addendum — Protocol (HTTP/REST)","anchor":"round-83-addendum-protocol-http-rest"},{"level":3,"heading":"Implementation Mapping — Protocol","anchor":"implementation-mapping-protocol"},{"level":3,"heading":"TDD Additions — Protocol","anchor":"tdd-additions-protocol"},{"level":3,"heading":"Fixture Anchors — Protocol Examples","anchor":"fixture-anchors-protocol-examples"},{"level":2,"heading":"Round 84 Addendum — Code and Tools Ecosystem","anchor":"round-84-addendum-code-and-tools-ecosystem"},{"level":3,"heading":"Implementation Mapping — Code and Tools","anchor":"implementation-mapping-code-and-tools"},{"level":3,"heading":"TDD Additions — Code and Tools","anchor":"tdd-additions-code-and-tools"},{"level":3,"heading":"Fixture Anchors — Code and Tools Examples","anchor":"fixture-anchors-code-and-tools-examples"},{"level":2,"heading":"Round 1 Open Items For Next Docs Drop","anchor":"round-1-open-items-for-next-docs-drop"}],"lineCount":8567,"anchorCount":344,"docPath":"/docs?doc=linked-art%2FLinkedArtModel1.0-Reference.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtModel1.0-Reference.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtModel1.0-Reference.md"},{"id":"linked-art/LinkedArtPatterns","relativePath":"linked-art/LinkedArtPatterns.md","title":"LinkedArtPatterns.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":5950,"checksum":"d45bbbb02d70a6955ef5388bbb083e3b7a3acd90063a5112e6c80ae6ecd65a14","checksumPrefix":"d45bbbb02d70","sections":[],"lineCount":85,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtPatterns.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtPatterns.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtPatterns.md"},{"id":"linked-art/LinkedArtPRD","relativePath":"linked-art/LinkedArtPRD.md","title":"🖼️ Product Requirements Document","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":19146,"checksum":"91bc1f37307c179b3b81e97435bbe3f953761f2a1e67930ed5af1e510c0f8269","checksumPrefix":"91bc1f37307c","sections":[{"level":2,"heading":"**State‑of‑the‑Art Linked Art Web Application**","anchor":"state-of-the-art-linked-art-web-application"},{"level":2,"heading":"🎯 **1. Product Vision & Objectives**","anchor":"1-product-vision-objectives"},{"level":2,"heading":"👥 **2. Target Audience & Personas**","anchor":"2-target-audience-personas"},{"level":3,"heading":"🏛️ **Data Creators & Catalogers**","anchor":"data-creators-catalogers"},{"level":3,"heading":"💻 **Developers & Data Consumers**","anchor":"developers-data-consumers"},{"level":3,"heading":"🔍 **Researchers & Public Users**","anchor":"researchers-public-users"},{"level":2,"heading":"🚀 **3. Key Features & Functionality**","anchor":"3-key-features-functionality"},{"level":3,"heading":"A. 🏗️ Backend Data Management & Ingestion","anchor":"a-backend-data-management-ingestion"},{"level":3,"heading":"B. 🔎 Discovery & Search Architecture","anchor":"b-discovery-search-architecture"},{"level":3,"heading":"C. 🎨 Advanced UI & Visualizations","anchor":"c-advanced-ui-visualizations"},{"level":2,"heading":"🧩 **4. Data Architecture & Modeling**","anchor":"4-data-architecture-modeling"},{"level":3,"heading":"1. 🤖 Inject Modern \"SOTA\" AI & Data Capabilities","anchor":"1-inject-modern-sota-ai-data-capabilities"},{"level":3,"heading":"2. 🏛️ Strengthen Cultural Heritage Domain Specifics","anchor":"2-strengthen-cultural-heritage-domain-specifics"},{"level":3,"heading":"3. 📊 Add Missing \"Product Management\" Sections","anchor":"3-add-missing-product-management-sections"},{"level":3,"heading":"📝 How the Improved Sections Look in the PRD:","anchor":"how-the-improved-sections-look-in-the-prd"},{"level":4,"heading":"**🆕 5. Syndication & Interoperability**","anchor":"5-syndication-interoperability"},{"level":4,"heading":"**🆕 6. Modern AI & Machine Learning Enhancements**","anchor":"6-modern-ai-machine-learning-enhancements"},{"level":4,"heading":"**🆕 7. Success Metrics & KPIs**","anchor":"7-success-metrics-kpis"},{"level":4,"heading":"**🆕 8. Out of Scope (For MVP)**","anchor":"8-out-of-scope-for-mvp"},{"level":3,"heading":"Where to go next?","anchor":"where-to-go-next"}],"lineCount":566,"anchorCount":20,"docPath":"/docs?doc=linked-art%2FLinkedArtPRD.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtPRD.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtPRD.md"},{"id":"linked-art/LinkedArtRoadmap","relativePath":"linked-art/LinkedArtRoadmap.md","title":"LinkedArtRoadmap.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":22047,"checksum":"e52e71c6bd281ef2eba73301acebebd50b8a4f983806d4c93f9e024bbdf44309","checksumPrefix":"e52e71c6bd28","sections":[],"lineCount":323,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtRoadmap.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtRoadmap.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtRoadmap.md"},{"id":"linked-art/LinkedArtSaaS","relativePath":"linked-art/LinkedArtSaaS.md","title":"LinkedArtSaaS.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":9043,"checksum":"3d260738fb29c93d044e66285dc021400c6018242b9cbe34bd765641ede11286","checksumPrefix":"3d260738fb29","sections":[],"lineCount":357,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtSaaS.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtSaaS.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtSaaS.md"},{"id":"linked-art/LinkedArtSoftware","relativePath":"linked-art/LinkedArtSoftware.md","title":"Code and Tools","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2403,"checksum":"9e8fef24aea9214bf1b7188ad75e9ee109f6577c4a9799ba7bc840c852de19ce","checksumPrefix":"9e8fef24aea9","sections":[{"level":2,"heading":"Software","anchor":"software"},{"level":2,"heading":"Libraries","anchor":"libraries"},{"level":2,"heading":"Platforms","anchor":"platforms"},{"level":2,"heading":"Documentation Management","anchor":"documentation-management"},{"level":2,"heading":"Validators","anchor":"validators"},{"level":2,"heading":"Other Resources","anchor":"other-resources"},{"level":3,"heading":"Data Model Visualisation","anchor":"data-model-visualisation"},{"level":3,"heading":"Tools/Scripts for Cleaning/Handling Collections Data","anchor":"tools-scripts-for-cleaning-handling-collections-data"}],"lineCount":61,"anchorCount":8,"docPath":"/docs?doc=linked-art%2FLinkedArtSoftware.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtSoftware.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtSoftware.md"},{"id":"linked-art/LinkedArtSOTAWebApp","relativePath":"linked-art/LinkedArtSOTAWebApp.md","title":"LinkedArt SOTA Web App — Master Build Specification","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":71765,"checksum":"a5f0baca89c688f779cc11e6108f44484ca738796196e1d1761ba04f9c4ba85e","checksumPrefix":"a5f0baca89c6","sections":[{"level":2,"heading":"0. TL;DR for Coding Agents","anchor":"0-tl-dr-for-coding-agents"},{"level":2,"heading":"1. Product Vision & Scope","anchor":"1-product-vision-scope"},{"level":3,"heading":"1.1 Mission","anchor":"1-1-mission"},{"level":3,"heading":"1.2 In-Scope (MVP → v1)","anchor":"1-2-in-scope-mvp-v1"},{"level":3,"heading":"1.3 Out-of-Scope (explicitly)","anchor":"1-3-out-of-scope-explicitly"},{"level":3,"heading":"1.4 Scale Targets (Yale LUX-derived)","anchor":"1-4-scale-targets-yale-lux-derived"},{"level":3,"heading":"1.5 Personas (build-driving)","anchor":"1-5-personas-build-driving"},{"level":2,"heading":"2. Reference Architecture (Yale-LUX-derived, modernized)","anchor":"2-reference-architecture-yale-lux-derived-modernized"},{"level":3,"heading":"2.1 Architectural Invariants","anchor":"2-1-architectural-invariants"},{"level":2,"heading":"3. Tech Stack (concrete, version-pinned)","anchor":"3-tech-stack-concrete-version-pinned"},{"level":3,"heading":"3.1 Languages & Runtimes","anchor":"3-1-languages-runtimes"},{"level":3,"heading":"3.2 Frontend","anchor":"3-2-frontend"},{"level":3,"heading":"3.3 Backend Services","anchor":"3-3-backend-services"},{"level":3,"heading":"3.4 Storage","anchor":"3-4-storage"},{"level":3,"heading":"3.5 Pipeline & Eventing","anchor":"3-5-pipeline-eventing"},{"level":3,"heading":"3.6 AI / LLM Stack","anchor":"3-6-ai-llm-stack"},{"level":3,"heading":"3.7 IIIF","anchor":"3-7-iiif"},{"level":3,"heading":"3.8 Auth, Ops, CI/CD","anchor":"3-8-auth-ops-ci-cd"},{"level":2,"heading":"4. Linked Art Patterns (the canonical 6)","anchor":"4-linked-art-patterns-the-canonical-6"},{"level":3,"heading":"4.1 Activity / Event Pattern","anchor":"4-1-activity-event-pattern"},{"level":3,"heading":"4.2 Classification Pattern","anchor":"4-2-classification-pattern"},{"level":3,"heading":"4.3 Core Properties Pattern","anchor":"4-3-core-properties-pattern"},{"level":3,"heading":"4.4 Statement Pattern","anchor":"4-4-statement-pattern"},{"level":3,"heading":"4.5 TimeSpan Pattern","anchor":"4-5-timespan-pattern"},{"level":3,"heading":"4.6 Expansion Pattern","anchor":"4-6-expansion-pattern"},{"level":3,"heading":"4.7 Uncertainty & Contested Attributions","anchor":"4-7-uncertainty-contested-attributions"},{"level":3,"heading":"4.8 Multilingual Names","anchor":"4-8-multilingual-names"},{"level":3,"heading":"4.9 The 10 Primary Entity Boundaries (hard rule)","anchor":"4-9-the-10-primary-entity-boundaries-hard-rule"},{"level":3,"heading":"4.10 Anti-Patterns (forbidden)","anchor":"4-10-anti-patterns-forbidden"},{"level":3,"heading":"4.11 Human vs Machine Dates","anchor":"4-11-human-vs-machine-dates"},{"level":2,"heading":"5. Runtime Contracts (extend the existing `src/contracts/`)","anchor":"5-runtime-contracts-extend-the-existing-src-contracts"},{"level":3,"heading":"5.1 Required contracts","anchor":"5-1-required-contracts"},{"level":3,"heading":"5.2 Contract rules","anchor":"5-2-contract-rules"},{"level":3,"heading":"5.3 Backward-compatibility migration","anchor":"5-3-backward-compatibility-migration"},{"level":2,"heading":"6. Vocabularies & Authority Files (URI cheat sheet)","anchor":"6-vocabularies-authority-files-uri-cheat-sheet"},{"level":3,"heading":"6.1 Reconciliation routing rules","anchor":"6-1-reconciliation-routing-rules"},{"level":3,"heading":"6.2 Local-cache rule (performance + reliability)","anchor":"6-2-local-cache-rule-performance-reliability"},{"level":3,"heading":"6.3 Graph Crawling Enrichment (hierarchy generation)","anchor":"6-3-graph-crawling-enrichment-hierarchy-generation"},{"level":2,"heading":"7. ETL Pipeline (Extract → Load → Transform → Reconcile → Publish)","anchor":"7-etl-pipeline-extract-load-transform-reconcile-publish"},{"level":3,"heading":"7.1 Pipeline DAG (Dagster assets)","anchor":"7-1-pipeline-dag-dagster-assets"},{"level":3,"heading":"7.2 ID minting policy","anchor":"7-2-id-minting-policy"},{"level":3,"heading":"7.3 Confidence thresholds","anchor":"7-3-confidence-thresholds"},{"level":3,"heading":"7.4 Synchronization","anchor":"7-4-synchronization"},{"level":3,"heading":"7.5 Error handling","anchor":"7-5-error-handling"},{"level":2,"heading":"8. Storage Strategy (multi-modal)","anchor":"8-storage-strategy-multi-modal"},{"level":3,"heading":"8.1 The \"Record\" abstraction (load-bearing)","anchor":"8-1-the-record-abstraction-load-bearing"},{"level":3,"heading":"8.2 Triple store","anchor":"8-2-triple-store"},{"level":3,"heading":"8.3 Search index","anchor":"8-3-search-index"},{"level":3,"heading":"8.4 Vector index","anchor":"8-4-vector-index"},{"level":3,"heading":"8.5 Operational state (PostgreSQL)","anchor":"8-5-operational-state-postgresql"},{"level":2,"heading":"9. API Design","anchor":"9-api-design"},{"level":3,"heading":"9.1 Endpoint shape (REST + JSON-LD + HAL)","anchor":"9-1-endpoint-shape-rest-json-ld-hal"},{"level":3,"heading":"9.2 HAL conventions","anchor":"9-2-hal-conventions"},{"level":3,"heading":"9.3 Content negotiation","anchor":"9-3-content-negotiation"},{"level":3,"heading":"9.4 Pagination","anchor":"9-4-pagination"},{"level":3,"heading":"9.5 Graph expansion","anchor":"9-5-graph-expansion"},{"level":3,"heading":"9.5.1 Progressive enhancement principle","anchor":"9-5-1-progressive-enhancement-principle"},{"level":3,"heading":"9.6 GraphQL","anchor":"9-6-graphql"},{"level":3,"heading":"9.7 Security & governance","anchor":"9-7-security-governance"},{"level":2,"heading":"10. AI / LLM Layer","anchor":"10-ai-llm-layer"},{"level":3,"heading":"10.1 NL → SPARQL / NL → HAL agent","anchor":"10-1-nl-sparql-nl-hal-agent"},{"level":3,"heading":"10.2 Graph-RAG chat","anchor":"10-2-graph-rag-chat"},{"level":3,"heading":"10.3 LLM-assisted mapping","anchor":"10-3-llm-assisted-mapping"},{"level":3,"heading":"10.4 LLM-assisted reconciliation","anchor":"10-4-llm-assisted-reconciliation"},{"level":3,"heading":"10.5 Safety","anchor":"10-5-safety"},{"level":2,"heading":"11. Frontend Architecture","anchor":"11-frontend-architecture"},{"level":3,"heading":"11.1 App shell","anchor":"11-1-app-shell"},{"level":3,"heading":"11.2 Routing","anchor":"11-2-routing"},{"level":3,"heading":"11.3 Data fetching","anchor":"11-3-data-fetching"},{"level":3,"heading":"11.4 Accessibility","anchor":"11-4-accessibility"},{"level":3,"heading":"11.5 Internationalization","anchor":"11-5-internationalization"},{"level":2,"heading":"12. UI Widget Catalog (`@metamuseum/linked-art-ui`)","anchor":"12-ui-widget-catalog-metamuseum-linked-art-ui"},{"level":3,"heading":"12.1 Atomic","anchor":"12-1-atomic"},{"level":3,"heading":"12.2 Entity Cards (preview)","anchor":"12-2-entity-cards-preview"},{"level":3,"heading":"12.3 Visualizations","anchor":"12-3-visualizations"},{"level":3,"heading":"12.4 Metadata & Context","anchor":"12-4-metadata-context"},{"level":3,"heading":"12.5 Participatory","anchor":"12-5-participatory"},{"level":3,"heading":"12.6 Implementation rules","anchor":"12-6-implementation-rules"},{"level":2,"heading":"13. IIIF Integration","anchor":"13-iiif-integration"},{"level":2,"heading":"14. ActivityStreams Syndication","anchor":"14-activitystreams-syndication"},{"level":2,"heading":"15. Search & Discovery","anchor":"15-search-discovery"},{"level":3,"heading":"15.1 Layers","anchor":"15-1-layers"},{"level":3,"heading":"15.2 Autocomplete","anchor":"15-2-autocomplete"},{"level":3,"heading":"15.3 \"Follow your nose\"","anchor":"15-3-follow-your-nose"},{"level":3,"heading":"15.4 Complexity toggle (Art Tracks model)","anchor":"15-4-complexity-toggle-art-tracks-model"},{"level":2,"heading":"16. Curator & Researcher Tooling","anchor":"16-curator-researcher-tooling"},{"level":3,"heading":"16.1 Visual ETL Mapper","anchor":"16-1-visual-etl-mapper"},{"level":3,"heading":"16.2 Linked Art Form Builder (Arches / Ogee-based)","anchor":"16-2-linked-art-form-builder-arches-ogee-based"},{"level":3,"heading":"16.3 Dynamic Graph Explorer","anchor":"16-3-dynamic-graph-explorer"},{"level":3,"heading":"16.4 Sparnatural-style Visual SPARQL Builder","anchor":"16-4-sparnatural-style-visual-sparql-builder"},{"level":3,"heading":"16.5 Validation Console","anchor":"16-5-validation-console"},{"level":2,"heading":"17. Validation Stack","anchor":"17-validation-stack"},{"level":3,"heading":"17.1 Layers","anchor":"17-1-layers"},{"level":3,"heading":"17.2 Authoring","anchor":"17-2-authoring"},{"level":3,"heading":"17.3 Acceptance","anchor":"17-3-acceptance"},{"level":2,"heading":"18. Provenance & PROV-O","anchor":"18-provenance-prov-o"},{"level":2,"heading":"19. Rights & Licensing","anchor":"19-rights-licensing"},{"level":3,"heading":"19.1 Required fields","anchor":"19-1-required-fields"},{"level":3,"heading":"19.2 UI rules","anchor":"19-2-ui-rules"},{"level":3,"heading":"19.3 Existing helpers (keep)","anchor":"19-3-existing-helpers-keep"},{"level":2,"heading":"20. Performance Engineering","anchor":"20-performance-engineering"},{"level":3,"heading":"20.1 Shortcut triples (Yale LUX)","anchor":"20-1-shortcut-triples-yale-lux"},{"level":3,"heading":"20.2 Caching layers","anchor":"20-2-caching-layers"},{"level":3,"heading":"20.3 Pre-computation","anchor":"20-3-pre-computation"},{"level":3,"heading":"20.4 Targets","anchor":"20-4-targets"},{"level":2,"heading":"21. Observability","anchor":"21-observability"},{"level":2,"heading":"22. Security & API Governance","anchor":"22-security-api-governance"},{"level":2,"heading":"23. Testing & TDD Requirements","anchor":"23-testing-tdd-requirements"},{"level":3,"heading":"23.1 Required coverage","anchor":"23-1-required-coverage"},{"level":3,"heading":"23.2 Existing convention (keep)","anchor":"23-2-existing-convention-keep"},{"level":3,"heading":"23.3 Acceptance gates per merge","anchor":"23-3-acceptance-gates-per-merge"},{"level":2,"heading":"24. Deployment Topology","anchor":"24-deployment-topology"},{"level":3,"heading":"24.1 Local dev","anchor":"24-1-local-dev"},{"level":3,"heading":"24.2 Staging / Prod","anchor":"24-2-staging-prod"},{"level":3,"heading":"24.3 Cost guidance","anchor":"24-3-cost-guidance"},{"level":2,"heading":"25. Phased Build Plan (AI-agent-friendly)","anchor":"25-phased-build-plan-ai-agent-friendly"},{"level":3,"heading":"Phase 0 — Foundations (Weeks 1-2)","anchor":"phase-0-foundations-weeks-1-2"},{"level":3,"heading":"Phase 1 — Multi-modal Storage & HAL API (Weeks 3-5)","anchor":"phase-1-multi-modal-storage-hal-api-weeks-3-5"},{"level":3,"heading":"Phase 2 — Ingest Pipeline & Reconciliation (Weeks 6-9)","anchor":"phase-2-ingest-pipeline-reconciliation-weeks-6-9"},{"level":3,"heading":"Phase 3 — Discovery UI & Visualizations (Weeks 10-13)","anchor":"phase-3-discovery-ui-visualizations-weeks-10-13"},{"level":3,"heading":"Phase 4 — AI Layer (Weeks 14-17)","anchor":"phase-4-ai-layer-weeks-14-17"},{"level":3,"heading":"Phase 5 — Syndication, Meta Wiki Art Bridge, Hardening (Weeks 18-20)","anchor":"phase-5-syndication-meta-wiki-art-bridge-hardening-weeks-18-20"},{"level":2,"heading":"26. KPIs & Success Metrics","anchor":"26-kpis-success-metrics"},{"level":2,"heading":"27. Migration from the Current Prototype","anchor":"27-migration-from-the-current-prototype"},{"level":3,"heading":"27.1 Files / dirs to add (alongside what exists)","anchor":"27-1-files-dirs-to-add-alongside-what-exists"},{"level":3,"heading":"27.2 Hard rules during migration","anchor":"27-2-hard-rules-during-migration"},{"level":2,"heading":"28. Risks & Mitigations","anchor":"28-risks-mitigations"},{"level":2,"heading":"29. Glossary","anchor":"29-glossary"},{"level":2,"heading":"30. Open Questions (decide before Phase 0 ships)","anchor":"30-open-questions-decide-before-phase-0-ships"}],"lineCount":1155,"anchorCount":129,"docPath":"/docs?doc=linked-art%2FLinkedArtSOTAWebApp.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtSOTAWebApp.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtSOTAWebApp.md"},{"id":"linked-art/LinkedArtUnmetNeeds","relativePath":"linked-art/LinkedArtUnmetNeeds.md","title":"LinkedArtUnmetNeeds.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3601,"checksum":"cb35fac29cc14ec0ffc0264adcbcf67290c6138f09c8de2d3b41aed144682e02","checksumPrefix":"cb35fac29cc1","sections":[],"lineCount":71,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtUnmetNeeds.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtUnmetNeeds.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtUnmetNeeds.md"},{"id":"linked-art/LinkedArtUseCases","relativePath":"linked-art/LinkedArtUseCases.md","title":"LinkedArtUseCases.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2480,"checksum":"5c572ce8e7f36050bc9b715ec39566b0ef3a8806c5119df0bf3d81372509ecd5","checksumPrefix":"5c572ce8e7f3","sections":[],"lineCount":15,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtUseCases.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtUseCases.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtUseCases.md"},{"id":"linked-art/LinkedArtWidgets","relativePath":"linked-art/LinkedArtWidgets.md","title":"LinkedArtWidgets.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":5186,"checksum":"b39911c7d97d558d7f77d9a149aa8c2a66637ee1ead4c6c7ec5ad170366e0046","checksumPrefix":"b39911c7d97d","sections":[],"lineCount":160,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedArtWidgets.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedArtWidgets.md","htmlUrl":"/docs?doc=linked-art%2FLinkedArtWidgets.md"},{"id":"linked-art/LinkedDesign","relativePath":"linked-art/LinkedDesign.md","title":"LinkedDesign.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3937,"checksum":"0a02240471e53f17750baf3d100463348e5be212ba2adb056b1f4f1caf8ded1b","checksumPrefix":"0a02240471e5","sections":[],"lineCount":42,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLinkedDesign.md","rawUrl":"/api/docs/content?path=linked-art%2FLinkedDesign.md","htmlUrl":"/docs?doc=linked-art%2FLinkedDesign.md"},{"id":"linked-art/LODEngine","relativePath":"linked-art/LODEngine.md","title":"LODEngine.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3641,"checksum":"ef73426f80dbfce94baba93255bc4f6ac5fff934403b983580a76862748fc4a4","checksumPrefix":"ef73426f80db","sections":[],"lineCount":337,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLODEngine.md","rawUrl":"/api/docs/content?path=linked-art%2FLODEngine.md","htmlUrl":"/docs?doc=linked-art%2FLODEngine.md"},{"id":"linked-art/LODPipeline","relativePath":"linked-art/LODPipeline.md","title":"LODPipeline.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":6409,"checksum":"fe95e61ed9da7eaf8f66bdcb0ae5516beb580d71ac93814d23b1972b65db42d5","checksumPrefix":"fe95e61ed9da","sections":[],"lineCount":82,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLODPipeline.md","rawUrl":"/api/docs/content?path=linked-art%2FLODPipeline.md","htmlUrl":"/docs?doc=linked-art%2FLODPipeline.md"},{"id":"linked-art/LODTools","relativePath":"linked-art/LODTools.md","title":"LODTools.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3514,"checksum":"3167947fc4e43f3923b38d20b55db372b69727fc9e30060b4feae39b9433163d","checksumPrefix":"3167947fc4e4","sections":[],"lineCount":27,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FLODTools.md","rawUrl":"/api/docs/content?path=linked-art%2FLODTools.md","htmlUrl":"/docs?doc=linked-art%2FLODTools.md"},{"id":"linked-art/SPARQL","relativePath":"linked-art/SPARQL.md","title":"SPARQL.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4945,"checksum":"50e00ed51733dc8b20308e675ccc308fab2af53ff8fe82d99b6cafa788cd197e","checksumPrefix":"50e00ed51733","sections":[],"lineCount":55,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FSPARQL.md","rawUrl":"/api/docs/content?path=linked-art%2FSPARQL.md","htmlUrl":"/docs?doc=linked-art%2FSPARQL.md"},{"id":"linked-art/Vocabularies","relativePath":"linked-art/Vocabularies.md","title":"Vocabularies.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":22739,"checksum":"e0574a338aaa311a39f1f67788b99293a37781927a41c25c90b6da14c9166833","checksumPrefix":"e0574a338aaa","sections":[],"lineCount":734,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FVocabularies.md","rawUrl":"/api/docs/content?path=linked-art%2FVocabularies.md","htmlUrl":"/docs?doc=linked-art%2FVocabularies.md"},{"id":"linked-art/YaleLux","relativePath":"linked-art/YaleLux.md","title":"YaleLux.md","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":23123,"checksum":"74fd47fae749dac19d812136752e27e6e15a2c1517151636676f007b4ad92e61","checksumPrefix":"74fd47fae749","sections":[],"lineCount":390,"anchorCount":0,"docPath":"/docs?doc=linked-art%2FYaleLux.md","rawUrl":"/api/docs/content?path=linked-art%2FYaleLux.md","htmlUrl":"/docs?doc=linked-art%2FYaleLux.md"},{"id":"meta-wiki-art-bridge","relativePath":"meta-wiki-art-bridge.md","title":"Meta Wiki Art Bridge (MediaWiki + Wikibase)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4191,"checksum":"7a43fb0c48b81dc661e5bddd784c40be859371198013308113d7ea3aa7b5e7f5","checksumPrefix":"7a43fb0c48b8","sections":[{"level":2,"heading":"Decision","anchor":"decision"},{"level":2,"heading":"Source-Of-Truth Contract (Finalized)","anchor":"source-of-truth-contract-finalized"},{"level":2,"heading":"Why this fits","anchor":"why-this-fits"},{"level":2,"heading":"Sequencing constraints","anchor":"sequencing-constraints"},{"level":2,"heading":"Planned C5 flow","anchor":"planned-c5-flow"},{"level":2,"heading":"Boundaries (Out Of Scope For Era A/B)","anchor":"boundaries-out-of-scope-for-era-a-b"},{"level":2,"heading":"Migration operations playbook","anchor":"migration-operations-playbook"}],"lineCount":90,"anchorCount":7,"docPath":"/docs?doc=meta-wiki-art-bridge.md","rawUrl":"/api/docs/content?path=meta-wiki-art-bridge.md","htmlUrl":"/docs?doc=meta-wiki-art-bridge.md"},{"id":"ops/activity-adoption-proof","relativePath":"ops/activity-adoption-proof.md","title":"Activity Feed Adoption Proof Runbook","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3362,"checksum":"68a80b43ae582bc2fe8af85cd8992771b65da97b848cf5c5f1b7036b5e70fe65","checksumPrefix":"68a80b43ae58","sections":[{"level":2,"heading":"Command","anchor":"command"},{"level":2,"heading":"Consumer ID Rules","anchor":"consumer-id-rules"},{"level":2,"heading":"Pass Criteria","anchor":"pass-criteria"},{"level":2,"heading":"Partner Hand-Off","anchor":"partner-hand-off"},{"level":2,"heading":"Evidence Hygiene","anchor":"evidence-hygiene"}],"lineCount":91,"anchorCount":5,"docPath":"/docs?doc=ops%2Factivity-adoption-proof.md","rawUrl":"/api/docs/content?path=ops%2Factivity-adoption-proof.md","htmlUrl":"/docs?doc=ops%2Factivity-adoption-proof.md"},{"id":"ops/ag2-worker","relativePath":"ops/ag2-worker.md","title":"AG2 Worker and Bridge Runbook","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":5528,"checksum":"50efcd4e3318ffe600fb0a822d61e87180e8799114d1bdf07fbf917b907a992b","checksumPrefix":"50efcd4e3318","sections":[{"level":2,"heading":"Install Deps","anchor":"install-deps"},{"level":2,"heading":"Run Locally","anchor":"run-locally"},{"level":2,"heading":"Health Check","anchor":"health-check"},{"level":2,"heading":"Enable Bridge Locally","anchor":"enable-bridge-locally"},{"level":2,"heading":"Safe Smoke","anchor":"safe-smoke"},{"level":2,"heading":"Deployment Rules","anchor":"deployment-rules"},{"level":2,"heading":"Environment Variables","anchor":"environment-variables"},{"level":2,"heading":"Rollback","anchor":"rollback"},{"level":2,"heading":"Evidence To Capture","anchor":"evidence-to-capture"}],"lineCount":208,"anchorCount":9,"docPath":"/docs?doc=ops%2Fag2-worker.md","rawUrl":"/api/docs/content?path=ops%2Fag2-worker.md","htmlUrl":"/docs?doc=ops%2Fag2-worker.md"},{"id":"ops/auth-credential-rotation","relativePath":"ops/auth-credential-rotation.md","title":"Auth credential rotation runbook","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":1606,"checksum":"449b8b8eecb6d460e49a97781ddd9b3b3a7178930c5259e410a00052728c2d10","checksumPrefix":"449b8b8eecb6","sections":[{"level":2,"heading":"Why this exists","anchor":"why-this-exists"},{"level":2,"heading":"Rotation steps","anchor":"rotation-steps"},{"level":2,"heading":"Evidence required for closeout","anchor":"evidence-required-for-closeout"},{"level":2,"heading":"Recurring check","anchor":"recurring-check"}],"lineCount":43,"anchorCount":4,"docPath":"/docs?doc=ops%2Fauth-credential-rotation.md","rawUrl":"/api/docs/content?path=ops%2Fauth-credential-rotation.md","htmlUrl":"/docs?doc=ops%2Fauth-credential-rotation.md"},{"id":"ops/deployment-preflight","relativePath":"ops/deployment-preflight.md","title":"Deployment Preflight Runbook","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4274,"checksum":"ac60432d0aed72aa09e29dc5b89cf5423aeb625708973019ee9fd5d1a692838f","checksumPrefix":"ac60432d0aed","sections":[{"level":2,"heading":"Commands","anchor":"commands"},{"level":2,"heading":"What It Checks","anchor":"what-it-checks"},{"level":2,"heading":"Required Environment Surface","anchor":"required-environment-surface"},{"level":2,"heading":"Launch Review Sequence","anchor":"launch-review-sequence"},{"level":2,"heading":"Pass Criteria","anchor":"pass-criteria"}],"lineCount":81,"anchorCount":5,"docPath":"/docs?doc=ops%2Fdeployment-preflight.md","rawUrl":"/api/docs/content?path=ops%2Fdeployment-preflight.md","htmlUrl":"/docs?doc=ops%2Fdeployment-preflight.md"},{"id":"ops/era-c-exit-gate-evidence","relativePath":"ops/era-c-exit-gate-evidence.md","title":"Era C Exit-Gate Evidence Pack","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":6699,"checksum":"656b9c7f85c62b4efa1d927e02f8a1c7185098614cf43e63293d9e8f0c01677c","checksumPrefix":"656b9c7f85c6","sections":[{"level":2,"heading":"Scope","anchor":"scope"},{"level":2,"heading":"Artifact schema","anchor":"artifact-schema"},{"level":2,"heading":"Policy and inputs","anchor":"policy-and-inputs"},{"level":2,"heading":"Commands","anchor":"commands"},{"level":2,"heading":"Nightly automation","anchor":"nightly-automation"},{"level":2,"heading":"Telemetry source configuration","anchor":"telemetry-source-configuration"}],"lineCount":133,"anchorCount":6,"docPath":"/docs?doc=ops%2Fera-c-exit-gate-evidence.md","rawUrl":"/api/docs/content?path=ops%2Fera-c-exit-gate-evidence.md","htmlUrl":"/docs?doc=ops%2Fera-c-exit-gate-evidence.md"},{"id":"ops/go-live-checklist","relativePath":"ops/go-live-checklist.md","title":"Go-Live & Evidence-Pipeline Checklist","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4200,"checksum":"ae7f5d71f7dcf62e86737639f05366b32292f5697a167fcc5b1466eba88b78f2","checksumPrefix":"ae7f5d71f7dc","sections":[{"level":2,"heading":"1. Vercel — finish the app config","anchor":"1-vercel-finish-the-app-config"},{"level":2,"heading":"2. Render — deploy the validation service","anchor":"2-render-deploy-the-validation-service"},{"level":2,"heading":"3. GitHub Actions — start the evidence clock","anchor":"3-github-actions-start-the-evidence-clock"},{"level":3,"heading":"Variables (Repository variables) — minimum to start k6 + AI evidence","anchor":"variables-repository-variables-minimum-to-start-k6-ai-evidence"},{"level":3,"heading":"Still gated (separate workstreams, not just config)","anchor":"still-gated-separate-workstreams-not-just-config"},{"level":2,"heading":"Sequence","anchor":"sequence"}],"lineCount":91,"anchorCount":6,"docPath":"/docs?doc=ops%2Fgo-live-checklist.md","rawUrl":"/api/docs/content?path=ops%2Fgo-live-checklist.md","htmlUrl":"/docs?doc=ops%2Fgo-live-checklist.md"},{"id":"ops/k6-slo","relativePath":"ops/k6-slo.md","title":"k6 SLO Load Test (SOTA §20.4)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2485,"checksum":"328b5b3163d4f0f5f38659b837a2c71f426c78fc25093daddfc84f3ec257171d","checksumPrefix":"328b5b3163d4","sections":[{"level":2,"heading":"Command","anchor":"command"},{"level":2,"heading":"What it exercises","anchor":"what-it-exercises"},{"level":2,"heading":"Tuning knobs","anchor":"tuning-knobs"},{"level":2,"heading":"Runner behavior","anchor":"runner-behavior"}],"lineCount":75,"anchorCount":4,"docPath":"/docs?doc=ops%2Fk6-slo.md","rawUrl":"/api/docs/content?path=ops%2Fk6-slo.md","htmlUrl":"/docs?doc=ops%2Fk6-slo.md"},{"id":"ops/kpi-evidence","relativePath":"ops/kpi-evidence.md","title":"SOTA §26 KPI Evidence Input","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2268,"checksum":"d7b2973d2927238f5efcc2a31a9f7056f2890d688aa41f903549cce8cd5ca4d0","checksumPrefix":"d7b2973d2927","sections":[{"level":2,"heading":"Purpose","anchor":"purpose"},{"level":2,"heading":"Default Path","anchor":"default-path"},{"level":2,"heading":"JSON Shape","anchor":"json-shape"},{"level":2,"heading":"Validation Rules","anchor":"validation-rules"},{"level":2,"heading":"Workflow","anchor":"workflow"}],"lineCount":60,"anchorCount":5,"docPath":"/docs?doc=ops%2Fkpi-evidence.md","rawUrl":"/api/docs/content?path=ops%2Fkpi-evidence.md","htmlUrl":"/docs?doc=ops%2Fkpi-evidence.md"},{"id":"ops/launch-review","relativePath":"ops/launch-review.md","title":"Launch Review Packet","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3325,"checksum":"880e41ebcbe31c0c2bee075a4f8182ceccdcabeb71aacf9c62dc98729bcee417","checksumPrefix":"880e41ebcbe3","sections":[{"level":2,"heading":"Commands","anchor":"commands"},{"level":2,"heading":"Artifacts","anchor":"artifacts"},{"level":2,"heading":"Inputs","anchor":"inputs"},{"level":2,"heading":"Production Rules","anchor":"production-rules"},{"level":2,"heading":"Controlled Beta Readiness","anchor":"controlled-beta-readiness"}],"lineCount":90,"anchorCount":5,"docPath":"/docs?doc=ops%2Flaunch-review.md","rawUrl":"/api/docs/content?path=ops%2Flaunch-review.md","htmlUrl":"/docs?doc=ops%2Flaunch-review.md"},{"id":"ops/managed-linked-art-pilot-runbook","relativePath":"ops/managed-linked-art-pilot-runbook.md","title":"Managed Linked Art Pilot Runbook","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":16958,"checksum":"d4f125c2ddae253ef3cd3e10de76d049abc160f33d74a81320d347536bdd239a","checksumPrefix":"d4f125c2ddae","sections":[{"level":2,"heading":"Scope","anchor":"scope"},{"level":2,"heading":"Workspace Setup","anchor":"workspace-setup"},{"level":2,"heading":"Tenant Namespace Convention","anchor":"tenant-namespace-convention"},{"level":2,"heading":"Manual Plan Entitlement","anchor":"manual-plan-entitlement"},{"level":2,"heading":"Outreach Evidence","anchor":"outreach-evidence"},{"level":2,"heading":"Pilot Usage Gate","anchor":"pilot-usage-gate"},{"level":2,"heading":"Seven-Day Activation Checklist","anchor":"seven-day-activation-checklist"},{"level":2,"heading":"Usage And Activation Events","anchor":"usage-and-activation-events"},{"level":2,"heading":"Support Intake","anchor":"support-intake"},{"level":2,"heading":"Monthly Evidence Packet Template","anchor":"monthly-evidence-packet-template"},{"level":2,"heading":"Exit Criteria","anchor":"exit-criteria"}],"lineCount":283,"anchorCount":11,"docPath":"/docs?doc=ops%2Fmanaged-linked-art-pilot-runbook.md","rawUrl":"/api/docs/content?path=ops%2Fmanaged-linked-art-pilot-runbook.md","htmlUrl":"/docs?doc=ops%2Fmanaged-linked-art-pilot-runbook.md"},{"id":"ops/otel-local","relativePath":"ops/otel-local.md","title":"Local OpenTelemetry Wiring (Tempo / Jaeger)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3378,"checksum":"1ebbc3b33f92b738252f307eb76f8640dc4d609335116aebb17f72127e9889a0","checksumPrefix":"1ebbc3b33f92","sections":[{"level":2,"heading":"Env templates","anchor":"env-templates"},{"level":2,"heading":"Quick wiring (PowerShell)","anchor":"quick-wiring-powershell"},{"level":2,"heading":"Local endpoints","anchor":"local-endpoints"},{"level":2,"heading":"Explicit GraphDB / Solr span attributes","anchor":"explicit-graphdb-solr-span-attributes"},{"level":2,"heading":"Credibility engine span/metric conventions","anchor":"credibility-engine-span-metric-conventions"}],"lineCount":115,"anchorCount":5,"docPath":"/docs?doc=ops%2Fotel-local.md","rawUrl":"/api/docs/content?path=ops%2Fotel-local.md","htmlUrl":"/docs?doc=ops%2Fotel-local.md"},{"id":"ops/outbox-projector","relativePath":"ops/outbox-projector.md","title":"Transactional Outbox Projector (Postgres -> Solr/GraphDB)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2940,"checksum":"dc70ad76647111ba6e8a60c39c45c61006fc8a54a8261298908117ae888fc3fb","checksumPrefix":"dc70ad766471","sections":[{"level":2,"heading":"What is implemented","anchor":"what-is-implemented"},{"level":2,"heading":"Commands","anchor":"commands"},{"level":2,"heading":"Required env","anchor":"required-env"},{"level":2,"heading":"Table schema","anchor":"table-schema"},{"level":2,"heading":"Failure handling policy","anchor":"failure-handling-policy"}],"lineCount":89,"anchorCount":5,"docPath":"/docs?doc=ops%2Foutbox-projector.md","rawUrl":"/api/docs/content?path=ops%2Foutbox-projector.md","htmlUrl":"/docs?doc=ops%2Foutbox-projector.md"},{"id":"ops/procurement-readiness-packet","relativePath":"ops/procurement-readiness-packet.md","title":"Procurement Readiness Packet","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":8499,"checksum":"c5685e82cca7f7e83b304890567bec8ad47f0d7a517ef52076c1b7f80f0c928f","checksumPrefix":"c5685e82cca7","sections":[{"level":2,"heading":"Scope","anchor":"scope"},{"level":2,"heading":"Security Overview","anchor":"security-overview"},{"level":2,"heading":"Support Access And Impersonation Policy","anchor":"support-access-and-impersonation-policy"},{"level":2,"heading":"Data Flow","anchor":"data-flow"},{"level":2,"heading":"Hosting And Subprocessors","anchor":"hosting-and-subprocessors"},{"level":2,"heading":"Backup And Restore Evidence","anchor":"backup-and-restore-evidence"},{"level":2,"heading":"Incident Response Summary","anchor":"incident-response-summary"},{"level":2,"heading":"Procurement Checklist","anchor":"procurement-checklist"},{"level":2,"heading":"Related Evidence","anchor":"related-evidence"}],"lineCount":163,"anchorCount":9,"docPath":"/docs?doc=ops%2Fprocurement-readiness-packet.md","rawUrl":"/api/docs/content?path=ops%2Fprocurement-readiness-packet.md","htmlUrl":"/docs?doc=ops%2Fprocurement-readiness-packet.md"},{"id":"ops/reconciliation-service","relativePath":"ops/reconciliation-service.md","title":"Reconciliation Service (C2)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2415,"checksum":"05162c313ea9512166bdda9aec5f49af5af1f278c4af9aa6f3bf6651dd20d852","checksumPrefix":"05162c313ea9","sections":[{"level":2,"heading":"Install deps","anchor":"install-deps"},{"level":2,"heading":"Run locally","anchor":"run-locally"},{"level":2,"heading":"Health check","anchor":"health-check"},{"level":2,"heading":"Example lookup","anchor":"example-lookup"},{"level":2,"heading":"B6.1 pipeline endpoints","anchor":"b6-1-pipeline-endpoints"},{"level":2,"heading":"Environment variables","anchor":"environment-variables"}],"lineCount":84,"anchorCount":6,"docPath":"/docs?doc=ops%2Freconciliation-service.md","rawUrl":"/api/docs/content?path=ops%2Freconciliation-service.md","htmlUrl":"/docs?doc=ops%2Freconciliation-service.md"},{"id":"ops/search-graph-provisioning","relativePath":"ops/search-graph-provisioning.md","title":"Solr 9 + GraphDB Provisioning","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3699,"checksum":"fc1b15279a8466c09fe033823683886526268407f6ce8961088b53a3cc4e75f7","checksumPrefix":"fc1b15279a84","sections":[{"level":2,"heading":"Dev runtime (Docker Compose)","anchor":"dev-runtime-docker-compose"},{"level":2,"heading":"Kubernetes runtime (Helm)","anchor":"kubernetes-runtime-helm"},{"level":2,"heading":"Persistence defaults","anchor":"persistence-defaults"},{"level":2,"heading":"GraphDB repository + SPARQL + Lucene bootstrap","anchor":"graphdb-repository-sparql-lucene-bootstrap"},{"level":2,"heading":"Named-graph provenance partitioning by source institution","anchor":"named-graph-provenance-partitioning-by-source-institution"},{"level":2,"heading":"Hybrid text + graph query example (Lucene + named graph)","anchor":"hybrid-text-graph-query-example-lucene-named-graph"}],"lineCount":132,"anchorCount":6,"docPath":"/docs?doc=ops%2Fsearch-graph-provisioning.md","rawUrl":"/api/docs/content?path=ops%2Fsearch-graph-provisioning.md","htmlUrl":"/docs?doc=ops%2Fsearch-graph-provisioning.md"},{"id":"ops/security-dr-drill","relativePath":"ops/security-dr-drill.md","title":"Pen Test Baseline + DR Drill Runbook","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":1670,"checksum":"a766ef3e2afcb1b2b90795297811b9969c73a7cc509c66a5f1dd84a852934dcd","checksumPrefix":"a766ef3e2afc","sections":[{"level":2,"heading":"Commands","anchor":"commands"},{"level":2,"heading":"Pen test baseline","anchor":"pen-test-baseline"},{"level":2,"heading":"DR drill","anchor":"dr-drill"}],"lineCount":62,"anchorCount":3,"docPath":"/docs?doc=ops%2Fsecurity-dr-drill.md","rawUrl":"/api/docs/content?path=ops%2Fsecurity-dr-drill.md","htmlUrl":"/docs?doc=ops%2Fsecurity-dr-drill.md"},{"id":"progress/2026-05-31/era-c-readiness-snapshot","relativePath":"progress/2026-05-31/era-c-readiness-snapshot.md","title":"Era C Readiness Snapshot (May 31, 2026)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":1195,"checksum":"9672614ceb5335dc4484a8ddc9bfceb028b2d805ce597d5b01635fcbfee5fda3","checksumPrefix":"9672614ceb53","sections":[{"level":2,"heading":"Gateway Activation Decision (B7)","anchor":"gateway-activation-decision-b7"},{"level":2,"heading":"Evidence Links (Green)","anchor":"evidence-links-green"},{"level":2,"heading":"Operational Notes","anchor":"operational-notes"}],"lineCount":30,"anchorCount":3,"docPath":"/docs?doc=progress%2F2026-05-31%2Fera-c-readiness-snapshot.md","rawUrl":"/api/docs/content?path=progress%2F2026-05-31%2Fera-c-readiness-snapshot.md","htmlUrl":"/docs?doc=progress%2F2026-05-31%2Fera-c-readiness-snapshot.md"},{"id":"progress/era-history","relativePath":"progress/era-history.md","title":"Meta Museum — Era Delivery History","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":95854,"checksum":"cc030755d1e57b3a4e99b6036fc1ff3a8e2931a9ac35111319e013c9782e0b3e","checksumPrefix":"cc030755d1e5","sections":[{"level":2,"heading":"Three eras","anchor":"three-eras"},{"level":2,"heading":"Era A — The Lift (10 slices, PR-sized each)","anchor":"era-a-the-lift-10-slices-pr-sized-each"},{"level":3,"heading":"Slice 0 — Staging (DONE)","anchor":"slice-0-staging-done"},{"level":3,"heading":"Slice 1 — Foundations (TDD infra first) (DONE)","anchor":"slice-1-foundations-tdd-infra-first-done"},{"level":3,"heading":"Slice 2 — Met vertical (canary) (DONE)","anchor":"slice-2-met-vertical-canary-done"},{"level":3,"heading":"Slice 3 — Getty vertical (DONE)","anchor":"slice-3-getty-vertical-done"},{"level":3,"heading":"Slice 4 — Records + Artworks + Entities (DONE)","anchor":"slice-4-records-artworks-entities-done"},{"level":3,"heading":"Slice 5 — Linked Art Inspector + Roadmap + Best-Practices (DONE)","anchor":"slice-5-linked-art-inspector-roadmap-best-practices-done"},{"level":3,"heading":"Slice 6 — Patterns + Graph (DONE)","anchor":"slice-6-patterns-graph-done"},{"level":3,"heading":"Slice 7 — Issues + SSE (DONE)","anchor":"slice-7-issues-sse-done"},{"level":3,"heading":"Slice 8 — Agents + Jobs + Content Generation + Automation (DONE)","anchor":"slice-8-agents-jobs-content-generation-automation-done"},{"level":3,"heading":"Slice 9 — Workspace chrome + design-system pass (Custom CSS) (DONE)","anchor":"slice-9-workspace-chrome-design-system-pass-custom-css-done"},{"level":3,"heading":"Slice 10 — Lift cleanup (DONE)","anchor":"slice-10-lift-cleanup-done"},{"level":2,"heading":"Era B — Hardening (quarters, not weeks)","anchor":"era-b-hardening-quarters-not-weeks"},{"level":3,"heading":"B1 — Zod contracts + schema versioning","anchor":"b1-zod-contracts-schema-versioning"},{"level":3,"heading":"B2 — Formal validation","anchor":"b2-formal-validation"},{"level":3,"heading":"B3 — Postgres migration","anchor":"b3-postgres-migration"},{"level":3,"heading":"B4 — Auth + roles","anchor":"b4-auth-roles"},{"level":3,"heading":"B5 — Provider expansion","anchor":"b5-provider-expansion"},{"level":4,"heading":"B5.1 — RKD Knowledge Graph provider slice (done)","anchor":"b5-1-rkd-knowledge-graph-provider-slice-done"},{"level":4,"heading":"B5.2 — Smithsonian Open Access provider slice (done)","anchor":"b5-2-smithsonian-open-access-provider-slice-done"},{"level":4,"heading":"B5.3 — Harvard Art Museums provider slice","anchor":"b5-3-harvard-art-museums-provider-slice"},{"level":4,"heading":"B5.4 — V&A Collections API provider slice","anchor":"b5-4-v-a-collections-api-provider-slice"},{"level":4,"heading":"B5.5 — Princeton University Art Museum provider slice","anchor":"b5-5-princeton-university-art-museum-provider-slice"},{"level":4,"heading":"B5.6 — National Gallery of Art Open Data provider slice","anchor":"b5-6-national-gallery-of-art-open-data-provider-slice"},{"level":4,"heading":"B5.7 — Louvre Collections JSON provider slice","anchor":"b5-7-louvre-collections-json-provider-slice"},{"level":3,"heading":"B6 — Authority caching","anchor":"b6-authority-caching"},{"level":3,"heading":"B6.1 — Exhibition + literature reconciliation hardening","anchor":"b6-1-exhibition-literature-reconciliation-hardening"},{"level":3,"heading":"B8 — API protocol + profile conformance hardening","anchor":"b8-api-protocol-profile-conformance-hardening"},{"level":3,"heading":"B9 — Linked Art modeling guardrails (provenance + lifecycle)","anchor":"b9-linked-art-modeling-guardrails-provenance-lifecycle"},{"level":3,"heading":"B10 — ARK conformance slice","anchor":"b10-ark-conformance-slice"},{"level":3,"heading":"B7 — API gateway readiness for multi-source scale","anchor":"b7-api-gateway-readiness-for-multi-source-scale"},{"level":3,"heading":"Pre-Era-C Operational Sign-Off","anchor":"pre-era-c-operational-sign-off"},{"level":2,"heading":"Era C — SOTA platform (quarters 4+)","anchor":"era-c-sota-platform-quarters-4"},{"level":3,"heading":"C1 — Multi-modal storage + HAL hypermedia (SOTA Phase 1)","anchor":"c1-multi-modal-storage-hal-hypermedia-sota-phase-1"},{"level":3,"heading":"C2 — ETL pipeline + reconciliation (SOTA Phase 2)","anchor":"c2-etl-pipeline-reconciliation-sota-phase-2"},{"level":3,"heading":"C3 — IIIF + visualizations (SOTA Phase 3)","anchor":"c3-iiif-visualizations-sota-phase-3"},{"level":3,"heading":"C4 — AI layer (SOTA Phase 4)","anchor":"c4-ai-layer-sota-phase-4"},{"level":3,"heading":"C5 — Syndication + Meta Wiki Art + hardening (SOTA Phase 5)","anchor":"c5-syndication-meta-wiki-art-hardening-sota-phase-5"},{"level":3,"heading":"Era C Principal Hardening Addenda (Staff/Principal Review)","anchor":"era-c-principal-hardening-addenda-staff-principal-review"},{"level":4,"heading":"1) Infrastructure + distributed systems","anchor":"1-infrastructure-distributed-systems"},{"level":4,"heading":"2) Data lifecycle + upstream sync","anchor":"2-data-lifecycle-upstream-sync"},{"level":4,"heading":"3) AI/LLM reliability (EvalOps)","anchor":"3-ai-llm-reliability-evalops"},{"level":4,"heading":"4) Frontend UX + research quality","anchor":"4-frontend-ux-research-quality"},{"level":4,"heading":"5) Security + privacy posture","anchor":"5-security-privacy-posture"},{"level":4,"heading":"6) Content credibility engine (trust/originality/distribution/consistency)","anchor":"6-content-credibility-engine-trust-originality-distribution-consistency"},{"level":4,"heading":"Highest ROI priority","anchor":"highest-roi-priority"}],"lineCount":1284,"anchorCount":47,"docPath":"/docs?doc=progress%2Fera-history.md","rawUrl":"/api/docs/content?path=progress%2Fera-history.md","htmlUrl":"/docs?doc=progress%2Fera-history.md"},{"id":"providers/harvard-art-museums","relativePath":"providers/harvard-art-museums.md","title":"Harvard Art Museums API Integration Plan","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3377,"checksum":"fa8b980154f594b11288f8f782de47730a170624ca1f87fac89bef8b0c10faef","checksumPrefix":"fa8b980154f5","sections":[{"level":2,"heading":"Official source","anchor":"official-source"},{"level":2,"heading":"Key platform facts (from official docs)","anchor":"key-platform-facts-from-official-docs"},{"level":2,"heading":"Integration goals","anchor":"integration-goals"},{"level":2,"heading":"Proposed implementation slice","anchor":"proposed-implementation-slice"},{"level":3,"heading":"Adapter","anchor":"adapter"},{"level":3,"heading":"Routes","anchor":"routes"},{"level":3,"heading":"UI","anchor":"ui"},{"level":2,"heading":"Env configuration","anchor":"env-configuration"},{"level":2,"heading":"Operational and terms guardrails","anchor":"operational-and-terms-guardrails"},{"level":2,"heading":"Standards mapping + tests","anchor":"standards-mapping-tests"},{"level":2,"heading":"Exit criteria","anchor":"exit-criteria"}],"lineCount":108,"anchorCount":11,"docPath":"/docs?doc=providers%2Fharvard-art-museums.md","rawUrl":"/api/docs/content?path=providers%2Fharvard-art-museums.md","htmlUrl":"/docs?doc=providers%2Fharvard-art-museums.md"},{"id":"providers/louvre-collections-json","relativePath":"providers/louvre-collections-json.md","title":"Louvre Collections JSON Integration Plan","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3505,"checksum":"775f91a8d8133449392dc5824ac2bc9b698ec503aaf754f794ba9a05bc76c26a","checksumPrefix":"775f91a8d813","sections":[{"level":2,"heading":"Official source summary","anchor":"official-source-summary"},{"level":2,"heading":"Key constraints (from official documentation text)","anchor":"key-constraints-from-official-documentation-text"},{"level":2,"heading":"Integration goals","anchor":"integration-goals"},{"level":2,"heading":"Proposed implementation slice","anchor":"proposed-implementation-slice"},{"level":3,"heading":"Adapter","anchor":"adapter"},{"level":3,"heading":"Routes","anchor":"routes"},{"level":3,"heading":"UI","anchor":"ui"},{"level":2,"heading":"Env configuration","anchor":"env-configuration"},{"level":2,"heading":"Operational guardrails","anchor":"operational-guardrails"},{"level":2,"heading":"Standards mapping + tests","anchor":"standards-mapping-tests"},{"level":2,"heading":"Exit criteria","anchor":"exit-criteria"}],"lineCount":91,"anchorCount":11,"docPath":"/docs?doc=providers%2Flouvre-collections-json.md","rawUrl":"/api/docs/content?path=providers%2Flouvre-collections-json.md","htmlUrl":"/docs?doc=providers%2Flouvre-collections-json.md"},{"id":"providers/nga-open-data","relativePath":"providers/nga-open-data.md","title":"National Gallery of Art (NGA) Open Data Integration Plan","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3245,"checksum":"51c4807c8de0ce7dd81dac8d17ff4b28798e3e68578f45161019ff43ee1a639f","checksumPrefix":"51c4807c8de0","sections":[{"level":2,"heading":"Official source summary","anchor":"official-source-summary"},{"level":2,"heading":"Key constraints (from official program text)","anchor":"key-constraints-from-official-program-text"},{"level":2,"heading":"Integration goals","anchor":"integration-goals"},{"level":2,"heading":"Proposed implementation slice","anchor":"proposed-implementation-slice"},{"level":3,"heading":"Adapter","anchor":"adapter"},{"level":3,"heading":"Routes","anchor":"routes"},{"level":3,"heading":"UI","anchor":"ui"},{"level":2,"heading":"Env configuration","anchor":"env-configuration"},{"level":2,"heading":"Operational guardrails","anchor":"operational-guardrails"},{"level":2,"heading":"Standards mapping + tests","anchor":"standards-mapping-tests"},{"level":2,"heading":"Exit criteria","anchor":"exit-criteria"}],"lineCount":95,"anchorCount":11,"docPath":"/docs?doc=providers%2Fnga-open-data.md","rawUrl":"/api/docs/content?path=providers%2Fnga-open-data.md","htmlUrl":"/docs?doc=providers%2Fnga-open-data.md"},{"id":"providers/princeton-art-museum","relativePath":"providers/princeton-art-museum.md","title":"Princeton University Art Museum API Integration Plan","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2965,"checksum":"c8823f65ee414f7a7371c64da159c8489a26dc480d2f34658ca674589b3e8201","checksumPrefix":"c8823f65ee41","sections":[{"level":2,"heading":"Official source","anchor":"official-source"},{"level":2,"heading":"Key platform facts (from official docs)","anchor":"key-platform-facts-from-official-docs"},{"level":2,"heading":"Integration goals","anchor":"integration-goals"},{"level":2,"heading":"Proposed implementation slice","anchor":"proposed-implementation-slice"},{"level":3,"heading":"Adapter","anchor":"adapter"},{"level":3,"heading":"Routes","anchor":"routes"},{"level":3,"heading":"UI","anchor":"ui"},{"level":2,"heading":"Env configuration","anchor":"env-configuration"},{"level":2,"heading":"Operational guardrails","anchor":"operational-guardrails"},{"level":2,"heading":"Standards mapping + tests","anchor":"standards-mapping-tests"},{"level":2,"heading":"Exit criteria","anchor":"exit-criteria"}],"lineCount":92,"anchorCount":11,"docPath":"/docs?doc=providers%2Fprinceton-art-museum.md","rawUrl":"/api/docs/content?path=providers%2Fprinceton-art-museum.md","htmlUrl":"/docs?doc=providers%2Fprinceton-art-museum.md"},{"id":"providers/rkd-knowledge-graph","relativePath":"providers/rkd-knowledge-graph.md","title":"RKD Knowledge Graph Integration Plan","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":7223,"checksum":"2b4b42f2ad4217ec5b67c38e43f7aff6322130f896e4e1ac0d1a5723f06106cf","checksumPrefix":"2b4b42f2ad42","sections":[{"level":2,"heading":"Source","anchor":"source"},{"level":2,"heading":"Why this provider","anchor":"why-this-provider"},{"level":2,"heading":"Integration goals","anchor":"integration-goals"},{"level":2,"heading":"Proposed implementation slice","anchor":"proposed-implementation-slice"},{"level":3,"heading":"Adapter","anchor":"adapter"},{"level":3,"heading":"Routes","anchor":"routes"},{"level":3,"heading":"UI","anchor":"ui"},{"level":2,"heading":"Configuration model","anchor":"configuration-model"},{"level":2,"heading":"Authentication and security","anchor":"authentication-and-security"},{"level":2,"heading":"Scale and safety guardrails","anchor":"scale-and-safety-guardrails"},{"level":2,"heading":"SPARQL protocol + formats (official)","anchor":"sparql-protocol-formats-official"},{"level":2,"heading":"Linked-data serialization handling","anchor":"linked-data-serialization-handling"},{"level":2,"heading":"Standards and conformance mapping","anchor":"standards-and-conformance-mapping"},{"level":2,"heading":"License and attribution handling","anchor":"license-and-attribution-handling"},{"level":2,"heading":"Test plan (failing-first)","anchor":"test-plan-failing-first"},{"level":2,"heading":"Exit criteria for RKD slice","anchor":"exit-criteria-for-rkd-slice"}],"lineCount":195,"anchorCount":16,"docPath":"/docs?doc=providers%2Frkd-knowledge-graph.md","rawUrl":"/api/docs/content?path=providers%2Frkd-knowledge-graph.md","htmlUrl":"/docs?doc=providers%2Frkd-knowledge-graph.md"},{"id":"providers/smithsonian-open-access","relativePath":"providers/smithsonian-open-access.md","title":"Smithsonian Open Access Integration Plan","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3216,"checksum":"db1ffa4cab027620662f30f3298f9fc1de983ddbb7858a2071efe7e59afc410c","checksumPrefix":"db1ffa4cab02","sections":[{"level":2,"heading":"Official sources","anchor":"official-sources"},{"level":2,"heading":"Key platform facts (from official docs)","anchor":"key-platform-facts-from-official-docs"},{"level":2,"heading":"Integration goals","anchor":"integration-goals"},{"level":2,"heading":"Proposed implementation slice","anchor":"proposed-implementation-slice"},{"level":3,"heading":"Adapter (implemented)","anchor":"adapter-implemented"},{"level":3,"heading":"Routes (implemented)","anchor":"routes-implemented"},{"level":3,"heading":"UI (implemented)","anchor":"ui-implemented"},{"level":2,"heading":"Env configuration","anchor":"env-configuration"},{"level":2,"heading":"Security requirements","anchor":"security-requirements"},{"level":2,"heading":"Standards mapping + tests","anchor":"standards-mapping-tests"},{"level":2,"heading":"Exit criteria","anchor":"exit-criteria"},{"level":2,"heading":"Constraint hardening notes","anchor":"constraint-hardening-notes"}],"lineCount":98,"anchorCount":12,"docPath":"/docs?doc=providers%2Fsmithsonian-open-access.md","rawUrl":"/api/docs/content?path=providers%2Fsmithsonian-open-access.md","htmlUrl":"/docs?doc=providers%2Fsmithsonian-open-access.md"},{"id":"providers/vanda-collections-api","relativePath":"providers/vanda-collections-api.md","title":"Victoria and Albert Museum (V&A) Collections API Integration Plan","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3304,"checksum":"755d939722330e65458ef733263979252d5a99b5dfe096b58dd6b543836a099c","checksumPrefix":"755d93972233","sections":[{"level":2,"heading":"Official source","anchor":"official-source"},{"level":2,"heading":"Key platform facts (from official docs)","anchor":"key-platform-facts-from-official-docs"},{"level":2,"heading":"Integration goals","anchor":"integration-goals"},{"level":2,"heading":"Proposed implementation slice","anchor":"proposed-implementation-slice"},{"level":3,"heading":"Adapter","anchor":"adapter"},{"level":3,"heading":"Routes","anchor":"routes"},{"level":3,"heading":"UI","anchor":"ui"},{"level":2,"heading":"Env configuration","anchor":"env-configuration"},{"level":2,"heading":"Operational and terms guardrails","anchor":"operational-and-terms-guardrails"},{"level":2,"heading":"Standards mapping + tests","anchor":"standards-mapping-tests"},{"level":2,"heading":"Exit criteria","anchor":"exit-criteria"}],"lineCount":97,"anchorCount":11,"docPath":"/docs?doc=providers%2Fvanda-collections-api.md","rawUrl":"/api/docs/content?path=providers%2Fvanda-collections-api.md","htmlUrl":"/docs?doc=providers%2Fvanda-collections-api.md"},{"id":"quality","relativePath":"quality.md","title":"Quality & Performance","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":2705,"checksum":"174add04096060c0a58045e311d73eff53233f53119abf354e903b3b7664d300","checksumPrefix":"174add040960","sections":[{"level":2,"heading":"Accessibility — WCAG 2.1 AA","anchor":"accessibility-wcag-2-1-aa"},{"level":3,"heading":"Lighthouse accessibility — **100 / 100** (gate: ≥ 95)","anchor":"lighthouse-accessibility-100-100-gate-95"},{"level":3,"heading":"axe-core — **0 severe violations** across 18 routes","anchor":"axe-core-0-severe-violations-across-18-routes"},{"level":2,"heading":"Performance budget — k6 SLOs","anchor":"performance-budget-k6-slos"},{"level":2,"heading":"Test coverage","anchor":"test-coverage"},{"level":2,"heading":"Other CI gates","anchor":"other-ci-gates"}],"lineCount":49,"anchorCount":6,"docPath":"/docs?doc=quality.md","rawUrl":"/api/docs/content?path=quality.md","htmlUrl":"/docs?doc=quality.md"},{"id":"reconciliation/exhibition-literature-reconciliation","relativePath":"reconciliation/exhibition-literature-reconciliation.md","title":"Exhibition + Literature Reconciliation (B6.1)","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":3228,"checksum":"293e9d81dd7c8133643cf8a426684ad269bfed3708c5dc4dbbb23cfec3f7d791","checksumPrefix":"293e9d81dd7c","sections":[{"level":2,"heading":"Scope","anchor":"scope"},{"level":2,"heading":"Non-negotiable invariants","anchor":"non-negotiable-invariants"},{"level":2,"heading":"Candidate generation + scoring (baseline)","anchor":"candidate-generation-scoring-baseline"},{"level":2,"heading":"Required failing-first fixtures","anchor":"required-failing-first-fixtures"},{"level":2,"heading":"Required tests","anchor":"required-tests"},{"level":2,"heading":"Review + audit requirements","anchor":"review-audit-requirements"},{"level":2,"heading":"Standards mapping requirement","anchor":"standards-mapping-requirement"}],"lineCount":113,"anchorCount":7,"docPath":"/docs?doc=reconciliation%2Fexhibition-literature-reconciliation.md","rawUrl":"/api/docs/content?path=reconciliation%2Fexhibition-literature-reconciliation.md","htmlUrl":"/docs?doc=reconciliation%2Fexhibition-literature-reconciliation.md"},{"id":"responsible-ai","relativePath":"responsible-ai.md","title":"Responsible AI","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4681,"checksum":"f900066508212bfff42cf8565953e4deb456dc00984a32abb46fd9c348fe6bfc","checksumPrefix":"f90006650821","sections":[{"level":2,"heading":"Threat model","anchor":"threat-model"},{"level":2,"heading":"1. Server-only key handling","anchor":"1-server-only-key-handling"},{"level":2,"heading":"2. Auth-gate (denial-of-wallet guard)","anchor":"2-auth-gate-denial-of-wallet-guard"},{"level":2,"heading":"3. Cite or refuse","anchor":"3-cite-or-refuse"},{"level":2,"heading":"4. Eval harness","anchor":"4-eval-harness"},{"level":2,"heading":"5. Cost control","anchor":"5-cost-control"},{"level":2,"heading":"Provider & model","anchor":"provider-model"},{"level":2,"heading":"Turning AI on (for an operator)","anchor":"turning-ai-on-for-an-operator"}],"lineCount":59,"anchorCount":8,"docPath":"/docs?doc=responsible-ai.md","rawUrl":"/api/docs/content?path=responsible-ai.md","htmlUrl":"/docs?doc=responsible-ai.md"},{"id":"risk-register","relativePath":"risk-register.md","title":"Risk Register","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":64033,"checksum":"becb213d5c5e22a8adc65139a5949dde7ac4e0dccb17a4ab7ed12bc76b411140","checksumPrefix":"becb213d5c5e","sections":[{"level":2,"heading":"Current risk posture","anchor":"current-risk-posture"},{"level":2,"heading":"Remediation slice queue","anchor":"remediation-slice-queue"},{"level":2,"heading":"Controls and mitigation plan","anchor":"controls-and-mitigation-plan"},{"level":2,"heading":"Next review","anchor":"next-review"}],"lineCount":526,"anchorCount":4,"docPath":"/docs?doc=risk-register.md","rawUrl":"/api/docs/content?path=risk-register.md","htmlUrl":"/docs?doc=risk-register.md"},{"id":"roadmap-to-10","relativePath":"roadmap-to-10.md","title":"Roadmap to 10/10","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":8413,"checksum":"40a11000dc7e731aa18be35d337ea3d2d73639685245428e3aa05451390dad90","checksumPrefix":"40a11000dc7e","sections":[{"level":2,"heading":"Track A — Portfolio readiness → 10","anchor":"track-a-portfolio-readiness-10"},{"level":3,"heading":"A1. Reliable, badged CI ✅ done (2026-06-24)","anchor":"a1-reliable-badged-ci-done-2026-06-24"},{"level":3,"heading":"A2. Dependency & supply-chain hygiene ✅ done (2026-06-24)","anchor":"a2-dependency-supply-chain-hygiene-done-2026-06-24"},{"level":3,"heading":"A3. Measured test coverage ✅ done (2026-06-24)","anchor":"a3-measured-test-coverage-done-2026-06-24"},{"level":3,"heading":"A4. Published quality scores ✅ done (2026-06-24)","anchor":"a4-published-quality-scores-done-2026-06-24"},{"level":3,"heading":"A5. Coherent docs (no remaining walls) ✅ done (2026-06-24)","anchor":"a5-coherent-docs-no-remaining-walls-done-2026-06-24"},{"level":3,"heading":"A6. (Optional wow) 🟡 script ready — recording pending","anchor":"a6-optional-wow-script-ready-recording-pending"},{"level":2,"heading":"Track B — Linked Art 1.0 adherence → 10","anchor":"track-b-linked-art-1-0-adherence-10"},{"level":3,"heading":"B1. Rights as `Right` entities for ALL providers ✅ done (2026-06-24)","anchor":"b1-rights-as-right-entities-for-all-providers-done-2026-06-24"},{"level":3,"heading":"B2. SHACL conformance in CI ✅ done (2026-06-24)","anchor":"b2-shacl-conformance-in-ci-done-2026-06-24"},{"level":3,"heading":"B3. Systematic per-provider fixture matrix ✅ done (2026-06-24)","anchor":"b3-systematic-per-provider-fixture-matrix-done-2026-06-24"},{"level":3,"heading":"B4. Faceted / relevance search ✅ done (2026-06-24)","anchor":"b4-faceted-relevance-search-done-2026-06-24"},{"level":3,"heading":"B5. Activity Streams change-feed conformance ✅ done (2026-06-24)","anchor":"b5-activity-streams-change-feed-conformance-done-2026-06-24"},{"level":3,"heading":"B6. HTTP SHOULDs ✅ done (2026-06-24)","anchor":"b6-http-shoulds-done-2026-06-24"},{"level":2,"heading":"Recommended sequence","anchor":"recommended-sequence"}],"lineCount":85,"anchorCount":15,"docPath":"/docs?doc=roadmap-to-10.md","rawUrl":"/api/docs/content?path=roadmap-to-10.md","htmlUrl":"/docs?doc=roadmap-to-10.md"},{"id":"roadmap","relativePath":"roadmap.md","title":"Meta Museum Roadmap","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":98007,"checksum":"c5170f9ecb2bfd255ab205e4bf6be3029157e08aa23d21a96a110eabd273d26c","checksumPrefix":"c5170f9ecb2b","sections":[{"level":2,"heading":"Status (as of June 24, 2026)","anchor":"status-as-of-june-24-2026"},{"level":3,"heading":"Current Launch Readiness","anchor":"current-launch-readiness"},{"level":3,"heading":"Current SaaS Readiness","anchor":"current-saas-readiness"},{"level":3,"heading":"SaaS Commercialization Strategy","anchor":"saas-commercialization-strategy"},{"level":3,"heading":"SaaS Roadmap Track","anchor":"saas-roadmap-track"},{"level":3,"heading":"SaaS Product Backlog","anchor":"saas-product-backlog"},{"level":3,"heading":"Current Evidence Blockers","anchor":"current-evidence-blockers"},{"level":3,"heading":"Next Operating Plan","anchor":"next-operating-plan"},{"level":2,"heading":"Linked Art adherence uplift (current -> high)","anchor":"linked-art-adherence-uplift-current-high"},{"level":3,"heading":"A. Validation architecture depth (B2 follow-through)","anchor":"a-validation-architecture-depth-b2-follow-through"},{"level":3,"heading":"B. Provider rollout completeness (B5)","anchor":"b-provider-rollout-completeness-b5"},{"level":3,"heading":"C. HAL + Search relations conformance (rounds 71-79)","anchor":"c-hal-search-relations-conformance-rounds-71-79"},{"level":3,"heading":"D. Era B exit-gate closure readiness","anchor":"d-era-b-exit-gate-closure-readiness"},{"level":2,"heading":"Stack decisions — locked in","anchor":"stack-decisions-locked-in"},{"level":2,"heading":"Era delivery history","anchor":"era-delivery-history"},{"level":2,"heading":"Cross-cutting standards (apply from Slice 1 onward)","anchor":"cross-cutting-standards-apply-from-slice-1-onward"},{"level":2,"heading":"What this roadmap deliberately does NOT do (yet)","anchor":"what-this-roadmap-deliberately-does-not-do-yet"},{"level":2,"heading":"What I'd build next, concretely","anchor":"what-i-d-build-next-concretely"}],"lineCount":493,"anchorCount":18,"docPath":"/docs?doc=roadmap.md","rawUrl":"/api/docs/content?path=roadmap.md","htmlUrl":"/docs?doc=roadmap.md"},{"id":"rsi-wiki","relativePath":"rsi-wiki.md","title":"AI-RSI compounding wiki","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":4122,"checksum":"b64914fe6f200161bbba35b6a4e770d4559818937df58c5c1b6fe1edc2181553","checksumPrefix":"b64914fe6f20","sections":[{"level":2,"heading":"Architecture","anchor":"architecture"},{"level":2,"heading":"Purpose","anchor":"purpose"},{"level":2,"heading":"Documentation as one source of truth","anchor":"documentation-as-one-source-of-truth"},{"level":2,"heading":"Iteration pattern (copy/paste ritual)","anchor":"iteration-pattern-copy-paste-ritual"},{"level":2,"heading":"Evidence anchors to keep","anchor":"evidence-anchors-to-keep"},{"level":2,"heading":"Health checks (lints for the workflow)","anchor":"health-checks-lints-for-the-workflow"},{"level":2,"heading":"Required close-out suggestion packet (minimum)","anchor":"required-close-out-suggestion-packet-minimum"},{"level":2,"heading":"Minimal working contract","anchor":"minimal-working-contract"}],"lineCount":79,"anchorCount":8,"docPath":"/docs?doc=rsi-wiki.md","rawUrl":"/api/docs/content?path=rsi-wiki.md","htmlUrl":"/docs?doc=rsi-wiki.md"},{"id":"wikibase-cloud-migration-checklist","relativePath":"wikibase-cloud-migration-checklist.md","title":"Wikibase Cloud -> Self-Host Migration Checklist","updatedAt":"2018-10-20T01:46:40.000Z","sizeBytes":5008,"checksum":"170657fcbf2b5758e15decd4f449b68c50fa4387128f505aa25d2579a6d3dd8e","checksumPrefix":"170657fcbf2b","sections":[{"level":2,"heading":"Current state (pre-filled, non-secret)","anchor":"current-state-pre-filled-non-secret"},{"level":2,"heading":"1) Cloud-first baseline (do now)","anchor":"1-cloud-first-baseline-do-now"},{"level":2,"heading":"2) Portability guardrails (must stay true at all times)","anchor":"2-portability-guardrails-must-stay-true-at-all-times"},{"level":2,"heading":"3) Data model and schema discipline","anchor":"3-data-model-and-schema-discipline"},{"level":2,"heading":"4) Backup and export routine (Cloud phase)","anchor":"4-backup-and-export-routine-cloud-phase"},{"level":2,"heading":"5) Trigger criteria for self-host activation","anchor":"5-trigger-criteria-for-self-host-activation"},{"level":2,"heading":"6) Target self-host design decision","anchor":"6-target-self-host-design-decision"},{"level":2,"heading":"7) Dry-run migration (no public cutover yet)","anchor":"7-dry-run-migration-no-public-cutover-yet"},{"level":2,"heading":"8) Production cutover checklist","anchor":"8-production-cutover-checklist"},{"level":2,"heading":"9) Rollback plan (must be prepared before cutover)","anchor":"9-rollback-plan-must-be-prepared-before-cutover"},{"level":2,"heading":"10) Post-cutover stabilization","anchor":"10-post-cutover-stabilization"},{"level":2,"heading":"Ownership and review cadence","anchor":"ownership-and-review-cadence"}],"lineCount":107,"anchorCount":12,"docPath":"/docs?doc=wikibase-cloud-migration-checklist.md","rawUrl":"/api/docs/content?path=wikibase-cloud-migration-checklist.md","htmlUrl":"/docs?doc=wikibase-cloud-migration-checklist.md"}]}