Crisis live flip log¶
Gate: Gate 1 Radio Check / Phase C crisis UI
Clinical artifact: lastvet-gates/docs/compliance/crisis.blocklist_advisor_signed.md
Protocol: lastvet-gates/CRISIS_PROTOCOL.md Section 2 (verbatim)
PREPARED (not executed) — re-flip sequence after remaining gates¶
Do not run until: (1) item 5 dismiss→reopen→re-fire verified on device, (2) Ryan explicit GO. Mic clinical v1.5 is MET. Counsel is not a gate. Clinical sign-off alone is not enough for the crisis flag.
Clinical sign-off reference (already landed): Mic (Matt Miclette) signed v1.5 by email 2026-09-21. Cite that email + Muster crisis-protocol-v1-3-pre-go-live-reflip note of the same date in the executed flip entry below when run.
Sequence (staging first, then prod)¶
- Confirm checklist greens in
CRISIS_PRE_GO_LIVE_VALIDATION.md(items 1-4, 6, 7 still green; item 5 newly cleared; item 9 clinical MET). Counsel is not required. - Staging only: on lastvet-api VM, set
LASTVET_CRISIS_LIVE_ENABLED=truein/etc/lastvet-api/lastvet-api-staging.env(Bitwarden-synced). Restart staging API socrisisLiveHandoffEnabledbecomes true. Leave prodfalse. - Device verify (staging): Need support / Meridian Ask crisis path shows Section 2 card (not stub). Walk: dial/text/chat affordances, Hide for now → Crisis Support reopen → new qualifying turn re-fires. Do not place real emergency calls.
- If staging verify fails: set staging back to
false, log rollback row, fix, do not touch prod. - Prod: only after staging green + Ryan GO. Set
LASTVET_CRISIS_LIVE_ENABLED=truein/etc/lastvet-api/lastvet-api-prod.env, restart prod API. - Device verify (prod build / TestFlight): same Section 2 + dismiss/reopen/re-fire spot check.
- Log this file: append an executed section with before/after, environments, Mic v1.5 email reference, verifier, time.
MERIDIAN_M1_ELIGIBLEis a separate env flip (Service Matches live labeling). Do not conflate the two.
Rollback: set LASTVET_CRISIS_LIVE_ENABLED=false on the affected env(s), restart API, log a rollback row (same pattern as 2026-09-16 evening).
2026-09-16 (evening) — ROLLBACK to stub (Mic scoped follow-up)¶
| Variable | Before | After | Environments |
|---|---|---|---|
LASTVET_CRISIS_LIVE_ENABLED |
true |
false (988 stub) |
staging + prod |
Why: Mic’s follow-up scoped the sign-off as clinical-content only and listed before-go-live conditions we had not met (four new blocklist categories, full validation checklist, counsel review, consolidated dated protocol for version-specific sign-off). Live Section 2 was ahead of those conditions.
B-028: Meridian crisis_gate does fire on B-028 roleplay + multi-turn tests pass — not the sole reason for rollback. Rollback is for the broader unmet go-live list + blocklist category additions.
Re-flip rule: Only after validation checklist in CRISIS_PRE_GO_LIVE_VALIDATION.md is green and Mic signs a dated protocol version that includes the four new categories.
2026-09-16 (afternoon) — Initial flip (superseded by evening rollback)¶
Clinical sign-off (later scoped)¶
- Who: Mic (Matt Miclette), clinical advisor of record
- How: Phone + written “yes confirmed on all fronts.”
- Later nuance: Follow-up = clinical-content endorsement conditional on go-live validation + blocklist category additions. See updated artifact.
Env flip (later rolled back)¶
| Variable | After afternoon flip | After evening rollback |
|---|---|---|
LASTVET_CRISIS_LIVE_ENABLED |
true |
false |
MERIDIAN_M1_ELIGIBLE |
unchanged (false) | unchanged (false) |
Device verification (afternoon)¶
Verifier: Ryan — GREEN for Section 2 UI on Build 84 while flag was true (compliant handoff, not stub/legacy). Useful engineering proof; does not clear Mic’s full pre-go-live list.
Meridian m1_eligible (held)¶
Separate product flip from the crisis flag. When true, Service Matches payloads label live (not preview). Does not send chart PHI to Meridian servers. Clinical crisis endorsement alone does not flip MERIDIAN_M1_ELIGIBLE. Counsel is not a gate on this flip either.