Catalog (142)

IDDocumentUpdatedAnchorsSHA
agents/ag2-extraction-notesAG2 Extraction Notes
agents/ag2-extraction-notes.md
10/20/2018, 1:46:40 AM11e8d0072ebec1
asset-provenanceAsset Provenance
asset-provenance.md
10/20/2018, 1:46:40 AM41025c0acc117
closeout-notesAI-RSI one-click closeout notes
closeout-notes.md
10/20/2018, 1:46:40 AM21f560f6a8535
content-credibility-engineContent Credibility Engine
content-credibility-engine.md
10/20/2018, 1:46:40 AM8d9aa32358670
demo-scriptProduct Walkthrough — Shot List & Script (60–90s)
demo-script.md
10/20/2018, 1:46:40 AM2299b901ec583
deploymentDeployment — Vercel + Render
deployment.md
10/20/2018, 1:46:40 AM8822e08a991b9
development-roadmapMeta Museum Development Roadmap
development-roadmap.md
10/20/2018, 1:46:40 AM23624a8a089d72
development/aidd-tddAIDD + TDD Discipline
development/aidd-tdd.md
10/20/2018, 1:46:40 AM5cd0a0524525a
development/typescript-command-contractTypeScript Command Contract
development/typescript-command-contract.md
10/20/2018, 1:46:40 AM0e2c0fe337ff6
envEnvironment Variables
env.md
10/20/2018, 1:46:40 AM13d45d28b1acb7
evals/golden-museum-questionsGolden Eval Dataset: Complex Museum Questions
evals/golden-museum-questions.md
10/20/2018, 1:46:40 AM62876a2b5e78d
knowledge/concepts/llm-wiki-patternDefinition
knowledge/concepts/llm-wiki-pattern.md
10/20/2018, 1:46:40 AM01538a0b7d895
knowledge/concepts/meta-museum-knowledge-systemDefinition
knowledge/concepts/meta-museum-knowledge-system.md
10/20/2018, 1:46:40 AM0fb8615747115
knowledge/concepts/open-knowledge-formatDefinition
knowledge/concepts/open-knowledge-format.md
10/20/2018, 1:46:40 AM037e419de4736
knowledge/indexMeta Museum Knowledge Wiki
knowledge/index.md
10/20/2018, 1:46:40 AM38d2fe66d7442
knowledge/logMeta Museum Knowledge Wiki Log
knowledge/log.md
10/20/2018, 1:46:40 AM19f73157e299f
knowledge/schema/llm-wiki-maintainerPurpose
knowledge/schema/llm-wiki-maintainer.md
10/20/2018, 1:46:40 AM01bc0cde6fa1e
knowledge/sources/llm-wiki-pattern-noteSummary
knowledge/sources/llm-wiki-pattern-note.md
10/20/2018, 1:46:40 AM0db115d8fd7bf
knowledge/sources/open-knowledge-format-google-2026-06-12Summary
knowledge/sources/open-knowledge-format-google-2026-06-12.md
10/20/2018, 1:46:40 AM0a87b065f97db
linked-art/activity-stream-partner-quickstartActivityStreams Partner Quickstart
linked-art/activity-stream-partner-quickstart.md
10/20/2018, 1:46:40 AM96ea3aea16866
linked-art/activity-stream-profileMetaMuseum Linked Art Activity Stream Profile
linked-art/activity-stream-profile.md
10/20/2018, 1:46:40 AM6adb634532df8
linked-art/api/abstract-worksLinked Art API: Abstract Works
linked-art/api/abstract-works.md
7/6/2026, 12:00:00 AM7271315c08d2d
linked-art/api/bibliographyLinked Art: Bibliography
linked-art/api/bibliography.md
7/6/2026, 12:00:00 AM126d9d5160565a
linked-art/api/cdwa-mappingLinked Art: CDWA Mapping
linked-art/api/cdwa-mapping.md
7/6/2026, 12:00:00 AM9baaefda0cff6
linked-art/api/code-and-toolsLinked Art: Code And Tools
linked-art/api/code-and-tools.md
7/6/2026, 12:00:00 AM87d87b00c2f04
linked-art/api/conceptsLinked Art API: Concepts
linked-art/api/concepts.md
7/6/2026, 12:00:00 AM75c3b10a975bb
linked-art/api/design-principlesLinked Art API: Design Principles
linked-art/api/design-principles.md
7/6/2026, 12:00:00 AM103ff80e8696b0
linked-art/api/digital-objectsLinked Art API: Digital Objects
linked-art/api/digital-objects.md
7/6/2026, 12:00:00 AM889a21989333a
linked-art/api/discoveryLinked Art API: Discovery
linked-art/api/discovery.md
7/7/2026, 12:00:00 AM5407a0f6a9de4
linked-art/api/eventsLinked Art API: Events
linked-art/api/events.md
7/6/2026, 12:00:00 AM8cdb00a835694
linked-art/api/groupsLinked Art API: Groups
linked-art/api/groups.md
7/6/2026, 12:00:00 AM7abbb3e00ba19
linked-art/api/halLinked Art API: HAL
linked-art/api/hal.md
7/6/2026, 12:00:00 AM264c645e4c2ea6
linked-art/api/indexLinked Art API Reference Notes
linked-art/api/index.md
7/6/2026, 12:00:00 AM404ab73322251
linked-art/api/json-ld-considerationsLinked Art API: JSON-LD Considerations
linked-art/api/json-ld-considerations.md
7/6/2026, 12:00:00 AM7dc542f437a12
linked-art/api/json-schemasLinked Art API: JSON Schemas
linked-art/api/json-schemas.md
7/6/2026, 12:00:00 AM1657ed7e27b78b
linked-art/api/peopleLinked Art API: People
linked-art/api/people.md
7/6/2026, 12:00:00 AM700141f499e00
linked-art/api/physical-objectsLinked Art API: Physical Objects
linked-art/api/physical-objects.md
7/6/2026, 12:00:00 AM10b947ded689e6
linked-art/api/placesLinked Art API: Places
linked-art/api/places.md
7/6/2026, 12:00:00 AM75b00bba40010
linked-art/api/protocolLinked Art API: Protocol
linked-art/api/protocol.md
7/6/2026, 12:00:00 AM8d7f6c925ba69
linked-art/api/provenance-activitiesLinked Art API: Provenance Activities
linked-art/api/provenance-activities.md
7/6/2026, 12:00:00 AM18565a129b4074
linked-art/api/schema-abstract-workLinked Art API Schema: Abstract Work
linked-art/api/schema-abstract-work.md
7/6/2026, 12:00:00 AM720660a51677e
linked-art/api/schema-conceptLinked Art API Schema: Concept
linked-art/api/schema-concept.md
7/6/2026, 12:00:00 AM76a568b387d80
linked-art/api/schema-digital-objectLinked Art API Schema: Digital Object
linked-art/api/schema-digital-object.md
7/6/2026, 12:00:00 AM7750a7f2de6a7
linked-art/api/schema-eventLinked Art API Schema: Event
linked-art/api/schema-event.md
7/6/2026, 12:00:00 AM7ecc0b93c1ea6
linked-art/api/schema-groupLinked Art API Schema: Group
linked-art/api/schema-group.md
7/6/2026, 12:00:00 AM833ee6eb1355f
linked-art/api/schema-org-mappingLinked Art: Schema.org Mapping
linked-art/api/schema-org-mapping.md
7/6/2026, 12:00:00 AM10e5407dc8677d
linked-art/api/schema-personLinked Art API Schema: Person
linked-art/api/schema-person.md
7/6/2026, 12:00:00 AM87c1f64043517
linked-art/api/schema-physical-objectLinked Art API Schema: Human-Made Object
linked-art/api/schema-physical-object.md
7/6/2026, 12:00:00 AM9d0ab12e93755
linked-art/api/schema-placeLinked Art API Schema: Place
linked-art/api/schema-place.md
7/6/2026, 12:00:00 AM8f3340073270b
linked-art/api/schema-provenance-activityLinked Art API Schema: Provenance Activity
linked-art/api/schema-provenance-activity.md
7/6/2026, 12:00:00 AM8dd2fe5345a6a
linked-art/api/schema-setLinked Art API Schema: Set
linked-art/api/schema-set.md
7/6/2026, 12:00:00 AM82b48dd1a0cb1
linked-art/api/schema-textual-workLinked Art API Schema: Textual Work
linked-art/api/schema-textual-work.md
7/6/2026, 12:00:00 AM827f38ce348c4
linked-art/api/schema-visual-workLinked Art API Schema: Visual Work
linked-art/api/schema-visual-work.md
7/6/2026, 12:00:00 AM97dc44dd62a63
linked-art/api/searchLinked Art API: Search
linked-art/api/search.md
7/7/2026, 12:00:00 AM6fe2301e3ac01
linked-art/api/setsLinked Art API: Sets
linked-art/api/sets.md
7/6/2026, 12:00:00 AM717aaf803945c
linked-art/api/shared-activitiesLinked Art API: Shared Activities
linked-art/api/shared-activities.md
7/6/2026, 12:00:00 AM7de394280c803
linked-art/api/shared-concept-referencesLinked Art API: Shared Concept References
linked-art/api/shared-concept-references.md
7/6/2026, 12:00:00 AM8d1d6465ac086
linked-art/api/shared-digital-linksLinked Art API: Shared Digital Links
linked-art/api/shared-digital-links.md
7/6/2026, 12:00:00 AM6aa747ae005bf
linked-art/api/shared-dimensionsLinked Art API: Shared Dimensions
linked-art/api/shared-dimensions.md
7/6/2026, 12:00:00 AM7a6a512ce1f69
linked-art/api/shared-identifiersLinked Art API: Shared Identifiers
linked-art/api/shared-identifiers.md
7/6/2026, 12:00:00 AM70e518b8d88c5
linked-art/api/shared-monetary-amountsLinked Art API: Shared Monetary Amounts
linked-art/api/shared-monetary-amounts.md
7/6/2026, 12:00:00 AM7030dc129f2ca
linked-art/api/shared-namesLinked Art API: Shared Names
linked-art/api/shared-names.md
7/6/2026, 12:00:00 AM73da4d8a4c849
linked-art/api/shared-referencesLinked Art API: Shared References
linked-art/api/shared-references.md
7/6/2026, 12:00:00 AM822aa1cc20d4f
linked-art/api/shared-relationshipsLinked Art API: Shared Relationships
linked-art/api/shared-relationships.md
7/6/2026, 12:00:00 AM7af011a27832c
linked-art/api/shared-rightsLinked Art API: Shared Rights
linked-art/api/shared-rights.md
7/6/2026, 12:00:00 AM79975708ccd02
linked-art/api/shared-statementsLinked Art API: Shared Statements
linked-art/api/shared-statements.md
7/6/2026, 12:00:00 AM7f26889987779
linked-art/api/shared-structuresLinked Art API: Shared Structures
linked-art/api/shared-structures.md
7/6/2026, 12:00:00 AM69f6a99f012ad
linked-art/api/shared-timespansLinked Art API: Shared TimeSpans
linked-art/api/shared-timespans.md
7/6/2026, 12:00:00 AM7ea33d788e29b
linked-art/api/textual-worksLinked Art API: Textual Works
linked-art/api/textual-works.md
7/6/2026, 12:00:00 AM783115d01844b
linked-art/api/visual-worksLinked Art API: Visual Works
linked-art/api/visual-works.md
7/6/2026, 12:00:00 AM75c7225b0a261
linked-art/canonical-identifier-policyCanonical Identifier Policy
linked-art/canonical-identifier-policy.md
10/20/2018, 1:46:40 AM856bc7bc9ee2f
linked-art/conformance-matrixLinked Art 1.0 — Conformance Matrix
linked-art/conformance-matrix.md
10/20/2018, 1:46:40 AM53666a6671a7a
linked-art/external-activity-streamsExternal Activity Stream Candidates
linked-art/external-activity-streams.md
10/20/2018, 1:46:40 AM3756dbb91f85c
linked-art/Linked%20Art%20NotesLinked Art Notes.md
linked-art/Linked Art Notes.md
10/20/2018, 1:46:40 AM0aca66d51107b
linked-art/Linked%20Open%20Art%20Data%20Web%20App%20-%20Must-have%20Data%20SourcesLinked Open Art Data Web App (AI) — Must-have Data Sources
linked-art/Linked Open Art Data Web App - Must-have Data Sources.md
10/20/2018, 1:46:40 AM77b7d350fe8a0
linked-art/LinkedArtAppFeatures🏛️ Art Explorer: Linked Art Application & Ecosystem
linked-art/LinkedArtAppFeatures.md
10/20/2018, 1:46:40 AM14e23b890ecd2a
linked-art/LinkedArtChallengesLinkedArtChallenges.md
linked-art/LinkedArtChallenges.md
10/20/2018, 1:46:40 AM0d8c987070277
linked-art/LinkedArtCollaborationLinkedArtCollaboration.md
linked-art/LinkedArtCollaboration.md
10/20/2018, 1:46:40 AM114ccf63edef3
linked-art/LinkedArtDashboardLinkedArtDashboard.md
linked-art/LinkedArtDashboard.md
10/20/2018, 1:46:40 AM06d04d4b2bf79
linked-art/LinkedArtFeatureRoadmapFeature Roadmap for Linked Open Art Data Apps
linked-art/LinkedArtFeatureRoadmap.md
10/20/2018, 1:46:40 AM8ac10d8e79c20
linked-art/LinkedArtJobReadyLinkedArtJobReady.md
linked-art/LinkedArtJobReady.md
10/20/2018, 1:46:40 AM0c60b357bcb87
linked-art/LinkedArtModel1.0-ReferenceLinked Art Model 1.0 Reference (Round 1)
linked-art/LinkedArtModel1.0-Reference.md
10/20/2018, 1:46:40 AM344e6d48d474b3e
linked-art/LinkedArtPatternsLinkedArtPatterns.md
linked-art/LinkedArtPatterns.md
10/20/2018, 1:46:40 AM0d45bbbb02d70
linked-art/LinkedArtPRD🖼️ Product Requirements Document
linked-art/LinkedArtPRD.md
10/20/2018, 1:46:40 AM2091bc1f37307c
linked-art/LinkedArtRoadmapLinkedArtRoadmap.md
linked-art/LinkedArtRoadmap.md
10/20/2018, 1:46:40 AM0e52e71c6bd28
linked-art/LinkedArtSaaSLinkedArtSaaS.md
linked-art/LinkedArtSaaS.md
10/20/2018, 1:46:40 AM03d260738fb29
linked-art/LinkedArtSoftwareCode and Tools
linked-art/LinkedArtSoftware.md
10/20/2018, 1:46:40 AM89e8fef24aea9
linked-art/LinkedArtSOTAWebAppLinkedArt SOTA Web App — Master Build Specification
linked-art/LinkedArtSOTAWebApp.md
10/20/2018, 1:46:40 AM129a5f0baca89c6
linked-art/LinkedArtUnmetNeedsLinkedArtUnmetNeeds.md
linked-art/LinkedArtUnmetNeeds.md
10/20/2018, 1:46:40 AM0cb35fac29cc1
linked-art/LinkedArtUseCasesLinkedArtUseCases.md
linked-art/LinkedArtUseCases.md
10/20/2018, 1:46:40 AM05c572ce8e7f3
linked-art/LinkedArtWidgetsLinkedArtWidgets.md
linked-art/LinkedArtWidgets.md
10/20/2018, 1:46:40 AM0b39911c7d97d
linked-art/LinkedDesignLinkedDesign.md
linked-art/LinkedDesign.md
10/20/2018, 1:46:40 AM00a02240471e5
linked-art/LODEngineLODEngine.md
linked-art/LODEngine.md
10/20/2018, 1:46:40 AM0ef73426f80db
linked-art/LODPipelineLODPipeline.md
linked-art/LODPipeline.md
10/20/2018, 1:46:40 AM0fe95e61ed9da
linked-art/LODToolsLODTools.md
linked-art/LODTools.md
10/20/2018, 1:46:40 AM03167947fc4e4
linked-art/metahistorybook-prod-harvest-evidenceMetaHistoryBook Production Consumer Evidence
linked-art/metahistorybook-prod-harvest-evidence.md
10/20/2018, 1:46:40 AM131577a970c8b0
linked-art/metahistorybook-reciprocal-harvest-checklistMetaHistoryBook Reciprocal Harvest Checklist
linked-art/metahistorybook-reciprocal-harvest-checklist.md
10/20/2018, 1:46:40 AM506f00beacbe6
linked-art/partitioningLinked Art Graph Partitioning
linked-art/partitioning.md
10/20/2018, 1:46:40 AM3341aff71f753
linked-art/SPARQLSPARQL.md
linked-art/SPARQL.md
10/20/2018, 1:46:40 AM050e00ed51733
linked-art/VocabulariesVocabularies.md
linked-art/Vocabularies.md
10/20/2018, 1:46:40 AM0e0574a338aaa
linked-art/wikidataexplorer-consumer-evidenceWikidata Explorer ActivityStreams Consumer Evidence
linked-art/wikidataexplorer-consumer-evidence.md
10/20/2018, 1:46:40 AM2d2dee0ad49d3
linked-art/YaleLuxYaleLux.md
linked-art/YaleLux.md
10/20/2018, 1:46:40 AM074fd47fae749
meta-wiki-art-bridgeMeta Wiki Art Bridge (MediaWiki + Wikibase)
meta-wiki-art-bridge.md
10/20/2018, 1:46:40 AM77a43fb0c48b8
ops/activity-adoption-proofActivity Feed Adoption Proof Runbook
ops/activity-adoption-proof.md
10/20/2018, 1:46:40 AM8b3c1d8e3399b
ops/ag2-workerAG2 Worker and Bridge Runbook
ops/ag2-worker.md
10/20/2018, 1:46:40 AM950efcd4e3318
ops/auth-credential-rotationAuth credential rotation runbook
ops/auth-credential-rotation.md
10/20/2018, 1:46:40 AM476e3fc6daefa
ops/deployment-preflightDeployment Preflight Runbook
ops/deployment-preflight.md
10/20/2018, 1:46:40 AM597db694dd88b
ops/era-c-exit-gate-evidenceEra C Exit-Gate Evidence Pack
ops/era-c-exit-gate-evidence.md
10/20/2018, 1:46:40 AM64fdaaa29056a
ops/evidence-script-ownershipEvidence Script Ownership
ops/evidence-script-ownership.md
10/20/2018, 1:46:40 AM48432d0529cf4
ops/external-evidence-request-packExternal Evidence Request Pack
ops/external-evidence-request-pack.md
10/20/2018, 1:46:40 AM64d89c9ef0410
ops/go-live-checklistGo-Live & Evidence-Pipeline Checklist
ops/go-live-checklist.md
10/20/2018, 1:46:40 AM6621cddad10fb
ops/k6-slok6 SLO Load Test (SOTA §20.4)
ops/k6-slo.md
10/20/2018, 1:46:40 AM4328b5b3163d4
ops/kpi-evidenceSOTA §26 KPI Evidence Input
ops/kpi-evidence.md
10/20/2018, 1:46:40 AM7bc46be9b160e
ops/launch-reviewLaunch Review Packet
ops/launch-review.md
10/20/2018, 1:46:40 AM51d414c314ee3
ops/managed-linked-art-pilot-runbookManaged Linked Art Pilot Runbook
ops/managed-linked-art-pilot-runbook.md
10/20/2018, 1:46:40 AM15b2e939be7a87
ops/otel-localLocal OpenTelemetry Wiring (Tempo / Jaeger)
ops/otel-local.md
10/20/2018, 1:46:40 AM51ebbc3b33f92
ops/outbox-projectorTransactional Outbox Projector (Postgres -> Solr/GraphDB)
ops/outbox-projector.md
10/20/2018, 1:46:40 AM6e6c332598258
ops/procurement-readiness-packetProcurement Readiness Packet
ops/procurement-readiness-packet.md
10/20/2018, 1:46:40 AM9c5685e82cca7
ops/product-constraintsProduct Constraints Gate
ops/product-constraints.md
10/20/2018, 1:46:40 AM2471d6d54d4e3
ops/reconciliation-serviceReconciliation Service (C2)
ops/reconciliation-service.md
10/20/2018, 1:46:40 AM605162c313ea9
ops/review-goalsReview Goals Audit
ops/review-goals.md
10/20/2018, 1:46:40 AM3cc1459601a26
ops/search-graph-provisioningSolr 9 + GraphDB Provisioning
ops/search-graph-provisioning.md
10/20/2018, 1:46:40 AM6fc1b15279a84
ops/security-dr-drillPen Test Baseline + DR Drill Runbook
ops/security-dr-drill.md
10/20/2018, 1:46:40 AM3a766ef3e2afc
progress/2026-05-31/era-c-readiness-snapshotEra C Readiness Snapshot (May 31, 2026)
progress/2026-05-31/era-c-readiness-snapshot.md
10/20/2018, 1:46:40 AM39672614ceb53
progress/era-historyMeta Museum — Era Delivery History
progress/era-history.md
10/20/2018, 1:46:40 AM4776bd307557c2
providers/harvard-art-museumsHarvard Art Museums API Integration Plan
providers/harvard-art-museums.md
10/20/2018, 1:46:40 AM11fa8b980154f5
providers/louvre-collections-jsonLouvre Collections JSON Integration Plan
providers/louvre-collections-json.md
10/20/2018, 1:46:40 AM11775f91a8d813
providers/moma-open-dataMoMA Open Data Snapshot
providers/moma-open-data.md
10/20/2018, 1:46:40 AM3bcdd2d8a3e6b
providers/museumsvictoria-collections-apiMuseums Victoria Collections API Integration
providers/museumsvictoria-collections-api.md
10/20/2018, 1:46:40 AM7a5408e229cdc
providers/nga-open-dataNational Gallery of Art (NGA) Open Data Integration Plan
providers/nga-open-data.md
10/20/2018, 1:46:40 AM1151c4807c8de0
providers/princeton-art-museumPrinceton University Art Museum API Integration Plan
providers/princeton-art-museum.md
10/20/2018, 1:46:40 AM11c8823f65ee41
providers/rkd-knowledge-graphRKD Knowledge Graph Integration Plan
providers/rkd-knowledge-graph.md
10/20/2018, 1:46:40 AM162b4b42f2ad42
providers/smithsonian-open-accessSmithsonian Open Access Integration Plan
providers/smithsonian-open-access.md
10/20/2018, 1:46:40 AM12db1ffa4cab02
providers/vanda-collections-apiVictoria and Albert Museum (V&A) Collections API Integration Plan
providers/vanda-collections-api.md
10/20/2018, 1:46:40 AM11755d93972233
qualityQuality & Performance
quality.md
10/20/2018, 1:46:40 AM6174add040960
reconciliation/exhibition-literature-reconciliationExhibition + Literature Reconciliation (B6.1)
reconciliation/exhibition-literature-reconciliation.md
10/20/2018, 1:46:40 AM7054bcea75896
responsible-aiResponsible AI
responsible-ai.md
10/20/2018, 1:46:40 AM8f90006650821
risk-registerRisk Register
risk-register.md
10/20/2018, 1:46:40 AM471caef3f084e
roadmap-to-10Roadmap to 10/10
roadmap-to-10.md
7/11/2026, 12:00:00 AM80adbd67fa416
roadmapMeta Museum Roadmap
roadmap.md
7/7/2026, 12:00:00 AM18988d4c1562ff
rsi-wikiAI-RSI compounding wiki
rsi-wiki.md
10/20/2018, 1:46:40 AM8b64914fe6f20
wikibase-cloud-migration-checklistWikibase Cloud -> Self-Host Migration Checklist
wikibase-cloud-migration-checklist.md
10/20/2018, 1:46:40 AM12170657fcbf2b

    Current Document: Roadmap to 10/10

    Source updated 7/11/2026, 12:00:00 AM · SHA-256 0adbd67fa416 · 185 lines

    Canonical ID: roadmap-to-10

    JSON for this doc:/api/docs/content?path=roadmap-to-10.md

    Human link:/docs?doc=roadmap-to-10.md

    Canonical API endpoint:/api/docs/content?path=roadmap-to-10.md

    Sections (stable anchors):

    Roadmap to 10/10

    Last refreshed: 2026-07-11

    This file tracks the remaining work to make Meta Museum defensibly 10/10 for

    public production readiness, portfolio review, and Linked Art credibility. The

    source of truth is `pnpm review:goals:check`; this page explains the blocker

    lanes in human terms.

    Current Score Snapshot

    | Dimension | Current honest score | 10/10 condition |

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

    | Live public deploy readiness | 7.5/10 | `pnpm review:goals:check` passes with no local-refresh, deployment-environment, or real-world evidence blockers. |

    | Job portfolio project | 9.2/10 | Public story is concise, evidence is fresh, demo media is recorded and linked, and dependency/audit messaging is accurate. |

    | Linked Art implementation credibility | 9/10 | Local conformance stays green and production evidence proves the same behavior under live traffic. |

    | Repeatable SaaS readiness | 4.5/10 | At least one invoice-backed pilot proves onboarding, support load, KPI, retention, billing, and gross-margin evidence. |

    Current gate result:

    • `pnpm docs:stats:check` passes.
    • `pnpm review:goals:check` fails with `status: external-evidence-required`.
    • Local gate status is `passed`.
    • Strict 10/10 gate status is `failed`.
    • Remaining blockers after the latest strict review-goals audit: GitHub CI is green, the July 4 production preflight artifact passes `20/20`, the rotated Neon credential is active in the current Vercel production deployment, the refreshed production launch-evidence packet passes `8/9`, and launch review passes `7/8`. The Te Papa web-form outreach is recorded as sent on July 4, 2026 at 11:30 AM Pacific; MetaHistoryBook, Daily (`daily-metahistorybook-prod`), and Wikidata Explorer are now `3/3` real external ActivityStreams consumers; durable callback rows are restored in `storage/activity-subscriptions.json`, including MetaHistoryBook's signed production `204` callback proof. Strict production proof is still blocked by deployment, Era C, and real-world evidence: `0` local-refresh blockers, `4` deployment-environment blockers, and `19` real-world-evidence blockers for deployed Render service probes, pilots, support-load proof after real pilot activity, 30-day SLO/uptime, ActivityStreams `Delete` type coverage, KPI, retention, and gross-margin proof.
    • Blocked goals: launch readiness, Render service probes, managed pilot evidence, 30-day SLO/uptime, and ActivityStreams syndication.

    Latest strict handoff snapshot:

    • `23` production-proof blockers remain across `5` blocked goals.
    • `12` next actions remain, covering `11` distinct commands, `16` artifact targets, and `22` distinct evidence requirements.
    • Deployment-environment lane: `4` blockers, `4` next actions, `4` commands, `4` artifact targets.
    • Real-world-evidence lane: `19` blockers, `8` next actions, `8` commands, `13` artifact targets.

    Already 10/10-Caliber Foundation

    The old June 24 checklist is now foundation work, not the remaining blocker

    list. These tracks remain important and should stay guarded by tests and CI:

    • Reliable CI, generated stats, closeout checks, and documentation drift tests.
    • 1,100+ `node:test` coverage with strict TypeScript and production build checks.
    • Linked Art `Right` entities, SHACL gate, generated conformance matrix, faceted search, ActivityStreams 2.0 shape, `HEAD`/`OPTIONS`, CORS, and HTTP/2.
    • Public trust smoke, crawler preview, a11y, explore smoke, launch review, and preflight artifact machinery.
    • Vercel + Neon + Render topology, secured cron drains, and worker visibility.
    • Executable AI agent safety controls for editor-gated agent/model routes, anonymous paid-model downgrade, cite-or-refuse gates, human approval defaults, and opt-in AG2 bridge drills.

    Track A - Clear Deployment-Environment Blockers

    Goal: make launch readiness green before relying on long-running evidence.

    `pnpm launch:preflight:production`.

    `pnpm launch:evidence:production`.

    `pnpm launch:preflight:production`.

    `pnpm k6:slo`.

    `pnpm launch:review:production`.

    • [x] Re-run production preflight from a production-env shell until it passes:
    • [x] Ensure current production evidence resolves storage as Postgres, not local file mode.
    • [x] Ensure the current `DATABASE_URL` evidence shows `sslmode=verify-full`.
    • [x] Remove production test-role override evidence; keep researcher smoke tokens in staging only.
    • [x] Run a Postgres restore rehearsal that satisfies the DR drill check in the same evidence packet.
    • [x] Verify Render validation/reconciliation service health probes through public HTTPS URLs in the current packet.
    • [x] Refresh production launch evidence for preflight, security/DR, public trust, crawler preview, a11y, public explore smoke, k6, Era C, and launch review:
    • [x] Refresh production preflight after the secret-rotation/history selected checks landed:
    • [x] Add explicit-env production preflight mode with `METAMUSEUM_SKIP_ENV_FILES=1` so local `.env*` staging secrets cannot contaminate the launch artifact.
    • [x] Keep strict `/api/validate` closed by default in production unless `METAMUSEUM_STRICT_VALIDATION_PUBLIC=1` is set; when public strict validation is enabled, preflight still requires paid/no-sleep Render capacity.
    • [x] Collect an initial passing deployed k6 SLO sample and trend evidence; the standalone deployed run passed cached record hit (`66.30ms` p95), cold record read (`267.60ms` p95), keyword facet search (`63.17ms` p95), SPARQL (`252.22ms` p95), and IIIF tile (`75.88ms` p95) thresholds. Shipped mitigations: anonymous public record-detail requests skip auth/session scope lookup, public unscoped record-detail and search hits emit short-lived shared cache headers while tenant/org reads remain `no-store`, cached reads use an id index, Postgres-backed cache-miss detail reads use direct JSONB by-id lookup instead of loading the full managed records document, read-only direct lookups skip storage schema setup, direct by-id misses populate a per-id in-process cache, deployed reads use an indexed Postgres JSON-array item projection (`storage_json_array_items`), hot record-by-id reads skip the `storage_documents` freshness join, transactional record writes refresh that projection, direct managed-record reads skip redundant runtime migration, and indexed reads skip normal-path projection-table DDL checks while still self-healing on a missing-table error.
    • [x] Deploy and prove the current SLO stabilization candidate: anonymous public record-detail responses now use a Next shared data-cache wrapper keyed by record ID and tag-invalidated on public writes, then continue to schedule a deduped background record-cache warm from the indexed Postgres array projection. Only the default public records file gets a 120-second in-process cache TTL, scoped/org caches keep the 30-second default, and public file-extension assets such as `/icon.jpg` skip Proxy so Vercel can serve them as plain static CDN assets without locale/auth cookie work. Multiple post-deploy k6 repeats passed every threshold; the newest sample measured cached record hit (`78.03ms` p95), cold record read (`169.38ms`), keyword facet search (`80.20ms`), SPARQL (`245.08ms`), and IIIF/static (`61.64ms`), all with 0% scenario failures.
    • [x] Deploy and re-prove live public record reachability after the rotated Vercel `DATABASE_URL`; production preflight now records `/api/records` as `200`, while focused tests continue to keep the unscoped public seed-read fallback fail-open only for public reads and scoped org/tenant storage fail-closed.
    • [x] Re-run launch review after live records, k6, a11y, public-trust, and Era C evidence are current:

    Latest evidence, 2026-07-04:

    • `pnpm storage:export:postgres` exported the managed document set into Postgres.
    • The July 4 explicit-env `pnpm launch:preflight:production` artifact passes `20/20`. It proves Postgres storage shape, `sslmode=verify-full`, live Neon authentication, active Vercel deployment freshness after the recorded secret rotation, auth route reachability, public base/social URL parity, public-read reachability, validation and reconciliation Render `/health` probes, no production smoke override token, IIIF tile reachability, selected `security.secretRotation` plus `security.secretHistory` rows, and operator-only strict-validation posture. Strict `/api/validate` remains closed by default in production unless `METAMUSEUM_STRICT_VALIDATION_PUBLIC=1` is set; if public strict validation is enabled, preflight again requires paid/no-sleep capacity and a within-budget health probe.
    • The latest full `pnpm launch:evidence:production` artifact is refreshed and passes `8/9`: hardening security/DR, deployment preflight, public-trust smoke, crawler preview, a11y, explore matrix, deployed k6 SLO, and Era C artifact generation all pass. The only failing step is final launch review because Era C policy thresholds are still not met.
    • Local and production mitigation are both represented now: unscoped `loadSeed: true` record reads return bundled seed data if managed storage cannot persist the seed, scoped org/tenant reads still reject on storage failure, anonymous public reads bypass Auth.js and pilot-ledger lookups unless scoped context is present, focused route/service tests cover those branches, and the July 4 production preflight proves the active live `/api/records` path returns `200`.
    • `pnpm launch:review:production` is refreshed and passes `7/8`. Deployment preflight, hardening audit, DR drill, public trust, crawler preview, a11y, and explore smoke rows pass; the single remaining launch-review failure is `evidence.eraCExitGate`.

    Done when: the launch-readiness goal no longer appears in

    `blockedByExternalEvidenceGoals`, and the Era C row has enough real production

    evidence for deployment-environment blocker count `0`.

    Track B - Prove 30-Day Reliability and SLO Evidence

    Goal: convert "good demo" into measured public production reliability.

    `pnpm monitoring:telemetry:public`, `pnpm era-c:exit-gate:public`, and `pnpm longterm:evidence:public`; the long-term public command now emits both runway and maintenance artifacts.

    • [x] Keep scheduled public-read probes running against `https://www.metamuseum.org`: the nightly Era C evidence workflow defaults `METAMUSEUM_PUBLIC_READ_BASE_URL` to the production public URL and runs `pnpm era-c:exit-gate:public`, which requires probe-backed uptime evidence before writing the Era C packet.
    • [ ] Retain 30 distinct days of uptime evidence with at least 99.9% availability.
    • [ ] Retain 30 complete deployed SLO samples.
    • [x] Persist compact nightly evidence inputs back to `main` so k6 trend and public-read uptime history accumulate across scheduled workflow runs instead of living only as transient GitHub Actions artifacts.
    • [ ] Retain or replace enough samples so the 30-day SLO window contains complete passing five-scenario evidence; the latest public runway reports `20/30` retained deployed SLO samples across `7/30` observed UTC days, with `13/30` passing samples across `6/30` passing days and `7` failed/incomplete retained rows. SLO trend intake now reports `23` raw timestamped rows, `20` inside the current report window, and `3` older than the window. Daily sample-depth evidence is ready no earlier than `2026-07-29T09:15:00.000Z` if every future sample passes. Collect 30 complete passing deployed k6 SLO samples across 30 distinct UTC days.
    • [x] Carry maintenance precision into strict review-goals handoffs: `pnpm review:goals:local` now reports retained-vs-passing SLO samples, failed/incomplete retained rows, distinct SLO and uptime days, uptime availability, and missing ActivityStreams activity types while preserving the local-green/strict-red boundary.
    • [x] Add a manual public telemetry command that bypasses local `.env.local` base URLs: `pnpm monitoring:telemetry:public` runs `scripts/monitoring-telemetry-sync.ts --probe-base-url=https://www.metamuseum.org --require-probe`, and `pnpm era-c:exit-gate:public` uses that snapshot before writing the Era C artifact.
    • [x] Add read-only long-window maintenance diagnostics: `pnpm longterm:evidence:maintenance` writes `artifacts/long-term-evidence/long-term-evidence-maintenance-latest.md`/`.json` with failed SLO samples, failed uptime probe paths, grouped repair-queue rows by SLO metric and uptime path, passing distinct days, per-failed-sample age-out dates, earliest failure-free window date, remaining external consumer count, and acceptance rows for SLO depth, SLO failure-free status, uptime depth, uptime availability, ActivityStreams consumer depth, activity-type coverage, and strict long-term packet refresh.
    • [x] Make failed-sample aging and SLO trend intake explicit in the runway: the July 5 maintenance artifact now shows the retained failed SLO/uptime samples aging out no later than `2026-07-28T20:28:03.851Z`, with SLO trend rows split into raw, timestamped, inside-window, older-than-window, and newer-than-report counts. Daily sample-depth evidence is ready no earlier than `2026-07-29T09:15:00.000Z` if every future sample passes and external adoption evidence is satisfied.
    • [x] Publish the maintenance report in nightly Era C evidence automation so the repair view is committed and uploaded with the rolling runway instead of relying on local-only diagnostics.
    • [ ] Retain a clean public-read uptime window; the latest maintenance report counts `111/114` passing public-read checks across `8/30` observed UTC days, with `0.9737` availability against the `0.999` target.
    • [x] Add operator-safe SOTA §26 KPI evidence export commands: `pnpm monitoring:kpi-evidence` writes `monitoring/kpi-evidence.json` from current record-enrichment and reconciliation distribution counts, while `pnpm monitoring:kpi-evidence:production` requires Postgres storage before writing production-labeled source metadata. Both accept real reviewed/accepted auto-link counts only when supplied together and require `--reviewed-precision-source` before reviewed precision can count. The export now counts unique recognized authority references for the enrichment KPI, carries acceptance rows for production record export, enrichment denominator, production reconciliation export, reviewed precision counts/source, and Era C refresh readiness, a capped `diagnostics.evidenceNeeds.enrichment.sampleRecordGaps[]` repair sample for under-enriched record IDs with existing recognized authority URIs and suggested Linked Art fields, `diagnostics.capturePlan.rows[]` for the production record-enrichment, reconciliation distribution, reviewed precision, and strict-refresh fields/operators must capture, and `diagnostics.handoffSummary` with ready-row counts, metric blocker count, source-shape next evidence, and `nextMetricCommand`/`nextMetricEvidenceNeeded` for the first KPI threshold blocker.
    • [ ] Export real production KPI evidence for SOTA section 26 thresholds with `pnpm monitoring:kpi-evidence:production`, then rerun telemetry and Era C gates.
    • [ ] Re-run:

    Done when: 30-day SLO/uptime and Era C exit-gate rows are green, with no

    selected `collecting`, `blocked`, `missing`, or `fail` checks.

    Track C - Prove ActivityStreams Syndication

    Goal: show that the feed is not merely conformant, but adopted externally.

    Use `docs/ops/external-evidence-request-pack.md`(ops/external-evidence-request-pack.md) for the partner request, declared consumer check, durable subscription payload, and verification commands.

    `pnpm activity:subscription:verify` for each real callback proof, then `pnpm activity:syndication:evidence`.

    • [ ] Onboard 3 real external consumers for `/api/activity`.
    • [x] Generate a partner-specific ActivityStreams onboarding handoff with `pnpm activity:partner-pack`; generated packs stay honest-blocked until real partner-owned IDs complete the feed-read, activity-type coverage, durable-subscription, callback-verification, and strict-gate-refresh rows. The no-ID pack carries three placeholder outreach slots, copy-ready partner outreach text, partner response templates, and structured per-consumer acceptance rows while keeping placeholder rows as `pending-consumer-id` and `consumerIds: []`, so they cannot count as external adoption evidence.
    • [x] Add community outreach capture for broad Linked Art/Slack asks: `pnpm activity:community-outreach` records channel, message reference, posted timestamp, and owner while keeping `strictEvidence: false` until real partner-owned consumer IDs, feed-read telemetry, and callback verification arrive; `/readiness` surfaces those acceptance rows as outreach context without counting them as strict adoption proof.
    • [x] Add ActivityStreams adoption controls: `src/services/activitystreams-adoption-controls.ts` and `tests/services/activitystreams-adoption-controls.test.ts` keep `/api/activity`, `/api/activity/collection`, and `/api/activity/page/{page}` feed-read telemetry, partner-pack rows, durable callback verification, review-goals selected checks, and placeholder/derived/local evidence rejection executable while strict adoption remains blocked. The latest tracked syndication artifact records `metahistorybook-harvester-prod`, `daily-metahistorybook-prod`, and `wikidataexplorer-metamuseum-prod` as `3/3` real external consumers, observed `Create` and `Update`, missing `Delete`, and restored `3/3` durable callback rows.
    • [ ] Ensure each consumer has a declared external ID and recent read evidence.
    • [ ] Register durable HTTPS callback subscriptions for those same consumers.
    • [x] Add an operator-safe callback verification writer: `pnpm activity:subscription:verify` records recent 2xx callback evidence into `storage/activity-subscriptions.json` without hand-editing and rejects placeholder evidence refs.
    • [x] Initialize the durable subscription ledger in the syndication evidence command: `pnpm activity:syndication:evidence` creates an empty `storage/activity-subscriptions.json` when absent and reports `subscription ledger: 0 row(s)`, keeping operator state explicit without counting empty rows as proof.
    • [x] Restore recent 2xx callback verification evidence for each accepted subscription; Daily, Wikidata Explorer, and MetaHistoryBook have accepted durable callback rows again in `storage/activity-subscriptions.json`.
    • [x] Guard the durable callback ledger: `pnpm activity:subscriptions:guard` now validates the three accepted partner callback subscriptions, public HTTPS callback URLs, `Create`/`Update`/`Delete` event coverage, recent 2xx verification, and real callback proof artifact refs; it runs as part of `pnpm activity:syndication:evidence` and in the nightly Era C workflow.
    • [x] Record MetaHistoryBook's post-callback alignment: they rechecked `type=Update` and `type=Delete` as explicit zeroes, MetaMuseum independently observed `totalItems: 0` for both at `2026-07-05T17:21:34Z`, and their reader is ready to re-read once real reviewed update and upstream `404`/`410` tombstone rows deploy.
    • [x] Add feed-read activity-type telemetry and evidence checks: `/api/activity` records each declared consumer's observed `Create`/`Update`/`Delete` types, and `pnpm activity:syndication:evidence` blocks when type coverage is incomplete.
    • [x] Surface observed/missing activity-type coverage in `pnpm activity:adoption:matrix`, `pnpm longterm:evidence`, and `pnpm longterm:evidence:maintenance` so long-window reports cannot hide missing `Create`/`Update`/`Delete` evidence behind consumer counts.
    • [x] Add honest source-event paths for missing activity types: existing-record POSTs now audit as `record.update` so reviewed metadata corrections can emit `Update`, and `pnpm activity:tombstone:evidence` writes `Delete` tombstone rows only with real upstream `404`/`410` evidence refs.
    • [ ] Collect real partner feed-read evidence covering `Create`, `Update`, and `Delete` activity types.
    • [ ] Re-run:

    Done when: both selected rows pass: `activity.declaredConsumers` and

    `activity.durableSubscriptions`, with the durable row backed by accepted

    subscriptions that include verified callback evidence.

    Track D - Prove Managed Pilot Evidence

    Goal: make the SaaS/pilot claim real, not just well scaffolded.

    Use `docs/ops/external-evidence-request-pack.md`(ops/external-evidence-request-pack.md) for the first-outreach ask, evidence commands, and monthly packet checklist.

    `pnpm pilot:buyer-pack`, `pnpm pilot:outreach`, `pnpm pilot:activation`, `pnpm pilot:support`, `pnpm pilot:kpi`, and `pnpm pilot:evidence`.

    • [x] Send and record first outreach for at least one named account: Te Papa web-form outreach is recorded at `2026-07-04T18:30:00.000Z` with `1` sent and `0` replies; this is outreach evidence only, not paid-pilot, invoice, activation, KPI, retention, or gross-margin proof.
    • [x] Generate a buyer-specific pilot capture handoff with `pnpm pilot:buyer-pack`; the current latest pack is honest-blocked until real account, tenant, organization, owner, and invoice reference fields are supplied, and every run now leaves a timestamped `artifacts/pilot-evidence/runs/pilot-buyer-onboarding-pack-<timestamp>.json` audit copy. Even the no-buyer pack carries copy-ready buyer outreach text, a buyer response template, and `pending-buyer-evidence` acceptance rows for outreach, invoice-backed entitlement, activation, support, required KPIs, retention signal, gross-margin proof, and strict packet refresh; the support-load row now verifies through `pnpm pilot:support -- --tenant <tenant-id> --summary` so support evidence is not hidden behind the broader packet command. These rows are capture tasks, not paid-pilot proof.
    • [x] Add commercial readiness controls: `src/services/commercial-readiness-controls.ts` and `tests/services/commercial-readiness-controls.test.ts` keep the pre-revenue claim boundary, buyer-pack ledger, invoice entitlement guard, monthly KPI/retention/margin packet, and manual-vs-subscription packaging gate executable while real paid-pilot proof remains absent.
    • [ ] Record an active manual pilot entitlement with a real invoice reference.
    • [ ] Execute one real pilot dataset through the runbook.
    • [ ] Record activation milestones with dated tenant-specific evidence.
    • [ ] Record support load and response evidence.
    • [ ] Record monthly KPI evidence, including first-value days, imported record count, customer view count, support minutes, critical validation count, retention signal, and gross-margin percentage.
    • [ ] Re-run:

    Done when: paid-pilot evidence no longer appears as blocked, and `/pilot`

    can truthfully show real paid-pilot progress instead of `0` paid pilots.

    Track E - Portfolio Polish

    Goal: make a reviewer understand the project quickly without reading the whole

    evidence system.

    • [x] Record and link the 60-90 second product walkthrough from `docs/demo-script.md`; current no-narration public-site recording lives at `public/media/metamuseum-product-walkthrough.webm`.
    • [x] Add a short "strict readiness" summary near the README top that points to this file and `docs/ops/review-goals.md`.
    • [x] Save a concise standalone project overview/architecture HTML page for reviewers at `docs/metamuseum-project-overview.html`.
    • [x] Keep dependency language precise: the full moderate audit is currently clean after resolving the Storybook transitive `uuid` path to `uuid@11.1.1`; keep `pnpm audit --audit-level moderate` in launch closeouts.
    • [x] Prune long review-goals schema-version prose out of the README and point fast reviewers to `docs/ops/review-goals.md` for the detailed artifact contract.
    • [x] Add a formal GA4 consent-posture audit: `pnpm privacy:consent:check` writes `artifacts/privacy/analytics-consent-latest.json` and verifies denied-by-default Consent Mode v2, persisted banner controls, `/privacy` disclosure, root tag wiring, and the no-ad-personalization expansion guard.
    • [x] Keep public `/docs` metadata believable on Vercel: `/api/docs/manifest` now separates response `generatedAt` from source `sourceUpdatedAt` and `sourceUpdatedDoc` checksum metadata, while `/api/docs/content` remains `no-store` with per-document timestamps and fingerprints.
    • [x] Add portfolio product polish controls: `src/services/portfolio-product-polish-controls.ts` and `tests/services/portfolio-product-polish-controls.test.ts` keep `/projects`, the walkthrough video, overview HTML, public docs freshness copy, shared navigation, and strict-readiness boundary from drifting.

    Done when: a hiring reviewer can see the live demo, core architecture, evidence

    discipline, and remaining production blockers in under five minutes.

    Required Final Gate

    The final 10/10 claim is allowed only when:

    
    pnpm review:goals:check
    

    returns `strict 10/10 gate status: passed`.

    Until then, the honest status is:

    Live and product-review strong, with local gates green, but strict public
    production 10/10 still blocked by launch evidence/review and Era C handoff
    refreshes, long-window SLO/uptime evidence, and real-world ActivityStreams,
    KPI, paid-pilot, retention, and gross-margin proof.

    AI/agent quick endpoints