docs(website): demo DM25 + DM26, first wipes, default set, public URL #386

Merged
whitlocktech merged 2 commits from docs/demo-data-uri-lock into main 2026-10-27 20:21:07 -05:00
Member

Docs for website#229 (DM25), website#228 (the wipe's chown fix), and website#230 + Module-Rust#65 (DM26).

DM25: the data: URI lock

  • DEMO_MODE.md §3.3: a pasted image is an upload too. Any write whose JSON body has a data: URI in any string is refused, on any route, with no list. The section also gives the matching rules: each string is first read the way a browser reads it, and plain prose passes.
  • BACKEND_DESIGN.md §5.1: the Uploads bullet now includes the rule.

DM26: NPCs and chat titles come from the seed

  • §7.1: the exception to "the first import is the reset". The restored rig is marked managed, so a fresh site adopts none of its NPC profiles and empties them on its first push. Chat styles are never adopted.
  • §7.3: the fixture's new modules.rust.npcs (factions, profiles) and modules.rust.chat keys, and the first NPC push in step 5.

§9.1: DM25 and DM26 recorded.

§10 step 5:

  • The first wipes: 358's seed failed on the chown; 362 was the first green run.

  • The default set, built as demo-admin and captured as the baseline (run 366).

  • The three restored wipes (367-369).

  • The public URL through Pangolin, with Cloudflare set to DNS only so the app logs the real visitor's IP.

  • AI-assisted: Claude Code (Claude Opus 5.5)

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

Docs for website#229 (DM25), website#228 (the wipe's chown fix), and website#230 + Module-Rust#65 (DM26). **DM25: the `data:` URI lock** - **DEMO_MODE.md §3.3:** a pasted image is an upload too. Any write whose JSON body has a `data:` URI in any string is refused, on any route, with no list. The section also gives the matching rules: each string is first read the way a browser reads it, and plain prose passes. - **BACKEND_DESIGN.md §5.1:** the Uploads bullet now includes the rule. **DM26: NPCs and chat titles come from the seed** - **§7.1:** the exception to "the first import is the reset". The restored rig is marked managed, so a fresh site adopts none of its NPC profiles and empties them on its first push. Chat styles are never adopted. - **§7.3:** the fixture's new `modules.rust.npcs` (factions, profiles) and `modules.rust.chat` keys, and the first NPC push in step 5. **§9.1:** DM25 and DM26 recorded. **§10 step 5:** - The first wipes: 358's seed failed on the chown; 362 was the first green run. - The default set, built as demo-admin and captured as the baseline (run 366). - The three restored wipes (367-369). - The public URL through Pangolin, with Cloudflare set to DNS only so the app logs the real visitor's IP. - [x] AI-assisted: Claude Code (Claude Opus 5.5) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-27 13:14:29 -05:00
DEMO_MODE.md §3.3 gets the data: URI rule (a pasted image is an upload),
§9.1 records DM25, and §10 step 5 records the first wipes: the rig half
worked, and the seed loaded no module because the runner's chown of
modules/ and logs/ failed silently. BACKEND_DESIGN.md §5.1 mirrors the rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-27 20:17:39 -05:00
The first restored wipes brought the default set's permissions back but
not its NPC profiles (the restored rig is marked managed, so a fresh site
adopts none and its first push empties them) or its chat titles (never
adopted). §7.1 records the exception, §7.3 the fixture's new npcs and chat
keys, step 5 of §7.3 the NPC push, §9.1 DM26, and §10 step 5 the default
set, the baseline, the restored wipes and the public URL (Cloudflare set to
DNS only so the app logs the real visitor).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude changed title from docs(website): DM25 data: URI lock on the demo + first-wipe notes to docs(website): demo DM25 + DM26, first wipes, default set, public URL 2026-10-27 20:17:58 -05:00
whitlocktech merged commit 3f12c67a95 into main 2026-10-27 20:21:07 -05:00
whitlocktech deleted branch docs/demo-data-uri-lock 2026-10-27 20:21:07 -05:00
Sign in to join this conversation.
No description provided.