docs(website): cross-component blast-radius review + /api/mobile facade (Phase 0) #47
Reference in New Issue
Block a user
No description provided.
Delete Branch "docs/api-v2-blast-radius-mobile-facade"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
Expands the API v2 plan to account for consumers beyond the browser, and adds a decision made in review: stand up a version-agnostic
/api/mobilefacade before v2 so the Android app leaves the version-churn blast radius entirely.The original plan was written as if the website were the whole world. It isn't — three independent clients consume the site API, and two live in separate repos on separate release cadences.
Changes
website/API_V2_PLAN.mdapi/v1/…endpoints + SSE path + SSO URLs, Discord bot = env repoint) and maps the site↔link / site↔mobile contracts./public/shard/streamSSE must stay anonymous — logged-out browsers and the app'sShardStreamClientsend noAuthorizationheader; the original step 5 would haverequireAuth-gated it and blacked out the public live boards. Only the admin stream moves to Bearer.useShardFeed.jsEventSource → fetchrewrite is scoped to the admin stream only./api/mobiledelegating to current controllers behind pinned wire shapes (contract tests), landed before v2 so the auth merge never touches the app. Must cover the app's entire surface and preserve the same auth middleware (a re-exposed admin route missingadminOnly= priv-esc).link/documented as out of scope — noPROTOCOL_VERSIONbump; the admin-stream allowlist split is the only shared seam.docs/android/PLAN.md/api/mobile(pure rename, no behavior change) + ship the app-version floor, cross-referenced with the website plan's Phase 0. Plus a path note at §6.Key nuance (not oversold)
The facade does not make
/api/v1deletable on the web client's schedule — the pre-facade installed app still calls v1 until the version floor ages it out. What it buys: that becomes a one-time, behavior-free, pre-v2 cutover instead of the auth merge being hostage to the app fleet, and the app never migrates again.Docs-only; no code changes.
🤖 Generated with Claude Code
https://claude.ai/code/session_01NgyHnrNa8WwG3doxvxjuCr