git rm im vorigen Commit brach am fehlenden marketing/ ab, daher waren die
React-Dateien noch im Repo. RAPPORT-HOST ist jetzt wirklich reines Backend.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Echte Design-Tokens aus dem openbureau-Stylesheet übernommen:
- weißer Grund (#fff), warme Off-Whites (#fafafa/#fff8f0)
- near-black Text (#1a1a1a), warmes Braun als Akzent (#b07848)
- System-Font-Stack (-apple-system…) + SF Mono, Brand Krungthep
- Hero-CTA in Akzent-Braun, dunkle Sekundär-Buttons
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- env.js: '…CHANGE-ME'-Platzhalter aus .env.example zählen als NICHT gesetzt.
Vorher galt sk_test_CHANGE-ME als echter Stripe-Key → echter API-Call mit
ungültigem Key → 401 → unhandledRejection → Server-Crash.
- billing.js: /checkout in try/catch → 502 statt Empty-Reply/Crash.
- index.js: globaler Express-Error-Handler + unhandledRejection-Guard, damit
ein einzelner async-Fehler nie den ganzen Prozess killt.
E2E verifiziert (Mock): register→checkout→instance, idempotent (1 sub/1 inst),
401 bei falschem PW, Server lebt nach allen Requests.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>