Raven Desktop
Automated Checkbox Rollout
QA and backout checklist for Raven Automated Checkbox
Use this checklist before expanding Automated Checkbox beyond a canary cohort. It is release validation guidance only; it does not expand the implementation scope.
Runtime controls
| Control | Value | Source |
|---|---|---|
| Flutter Statsig gate | raven_enable_automated_checkbox_routing | apps/raven/lib/features/home/providers/automated_checkbox_gate.dart |
| Backend poll interval | AUTOMATED_CHECKBOX_POLL_INTERVAL_MS, default 2000 ms | services/raven/config/settings.py |
| Stream behavior | First snapshot is immediate, then the backend sleeps for the configured interval and emits only changed snapshots | services/raven/core/automated_checkbox.py |
Scope boundaries
- The Statsig gate is client-side routing only; the backend does not enforce a Statsig gate.
- This rollout validates read-only invoice discovery, streaming snapshots, matching, totals, warnings, and telemetry.
- Out of scope: invoice sync, charge writes, consumption writes, or any other Bubble/Vetspire mutation.
- Automated Checkbox is for good-standing members in automated checkbox mode only. Non-good-standing members must stay on the existing fallback behavior.
Canary checklist
- Start with
raven_enable_automated_checkbox_routingoff for production. - Deploy the Raven backend and desktop build that contain the latest Automated
Checkbox changes. Confirm
AUTOMATED_CHECKBOX_POLL_INTERVAL_MSis still2000ms unless the release explicitly changes it. - Enable the Statsig gate for internal QA identities or one canary clinic with known good-standing automated-checkbox members and non-good-standing controls.
- Validate routing: gate off does not enter the automated panel; gate on plus automated mode plus good standing enters the automated panel; non-good-standing members do not enter the automated panel.
- Validate invoice behavior: recent invoices load, the default invoice is selected, the first snapshot arrives immediately, invoice-line edits appear near the configured poll interval, invoice switching cancels the prior stream, and unchanged polls do not duplicate UI updates.
- Validate output: covered, partially covered, unmatched, ignored/excluded lines, totals, overage, and warnings match the current invoice and benefits.
- Watch telemetry and logs: Statsig events under
raven.automated_checkbox.*; backendStreamAutomatedCheckboxInvoicelogs forstream_started,snapshot_poll, errors, cancellations, andpoll_interval_ms. - Ramp only after no repeated stream errors, user confusion, or load issues: internal QA, one clinic, small cohort, then broader cohort. Record evidence in the PR or Linear issue before each ramp.
Backout
- Turn off
raven_enable_automated_checkbox_routingfor the affected Statsig cohort, or for all production users. - Ask canary users to restart Raven or switch accounts when immediate confirmation is needed because gate values are cached and refreshed in-app.
- Confirm Automated Checkbox branch telemetry reports
gate_state=offand the automated panel is no longer selected. - If backend stream load or errors continue after the gate is off, roll back
the Raven service deployment or temporarily raise
AUTOMATED_CHECKBOX_POLL_INTERVAL_MS. Do not lower the poll interval during incident response. - Leave existing manual and read-only pet-benefits flows enabled.
Human review
Keep implementation issues in In Review until a human reviewer has checked the
code review state, focused test results, canary evidence, scope boundaries, and
backout owner. Implementers and agents can add evidence, but a human reviewer
decides when each implementation issue moves out of In Review; do not move
issues directly to Passed Review, Deployed to Main, or Verified.
Last updated on