trails/docs
Ullrich Schäfer fc4485f6ef
Apply configurable-demo-persona: per-instance demo identity + voice
Adds DEMO_BOT_PERSONA env var (inline JSON or file:<path>) so
self-hosted instances can replace Bruno-in-Berlin with their own
demo account identity and content pools. No-op for trails.cool — the
built-in Bruno persona remains the default.

- DemoPersona type + Zod schema validation
- loadPersona() cached at boot; falls back to default on any failure
- ensureDemoUser throws DemoPersonaUsernameClashError when the
  persona username is already a real user; server declines to
  schedule demo jobs for that process
- isDemoUser flag moved from hardcoded "bruno" check to loader-supplied
  boolean computed from the running persona
- docs/demo-persona.md explains the schema + operator flow

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 10:30:32 +02:00
..
conversations Move conversation log into docs/conversations/ 2026-03-22 12:00:45 +01:00
ideas Park mobile-activity-recording + mobile-nearby-sync under docs/ideas 2026-04-19 08:23:44 +02:00
legal-archive Add visibility disclosure to the binding German privacy text 2026-04-19 09:14:15 +02:00
architecture.md Add GitHub Actions CI, wire ESLint, lock in Caddy 2026-03-22 12:55:12 +01:00
demo-persona.md Apply configurable-demo-persona: per-instance demo identity + voice 2026-04-19 10:30:32 +02:00
old-trails-analysis.md Add 8 proposed changes and old trails analysis 2026-03-25 03:57:20 +01:00
philosophy.md Add project philosophy document 2026-03-22 12:00:08 +01:00
server-hardening.md Add transactional emails (SMTP) and planner features (no-go areas, notes, crash recovery) 2026-03-26 01:00:42 +01:00
tooling.md Add CLAUDE.md, README, and development tooling docs 2026-03-22 12:06:51 +01:00