docs(website): the public surface, and the flag that decides what reaches it (Phase 14a)
EVENTS.md gains what the phase settled -- a new §I section on the public surface, the four API surface rows filled in, `listed` in §D, and the §J rows for player profiles and mobile. EVENTS_PLAN.md records the 14a/14b split and 14a as built. BACKEND_DESIGN.md points at the two tiers the Phase 14a reads live on. MODULE_API.md records core's own capability list beside a module's -- the same word, a separate list, and why. Two things this phase corrected in the document rather than in code. "Venue" was never a field. §I's screens table and the API surface table had both described one since the first revision; there has never been a column, a spec key, an input on Phase 13's form, or a string anywhere in either repo. Rather than add a field on the way past to a public page, both descriptions dropped it. And the six public triggers' missing url variable, which this document has carried as a promise since Phase 10, is now kept: `eventUrl`, carrying `?run=`, arriving with the page it points at. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016wDDVXWMDz82WqE1i969r4
This commit is contained in:
@@ -1712,10 +1712,17 @@ file a route sits in — that is the property the route manifest freezes.
|
||||
> **The `/events/*` rows above are the surface as of Phase 1**, and they are not the whole of it.
|
||||
> The live run controls (Phase 3), the calendar and series writes (Phase 4), `advance` (Phase 5),
|
||||
> the dry run and the action switchboard (Phase 6), the option-source route (Phase 7), `cleanup`
|
||||
> (Phase 8) and the cap meter (Phase 13) are not listed here. **[`EVENTS.md`](EVENTS.md) § API
|
||||
> surface is the canonical table** and carries every one of them with the reasoning for its gate;
|
||||
> re-listing them here would be a second copy of a contract that file owns, and the copy that
|
||||
> drifts is always the second one.
|
||||
> (Phase 8), the cap meter (Phase 13) and the public/player reads (Phase 14a) are not listed here.
|
||||
> **[`EVENTS.md`](EVENTS.md) § API surface is the canonical table** and carries every one of them
|
||||
> with the reasoning for its gate; re-listing them here would be a second copy of a contract that
|
||||
> file owns, and the copy that drifts is always the second one.
|
||||
>
|
||||
> The Phase 14a reads are the only ones outside this tier: `GET /public/events`,
|
||||
> `/public/events/:slug` and `/public/events/series/:slug` on the anonymous surface, and
|
||||
> `GET /player/events/history` on the self-service one. What makes something visible there is
|
||||
> `listed` **and** `ready` **and** not a rehearsal, and all three are predicates in SQL rather than
|
||||
> checks a caller performs — a draft, an archived definition and an unlisted one all answer 404,
|
||||
> indistinguishable from a slug that never existed.
|
||||
|
||||
Every admin write logs to `activity_log`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user