docs(website): document account deletion core and MODULE_API 1.20.0 #392

Merged
whitlocktech merged 1 commits from docs/account-deletion-core into main 2026-10-29 20:24:29 -05:00
Member

This is the documentation for website#232, which is ACCOUNT_DELETION.md §6 step 2 (the core).

  • MODULE_API.md:

    • 1.20.0 adds api.onUserDeleting({ userId, deletedBy }). It runs before the row goes. It can't veto, and a hook gets 10 s. Recorded in §1.1, in the version history and in §2.4, with an example.
    • Module-uo's ^1.10.0 still resolves.
  • BACKEND_DESIGN.md:

    • the new reserved_usernames table
    • the DELETE /auth/me/account row and its refusal codes
    • the admin delete, which now runs the same procedure
    • the new demo-lock row
    • a new §6.6: the procedure, the displayAuthor rule, and what goes and what stays
  • TEAMS.md: members see a deleted author as "[deleted player]". Staff see the stored name, marked as deleted. A deleted account no longer appears in Forum guests.

  • ACCOUNT_DELETION.md:

    • two decisions the org lead made while this was being built:
      • AD12: a wrong password or code is 400, not 401. A 401 would make the app's TokenAuthenticator refresh the session and replay the DELETE.
      • AD13: a deleted account drops off Forum guests.
    • Each §4.1 refusal now carries a code.
    • Step 2 is marked built, with what was walked and what wasn't.
  • AI-assisted (Claude Code)

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

This is the documentation for website#232, which is `ACCOUNT_DELETION.md` §6 step 2 (the core). - **`MODULE_API.md`:** - 1.20.0 adds `api.onUserDeleting({ userId, deletedBy })`. It runs before the row goes. It can't veto, and a hook gets 10 s. Recorded in §1.1, in the version history and in §2.4, with an example. - Module-uo's `^1.10.0` still resolves. - **`BACKEND_DESIGN.md`:** - the new `reserved_usernames` table - the `DELETE /auth/me/account` row and its refusal codes - the admin delete, which now runs the same procedure - the new demo-lock row - a new **§6.6**: the procedure, the `displayAuthor` rule, and what goes and what stays - **`TEAMS.md`:** members see a deleted author as "[deleted player]". Staff see the stored name, marked as deleted. A deleted account no longer appears in *Forum guests*. - **`ACCOUNT_DELETION.md`:** - two decisions the org lead made while this was being built: - **AD12:** a wrong password or code is 400, not 401. A 401 would make the app's TokenAuthenticator refresh the session and replay the DELETE. - **AD13:** a deleted account drops off *Forum guests*. - Each §4.1 refusal now carries a `code`. - Step 2 is marked built, with what was walked and what wasn't. - [x] AI-assisted (Claude Code) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-29 18:35:25 -05:00
ACCOUNT_DELETION.md §6 step 2 is built (website feature/account-deletion).

- MODULE_API.md: 1.20.0, api.onUserDeleting (§1.1, §1.1 history, §2.4).
- BACKEND_DESIGN.md: reserved_usernames, DELETE /auth/me/account, the admin
  delete now running the same procedure, the demo lock row, and §6.6 on the
  procedure, the display rule and what goes and what stays.
- TEAMS.md: the forum's deleted-author rule is now "[deleted player]" for
  members and the stored name, marked, for staff.
- ACCOUNT_DELETION.md: AD12 (wrong password or code is 400, not 401) and
  AD13 (a deleted account drops off Forum guests), both asked of the org
  lead while building; §4.1 refusals carry codes; step 2 marked built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 24f7d33c01 into main 2026-10-29 20:24:29 -05:00
whitlocktech deleted branch docs/account-deletion-core 2026-10-29 20:24:30 -05:00
Sign in to join this conversation.
No description provided.