fix(rust): answer refusals in the field core reads, and show the name the game last saw #7
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/phase-6-refusal-sentences"
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?
The two defects the phase 6 browser walk found and #6 described — but did not carry. They were written and walked, and left uncommitted;
edgestill has both shapes the walk condemned.Every refusal sentence was invisible
Core's request primitive reads one field:
This module has answered
{ error: … }since phase 1, and got away with it because every failure until phase 6 landed inErrorStateon a page whose whole content was missing — where a generic sentence is honest. A form is different: the sentence IS the outcome. The link page showed Service Unavailable for all four of the refusals phase 6 exists to write, including the one that must never be ambiguous (unsure— "your code is still good, a server was unreachable" vs. "that code is wrong").All 23 error bodies now answer in
message, which is core'sErrorschema — the one these routes' own#swagger.responsesalready referenced, so the annotations stop being a claim the handlers contradict.test/errorShape.test.jsdrives each outcome rather than grepping for the field, and asserts the half that is easy to leave behind: a body carrying both fields renders correctly in a browser and keeps the wrong shape alive for the next route that copies it. It also asserts the five outcomes stay five distinct sentences.The player saw a stale name
/player/rustshowed the name recorded at link time while the admin panel showed the one the game last saw — the same person labelled two ways on one site, because a Rust name changes on a whim and only the admin read joinedrust_players. ALEFT JOIN, because an account can be linked and never played on.Checks
123 server tests, 39 client tests,
check:imports,check:bundle,check:swagger,check:externals— all green. No route shapes changed, soswagger-fragment.jsonandroutes.manifest.jsonare unchanged and current.Base branch
edge, per D18.AI disclosure
🤖 Generated with Claude Code
https://claude.ai/code/session_01PMH6bw1jXMgbyF3ZWGEzSM