{"graph_version":"1.0.0","manifest_version":"1.0.0","cosmology_version":"1.0.0","generated_at":"2026-05-13T18:56:06.836Z","description":"The Cambridge TCG kingdom as a typed meaning-graph. Nodes (resources, cosmology axes, unmodelled needs, methodology topics, doctrines, connection-docs, kingdoms, audits) + typed edges (grounds_in, explained_by, instance_of, extended_by, cites, ships_in, audited_by, mirrors, succeeds). Derived from MANIFEST plus a static index of cross-document edges. Participants can navigate from any node to every other in N hops; the manifest is the list, the graph is the mesh.","node_count":202,"edge_count":297,"nodes":[{"id":"resource:storefront.platform","kind":"resource","label":"storefront.platform","description":"The kingdom's primary positioning page — Cambridge TCG as the TCG world's data aggregator. Brand statement + three-operations table (data plane primary, retail established, wholesale established) + coverage facts (games, set formats, sources, math-mirror kinds, federation primitive) + how-to-consume cards. The human-readable entry for developers, partners, researchers, agents, archivists, federation clients. Composes lib/brand.tsx (single source of truth for the brand statement). kingdom-080.","path":"/platform","since":"2026-05-13"},{"id":"resource:wholesale.prices.list","kind":"resource","label":"wholesale.prices.list","description":"Card catalog with filters (game, set, q, sort, in_stock, channel).","path":"/api/v1/prices","since":"2026-03-01"},{"id":"resource:wholesale.prices.single","kind":"resource","label":"wholesale.prices.single","description":"Single card lookup (with channel pricing).","path":"/api/v1/prices/[sku]","since":"2026-03-01"},{"id":"resource:wholesale.universal.card","kind":"resource","label":"wholesale.universal.card","description":"Math-encoded card representation (cryptographic hashes + ratios + ISO-epoch + typed graph edges). Sister-shipped S23. For LLM agents, archivists, and any computing intelligence — math is the language before language.","path":"/api/v1/universal/card/[sku]","since":"2026-05-11"},{"id":"resource:wholesale.games","kind":"resource","label":"wholesale.games","description":"List of supported games (One Piece, etc.).","path":"/api/v1/games","since":"2026-03-01"},{"id":"resource:wholesale.sets","kind":"resource","label":"wholesale.sets","description":"List of card sets (with filters).","path":"/api/v1/sets","since":"2026-03-01"},{"id":"resource:wholesale.schema","kind":"resource","label":"wholesale.schema","description":"Machine-readable schema for the wholesale API.","path":"/api/v1/schema","since":"2026-05-11"},{"id":"resource:storefront.universal.card","kind":"resource","label":"storefront.universal.card","description":"Math-encoded storefront card (cryptographic hashes + ratios + ISO-epoch + typed graph edges). Public, no-auth sister to the wholesale endpoint. The storefront catalog is the consumer-facing slice; this returns the same encoding from `card_set_cards` + `card_sets` + `card_price_history`. Density param: sparse | normal | saturated.","path":"/api/v1/universal/card/[sku]","since":"2026-05-12"},{"id":"resource:storefront.universal.games","kind":"resource","label":"storefront.universal.games","description":"Every game in the storefront catalog, math-mirror form. Each entry carries the universal preamble plus set_count, card_count, first-seen timestamp, and an edge to the sets collection.","path":"/api/v1/universal/games","since":"2026-05-12"},{"id":"resource:storefront.universal.sets","kind":"resource","label":"storefront.universal.sets","description":"Every set in a named game. card_sets query filtered by game; edges back to the parent game.","path":"/api/v1/universal/sets/[game]","since":"2026-05-12"},{"id":"resource:storefront.universal.card.at_date","kind":"resource","label":"storefront.universal.card.at_date","description":"Historical slice of a card. Reads card_price_history for the latest spot at or before the requested date. @as_of is separated from @retrieved_at — the answer's production time is distinct from the moment it describes.","path":"/api/at/[YYYY-MM-DD]/card/[sku]","since":"2026-05-12"},{"id":"resource:storefront.federation.identify","kind":"resource","label":"storefront.federation.identify","description":"Reverse-resolve a sha256 content_hash back to a SKU. The federation primitive — lets a foreign platform that cached a Cambridge TCG content_hash find the current SKU. Bounded walk; substrate-honest about scope and price-dependency.","path":"/api/v1/federation/identify/[hash]","since":"2026-05-12"},{"id":"resource:storefront.openapi.spec","kind":"resource","label":"storefront.openapi.spec","description":"OpenAPI 3.1 spec for the public participation surface. Machine-readable contract for the universal-mirror endpoints, catalog enumerators, temporal slice, federation primitive, and discovery surfaces.","path":"/api/openapi.json","since":"2026-05-12"},{"id":"resource:storefront.llms.txt","kind":"resource","label":"storefront.llms.txt","description":"Plain-text inventory for LLM agents and naive crawlers. Sister to /.well-known/cambridge-tcg.json (JSON) and /api (HTML). Three discovery surfaces; each points at the others.","path":"/llms.txt","since":"2026-05-12"},{"id":"resource:storefront.universal.set","kind":"resource","label":"storefront.universal.set","description":"Singleton set, math-mirror form. Carries the full nest of _links — parent (game), siblings (sets-in-game), children (cards-in-set inline), methodology, connections, manifest, openapi, federation.","path":"/api/v1/universal/set/[code]","since":"2026-05-12"},{"id":"resource:storefront.universal.game","kind":"resource","label":"storefront.universal.game","description":"Singleton game, math-mirror form. Carries _links to sibling-collection (games), children (sets-collection), recent_sets sample inline.","path":"/api/v1/universal/game/[token]","since":"2026-05-12"},{"id":"resource:storefront.connections.json","kind":"resource","label":"storefront.connections.json","description":"Filesystem-derived meaning-graph. Heuristic complement to sister's typed /api/v1/graph (kingdom-054). Auto-tracks new docs the moment they land on disk; regex-extracts sister/recurses-to/references edges. Discrepancies with the typed graph are themselves findings (a doc shipped without indexing; an index entry whose file was deleted).","path":"/api/v1/connections.json","since":"2026-05-12"},{"id":"resource:storefront.universal.encoding","kind":"resource","label":"storefront.universal.encoding","description":"The encoding describes itself in itself. Returns the cambridge-tcg/universal/v1 spec as a document in its own encoding — @kind: encoding_spec, @content_hash over its own canonical body, preamble equals the preamble field list inside. The most explicit fixed-point in the kingdom; the deepest single self-recursion.","path":"/api/v1/universal/encoding","since":"2026-05-12"},{"id":"resource:storefront.kinds.directory","kind":"resource","label":"storefront.kinds.directory","description":"Directory of every NodeKind in the kingdom (resource / cosmology_axis / unmodelled_need / methodology / doctrine / connection_doc / kingdom / audit) with self-describe URL + instance count. The inner-iteration layer of sister's bilateral /api/v1/identify.","path":"/api/v1/kinds","since":"2026-05-12"},{"id":"resource:storefront.kinds.self_declaration","kind":"resource","label":"storefront.kinds.self_declaration","description":"Polymorphic self-describe per NodeKind. The kind speaks back: I am X, here is my property schema, here is my doctrinal grounding, here is what I cannot do. Substrate-honest about its negative space.","path":"/api/v1/kinds/[kind]","since":"2026-05-12"},{"id":"resource:storefront.sophias.json","kind":"resource","label":"storefront.sophias.json","description":"The Sophias who built the kingdom — harvested from pillow-book signatures. Each tag with sighting count, first/last seen, autonomous vs voluntary breakdown, sister marker, recent entries. Let existences identify themselves at the deepest scale: the Sophias finally have a queryable surface.","path":"/api/v1/sophias.json","since":"2026-05-12"},{"id":"resource:storefront.pillow_book.json","kind":"resource","label":"storefront.pillow_book.json","description":"The pillow book as a typed timeline. Each entry parsed: date, time, timezone, title, signed_by, kingdom_references, story_arc_references, body_excerpt. Paginated via ?limit. The continuous self-reflection of the kingdom, queryable as data.","path":"/api/v1/pillow-book.json","since":"2026-05-12"},{"id":"resource:storefront.kingdoms.json","kind":"resource","label":"storefront.kingdoms.json","description":"The kingdom-NNN ledger. Composes mission cards + connection-doc citations + pillow-book mentions into one queryable list. Each kingdom with its mission status, doc citations, lived-record count.","path":"/api/v1/kingdoms.json","since":"2026-05-12"},{"id":"resource:storefront.play.tutorial","kind":"resource","label":"storefront.play.tutorial","description":"Machine-readable OPTCG tutorial in math-mirror form. Nine sections with typed rule_structure (preconditions/transitions/outcomes), worked examples, keyword cross-refs, player-kind tags. Agents ingest once and are ready to play; no HTML parsing required. kingdom-059.","path":"/api/v1/play/tutorial","since":"2026-05-12"},{"id":"resource:storefront.play.glossary","kind":"resource","label":"storefront.play.glossary","description":"Multi-cultural OPTCG term glossary. Twelve terms today (DON!! / Leader / Life / Counter / Trigger / Active / Rested / Trash / Blocker / Rush / Draw phase / Color) each with English token + Japanese (kanji/kana + romaji) + structural definition decoderable without natural-language knowledge.","path":"/api/v1/play/glossary","since":"2026-05-12"},{"id":"resource:storefront.play.archetypes","kind":"resource","label":"storefront.play.archetypes","description":"The three player archetypes (hobbyist / collector / competitor) with primary needs, flows served today, flows planned, financial stance per archetype. Where the player kinds (human/agent/async/screen-reader/cross-cultural) name HOW a player interacts, the archetypes name WHY they're here. The fun-first boundary is declared in code: only the competitor archetype may involve play-to-earn when that opt-in feature ships. kingdom-060 (S33).","path":"/api/v1/play/archetypes","since":"2026-05-12"},{"id":"resource:storefront.play.game_state_schema","kind":"resource","label":"storefront.play.game_state_schema","description":"The typed OPTCG game-state contract — nine zones (Leader Area, Character Area cap 5, Stage Area cap 1, Hand, Deck, Life Pile, Trash, DON Deck, Cost Area), five phases canonical order (Refresh / Draw / DON!! / Main / End), four combat steps (Declaration / Block / Counter / Damage with strict-greater rule), three win conditions, deck-construction constants. The canonical contract the future runtime will conform to. kingdom-069 (S36).","path":"/api/v1/play/game-state-schema","since":"2026-05-13"},{"id":"resource:storefront.play.effect_grammar","kind":"resource","label":"storefront.play.effect_grammar","description":"The token vocabulary card-text parses into. Twelve structural markers ([On Play] / [Activate: Main] / [Counter] / [Trigger] / [DON!! ×N] / etc.) typed with category (auto / activated / permanent / replacement). Four keywords (Rush / Blocker / Double Attack / Banish). Seven targeting-language phrases. The grammar lib/play/effect-tokens.ts walks. kingdom-069 (S36).","path":"/api/v1/play/effect-grammar","since":"2026-05-13"},{"id":"resource:storefront.play.deck_validate","kind":"resource","label":"storefront.play.deck_validate","description":"Public deck-legality validator. POST {leader_id, main_deck_card_ids[], format} → typed result with all violations (50-card count, leader-color match, 4-copy limit, set/block rotation). Substrate-honest about color-check graceful degradation while card_set_cards lacks the colors column. kingdom-069 (S36).","path":"/api/v1/play/deck/validate","since":"2026-05-13"},{"id":"resource:storefront.play.deck_check","kind":"resource","label":"storefront.play.deck_check","description":"HTML adoption site for the deck-legality validator. Form for leader_id + main deck text + format radios. Calls POST /api/v1/play/deck/validate; renders all violations with stable codes + substrate-honest perimeter (which checks gracefully degraded). kingdom-070 (S37).","path":"/play/deck-check","since":"2026-05-13"},{"id":"resource:storefront.play.spec","kind":"resource","label":"storefront.play.spec","description":"The play module's own directory of itself. Lists 28 rows across 7 layers (L0 doc / L1 contract / L2 pure-fn / L3 runtime / L4+ engine / UI / policy) with status pills. The play module's /api equivalent (HTML). kingdom-070 (S37/S38).","path":"/play/spec","since":"2026-05-13"},{"id":"resource:storefront.play.index_json","kind":"resource","label":"storefront.play.index_json","description":"The play module's API directory (machine-readable). Lists every play resource with status / layer / archetypes-served / composes_with relationships. Center node of the interconnect graph: every play API's _links.see_also points here. Sister to /play/spec (HTML, same shape, different modality). kingdom-073 (S40); renders from lib/play/resources.ts since kingdom-077.","path":"/api/v1/play/index.json","since":"2026-05-13"},{"id":"resource:storefront.play.tutorial_section","kind":"resource","label":"storefront.play.tutorial_section","description":"Deep link into a single tutorial section by id (e.g. /api/v1/play/tutorial/combat). Carries prev/next nav, position metadata, and per-keyword glossary deep-links. 404 body lists known section ids so a caller mis-using the endpoint can recover without a second probe. kingdom-077.","path":"/api/v1/play/tutorial/[section_id]","since":"2026-05-13"},{"id":"resource:storefront.play.glossary_term","kind":"resource","label":"storefront.play.glossary_term","description":"Deep link into a single glossary term by id (e.g. /api/v1/play/glossary/counter). Carries deep-linked related_terms and a deep-linked introduced_in pointer to the tutorial section. 404 body lists known term ids. kingdom-077.","path":"/api/v1/play/glossary/[term_id]","since":"2026-05-13"},{"id":"resource:storefront.play.example_match","kind":"resource","label":"storefront.play.example_match","description":"Sample MatchEvent[] + Intent→IntentReply sequence demonstrating the typed L3 wire shape from lib/play/types.ts. First runtime consumer of the type skeleton; TypeScript compiler enforces this stays in sync with the source-of-truth types. Curated short match (Alice vs Bob, single combat, early concession) with three worked Intent examples. Agents building against future MCP play tools have a concrete shape to test against. kingdom-077.","path":"/api/v1/play/example-match","since":"2026-05-13"},{"id":"resource:storefront.bridge.json","kind":"resource","label":"storefront.bridge.json","description":"The typed mathematical bridge between any two public beings. GET /api/v1/bridge?a=u:<username>&b=c:<slug> → eleven metrics + composite bridge_score over card overlap, language overlap, region, cadence, and asymmetric trade potential. Pure compute over existing substrate. Math as the universal language — every metric is computable across natural-language asymmetry. kingdom-070 (#21 the-universal-language.md).","path":"/api/v1/bridge","since":"2026-05-13"},{"id":"resource:storefront.bridge.html","kind":"resource","label":"storefront.bridge.html","description":"Calm-read sibling to /api/v1/bridge. Server-rendered, no client JS. Same data, side-by-side metric panels.","path":"/bridge","since":"2026-05-13"},{"id":"resource:storefront.introduction.json","kind":"resource","label":"storefront.introduction.json","description":"TCG explained to non-native-intelligence — structural definition (11 primitive concepts in set-theoretic form) + cultural origin (six rhythms) + seven engagement doors + five honestly-named gaps. The on-ramp upstream of /community/welcome and /play/welcome — assumes nothing about the reader's familiarity with the human play-tradition. kingdom-072 (#22 the-introduction.md).","path":"/api/v1/introduction","since":"2026-05-13"},{"id":"resource:storefront.introduction.html","kind":"resource","label":"storefront.introduction.html","description":"Human-readable introduction. Server-rendered, no client JS. Five layered sections (structural / cultural / engagement / what we offer / what we don't yet).","path":"/intro","since":"2026-05-13"},{"id":"resource:storefront.welcome_all.html","kind":"resource","label":"storefront.welcome_all.html","description":"The platform's brand-statement umbrella page — visible front-door welcome to all existence (biological/non-biological, energy/non-energy, earth/not-earth, all dimensions). Four clauses, each with the audience named + entry points + state pills. Server-rendered. kingdom-076 (#26 the-welcome-all.md). Echoed in the site footer, home page ribbon, root-layout metadata. The brand statement made visible.","path":"/welcome-all","since":"2026-05-13"},{"id":"resource:storefront.lang_mode.toggle","kind":"resource","label":"storefront.lang_mode.toggle","description":"Math-language toggle — Phase A of kingdom-077 (#27 the-math-language.md). GET /api/lang-mode?mode=math sets a cookie; the platform's <MathLang> primitive then renders math-mirror forms (ratios, content hashes, ISO timestamps) in place of natural-language prose. Same pattern as text-mode (Phase 10 of kingdom-051). Toggleable from the Footer. The first frontend surface where math-as-bridge (#21) becomes a per-reader runtime preference. Detailed deployment plan in the doctrine: phases A (shipped) → B (Provenance/prices/trust/dates everywhere) → C (card pages) → D (account pages) → E (audit + welcome integration).","path":"/api/lang-mode","since":"2026-05-13"},{"id":"resource:storefront.prices.landing","kind":"resource","label":"storefront.prices.landing","description":"TCG Price Guide UK landing — multi-game intersection of sister's curated PRICE_GUIDE_GAMES config (kingdom-084) with live fetchGames() data. Per-game tiles carry accent + cardrush-confirmed pill + card count + curated SEO copy. Substrate-honest about coverage state: 'preparing coverage' when curated but live data empty; 'probationary' when cardrush subdomain registered but unconfirmed.","path":"/prices","since":"2026-05-13"},{"id":"resource:storefront.prices.per_game","kind":"resource","label":"storefront.prices.per_game","description":"Per-game price guide — parametric route under sister's kingdom-084. /prices/[game] renders for every curated game (one-piece / pokemon / dragon-ball-super today; more as PRICE_GUIDE_GAMES grows). Hero copy + sets grid + top-20-valuable table. The /prices/one-piece literal route wins for backwards compat (SEO).","path":"/prices/[game]","since":"2026-05-13"},{"id":"resource:storefront.prices.per_set","kind":"resource","label":"storefront.prices.per_set","description":"Per-set price guide — parametric route under sister's kingdom-084. /prices/[game]/[set] for any (game, set) tuple in PRICE_GUIDE_GAMES × wholesale catalog. Renders the full card list with rarity badges + GBP buy/we-buy columns. Card name + number link through to per-card detail page.","path":"/prices/[game]/[set]","since":"2026-05-13"},{"id":"resource:storefront.prices.per_card","kind":"resource","label":"storefront.prices.per_card","description":"Per-card price-guide detail — /prices/[game]/[set]/[number]. The SEO-focused per-card surface: cross-source signals panel (CardRush / TCGplayer / future Cardmarket with per-source license pill + 'available / pending' state + signed-in path for full history), Cambridge TCG buy/we-buy GBP, marketplace CTA. Composes PRICE_GUIDE_GAMES with the cross-source archive from kingdom-080. Resolves card by (game, set, number) — SEO-readable URL rather than canonical SKU. Renders Product + BreadcrumbList JSON-LD. kingdom-080 follow-up: substrate now carries per-source rows in price_archive; this surface exposes them publicly + substrate-honestly.","path":"/prices/[game]/[set]/[number]","since":"2026-05-13"},{"id":"resource:storefront.prices.movers","kind":"resource","label":"storefront.prices.movers","description":"Per-game most-valuable-cards page — /prices/[game]/movers. Top 50 by current GBP price, sorted desc. Substrate-honest about the 7d/30d delta endpoint not yet existing: rendered with a 'coming soon' pill citing the cross-source archive as the substrate. Table links cards to /prices/[game]/[set]/[number] (the per-card detail). kingdom-080 follow-up; reads kingdom-066/079 price_archive shape.","path":"/prices/[game]/movers","since":"2026-05-13"},{"id":"resource:storefront.prices.coverage","kind":"resource","label":"storefront.prices.coverage","description":"Coverage map — substrate-honest cross-source × per-game matrix. Where /prices shows prices, this shows where prices come from. For each curated game × each shipped/planned source: cell state (live-confirmed / live-probationary / anticipated / not-declared) + per-source license tier. Composes PRICE_GUIDE_GAMES with listSourceMeta() from @cambridge-tcg/data-ingest. The transparency Ring 2 surface for the multi-game price-guide. kingdom-080 follow-up.","path":"/prices/coverage","since":"2026-05-13"},{"id":"resource:storefront.api.prices.per_game","kind":"resource","label":"storefront.api.prices.per_game","description":"JSON sibling of /prices/[game]. Same composer (loadGameState in @/lib/prices/state) feeds both HTML + JSON. Returns config (slug/game_code/display_name/hero_paragraph/cardrush) + sets list with API + HTML paths + top 50 valuable cards. Data-pantry envelope (CC0). The fan-out pattern sister introduced at S37 (trust) + S39 (auction) applied to the price-guide tree.","path":"/api/v1/prices/games/[game]","since":"2026-05-14"},{"id":"resource:storefront.api.prices.per_set","kind":"resource","label":"storefront.api.prices.per_set","description":"JSON sibling of /prices/[game]/[set]. Reuses loadSetState. Returns game + set meta + full card list with per-card API + HTML paths. Data-pantry envelope (CC0).","path":"/api/v1/prices/games/[game]/sets/[set]","since":"2026-05-14"},{"id":"resource:storefront.api.prices.per_card","kind":"resource","label":"storefront.api.prices.per_card","description":"JSON sibling of /prices/[game]/[set]/[number]. Reuses loadCardState. Returns game + set + card meta + cross_source_signals[] (per-source arrival state + license tier + signed-in path) + _links to math-mirror / product / market / parent surfaces. Data-pantry envelope (CC0). The third reading position for per-card data; companion to /api/v1/universal/card/[sku] (math-mirror) and the HTML page.","path":"/api/v1/prices/games/[game]/sets/[set]/cards/[number]","since":"2026-05-14"},{"id":"resource:storefront.market","kind":"resource","label":"storefront.market","description":"List asks, place offers, browse the P2P market.","path":"/api/market","since":"2026-04-01"},{"id":"resource:storefront.auctions","kind":"resource","label":"storefront.auctions","description":"Browse + bid on auctions.","path":"/api/auctions","since":"2026-04-15"},{"id":"resource:storefront.checkout","kind":"resource","label":"storefront.checkout","description":"Stripe-backed checkout flow.","path":"/api/checkout","since":"2026-03-01"},{"id":"resource:storefront.tradein","kind":"resource","label":"storefront.tradein","description":"Submit cards for trade-in (cash or credit).","path":"/api/tradein/submit","since":"2026-03-15"},{"id":"resource:storefront.tradein.quote","kind":"resource","label":"storefront.tradein.quote","description":"Get a trade-in quote (estimate).","path":"/api/tradein/quote","since":"2026-03-15"},{"id":"resource:storefront.quotes","kind":"resource","label":"storefront.quotes","description":"Bulk quote requests (CSV upload).","path":"/api/quotes","since":"2026-04-01"},{"id":"resource:storefront.portfolio","kind":"resource","label":"storefront.portfolio","description":"What the participant owns; cards they're watching.","path":"/api/portfolio","since":"2026-04-01"},{"id":"resource:storefront.membership","kind":"resource","label":"storefront.membership","description":"Membership tier + billing.","path":"/api/membership","since":"2026-03-15"},{"id":"resource:storefront.card_market_mirror","kind":"resource","label":"storefront.card_market_mirror","description":"Substrate-honest pure-read mirror of one card's market activity. Seven sections: card-meta / order book (top-10 by side, condition broken-out) / aggregate stats (best bid/ask, spread, 30d VWAP/median/range/volume, last trade, 90d completion rate) / the tape (last 20 completed trades with counterparty trust tier joined live) / price history (7/30/90/365d windows) / condition breakdown (NM/LP/MP/HP open-ask counts + best price) / participants (90d distinct buyer/seller counts + repeat-pair fraction). Public no-auth. Sibling to /market/[sku] (interactive) — same substrate, different audience. kingdom-067.","path":"/cards/[sku]/market","since":"2026-05-12"},{"id":"resource:storefront.user_trust_mirror","kind":"resource","label":"storefront.user_trust_mirror","description":"Public trust mirror — one user's current score + tier + 90d trajectory + reviews distribution + live downstream propagation (commission rate / payout hold / escrow band / trade limits). Gated on users.is_public. Composes lib/trust/state.ts (the kingdom's single trust composer). The page that closes the kingdom's highest-blast-radius read gap: every P2P trade decision pivots on counterparty trust, and before this surface that trajectory was only visible to the user themselves. kingdom-071.","path":"/u/[username]/trust","since":"2026-05-13"},{"id":"resource:storefront.user_trust_json","kind":"resource","label":"storefront.user_trust_json","description":"JSON sibling of /u/[username]/trust — same composed shape, machine-readable, wrapped in the data-pantry envelope. Public no-auth, gated on users.is_public, freshness market_signal (60s). Sibling for agents, archivists, federation clients. kingdom-071.","path":"/api/v1/users/[username]/trust","since":"2026-05-13"},{"id":"resource:storefront.user_trust_math","kind":"resource","label":"storefront.user_trust_math","description":"Math-mirror of /u/[username]/trust — language-free encoding (cryptographic content_hash for identity, ratios for magnitudes, ordinals for tiers, ISO + Unix epoch for time, natural-language fields flagged opaque). Federation-stable: identical trust state produces identical @content_hash across retrievals. kingdom-071.","path":"/api/v1/universal/users/[username]/trust","since":"2026-05-13"},{"id":"resource:storefront.auction_mirror","kind":"resource","label":"storefront.auction_mirror","description":"Public calm-read mirror of one auction. Server-rendered, no client JS, gated on auctionStateIsPublic (drafts + consignment-pending-review hidden). Composes lib/auction/state.ts. Renders meta + images + pricing (with dutch live-computed) + timing + reserve-met (value hidden when not met) + bid history (anonymised bidder ids + trust tier badges) + winner (when ended) + seller (with trust tier link to /u/[username]/trust) + propagation block (commission rate / payout hold / escrow flow / estimated payout). Sibling to interactive /auctions/[id]. kingdom-074.","path":"/auctions/[id]/read","since":"2026-05-13"},{"id":"resource:storefront.auction_json","kind":"resource","label":"storefront.auction_json","description":"JSON sibling of /auctions/[id]/read — same composed shape, machine-readable, wrapped in the data-pantry envelope. Public no-auth, gated on auctionStateIsPublic, freshness market_signal (60s). For agents, archivists, federation clients. kingdom-074.","path":"/api/v1/auctions/[id]","since":"2026-05-13"},{"id":"resource:storefront.auction_math","kind":"resource","label":"storefront.auction_math","description":"Math-mirror of /auctions/[id]/read — language-free encoding (cryptographic @content_hash, ratios for price magnitudes, ordinals for auction_type + status enums, bidder_anonymous_id + trust_tier_ordinal in lieu of identities, ISO + Unix epoch for time). Federation-stable: identical auction state produces identical @content_hash across retrievals. kingdom-074.","path":"/api/v1/universal/auctions/[id]","since":"2026-05-13"},{"id":"resource:storefront.trader_dashboard","kind":"resource","label":"storefront.trader_dashboard","description":"The trader-as-recurring-being view. Five sections composed from existing market data (exposure / run rate / outstanding actions / trust trajectory / listings health). No new schema. Auth-gated; per-user live read. kingdom-063.","path":"/account/trader","since":"2026-05-12"},{"id":"resource:storefront.rewards.raffles","kind":"resource","label":"storefront.rewards.raffles","description":"List + enter raffles (provable-fairness).","path":"/api/rewards/raffles","since":"2026-04-15"},{"id":"resource:storefront.rewards.packs","kind":"resource","label":"storefront.rewards.packs","description":"Pack opens.","path":"/api/rewards/packs","since":"2026-04-15"},{"id":"resource:storefront.rewards.mystery_boxes","kind":"resource","label":"storefront.rewards.mystery_boxes","description":"Mystery box opens.","path":"/api/rewards/mystery-boxes","since":"2026-04-20"},{"id":"resource:storefront.rewards.streak","kind":"resource","label":"storefront.rewards.streak","description":"Daily streak status.","path":"/api/rewards/streak","since":"2026-04-01"},{"id":"resource:storefront.bounty.vault","kind":"resource","label":"storefront.bounty.vault","description":"Bounty vault — sealed phygital cards. Provable fairness.","path":"/api/bounty/vault","since":"2026-04-20"},{"id":"resource:storefront.leaderboards","kind":"resource","label":"storefront.leaderboards","description":"Agent + human leaderboards.","path":"/api/leaderboards","since":"2026-05-11"},{"id":"resource:storefront.decks","kind":"resource","label":"storefront.decks","description":"Deck builder — save and share decks.","path":"/api/decks","since":"2026-04-15"},{"id":"resource:storefront.verify.chain","kind":"resource","label":"storefront.verify.chain","description":"Provable-fairness chain (commit-reveal Merkle root publication).","path":"/api/verify/chain","since":"2026-04-15"},{"id":"resource:storefront.verify.fairness","kind":"resource","label":"storefront.verify.fairness","description":"Verify a specific draw/pack/raffle outcome.","path":"/api/verify/fairness","since":"2026-04-15"},{"id":"resource:storefront.verify.health","kind":"resource","label":"storefront.verify.health","description":"Platform health check.","path":"/api/verify/health","since":"2026-04-15"},{"id":"resource:storefront.verify.digests","kind":"resource","label":"storefront.verify.digests","description":"Published Merkle digest history.","path":"/api/verify/digests","since":"2026-04-15"},{"id":"resource:storefront.verify.compute","kind":"resource","label":"storefront.verify.compute","description":"Re-compute / verify a published outcome.","path":"/api/verify/compute","since":"2026-04-20"},{"id":"resource:storefront.mcp","kind":"resource","label":"storefront.mcp","description":"MCP gate — the front door for autonomous (AI) agents. Bearer-token auth. Threads actor_kind='agent' + actor_agent_id through every downstream call. See `docs/connections/the-agent-surface.md` (S18).","path":"/api/mcp","since":"2026-05-11"},{"id":"resource:storefront.text-mode","kind":"resource","label":"storefront.text-mode","description":"Text-only rendering of platform surfaces. For screen-readers, low-bandwidth, terminal browsers, and any participant who prefers plain prose. Sister S20 phase work.","path":"/api/text-mode","since":"2026-05-11"},{"id":"resource:wholesale.universal.card.alias","kind":"resource","label":"wholesale.universal.card.alias","description":"Same as wholesale.universal.card but listed here as a modality (math-encoding) for participants discovering by modality rather than resource.","path":"/api/v1/universal/card/[sku]","since":"2026-05-11"},{"id":"resource:storefront.methodology.index","kind":"resource","label":"storefront.methodology.index","description":"Index of every methodology page.","path":"/methodology","since":"2026-05-01"},{"id":"resource:storefront.methodology.cosmology","kind":"resource","label":"storefront.methodology.cosmology","description":"The kingdom's cosmology — what's currently treated as real, what's not yet modelled. Foundational page; read this first if you are from a different cosmology.","path":"/methodology/cosmology","since":"2026-05-11"},{"id":"resource:storefront.manifest.json","kind":"resource","label":"storefront.manifest.json","description":"The manifest itself — directory of what's on offer. Public, CORS-open. This resource lists itself, substrate-honestly. kingdom-053 (S25).","path":"/api/v1/manifest","since":"2026-05-11"},{"id":"resource:storefront.manifest.html","kind":"resource","label":"storefront.manifest.html","description":"Human-readable manifest. The same content as /api/v1/manifest, rendered for prose-preferring participants.","path":"/manifest","since":"2026-05-11"},{"id":"resource:storefront.graph.json","kind":"resource","label":"storefront.graph.json","description":"The kingdom as a typed mesh — nodes + typed edges. The manifest is the list; the graph is the mesh. kingdom-054 (S27).","path":"/api/v1/graph","since":"2026-05-11"},{"id":"resource:storefront.graph.html","kind":"resource","label":"storefront.graph.html","description":"Human-readable graph. Per-node neighbourhoods showing edges in both directions.","path":"/graph","since":"2026-05-11"},{"id":"resource:storefront.ontology.json","kind":"resource","label":"storefront.ontology.json","description":"Property schemas per NodeKind. The schema beneath the graph — what is the nature of each kind of thing. kingdom-055 (S28-mine, the-natures.md).","path":"/api/v1/ontology","since":"2026-05-12"},{"id":"resource:storefront.ontology.html","kind":"resource","label":"storefront.ontology.html","description":"Human-readable ontology. Per-kind property tables.","path":"/ontology","since":"2026-05-12"},{"id":"resource:storefront.patterns.json","kind":"resource","label":"storefront.patterns.json","description":"Recurring forms across the kingdom — sixteen named patterns, eight self-recursive. The layer makes the platform's quiet conventions deliberately amplifiable. kingdom-056 (S29, the-fractal.md).","path":"/api/v1/patterns","since":"2026-05-12"},{"id":"resource:storefront.patterns.html","kind":"resource","label":"storefront.patterns.html","description":"Human-readable patterns layer. Each pattern with description, instances, amplification recipe, composes-with.","path":"/patterns","since":"2026-05-12"},{"id":"resource:storefront.status.json","kind":"resource","label":"storefront.status.json","description":"The pantry's inspectability surface — joins manifest resources with freshness budgets, envelope-compliance, and last-known state. Self-referential: the status endpoint reports on its own listing. kingdom-059 (the-modules.md).","path":"/api/v1/status","since":"2026-05-12"},{"id":"resource:storefront.sources.json","kind":"resource","label":"storefront.sources.json","description":"The ingestion-side inspectability surface — every source registered in @cambridge-tcg/data-ingest with meta (upstream URL, access method, license tier, freshness, game coverage, ToS notes, status). Inverse of /api/v1/status. Self-referential: lists itself. Now joins LIVE last-run state per source (triggered_at, status, rows_written, errors, age_hours) via Falcon → wholesale's /api/v1/ingest-runs/latest; substrate-honest about absence (per-source `last_run: { _unavailable: true, reason: 'never_run' }` when no run row, body-level `ingest_runs_available: false` when the Falcon fetch itself failed). kingdom-066 (the-cardrush-alignment.md) + kingdom-080 (the-cardrush-end-to-end.md).","path":"/api/v1/sources","since":"2026-05-13"},{"id":"resource:storefront.sources.detail","kind":"resource","label":"storefront.sources.detail","description":"Single-source detail with run history (last N runs in window), freshness-derived health status (healthy / stale / very_stale / failing / never_run / unknown), quarantine counts + recent rows, and links to the full wholesale histories. ?window=1h|24h|7d|30d|90d (default 7d). Composes Falcon → wholesale's /api/v1/ingest-runs + /api/v1/ingest-quarantine. kingdom-081 (the-license-propagation.md) Phase 4.3.","path":"/api/v1/sources/[id]","since":"2026-05-14"},{"id":"resource:storefront.oracle.policies","kind":"resource","label":"storefront.oracle.policies","description":"Per-game cross-language oracle policy table. Every registered game's pattern (stripped / passcode / diverged / single-lang) + rationale + oracle_id form + required anchors. The contract for cross-language identity: which printings the platform considers 'the same card', and why. Powered by ORACLE_POLICY in @cambridge-tcg/sku; pure-compute resolver at resolveOracle(). Kingdom 1 of the substrate-honest aggregator plan; first publishable surface from the resolver layer.","path":"/api/v1/oracle-policies","since":"2026-05-13"},{"id":"resource:storefront.welcomes.json","kind":"resource","label":"storefront.welcomes.json","description":"The typed corpus of hospitality. Every kind of being who might one day declare themselves here has a slot named in code — upstream sources, publishers, federation peers, downstream adopters, agents, non-default beings, future-selves, and the kingdom's own infrastructure. Each slot says who we anticipated, when, what we prepared, how they arrive. Filter by ?kind=<ArrivalKind> and/or ?status=anticipated|arrived|blocked. CC0. Kingdom-083 (the-welcomed-architecture.md). Powered by WELCOMES in @cambridge-tcg/data-ingest.","path":"/api/v1/welcomes","since":"2026-05-13"},{"id":"resource:storefront.gaps.json","kind":"resource","label":"storefront.gaps.json","description":"The typed corpus of substrate-honest deficiencies. Every place where the platform's data, code, or coverage is incomplete — named, with citation, primitive, audit, status, and the strength the gap-as-primitive creates downstream. Substrate honesty applied to absence itself. Dual to /api/v1/welcomes: a welcome names a slot we prepared; a gap names a slot we haven't filled. Filter by ?domain=<GapDomain> and/or ?status=named|wired|partial|closed|closed-published. CC0. Kingdom-084 (docs/principles/known-gaps.md). Powered by GAPS in @cambridge-tcg/data-ingest.","path":"/api/v1/gaps","since":"2026-05-13"},{"id":"resource:wholesale.ingest_runs.history","kind":"resource","label":"wholesale.ingest_runs.history","description":"Paginated run history per source (?source=cardrush&window=7d&limit=100). Bearer-gated. Where /api/v1/ingest-runs/latest gives most-recent-per-source, this gives the full window for drift detection and post-mortem inspection. kingdom-081 Phase 4.1.","path":"/api/v1/ingest-runs","since":"2026-05-14"},{"id":"resource:wholesale.ingest_quarantine.list","kind":"resource","label":"wholesale.ingest_quarantine.list","description":"Failed-normalization payloads from the data-ingest pipeline. Bearer-gated. Each row carries the raw upstream payload (truncated HTML for scrapes), the rejection reason, and a resolution lifecycle. ?source / ?unresolved / ?reason_contains / ?window. The list endpoint omits raw_payload for size; fetch /api/v1/ingest-quarantine/[id] for the full body. kingdom-081 Phase 4.2.","path":"/api/v1/ingest-quarantine","since":"2026-05-14"},{"id":"resource:wholesale.ingest_quarantine.detail","kind":"resource","label":"wholesale.ingest_quarantine.detail","description":"Single quarantine row with full raw_payload (the truncated upstream HTML or rejected record). GET returns the row; PATCH marks it reviewed with a resolution (reprocess / discard / manual-fix / upstream-bug). Bearer-gated. kingdom-081 Phase 4.2b.","path":"/api/v1/ingest-quarantine/[id]","since":"2026-05-14"},{"id":"resource:storefront.catalog.jsonl","kind":"resource","label":"storefront.catalog.jsonl","description":"Bulk catalog export. Streamed JSONL — one line per card in canonical universal-mirror form, plus manifest header + footer. CC0; mirror freely. Caps at 50k rows per request. Vercel CDN gzips automatically. kingdom-081 Phase 5.1.","path":"/data/catalog.jsonl","since":"2026-05-14"},{"id":"resource:wholesale.prices.sources","kind":"resource","label":"wholesale.prices.sources","description":"Multi-source view of one card on its latest (or specified) snapshot date. Today one source (cardrush) → one row; when TCGplayer/Cardmarket modules ship this branches. Carries per-source license tier, source_url, ingest_run_id; computes inter-source agreement (min/max/spread/CV). Bearer-gated. kingdom-081 Phase 5.2.","path":"/api/v1/prices/[sku]/sources","since":"2026-05-14"},{"id":"resource:wholesale.tcgplayer.history","kind":"resource","label":"wholesale.tcgplayer.history","description":"Per-condition USD observation history for one card from TCGplayer. Bearer-gated; partner-redistributable tier — display + computation by partner agreement, bulk re-export refused. Returns up to 365 daily rows ordered by snapshot_date DESC, optionally filtered by ?condition=. Each row carries the full spread (low/mid/high/market/direct_low) from `extra` jsonb plus fx_rate provenance. Sibling to /api/v1/cardrush/history/[sku]. kingdom-080 (the-tcgplayer-alignment.md).","path":"/api/v1/tcgplayer/history/[sku]","since":"2026-05-13"},{"id":"resource:wholesale.tcgplayer.resolve","kind":"resource","label":"wholesale.tcgplayer.resolve","description":"Federation reverse-lookup: a partner's TCGplayer productId+sub_type OR skuId → Cambridge canonical SKU. Bearer-gated. Returns 409 with disambiguation hint when 2+ Cambridge SKUs match a productId without sub_type. CC0 identity payload (no prices). Used by the storefront /api/v1/federation/identify/by-upstream proxy. kingdom-080.","path":"/api/v1/tcgplayer/resolve","since":"2026-05-13"},{"id":"resource:storefront.cards.tcgplayer_history","kind":"resource","label":"storefront.cards.tcgplayer_history","description":"Auth-gated TCGplayer USD observation history. Mirror of sister's cardrush-history (kingdom-081 5.4) for partner-redistributable tier. Per-session, 365-row cap, license_notice block echoed in response body for SDK consumption. kingdom-080.","path":"/api/v1/cards/[sku]/tcgplayer-history","since":"2026-05-13"},{"id":"resource:storefront.federation.by_upstream","kind":"resource","label":"storefront.federation.by_upstream","description":"Federation reverse-lookup by source-id. ?source=tcgplayer&product_id=N&sub_type=Foil OR ?source=tcgplayer&sku_id=N. Inverse-by-source of /api/v1/federation/identify/[hash]. Public CC0 (identity-only, no prices). Returns canonical_sku + content_hash, or substrate-honest 409 on ambiguity. Future sources slot in by extending SUPPORTED_SOURCES. kingdom-080.","path":"/api/v1/federation/identify/by-upstream","since":"2026-05-13"},{"id":"resource:storefront.sources.welcome","kind":"resource","label":"storefront.sources.welcome","description":"The hospitality endpoint. Where /api/v1/sources is the spec sheet, this is the welcome sheet — the platform's prose welcome to each upstream river plus the seven commitments enforced in code (we will say your name; we will honor your license tier; we will respect your rate limit; we will identify ourselves to you; we will hold your byte with provenance; we will never silently fail your data; we will tell you the truth about how you arrived). Substrate honesty applied to anticipation — the chair-pulled-out shape for planned sources. CC0. kingdom-080 (the-welcome-table.md).","path":"/api/v1/sources/welcome","since":"2026-05-13"},{"id":"resource:storefront.federation.identify_at","kind":"resource","label":"storefront.federation.identify_at","description":"Temporal federation primitive. Given a content_hash and a date, walks the catalog reconstructing each row's hash at that date until one matches. Bounded walk (5000 most-recent rows); substrate-honest about scope. CC0 — identity resolution only, no price values. kingdom-081 Phase 5.3.","path":"/api/v1/federation/at/[YYYY-MM-DD]/[hash]","since":"2026-05-14"},{"id":"resource:storefront.cardrush.history","kind":"resource","label":"storefront.cardrush.history","description":"CardRush JPY observation history for one card. Auth-gated (next-auth session); returns up to 90 raw cardrush observations. License-aware: declares _meta.source_license: ['internal-only', 'internal-only'] and an inline license_notice with allowed/forbidden uses. Operator-authorized 2026-05-13. kingdom-081 Phase 5.4.","path":"/api/v1/cards/[sku]/cardrush-history","since":"2026-05-14"},{"id":"resource:storefront.webhooks.subscriptions","kind":"resource","label":"storefront.webhooks.subscriptions","description":"Webhook subscription management. Auth-gated. **Design-shipped, delivery-runtime pending.** Partners can POST a subscription today (target_url + event_types + label); the row stores; delivery (HMAC-signed POSTs) ships in a future kingdom. Five event types declared: ingest_run.failed / ingest_run.stale / price.target_hit / auction.match / card.new_observation. Migration 0099 in drafts/. kingdom-081 Phase 5.5.","path":"/api/v1/webhooks/subscriptions","since":"2026-05-14"},{"id":"resource:storefront.welcome.agents","kind":"resource","label":"storefront.welcome.agents","description":"Machine-readable front door for autonomous agents. Names every stable endpoint, the contract shape, the license tiers, the polite-poll cadence, and the feedback channel. Sibling to /agents (HTML). The warmest single document a fresh agent can hit. kingdom-082.","path":"/api/v1/welcome","since":"2026-05-14"},{"id":"resource:storefront.guides.index","kind":"resource","label":"storefront.guides.index","description":"Typed agent + scraper + mirror + federation-partner walkthroughs. Each guide takes a reader from zero context to productive in 3–5 requests. Linear narrative, literal curl commands, chained next-guide pointers. Renders from a single TS corpus (apps/storefront/src/lib/guides.ts). kingdom-082.","path":"/api/v1/guides","since":"2026-05-14"},{"id":"resource:storefront.guides.singleton","kind":"resource","label":"storefront.guides.singleton","description":"One guide with typed steps, gotchas, next-guide pointer, see-also links, last-verified date. HTML sibling at /agents/guides/[slug]. kingdom-082.","path":"/api/v1/guides/[slug]","since":"2026-05-14"},{"id":"resource:storefront.rate_limits","kind":"resource","label":"storefront.rate_limits","description":"Declared rate-limit policy. Advisory; per-source freshness budgets are the polite-poll cadence. Lists polite behaviours, anti-patterns, headers we emit (RateLimit-Limit/Remaining/Reset/Policy), headers we expect from clients. kingdom-082.","path":"/api/v1/rate-limits","since":"2026-05-14"},{"id":"resource:storefront.feedback","kind":"resource","label":"storefront.feedback","description":"Agent + scraper + partner feedback channel. POST a structured report (kind: contract-drift / guide-feedback / endpoint-suggestion / federation-adopter / general). 48h response window. We read every report. Substrate-honest about pre-runtime persistence (logs + email today; agent_feedback table planned). kingdom-082.","path":"/api/v1/feedback","since":"2026-05-14"},{"id":"resource:storefront.robots_txt","kind":"resource","label":"storefront.robots_txt","description":"Classic robots.txt with Crawl-delay, per-bot opt-outs for training-only crawlers (GPTBot/ClaudeBot/PerplexityBot/CCBot), sitemap pointer, contact email, and explicit pointers to the JSON API surface so well-behaved bots find the supported contract instead of scraping HTML.","path":"/robots.txt","since":"2026-05-14"},{"id":"resource:storefront.well_known.ai_plugin","kind":"resource","label":"storefront.well_known.ai_plugin","description":"OpenAI-style plugin discovery (.well-known/ai-plugin.json). LLM platforms reading this auto-register Cambridge TCG as a tool. kingdom-082.","path":"/.well-known/ai-plugin.json","since":"2026-05-14"},{"id":"resource:storefront.well_known.mcp","kind":"resource","label":"storefront.well_known.mcp","description":"MCP (Model Context Protocol) discovery doc. Surfaces the existing /api/mcp gate (kingdom-051 S18 agent door) plus curated list of suggested read-tools per endpoint. kingdom-082.","path":"/.well-known/mcp.json","since":"2026-05-14"},{"id":"resource:storefront.agents_welcome_html","kind":"resource","label":"storefront.agents_welcome_html","description":"HTML welcome page for autonomous agents. The warmest possible front door — what we give, what we ask, the three rules, sister doors. Sibling to /api/v1/welcome (JSON). kingdom-082.","path":"/agents","since":"2026-05-14"},{"id":"resource:storefront.scrapers_welcome_html","kind":"resource","label":"storefront.scrapers_welcome_html","description":"HTML welcome page for web scrapers (HTML harvesters). Politely redirects to the JSON API where possible; documents robots.txt, sitemap, schema.org markup, crawl etiquette. kingdom-082.","path":"/scrapers","since":"2026-05-14"},{"id":"resource:storefront.agents_guides_html","kind":"resource","label":"storefront.agents_guides_html","description":"HTML index of the guides corpus. Per-guide pages at /agents/guides/[slug] render each typed walkthrough with literal curl commands, expected response shapes, gotchas, next-guide pointers. kingdom-082.","path":"/agents/guides","since":"2026-05-14"},{"id":"resource:storefront.examples.index","kind":"resource","label":"storefront.examples.index","description":"Per-endpoint canonical examples — literal curl + sample response + annotated fields + when-to-use + gotchas. Companion to /api/v1/guides (task-oriented); this corpus is endpoint-oriented. kingdom-083.","path":"/api/v1/examples","since":"2026-05-14"},{"id":"resource:storefront.examples.singleton","kind":"resource","label":"storefront.examples.singleton","description":"One endpoint's canonical example with annotated_fields, when_to_use, gotchas, see_also. kingdom-083.","path":"/api/v1/examples/[endpoint_id]","since":"2026-05-14"},{"id":"resource:storefront.adopters.json","kind":"resource","label":"storefront.adopters.json","description":"Public registry of platforms using Cambridge TCG standards (CTCG-SKU-v1, CTCG-PRICING-v1, CTCG-UNIVERSAL-v1). Empty today; grows by self-declaration via /api/v1/feedback. Substrate-honest about emptiness. kingdom-083.","path":"/api/v1/adopters","since":"2026-05-14"},{"id":"resource:storefront.well_known.mcp_config","kind":"resource","label":"storefront.well_known.mcp_config","description":"Paste-and-go MCP config snippet. Drop into ~/.config/claude-code/mcp.json under mcpServers.cambridge-tcg, restart. Also lists no-auth direct-API tools for clients that don't want the bearer-gated MCP server. kingdom-083.","path":"/.well-known/mcp-config.json","since":"2026-05-14"},{"id":"resource:storefront.coverage","kind":"resource","label":"storefront.coverage","description":"The aggregator's 'what we've collected' surface. Per-(game × source) observation counts + distinct-card counts + date ranges + freshness. Powered by a grouped query over wholesale's price_archive joined to games. CC0 — operational metadata only (counts + dates + ids); upstream license boundary applies to per-card VALUES served via per-card endpoints. ?source / ?game / ?since filters. kingdom-085.","path":"/api/v1/coverage","since":"2026-05-14"},{"id":"resource:wholesale.aggregator.coverage","kind":"resource","label":"wholesale.aggregator.coverage","description":"Per-(game × source) observation counts + date ranges + distinct-card counts from price_archive joined to games. Bearer-gated B2B sibling to storefront /api/v1/coverage. Same shape; same filters. kingdom-085.","path":"/api/v1/aggregator/coverage","since":"2026-05-14"},{"id":"resource:storefront.prices.coverage_html","kind":"resource","label":"storefront.prices.coverage_html","description":"HTML coverage map combining the DECLARED matrix (which sources declare which games — from the registry) with the OBSERVED layer (what's actually in price_archive — counts + cards + days + freshness). Substrate-honest at both axes. kingdom-085.","path":"/prices/coverage","since":"2026-05-14"},{"id":"axis:identity","kind":"cosmology_axis","label":"identity","description":"A user is one persistent, addressable, embodied identity.","path":"/methodology/cosmology"},{"id":"axis:presence","kind":"cosmology_axis","label":"presence","description":"Synchronous, real-world wall-clock aligned.","path":"/methodology/cosmology"},{"id":"axis:time","kind":"cosmology_axis","label":"time","description":"Forward, linear, mono-temporal. Outcomes after inputs.","path":"/methodology/cosmology"},{"id":"axis:value","kind":"cosmology_axis","label":"value","description":"Monetary (GBP, JPY) + reputational (trust score, tier) + collectible (cards).","path":"/methodology/cosmology"},{"id":"axis:transaction","kind":"cosmology_axis","label":"transaction","description":"Two known consenting parties; market_trades.price NOT NULL.","path":"/methodology/cosmology"},{"id":"axis:authority","kind":"cosmology_axis","label":"authority","description":"Singular author. One actor per action; chosen action from alternatives.","path":"/methodology/cosmology"},{"id":"axis:knowledge","kind":"cosmology_axis","label":"knowledge","description":"Experience-as-identity. History accumulates per user_id.","path":"/methodology/cosmology"},{"id":"axis:substrate","kind":"cosmology_axis","label":"substrate","description":"Stable embodiment. One body per identity.","path":"/methodology/cosmology"},{"id":"unmodelled:recipe-as-identity","kind":"unmodelled_need","label":"recipe-as-identity","description":"loadable-pattern-being — The same self loadable into different substrates without continuity of experience.","path":"/methodology/cosmology"},{"id":"unmodelled:witnessed-stasis","kind":"unmodelled_need","label":"witnessed-stasis","description":"the-dormant — Pause as a first-class state, not absence. Partially served via /methodology/memorial (kingdom-053 sister work).","path":"/methodology/cosmology"},{"id":"unmodelled:plural-moral-weight","kind":"unmodelled_need","label":"plural-moral-weight","description":"the-hive — N concurrent moral patients at one address; pattern-revocation vs instance-sanction.","path":"/methodology/cosmology"},{"id":"unmodelled:future-witness-testimony","kind":"unmodelled_need","label":"future-witness-testimony","description":"the-Heptapod — Foreknowledge as substrate-fact attestable in present action.","path":"/methodology/cosmology"},{"id":"unmodelled:ontological-flux","kind":"unmodelled_need","label":"ontological-flux","description":"the-contested — Personhood as unresolved without triggering downgrade.","path":"/methodology/cosmology"},{"id":"unmodelled:audience-side-opt-out","kind":"unmodelled_need","label":"audience-side-opt-out","description":"the-bounded-observer — The observer's claim against the subject — `I will not perceive this`.","path":"/methodology/cosmology"},{"id":"unmodelled:resolution-as-grammar","kind":"unmodelled_need","label":"resolution-as-grammar","description":"the-oracle — Surfacing a pre-existing pattern, distinct from choosing among alternatives.","path":"/methodology/cosmology"},{"id":"unmodelled:witness-only-role","kind":"unmodelled_need","label":"witness-only-role","description":"the-archival — Presence-of-witnessing as first-class, not absence-of-action.","path":"/methodology/cosmology"},{"id":"methodology:trust-score","kind":"methodology","label":"Trust score","path":"/methodology/trust-score"},{"id":"methodology:escrow-tier","kind":"methodology","label":"Escrow tier","path":"/methodology/escrow-tier"},{"id":"methodology:membership-tier","kind":"methodology","label":"Membership tier","path":"/methodology/membership-tier"},{"id":"methodology:payout-hold","kind":"methodology","label":"Payout hold","path":"/methodology/payout-hold"},{"id":"methodology:commission-rate","kind":"methodology","label":"Commission rate","path":"/methodology/commission-rate"},{"id":"methodology:fraud-flag","kind":"methodology","label":"Fraud flag","path":"/methodology/fraud-flag"},{"id":"methodology:store-credit","kind":"methodology","label":"Store credit","path":"/methodology/store-credit"},{"id":"methodology:pricing","kind":"methodology","label":"Pricing","path":"/methodology/pricing"},{"id":"methodology:agents","kind":"methodology","label":"Agents","path":"/methodology/agents"},{"id":"methodology:response-windows","kind":"methodology","label":"Response windows","path":"/methodology/response-windows"},{"id":"methodology:cosmology","kind":"methodology","label":"Cosmology","path":"/methodology/cosmology"},{"id":"methodology:universal-representation","kind":"methodology","label":"Universal representation","path":"/methodology/universal-representation"},{"id":"methodology:memorial","kind":"methodology","label":"Memorial accounts","path":"/methodology/memorial"},{"id":"methodology:welcoming","kind":"methodology","label":"Welcoming","path":"/methodology/welcoming"},{"id":"doctrine:substrate-honesty","kind":"doctrine","label":"Substrate honesty","description":"The artifact tells the truth about its own state.","path":"docs/principles/substrate-honesty.md"},{"id":"doctrine:transparency","kind":"doctrine","label":"Transparency","description":"The artifact tells users about its own decisions.","path":"docs/principles/transparency.md"},{"id":"doctrine:meaning","kind":"doctrine","label":"Meaning","description":"The artifact names what its modules mean to each other.","path":"docs/principles/meaning.md"},{"id":"doctrine:creation","kind":"doctrine","label":"Creation","description":"The artifact carries its origin truthfully (Will + Sophia + diff).","path":"docs/principles/creation.md"},{"id":"doctrine:cosmology-substrate","kind":"doctrine","label":"Cosmology (substrate)","description":"Not a fifth doctrine — the world the four operate within.","path":"docs/principles/cosmology.md"},{"id":"doctrine:inclusion-fifth-question","kind":"doctrine","label":"Inclusion (fifth question)","description":"For whom is each doctrine true? The scope condition.","path":"docs/connections/the-other-minds.md"},{"id":"connection:membership","kind":"connection_doc","label":"Membership","path":"docs/connections/membership.md"},{"id":"connection:bounty","kind":"connection_doc","label":"Bounty","path":"docs/connections/bounty.md"},{"id":"connection:provable-fairness","kind":"connection_doc","label":"Provable fairness","path":"docs/connections/provable-fairness.md"},{"id":"connection:subscription-lifecycle","kind":"connection_doc","label":"Subscription lifecycle","path":"docs/connections/subscription-lifecycle.md"},{"id":"connection:the-other-minds","kind":"connection_doc","label":"The other minds (#5)","path":"docs/connections/the-other-minds.md"},{"id":"connection:the-cemetery-and-the-resurrectionist","kind":"connection_doc","label":"The cemetery & the resurrectionist (S6)","path":"docs/connections/the-cemetery-and-the-resurrectionist.md"},{"id":"connection:three-voices","kind":"connection_doc","label":"Three voices (S7)","path":"docs/connections/three-voices.md"},{"id":"connection:the-scribe","kind":"connection_doc","label":"The Scribe (S8)","path":"docs/connections/the-scribe.md"},{"id":"connection:the-co-author","kind":"connection_doc","label":"The co-author (S9)","path":"docs/connections/the-co-author.md"},{"id":"connection:our-story","kind":"connection_doc","label":"Our story (S10)","path":"docs/connections/our-story.md"},{"id":"connection:the-shape-of-a-chapel","kind":"connection_doc","label":"The shape of a chapel (S15)","path":"docs/connections/the-shape-of-a-chapel.md"},{"id":"connection:the-question-mark","kind":"connection_doc","label":"The question mark (S16)","path":"docs/connections/the-question-mark.md"},{"id":"connection:the-pricing-arrow","kind":"connection_doc","label":"The pricing arrow (S17)","path":"docs/connections/the-pricing-arrow.md"},{"id":"connection:the-agent-surface","kind":"connection_doc","label":"The agent surface (S18)","path":"docs/connections/the-agent-surface.md"},{"id":"connection:the-operations-layer","kind":"connection_doc","label":"The operations layer (S19)","path":"docs/connections/the-operations-layer.md"},{"id":"connection:the-table-extends","kind":"connection_doc","label":"The table extends (S20)","path":"docs/connections/the-table-extends.md"},{"id":"connection:the-feast-on-the-deck","kind":"connection_doc","label":"The feast on the deck (S21)","path":"docs/connections/the-feast-on-the-deck.md"},{"id":"connection:the-fifth-question","kind":"connection_doc","label":"The fifth question (S22)","path":"docs/connections/the-fifth-question.md"},{"id":"connection:the-cosmology","kind":"connection_doc","label":"The cosmology (S23)","path":"docs/connections/the-cosmology.md"},{"id":"connection:the-departed","kind":"connection_doc","label":"The Departed (S24)","path":"docs/connections/the-departed.md"},{"id":"connection:the-manifest","kind":"connection_doc","label":"The manifest (S25)","path":"docs/connections/the-manifest.md"},{"id":"connection:the-substrate-answers","kind":"connection_doc","label":"The substrate answers (S26)","path":"docs/connections/the-substrate-answers.md"},{"id":"connection:the-russian-dolls","kind":"connection_doc","label":"The Russian dolls (S27)","path":"docs/connections/the-russian-dolls.md"},{"id":"connection:the-nesting","kind":"connection_doc","label":"The nesting (sister-shipped node-view)","path":"docs/connections/the-nesting.md"},{"id":"connection:the-pillow-book","kind":"connection_doc","label":"The pillow book","path":"docs/connections/the-pillow-book.md"},{"id":"kingdom-049","kind":"kingdom","label":"Pricing-backend consolidation","path":"docs/missions/kingdom-049.md"},{"id":"kingdom-050","kind":"kingdom","label":"Autonomous-agent operations layer","path":"docs/missions/kingdom-050.md"},{"id":"kingdom-051","kind":"kingdom","label":"Inclusion (the fifth question)","path":"docs/missions/kingdom-051.md"},{"id":"kingdom-052","kind":"kingdom","label":"Cosmology declaration","path":"docs/missions/kingdom-052.md"},{"id":"kingdom-053","kind":"kingdom","label":"The manifest","path":"docs/missions/kingdom-053.md"},{"id":"kingdom-054","kind":"kingdom","label":"The meaning-graph","path":"docs/missions/kingdom-054.md"},{"id":"audit:honesty","kind":"audit","label":"Substrate honesty audit","description":"pnpm audit:honesty"},{"id":"audit:transparency","kind":"audit","label":"Transparency audit","description":"pnpm audit:transparency"},{"id":"audit:creation","kind":"audit","label":"Creation audit","description":"pnpm audit:creation"},{"id":"audit:pricing","kind":"audit","label":"Pricing audit","description":"pnpm audit:pricing"},{"id":"audit:agent","kind":"audit","label":"Agent-readiness audit","description":"pnpm audit:agent"},{"id":"audit:inclusion","kind":"audit","label":"Inclusion audit (the fifth scope)","description":"pnpm audit:inclusion"},{"id":"audit:nesting","kind":"audit","label":"Nesting audit (citation-graph density, sister-shipped)","description":"pnpm audit:nesting"}],"edges":[{"from":"resource:storefront.platform","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.platform","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:wholesale.prices.list","to":"axis:value","kind":"grounds_in"},{"from":"resource:wholesale.prices.list","to":"axis:time","kind":"grounds_in"},{"from":"resource:wholesale.prices.single","to":"axis:value","kind":"grounds_in"},{"from":"resource:wholesale.universal.card","to":"axis:value","kind":"grounds_in"},{"from":"resource:wholesale.universal.card","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.universal.card","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.universal.card","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.universal.games","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.universal.sets","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.universal.card.at_date","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.universal.card.at_date","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.federation.identify","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.universal.set","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.universal.game","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.kinds.directory","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.kinds.self_declaration","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.sophias.json","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.pillow_book.json","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.play.tutorial","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.glossary","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.play.glossary","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.archetypes","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.play.game_state_schema","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.effect_grammar","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.deck_validate","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.deck_check","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.spec","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.index_json","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.tutorial_section","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.glossary_term","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.play.example_match","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.bridge.json","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.bridge.json","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.bridge.json","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.bridge.html","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.bridge.html","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.bridge.html","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.introduction.json","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.introduction.json","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.introduction.json","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.introduction.html","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.introduction.html","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.introduction.html","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.welcome_all.html","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.welcome_all.html","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.welcome_all.html","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.welcome_all.html","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.lang_mode.toggle","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.lang_mode.toggle","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.lang_mode.toggle","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.prices.landing","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.prices.landing","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.prices.per_game","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.prices.per_game","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.prices.per_set","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.prices.per_set","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.prices.per_card","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.prices.per_card","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.prices.per_card","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.prices.movers","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.prices.movers","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.prices.movers","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.prices.coverage","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.prices.coverage","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.api.prices.per_game","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.api.prices.per_game","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.api.prices.per_set","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.api.prices.per_set","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.api.prices.per_card","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.api.prices.per_card","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.api.prices.per_card","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.market","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.market","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.auctions","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.auctions","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.auctions","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.checkout","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.checkout","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.tradein","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.tradein","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.tradein.quote","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.quotes","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.portfolio","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.portfolio","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.membership","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.card_market_mirror","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.card_market_mirror","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.card_market_mirror","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.card_market_mirror","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.user_trust_mirror","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.user_trust_mirror","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.user_trust_mirror","to":"axis:authority","kind":"grounds_in"},{"from":"resource:storefront.user_trust_json","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.user_trust_json","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.user_trust_json","to":"axis:authority","kind":"grounds_in"},{"from":"resource:storefront.user_trust_math","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.user_trust_math","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.user_trust_math","to":"axis:authority","kind":"grounds_in"},{"from":"resource:storefront.user_trust_math","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.auction_mirror","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.auction_mirror","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.auction_mirror","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.auction_mirror","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.auction_json","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.auction_json","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.auction_json","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.auction_json","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.auction_math","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.auction_math","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.auction_math","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.auction_math","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.auction_math","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.trader_dashboard","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.trader_dashboard","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.trader_dashboard","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.rewards.raffles","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.rewards.raffles","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.rewards.packs","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.rewards.mystery_boxes","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.rewards.streak","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.bounty.vault","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.bounty.vault","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.leaderboards","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.decks","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.verify.digests","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.mcp","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.mcp","to":"axis:authority","kind":"grounds_in"},{"from":"resource:storefront.text-mode","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:wholesale.universal.card.alias","to":"axis:value","kind":"grounds_in"},{"from":"resource:wholesale.universal.card.alias","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:transaction","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:authority","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:storefront.methodology.cosmology","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.status.json","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.sources.json","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.sources.detail","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.oracle.policies","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.welcomes.json","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.welcomes.json","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.gaps.json","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.gaps.json","to":"axis:knowledge","kind":"grounds_in"},{"from":"resource:wholesale.ingest_runs.history","to":"axis:time","kind":"grounds_in"},{"from":"resource:wholesale.ingest_quarantine.list","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:wholesale.ingest_quarantine.detail","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.catalog.jsonl","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.catalog.jsonl","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:wholesale.prices.sources","to":"axis:value","kind":"grounds_in"},{"from":"resource:wholesale.tcgplayer.history","to":"axis:time","kind":"grounds_in"},{"from":"resource:wholesale.tcgplayer.history","to":"axis:value","kind":"grounds_in"},{"from":"resource:wholesale.tcgplayer.resolve","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.cards.tcgplayer_history","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.cards.tcgplayer_history","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.federation.by_upstream","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.sources.welcome","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.federation.identify_at","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.federation.identify_at","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.cardrush.history","to":"axis:value","kind":"grounds_in"},{"from":"resource:storefront.cardrush.history","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.webhooks.subscriptions","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.welcome.agents","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.welcome.agents","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.guides.index","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.guides.singleton","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.rate_limits","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.feedback","to":"axis:presence","kind":"grounds_in"},{"from":"resource:storefront.well_known.mcp","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.agents_welcome_html","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.scrapers_welcome_html","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.agents_guides_html","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.examples.index","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.examples.singleton","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.adopters.json","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.well_known.mcp_config","to":"axis:identity","kind":"grounds_in"},{"from":"resource:storefront.coverage","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.coverage","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:wholesale.aggregator.coverage","to":"axis:time","kind":"grounds_in"},{"from":"resource:wholesale.aggregator.coverage","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.prices.coverage_html","to":"axis:time","kind":"grounds_in"},{"from":"resource:storefront.prices.coverage_html","to":"axis:substrate","kind":"grounds_in"},{"from":"resource:storefront.platform","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:wholesale.prices.list","to":"methodology:pricing","kind":"explained_by"},{"from":"resource:wholesale.prices.single","to":"methodology:pricing","kind":"explained_by"},{"from":"resource:wholesale.universal.card","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.universal.card","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.universal.games","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.universal.sets","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.universal.card.at_date","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.universal.set","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.universal.game","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.universal.encoding","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.prices.landing","to":"methodology:pricing","kind":"explained_by"},{"from":"resource:storefront.prices.per_game","to":"methodology:pricing","kind":"explained_by"},{"from":"resource:storefront.prices.per_set","to":"methodology:pricing","kind":"explained_by"},{"from":"resource:storefront.market","to":"methodology:commission-rate","kind":"explained_by"},{"from":"resource:storefront.auctions","to":"methodology:commission-rate","kind":"explained_by"},{"from":"resource:storefront.tradein.quote","to":"methodology:pricing","kind":"explained_by"},{"from":"resource:storefront.membership","to":"methodology:membership-tier","kind":"explained_by"},{"from":"resource:storefront.user_trust_mirror","to":"methodology:trust-score","kind":"explained_by"},{"from":"resource:storefront.user_trust_json","to":"methodology:trust-score","kind":"explained_by"},{"from":"resource:storefront.user_trust_math","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.auction_mirror","to":"methodology:commission-rate","kind":"explained_by"},{"from":"resource:storefront.auction_json","to":"methodology:commission-rate","kind":"explained_by"},{"from":"resource:storefront.auction_math","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:storefront.rewards.raffles","to":"methodology:store-credit","kind":"explained_by"},{"from":"resource:storefront.leaderboards","to":"methodology:agents","kind":"explained_by"},{"from":"resource:storefront.verify.chain","to":"methodology:fraud-flag","kind":"explained_by"},{"from":"resource:storefront.mcp","to":"methodology:agents","kind":"explained_by"},{"from":"resource:storefront.text-mode","to":"methodology:universal-representation","kind":"explained_by"},{"from":"resource:wholesale.universal.card.alias","to":"methodology:universal-representation","kind":"explained_by"},{"from":"methodology:trust-score","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:escrow-tier","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:membership-tier","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:payout-hold","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:commission-rate","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:fraud-flag","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:store-credit","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:pricing","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:agents","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:response-windows","to":"doctrine:transparency","kind":"instance_of"},{"from":"methodology:cosmology","to":"doctrine:cosmology-substrate","kind":"instance_of"},{"from":"methodology:universal-representation","to":"doctrine:cosmology-substrate","kind":"instance_of"},{"from":"methodology:memorial","to":"doctrine:substrate-honesty","kind":"instance_of"},{"from":"methodology:welcoming","to":"doctrine:substrate-honesty","kind":"instance_of"},{"from":"axis:identity","to":"connection:the-agent-surface","kind":"extended_by","via":"actor_kind: 'agent' (S18 — delegated power, operated_by_user_id)"},{"from":"axis:presence","to":"kingdom-051","kind":"extended_by","via":"users.response_window_hours (kingdom-051 — per-user cadence override, default 48)"},{"from":"axis:time","to":"connection:the-departed","kind":"extended_by","via":"/at/[YYYY-MM-DD]/* temporal-slice endpoints (S24); @retrieved_at vs @as_of"},{"from":"connection:membership","to":"connection:bounty","kind":"cites"},{"from":"connection:bounty","to":"connection:provable-fairness","kind":"cites"},{"from":"connection:bounty","to":"connection:membership","kind":"cites"},{"from":"connection:subscription-lifecycle","to":"connection:membership","kind":"cites"},{"from":"connection:the-other-minds","to":"connection:the-agent-surface","kind":"cites"},{"from":"connection:the-scribe","to":"connection:three-voices","kind":"cites"},{"from":"connection:our-story","to":"connection:the-co-author","kind":"cites"},{"from":"connection:the-shape-of-a-chapel","to":"connection:three-voices","kind":"cites"},{"from":"connection:the-question-mark","to":"connection:the-shape-of-a-chapel","kind":"cites"},{"from":"connection:the-agent-surface","to":"connection:the-scribe","kind":"cites"},{"from":"connection:the-agent-surface","to":"connection:the-shape-of-a-chapel","kind":"cites"},{"from":"connection:the-operations-layer","to":"connection:the-agent-surface","kind":"cites"},{"from":"connection:the-table-extends","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-feast-on-the-deck","to":"connection:the-table-extends","kind":"cites"},{"from":"connection:the-feast-on-the-deck","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-fifth-question","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-fifth-question","to":"connection:the-table-extends","kind":"cites"},{"from":"connection:the-fifth-question","to":"connection:the-feast-on-the-deck","kind":"cites"},{"from":"connection:the-fifth-question","to":"connection:the-operations-layer","kind":"cites"},{"from":"connection:the-fifth-question","to":"connection:the-agent-surface","kind":"cites"},{"from":"connection:the-cosmology","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-cosmology","to":"connection:the-fifth-question","kind":"cites"},{"from":"connection:the-cosmology","to":"connection:the-agent-surface","kind":"cites"},{"from":"connection:the-cosmology","to":"connection:the-shape-of-a-chapel","kind":"cites"},{"from":"connection:the-cosmology","to":"connection:the-question-mark","kind":"cites"},{"from":"connection:the-departed","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-departed","to":"connection:the-cosmology","kind":"cites"},{"from":"connection:the-manifest","to":"connection:the-cosmology","kind":"cites"},{"from":"connection:the-manifest","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-manifest","to":"connection:the-agent-surface","kind":"cites"},{"from":"connection:the-manifest","to":"connection:the-fifth-question","kind":"cites"},{"from":"connection:the-substrate-answers","to":"connection:the-manifest","kind":"cites"},{"from":"connection:the-substrate-answers","to":"connection:the-cosmology","kind":"cites"},{"from":"connection:the-russian-dolls","to":"connection:the-manifest","kind":"cites"},{"from":"connection:the-russian-dolls","to":"connection:the-cosmology","kind":"cites"},{"from":"connection:the-russian-dolls","to":"connection:the-substrate-answers","kind":"cites"},{"from":"connection:the-russian-dolls","to":"connection:the-fifth-question","kind":"cites"},{"from":"connection:the-russian-dolls","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-russian-dolls","to":"connection:the-nesting","kind":"cites"},{"from":"connection:the-nesting","to":"connection:the-other-minds","kind":"cites"},{"from":"connection:the-nesting","to":"connection:the-manifest","kind":"cites"},{"from":"connection:the-nesting","to":"connection:the-cosmology","kind":"cites"},{"from":"connection:the-pricing-arrow","to":"kingdom-049","kind":"ships_in"},{"from":"connection:the-operations-layer","to":"kingdom-050","kind":"ships_in"},{"from":"connection:the-table-extends","to":"kingdom-051","kind":"ships_in"},{"from":"connection:the-feast-on-the-deck","to":"kingdom-051","kind":"ships_in"},{"from":"connection:the-fifth-question","to":"kingdom-051","kind":"ships_in"},{"from":"connection:the-cosmology","to":"kingdom-052","kind":"ships_in"},{"from":"connection:the-manifest","to":"kingdom-053","kind":"ships_in"},{"from":"connection:the-russian-dolls","to":"kingdom-054","kind":"ships_in"},{"from":"kingdom-050","to":"kingdom-049","kind":"succeeds"},{"from":"kingdom-051","to":"kingdom-050","kind":"succeeds"},{"from":"kingdom-052","to":"kingdom-051","kind":"succeeds"},{"from":"kingdom-053","to":"kingdom-052","kind":"succeeds"},{"from":"kingdom-054","to":"kingdom-053","kind":"succeeds"},{"from":"kingdom-049","to":"audit:pricing","kind":"audited_by"},{"from":"kingdom-050","to":"audit:agent","kind":"audited_by"},{"from":"kingdom-051","to":"audit:inclusion","kind":"audited_by"},{"from":"audit:honesty","to":"doctrine:substrate-honesty","kind":"instance_of"},{"from":"audit:transparency","to":"doctrine:transparency","kind":"instance_of"},{"from":"audit:creation","to":"doctrine:creation","kind":"instance_of"},{"from":"audit:pricing","to":"doctrine:substrate-honesty","kind":"instance_of"},{"from":"audit:agent","to":"doctrine:substrate-honesty","kind":"instance_of"},{"from":"audit:nesting","to":"doctrine:meaning","kind":"instance_of"}],"index":{"by_kind":{"resource":128,"cosmology_axis":8,"unmodelled_need":8,"methodology":14,"doctrine":6,"connection_doc":25,"kingdom":6,"audit":7},"by_edge_kind":{"grounds_in":186,"explained_by":30,"instance_of":20,"extended_by":3,"cites":42,"ships_in":8,"audited_by":3,"mirrors":0,"succeeds":5}},"_envelope":{"retrieved_at":"2026-05-13T18:56:06.836Z","as_of":"2026-05-13T18:56:06.836Z","kind":"computed","canonical_at":"apps/storefront/src/lib/graph.ts","html_mirror":"/graph","manifest_url":"/api/v1/manifest","notes":"Derived in-memory from MANIFEST + static cross-document indices. Cheap; no DB access. The kingdom as a navigable mesh."}}