trails/openspec/changes
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
..
activity-photos Fix all OpenSpec validation failures (36/36 passing) 2026-04-06 22:17:52 +02:00
archive Archive legal-disclaimers change and sync specs 2026-04-18 02:17:48 +02:00
changelog Add 8 proposed changes and old trails analysis 2026-03-25 03:57:20 +01:00
configurable-demo-persona Apply configurable-demo-persona: per-instance demo identity + voice 2026-04-19 10:30:32 +02:00
demo-activity-bot Apply demo-activity-bot: Bruno, the synthetic public-walk generator 2026-04-19 10:14:58 +02:00
e2e-test-reorganization Fix all openspec validation errors (45/45 pass) 2026-04-12 22:41:51 +02:00
journal-poi-details Fix all openspec validation errors (45/45 pass) 2026-04-12 22:41:51 +02:00
komoot-import Add 8 proposed changes and old trails analysis 2026-03-25 03:57:20 +01:00
local-dev-stack Fix all OpenSpec validation failures (36/36 passing) 2026-04-06 22:17:52 +02:00
mobile-app Implement mobile route editor with MapLibre and BRouter routing 2026-04-15 01:06:10 +02:00
pg-boss-background-jobs Add pg-boss background job queue with session expiry 2026-04-13 21:17:24 +02:00
public-content-visibility Apply public-content-visibility: visibility flag + public profile 2026-04-19 09:11:39 +02:00
route-discovery Fix all OpenSpec validation failures (36/36 passing) 2026-04-06 22:17:52 +02:00
route-features Add 8 proposed changes and old trails analysis 2026-03-25 03:57:20 +01:00
route-sharing Fix all OpenSpec validation failures (36/36 passing) 2026-04-06 22:17:52 +02:00
staging-environments Add OpenSpec proposal for staging environments 2026-04-14 09:02:23 +02:00
visual-redesign Fix all OpenSpec validation failures (36/36 passing) 2026-04-06 22:17:52 +02:00
waypoint-notes Fix all OpenSpec validation failures (36/36 passing) 2026-04-06 22:17:52 +02:00