docs(safety): record USER_SAFETY step 3, Module-Rust's chat lines #400

Merged
whitlocktech merged 1 commits from docs/user-safety-rust into main 2026-10-30 09:18:56 -05:00
Member

What & why

The docs half of USER_SAFETY.md step 3. The code is in RunicGateway/Module-Rust feature/user-safety (into edge) and RunicGateway/Integration-kit docs/core-1.21.0.

  • §4.2 rewritten to match what was built:
    • server/safety.js, and that a rust.chat id must be a player.chat row.
    • The snapshot's null cases.
    • rust_events.hidden_at / hidden_by.
    • The line's own staff routes, POST /admin/rust/chat/:id/hide and /unhide. They're admin and moderator only, write to the activity log, and are the only place a hide is undone.
    • The feed filtered in the query, chat rows only.
    • canBlock's rules.
    • What happens when core's safety reads fail.
    • The menu.
    • Demo: none of this is locked.
  • §7 step 3 is recorded as built and walked: 28 API rows and a browser pass. The status line is updated to match.

No other doc names rust_events or these routes. MODULE_API.md already listed Module-Rust as the user of ctx.safety.

How it was tested

Docs only. Every route, column and behaviour was checked against the Module-Rust branch and the live walk.

AI-assisted contributions (required)

  • No AI tools were used to produce this contribution.
  • AI tools were used. Tool(s): Claude Code (Claude Opus 5.5). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a Co-Authored-By trailer.

License

  • I agree that my contribution is licensed under this project's license (GNU GPL v3.0 or later), and I have the right to contribute it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

## What & why The docs half of `USER_SAFETY.md` step 3. The code is in RunicGateway/Module-Rust `feature/user-safety` (into `edge`) and RunicGateway/Integration-kit `docs/core-1.21.0`. - **§4.2 rewritten to match what was built:** - `server/safety.js`, and that a `rust.chat` id must be a `player.chat` row. - The snapshot's `null` cases. - `rust_events.hidden_at` / `hidden_by`. - The line's own staff routes, `POST /admin/rust/chat/:id/hide` and `/unhide`. They're admin and moderator only, write to the activity log, and are the only place a hide is undone. - The feed filtered in the query, chat rows only. - `canBlock`'s rules. - What happens when core's safety reads fail. - The menu. - Demo: none of this is locked. - **§7 step 3** is recorded as built and walked: 28 API rows and a browser pass. The status line is updated to match. No other doc names `rust_events` or these routes. `MODULE_API.md` already listed Module-Rust as the user of `ctx.safety`. ## How it was tested Docs only. Every route, column and behaviour was checked against the Module-Rust branch and the live walk. ## AI-assisted contributions (required) - [ ] No AI tools were used to produce this contribution. - [x] AI tools were used. Tool(s): `Claude Code (Claude Opus 5.5)`. I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with a `Co-Authored-By` trailer. ## License - [x] I agree that my contribution is licensed under this project's license (**GNU GPL v3.0 or later**), and I have the right to contribute it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-30 09:05:28 -05:00
Rewrites §4.2 to match what was built: server/safety.js, the in-query feed
filter, rust_events.hidden_at / hidden_by, the staff hide and unhide routes
on the line's own menu, and what happens when core's safety reads fail.
Records §7 step 3 as built and walked (28 API rows and a browser pass).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 76572fe3b4 into main 2026-10-30 09:18:56 -05:00
whitlocktech deleted branch docs/user-safety-rust 2026-10-30 09:18:57 -05:00
Sign in to join this conversation.
No description provided.