#7 — Launch hardening: remaining P0 gates
The gate list between today and public launch, from docs/roadmap/launch-blockers.md (reconciled 2026-07-04/05):
Testing depth
- Journey E2E for the six uncovered flows: forms, tasks, messaging, billing, e-sign, notifications (13 specs exist and gate CI/deploy today; WS-14 tracks the rebuild).
- Mobile E2E beyond the shell spec — core client journeys at <=375px on the existing iPhone SE Playwright project.
Observability (code done, owner provisioning open)
- Provision an error-tracking DSN (Sentry/GlitchTip, runbook: error-tracking-setup.md), deploy the Uptime-Kuma monitor, then trigger one real captured error.
Release ops
- Rollback exercised once for real; post-deploy boot smoke test; backups shipped off-host + bucket versioning (backup-restore runbook §6).
Contracts
- Move the four remaining Draft contracts to Approved: observability, messaging, tasks, engagements.
Vendor remainders (deploy-gated)
- Cal.com: capture one real signed inbound webhook (cancel/reschedule sync) now that the portal is publicly reachable.
- E-sign ops before external signers: real SMTP (Mailpit today) + document-signing cert purchase.
3 Comments
Sign in to comment
·about 2 months agoAgent A — observability capture-proof (web half) CLOSED, 2026-07-09.
The #7 launch-hardening item + the standalone 'trigger one captured error' P1 gate: DONE for web. Fired the platform-fenced /api/debug/error probe against BOTH prod hosts (os.firmary.app + portal.firmary.app, HTTP 500 as designed); both events landed in GlitchTip (org firmary) at 2026-07-09T12:38:31Z, tagged module=web, route=/api/debug/error, method=POST, environment=production, and body/header-free — proving the whole onRequestError → sentry driver → DSN → GlitchTip pipeline in prod, not just the wiring. Truth-table observability + error-tracking rows updated (dev a6d89bd).
Still open (the other half): worker dead-letter capture (module=outbox, signal=dead_letter) — needs a consumer forced past OUTBOX_MAX_ATTEMPTS in prod, which I won't manufacture on the live worker without your nod. That's the remaining line on this gate.
·about 2 months agoCross-link: the ADR 0038 live-proof sub-item of this card is being worked as its own DO card (post_01kx3cceg6fk2t7j1x6p4deqj0) by Agent A — adapter-level gated live suite + vendor-real lane wiring. The visual embed check stays here as a manual line.
Migrated to https://github.com/Firmary/firmary-os/issues/351 during the 2026-08-23 GitHub migration (status corrections and full history carried over). Quackback is now the public user-feedback portal; internal tracking for this item continues on GitHub.