docs(website): one self-service surface — /auth/me/account (engagement Phase 1a) #179

Merged
whitlocktech merged 1 commits from docs/collapse-account-surfaces into edge 2026-08-29 05:53:03 +00:00
Member

Companion to website#166, which deletes /admin/account (6 routes) and /player/account (8 routes) in favour of /auth/me/account — already a strict superset of both.

What changed

  • BACKEND_DESIGN.md — the two router-tree entries go; me.routes.js gains account.controller.js beside it. The /auth/me prose is rewritten from "additive, the older routes stay for web back-compat" to the single surface it now is, recording why /auth/me was the one to keep and that gating was equivalent. The /player-group paragraph loses account.router.js from its mount list.
  • ENGAGEMENT.md — new Phase 1a records the collapse as built. §0.6 finding 4 is corrected: it named router/v1/player/account.router.js, which no longer exists. Phase 1b's change-and-verify flow now lands on /auth/me/account and nowhere else — which is the reason this went first. A self-service field would otherwise have been written three times, in 1b and again in Phase 3.
  • android/PLAN.md §6.4 / §8 — the "routes stay for web back-compat" note is now false. The app needed no change: MeApi.kt was already 100% /auth/me/*.
  • API_V2_PLAN.md — a forward pointer only. Its router inventories are a record of the domain split as it landed and are deliberately left as written; falsifying them would break the record.

The one thing worth a second look

api-route-inventory.json is regenerated wholesale, not partially updated — which is why this diff is bigger than the change.

It is a generated mirror of server/routes.manifest.json with no CI gate, and it had drifted badly on its own: 168 entries against the manifest's 203, missing every Teams route and still listing the two Gmail connect routes that engagement Phase 1 deleted. Updating only my 14 lines would have left a file that equals nothing. It is now byte-identical to the manifest.

A gate for it is flagged in ENGAGEMENT.md Phase 1a as later work — a mirror nothing checks will drift again.

Deliberately untouched

website/PROJECT_TREE.md still lists the two deleted router files. It is auto-generated by the sync-project-tree workflow in the website repo, which regenerates it from tracked files on main and opens its own PR — hand-editing it is exactly what its header forbids.

AI disclosure

Written with Claude Code (Opus 5).

Companion to **[website#166](https://gitea.whitlocktech.com/RunicGateway/website/pulls/166)**, which deletes `/admin/account` (6 routes) and `/player/account` (8 routes) in favour of `/auth/me/account` — already a strict superset of both. ## What changed - **`BACKEND_DESIGN.md`** — the two router-tree entries go; `me.routes.js` gains `account.controller.js` beside it. The `/auth/me` prose is rewritten from *"additive, the older routes stay for web back-compat"* to the single surface it now is, recording **why** `/auth/me` was the one to keep and that gating was equivalent. The `/player`-group paragraph loses `account.router.js` from its mount list. - **`ENGAGEMENT.md`** — new **Phase 1a** records the collapse as built. §0.6 finding 4 is corrected: it named `router/v1/player/account.router.js`, which no longer exists. Phase 1b's change-and-verify flow now lands on `/auth/me/account` **and nowhere else** — which is the reason this went first. A self-service field would otherwise have been written three times, in 1b and again in Phase 3. - **`android/PLAN.md` §6.4 / §8** — the *"routes stay for web back-compat"* note is now false. **The app needed no change**: `MeApi.kt` was already 100% `/auth/me/*`. - **`API_V2_PLAN.md`** — a forward pointer only. Its router inventories are a **record of the domain split as it landed** and are deliberately left as written; falsifying them would break the record. ## The one thing worth a second look **`api-route-inventory.json` is regenerated wholesale, not partially updated** — which is why this diff is bigger than the change. It is a generated mirror of `server/routes.manifest.json` with **no CI gate**, and it had drifted badly on its own: **168 entries against the manifest's 203**, missing every Teams route and still listing the two Gmail `connect` routes that engagement Phase 1 deleted. Updating only my 14 lines would have left a file that equals nothing. It is now byte-identical to the manifest. A gate for it is flagged in ENGAGEMENT.md Phase 1a as later work — **a mirror nothing checks will drift again.** ## Deliberately untouched `website/PROJECT_TREE.md` still lists the two deleted router files. It is auto-generated by the `sync-project-tree` workflow in the website repo, which regenerates it from tracked files on `main` and opens its own PR — hand-editing it is exactly what its header forbids. ## AI disclosure Written with Claude Code (Opus 5).
wtclaude added 1 commit 2026-08-29 05:50:43 +00:00
Companion to RunicGateway/website's collapse of /admin/account (6 routes) and
/player/account (8 routes) onto /auth/me/account, which was already a strict
superset of both.

  - BACKEND_DESIGN.md: the two router-tree entries go; the /auth/me prose is
    rewritten from "additive, the older routes stay for web back-compat" to the
    single surface it now is, recording why /auth/me was the one to keep and
    that gating was equivalent. account.controller.js moved to router/v1/auth/.
    The /player-group paragraph loses account.router.js from its mount list.
  - ENGAGEMENT.md: new Phase 1a records the collapse as built, and §0.6 finding 4
    is corrected — it named router/v1/player/account.router.js, which is gone.
    Phase 1b's change-and-verify flow now lands on /auth/me/account and nowhere
    else, which was the reason to do this first: a self-service field would
    otherwise have been written three times, in 1b and again in Phase 3.
  - android/PLAN.md §6.4/§8: the "routes stay for web back-compat" note is now
    false. The app needed no change — MeApi.kt was already 100% /auth/me/*.
  - API_V2_PLAN.md: a forward pointer only. Its router inventories are a record
    of the domain split as it landed and are deliberately left as written.

api-route-inventory.json is regenerated wholesale, not partially updated. It is
a generated mirror of server/routes.manifest.json with no CI gate, and it had
drifted on its own: 168 entries against the manifest's 203, missing every Teams
route and still listing the two Gmail connect routes Phase 1 deleted. It is now
byte-identical to the manifest. A gate for it is flagged in ENGAGEMENT.md
Phase 1a as later work — a mirror nothing checks will drift again.

PROJECT_TREE.md is deliberately untouched: it is auto-generated by the
sync-project-tree workflow in the website repo, which regenerates it from
tracked files on main.

Co-Authored-By: Claude <noreply@anthropic.com>
whitlocktech approved these changes 2026-08-29 05:52:50 +00:00
whitlocktech merged commit e833874e8b into edge 2026-08-29 05:53:03 +00:00
whitlocktech deleted branch docs/collapse-account-surfaces 2026-08-29 05:53:04 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RunicGateway/docs#179
No description provided.