USER_SAFETY.md §4.1 records the website fix: a forum post is not pushed,
put in the inbox or emailed to a member who blocks its author or the
thread's starter, and the digest applies each recipient's forum filter.
It also says why the Team activity feed needs nothing: forum posts never
appear in it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
The org lead's "none of those" on step 5's W1-W4 was about the demo's
data (no seeding), not about holding the features back. Record that,
the Module-Rust cutover (#73, v0.7.0) that brings them to the demo,
and the app cutover (Android-app#65) as step 6.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
Report, hide and block walked on the web and in the app, Hide for everyone
from the queue, and S14, against website main + Module-Rust edge with
DEMO_MODE on and the demo's own seed. API 30/30, web and app rows all pass.
Walked locally, not on the demo, by the org lead's choice.
Records four findings about the demo itself, unchanged: chat is staff-only
there (W1), the rig has no chat to report (W2), play-review is an admin
(W3), and the demo runs Module-Rust v0.6.3, without this feature (W4).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
§4.3 rewritten to match what was built: the long-press sheet and what it
offers, the refusals, the re-read after a change, the Hidden by staff marker,
and Account -> Blocked. §7 step 4 recorded as built and walked on the
emulator, with the two things the walk found. android/PLAN.md M8 step 4
points at it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
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
USER_SAFETY.md: S11-S14 (asked while building the core), §3 corrected
(the chat feed is already read per viewer), §4 rewritten to match what
was built, §7 step 2 recorded as built and walked.
MODULE_API.md: 1.21.0 (registerReportTargets, registerGameIdentities,
ctx.safety). BACKEND_DESIGN.md: user_blocks / user_hidden_items, the
content_reports snapshot and actioned_with, the new routes, the folder
map. TEAMS.md §5.6 amended. README row updated.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
ACCOUNT_DELETION.md is the plan of record for the org lead's decision:
a member deletes their own account on the website and in the app, as
Google Play requires of an app that starts accounts.
- One deletion service for the admin route and the member's own route,
with a confirm step, the last-admin and demo refusals, clearing the
username snapshots on what the member wrote, and a notice by email.
- MODULE_API 1.20.0: api.onUserDeleted, which runs after the commit and
can't stop a deletion.
- Screens on the web and in the app; runicgateway.com /delete-account/
as the address Play is given.
- What the schema already does (59 keys: credentials cascade, content
detaches), the gaps, six questions, and the build order.
M8's order puts account deletion before report, block and hide, which
moves USER_SAFETY.md's reportTargets to MODULE_API 1.21.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
- USER_SAFETY.md: section 5 becomes decisions S6-S10 (an account to report,
game-identity blocks allowed, staff cannot be blocked, a block only hides,
staff see hidden chat marked).
- DEMO_MODE.md: DM33-DM35 (visibly fake 1234567890-prefixed Steam and
Discord ids plus the org lead's own Steam id; Rust-themed invented names).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
- website/USER_SAFETY.md (new): report, block and hide on the website and
in the app, S1-S5 decided by the org lead, five questions open.
- android/PLAN.md: M8's three open items decided (keep the rating and add
report/block/hide; conservative data safety; UnifiedPush on specialUse
with restart on boot), the order to the cutover, and M21 (Teams and the
team forum in the app, planned, not scheduled).
- website/DEMO_MODE.md: DM32 and section 11, the demo content plan (two
seed passes; moderation, Teams/forum/reports, event history, Rust stats).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY