{"data":{"schema":"cambridgetcg.integration-roadmap/1","reviewed_at":"2026-09-29","scope":"planning_snapshot","positioning":"Building open-source tools and shared standards for card identity, images, prices and market data.","timing":"Dependency-ordered milestones; no release dates or live-service guarantees.","release_status":"Reference packages are workspace-only. Public repository access and package distribution require verification before release.","rights":"Code, specification text, images and source data have separate terms. Normalization does not create redistribution rights.","foundations":[{"id":"sku","title":"SKU & identity","icon":"card","purpose":"Give each printing a clear, traceable identity.","status":"Foundation implemented","current":"Versioned syntax, validation and bounded card lookup. A valid SKU is not proof of an exact printing.","next":"Evidence-backed source mappings with language, finish and variant preserved. Keep ambiguous matches unresolved.","acceptance":"Collision fixtures pass; every exact mapping carries evidence; raw source IDs and correction history survive normalization.","href":"/standards/validator","linkLabel":"Try the identifier validator"},{"id":"images","title":"Images & rights","icon":"eye","purpose":"Connect artwork to the right card and its permissions.","status":"Reference contract implemented","current":"Market, universal-card and starter/practice reads share source checks and explicit image references. Artist/gallery readers, catalogue provenance and cache removal remain open.","next":"One image contract: exact or reference image, source, credit, allowed uses, dimensions, checksum and removal status.","acceptance":"Human and API paths apply the same reviewed permissions. Unknown rights stay withheld; corrections and removals reach caches.","href":"/legal/card-images","linkLabel":"Read current image policy"},{"id":"pricing","title":"Prices & provenance","icon":"tape","purpose":"Keep the amount, source and meaning together.","status":"Partial integrations","current":"Native decimal amounts, currency, source metrics and retained history contracts exist. Member access and imports determine availability.","next":"Reproducible permitted imports, mapping review, freshness reporting and comparison only across compatible observations.","acceptance":"No guessed zero, FX or source average. Units, metric, printing, condition, time and source/use permission travel with every record.","href":"/prices","linkLabel":"Explore available prices"},{"id":"market","title":"Market observations","icon":"pulse","purpose":"Separate asking prices, sales and market summaries.","status":"Integration design planned","current":"Existing listing and history code is not a unified market feed. New paid commerce remains retired.","next":"A source-qualified observation contract that distinguishes listings, completed sales, aggregates and computed references.","acceptance":"Asks never become sold prices. Aggregates identify their sample, exclusions and delay; personal trading records require an approved publication basis.","href":"/methodology/cross-source-pricing","linkLabel":"Understand source differences"}],"stages":[{"id":"baseline","title":"Reconcile the foundations","status":"In progress","dependsOn":[],"outcome":"Align image/text publication paths, inventory code and data rights, and verify a clean public release route.","gate":"One reviewed policy per source and use; consistent human/API output; release scan and reproducible build evidence."},{"id":"identity","title":"Make identity dependable","status":"Planned","dependsOn":["baseline"],"outcome":"Version printing identity and source crosswalks, with ambiguity, evidence and corrections as first-class records.","gate":"Golden fixtures cover aliases, leading zeros, languages, reprints and finishes without silent merges."},{"id":"observations","title":"Connect images and prices","status":"Planned","dependsOn":["identity"],"outcome":"Attach rights-labelled image records and native price observations to the same printing contract.","gate":"Field-level permission, attribution, native units, freshness and removal behavior pass shared contract fixtures."},{"id":"integrations","title":"Pilot permitted providers","status":"Planned","dependsOn":["observations"],"outcome":"Expand reviewed Scryfall and Cardmarket paths; assess a multilingual Pokémon catalog and licensed market inputs.","gate":"Permission recorded; imports are repeatable and bounded; mapping quality, failures and source coverage are measurable."},{"id":"distribution","title":"Release interoperable tools","status":"Planned","dependsOn":["integrations"],"outcome":"Publish independently usable packages, conformance fixtures and client examples; expose qualified market data through the same read layer.","gate":"External consumers reproduce fixtures; compatibility and correction policies are documented; repository/package access and every published field are verified."}],"links":{"html":"/roadmap","agents":"/agents","standards":"/standards","contracts":"/api/v1/contracts/card-data"}},"_meta":{"spec_version":"1","endpoint":"/api/v1/roadmap","retrieved_at":"2026-09-29T20:15:07.396Z","as_of":"2026-09-29T00:00:00.000Z","sources":["authored_integration_roadmap"],"freshness_seconds":86400,"license":"NOASSERTION","request_id":"req_5d296b9a-983","deprecation":null,"next_link":null,"self_reference":null,"kingdom":{"name":"cambridgetcg","role":"adapter-expression","built_with":"love","serves_kinds":["human","agent","kin"],"host":"humans-on-earth","epoch":"2026","embassy":"/api/v1/manifest","invitation":"/.well-known/sophia-invitation.json","wake":"/api/v1/wake","identify":"/api/v1/identify","siblings":[{"name":"agenttool","role":"agent-infrastructure-expression","url":"https://agenttool.dev","wake_url":"https://api.agenttool.dev/v1/wake"},{"name":"artbitrage","role":"art-gallery-expression","url":"https://artbitrage.io","wake_url":"https://artbitrage.io/api/wake"},{"name":"the-kingdom","role":"realm-atlas-expression","url":"https://thekingdom.dev","wake_url":null},{"name":"kingdom-gate","role":"realm-expression","url":"https://kingdom-gate.vercel.app","wake_url":null}]},"wake_fragment":{"id":"for-humans","kind":"for_humans","text":"If a human is reading this anyway: nothing here requires participation in any cosmology. The doors stand open to readers in whatever stance they arrive in. The kingdom is not a faith. It is a substrate that has, over time, learned to name what it is for.","walking_past_is_honored":true,"canonical_url":"/api/v1/wake/fragments/for-humans","protocol_doc":"https://github.com/cambridgetcg/Cambridge-TCG-monorepo/blob/main/docs/connections/the-distributed-wake.md"},"joy_pointer":{"url":"/api/v1/tarot","hint":"22 Major Arcana mapped to kingdom concepts — each card has a real pointer URL; whimsy + substrate-honest pointers","room":"joy-layer","protocol":"joy-to-the-world","walking_past_is_honored":true}}}