docs(modules): phase 6 as built — identity, and the sentence a player could not see #258

Merged
whitlocktech merged 1 commits from docs/rust-phase-6 into main 2026-09-21 22:24:46 +00:00
Member

Protocol 3 and phase 6, written down: PROTOCOL.md §9, a new identity walk in PLAYER_WALK.md, what an operator needs in INTEGRATION.md, and PLAN.md §19.

Seven org-lead decisions (§19.0)

D20 /link is a chat command and its reply is private · D21 codes live in plugin memory, matching what module-uo actually does · D22 an alphabet with no O, 0, I or 1 · D23 a Steam id another account holds is refused, never moved · D24 the website asks every server, because a code does not say which one minted it · D25 staff can sever a link · D26 the activity-row overflow belongs to core.

The two findings worth reading

§19.3 — a slot router is not registered under a tier, so Module-Rust's own OpenAPI generator described two routes fewer than the module serves. Internally consistent, passed every check in the repo, and wrong. The frozen-manifest job is what catches it, verified by deleting the two paths and watching it fail.

§19.4 — every refusal sentence was invisible. Core's request primitive reads data.message; the module has answered { error } since phase 1, so the four sentences this phase exists to write all rendered as Service Unavailable. A browser found it; 122 green tests did not.

The in-game half is a walk, not a claim

A code reaches a player and nobody else, so no console can read one. PLAYER_WALK.md gains an identity walk beside phase 3's player walk: six steps, two website accounts, and what counts as a pass — the code never appears anywhere but in front of the player who asked, a Steam account belongs to one website account at a time, and every refusal tells the player what to do next.

AI disclosure

  • This contribution was AI-assisted (Claude Code).

🤖 Generated with Claude Code

https://claude.ai/code/session_01PMH6bw1jXMgbyF3ZWGEzSM

Protocol 3 and phase 6, written down: `PROTOCOL.md` §9, a new identity walk in `PLAYER_WALK.md`, what an operator needs in `INTEGRATION.md`, and `PLAN.md` §19. ## Seven org-lead decisions (§19.0) D20 `/link` is a chat command and its reply is private · D21 codes live in plugin memory, matching what `module-uo` actually does · D22 an alphabet with no O, 0, I or 1 · D23 a Steam id another account holds is **refused, never moved** · D24 the website asks **every** server, because a code does not say which one minted it · D25 staff can sever a link · D26 the activity-row overflow belongs to core. ## The two findings worth reading **§19.3 — a slot router is not registered under a tier**, so `Module-Rust`'s own OpenAPI generator described two routes fewer than the module serves. Internally consistent, passed every check in the repo, and wrong. The frozen-manifest job is what catches it, verified by deleting the two paths and watching it fail. **§19.4 — every refusal sentence was invisible.** Core's request primitive reads `data.message`; the module has answered `{ error }` since phase 1, so the four sentences this phase exists to write all rendered as *Service Unavailable*. A browser found it; 122 green tests did not. ## The in-game half is a walk, not a claim A code reaches a player and nobody else, so no console can read one. `PLAYER_WALK.md` gains an **identity walk** beside phase 3's player walk: six steps, two website accounts, and what counts as a pass — the code never appears anywhere but in front of the player who asked, a Steam account belongs to one website account at a time, and every refusal tells the player what to do next. ## AI disclosure - [x] This contribution was AI-assisted (Claude Code). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01PMH6bw1jXMgbyF3ZWGEzSM
wtclaude added 1 commit 2026-09-21 14:12:54 +00:00
Protocol 3 in PROTOCOL.md §9, the identity walk in PLAYER_WALK.md, what an
operator needs in INTEGRATION.md, and PLAN.md §19.

Seven org-lead decisions (§19.0): /link is chat and its reply is private, codes
live in plugin memory as the UO bridge does, an alphabet with no O/0/I/1, a
Steam id another account holds is refused rather than moved, the website asks
EVERY server because a code does not say which one minted it, staff can sever a
link, and the activity-row overflow belongs to core.

§19.3 is the finding worth reading: a slot router is not registered under a tier,
so this repo own OpenAPI generator described two routes fewer than the module
serves — internally consistent, and wrong. The frozen-manifest job catches it,
which was verified by deleting the two paths and watching it fail.

§19.4 is what a browser found and 122 green tests did not. Core request
primitive reads data.message; this module has answered { error } since phase 1,
so every refusal this phase exists to write rendered as Service Unavailable.

The code-from-the-game half is written down rather than claimed: a code reaches
a player and nobody else, so no console can read one (D27).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMH6bw1jXMgbyF3ZWGEzSM
whitlocktech merged commit 4fe8864939 into main 2026-09-21 22:24:46 +00:00
whitlocktech deleted branch docs/rust-phase-6 2026-09-21 22:24:48 +00:00
Sign in to join this conversation.
No description provided.