feat(rust): slash commands, the next wipe, and the Admin → Rust servers page (phase 16) #18
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/phase-16-commands"
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?
Phase 16, built to the plan of record in docs
modules/rust/PLAN.md§32 (docs#275). The as-built record and the walk are in §32.5–32.7 (docs PR alongside).The commands (D126, D127).
/status,/wipe,/top,/onlineand/clanare registered in oneapi.registerSlashCommandsbatch. All five are read-only andaccess: 'everyone', and each resolves its own gate inside the handler./online, or a member's/clanroster, goes to the caller alone and never to the channel. That is the reverse of the row's criterion, and the case core does not cover.The next wipe (D128, D130).
rust_servers.model/servers/nextWipe.jsholds a purenextWipe(row, now)with the zone arithmetic done throughIntl. It runs on every read and is never stored.nextWipe, and the admin shape gainsschedule.PUT /admin/rust/servers/:idtakes the six fields and writes them only whenwipeRuleis present. A 400 carries one sentence per problem.D133, the page the plan assumed. §32 said the schedule would go in "the existing server form", but there was none. Servers were PUT-only (D106), and the README described an Admin → Rust server form that did not exist. New page
/admin/rust/servers: add, edit, test and delete a server, with the wipe schedule in the form. The token stays write-only.Also:
server/commandsjoinsci/bundle.json, whichcheckBundlecaught.Checks: server 368 tests, client 55, check:imports, check:swagger, client build + check:externals, all green.
Walked 2026-09-25 on real core
mainwith both rigs' sidecars, driven through the bot's realdynamicCommands(D129). All seven §32.3 steps passed, including every D127 case.Needs your eyes:
The new admin servers page in a browser. I could not sign in to drive it. Its PUT was walked through the API.
§32.7's reading that a one-off date applies under
nonetoo.AI-assisted: Claude Code (Claude Opus 5.5)
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY