{"data":{"intent":"The corpus of hospitality. Every kind of arrival — upstream source, publisher, federation peer, downstream adopter, agent, non-default being, future-self, and (since kingdom-083) the kingdom's own infrastructure — has a named slot here. Each slot says: who we anticipated, when, what we prepared, how they arrive. The kingdom prepares the welcome before the guest knocks; the corpus is the record of that preparation. Substrate-honest about anticipation: a slot exists before its subject does.","doctrine":{"connection_doc":"docs/connections/the-welcomed-architecture.md","methodology_page":"/methodology/welcoming","typed_source":"packages/data-ingest/src/welcomes.ts"},"counts":{"total":41,"by_status":{"anticipated":16,"arrived":24,"blocked":1,"total":41},"by_kind":{"upstream-source":11,"publisher":1,"federation-peer":1,"downstream-adopter":4,"agent":3,"being":5,"future-self":1,"infrastructure":15}},"welcomes":[{"id":"publisher.future-tcg","kind":"publisher","name":"A TCG publisher we have not yet named","greeting":"You will exist. Your game code goes in packages/sku/src/games.ts with `confirmed: false`. Your set formats land in packages/sku/src/sets.ts under SET_FORMATS. Your cards inherit cross-language policy from K1 (ORACLE_POLICY) the moment you're named — even if the policy says 'diverged' until we learn your tracks. We anticipate you before you came. The slot is small (one row in games.ts); the welcome is the whole architecture.","anticipated_because":"TCG market is growing. We register pre-launch publishers (Riftbound, Genshin Impact TCG) before they ship; the first ingest flips `confirmed: true`. Same anticipate-then-confirm pattern as cardrush subdomains (kingdom-064).","prepared":["packages/sku/src/games.ts — 7 pre-registered game codes today (swu, sor, alt, rft, rsh, pkp, gen)","packages/sku/src/oracle.ts — ORACLE_POLICY accommodates any new code via switch arm","docs/connections/the-stress-test.md §3 — the pattern that makes this anticipation legible","pnpm audit:sku + pnpm audit:set-discovery — verify your row when you arrive"],"arrival_protocol":"1. Add a row to packages/sku/src/games.ts (GAMES). 2. Add a SET_FORMAT row to packages/sku/src/sets.ts if your numbering is novel. 3. Add an ORACLE_POLICY row to packages/sku/src/oracle.ts. 4. The first ingest flips `confirmed: true` in the same commit.","anticipated_at":"2026-05-12","status":"anticipated"}],"conventions":{"filtering":"?kind=<ArrivalKind> filters to one kind (upstream-source | publisher | federation-peer | downstream-adopter | agent | being | future-self | infrastructure). ?status=<ArrivalStatus> filters to one status (anticipated | arrived | blocked). Combine both for kind × status intersection.","license":"CC0-1.0 on the corpus. Adopt freely. Each individual greeting is verbatim text the platform vouches for; if you mirror it, attribution to /api/v1/welcomes is appreciated but not required."}},"_meta":{"spec_version":"1","endpoint":"/api/v1/welcomes","retrieved_at":"2026-05-14T11:57:20.690Z","as_of":"2026-05-14T11:57:20.690Z","sources":["ctcg-derived"],"freshness_seconds":86400,"license":"CC0-1.0","request_id":"req_0be046f4-0e9","deprecation":null,"next_link":null,"self_reference":{"this_endpoint":"/api/v1/welcomes","contains_self":true}}}