Raxx · internal docs

internal · gated

Dispatch Plan — Morning Wave 2 — 2026-05-19 UTC

Prepared by: raxx-pm-bot Generated: 2026-05-19 UTC T-minus: T-4 days to v1 launch (2026-05-23 UTC) Context: Sequential cautious dispatch. One PR lands + merges (CI green) before next card is dispatched. Main thread watching PR #2503 (#1483 customer-audit POST endpoint).


Dispatch Order

Cards are ordered: smallest/highest-priority first. All verified agent-dispatchable (no blocked:*, no operator-action, no size:l/xl, no open PR already referencing them, no area:queue gating on Queue prod still in flight).



2. #2503 — fix(console): Investigate/Detail/Deploy buttons on dashboard tiles do not fire


3. #1603 — fix(antlers): Add YAML stubs for flag drift-reconciler blindspot


4. #925 — fix(rotation): Provision GITHUB_API_SECRETS_TOKEN with secrets:write scope


5. #2053 — type:reliability: Audit raxx-api-pr- and raxx-app-pr- teardown gaps


6. #1484 — feat(raptor): FreeScout webhook — POST /api/internal/freescout-webhook


7. #2143 — ops(cloudflare): CF Access skip rule for vault.raxx.app/api/v1/auth


8. #1495 — docs(ops): Departing employee deprovisioning runbook


Deferred from this wave (do not dispatch yet)

Issue Reason deferred
#1483 Main thread already watching associated PR #2503
#146 (Epic) Epics are not dispatchable units
#94 (Epic) Epics are not dispatchable units
#1648, #1647 defer:post-launch + before-first-EU-customer — not v1 blockers
#1212 defer:post-launch + priority:low
#1736 Has blocked label — SC-WAF-00 operator prerequisite not done

Wave 2 queue (main thread executes sequentially):

[WATCHING NOW] PR for #1483 → merge → then:
  1. #2504  (size:s, P1 console bug)
  2. #2503  (size:s, P1 console bug — confirm no PR already open)
  3. #1603  (size:s, flag YAML stubs)
  4. #925   (size:s, rotation token scope)
  5. #2053  (size:xs, teardown audit)
  6. #1484  (size:s, FreeScout webhook — after #1483 confirms no schema conflict)
  7. #2143  (size:s, CF Access vault skip rule)
  8. #1495  (size:s, docs runbook — lowest-risk, slot at any gap)

Each card waits for the prior PR to show CI green + merged before dispatch.


Pre-launch Blocker Summary (for operator reference)

Open pre-launch-blocker cards as of 2026-05-19 UTC:

# Title Status
#2285 SC-WAF-05b: WAF prod rollout (Phase 4) blocked — depends on prior WAF phases
#2283 SC-WAF-05: WAF staging block mode soak (Phase 3) blocked — depends on #2282
#2282 SC-WAF-04: WAF staging challenge mode (Phase 2) open, size:s, no block label — dispatchable if WAF-00 operator step done
#2013 feat(console): flag reconciler drift endpoint blocked
#2012 feat(console): one-shot flag promotions backfill operator-action
#2010 feat(console): flag_reconciler.py 5-min sync size:m — too large for this wave
#1735 CF WAF rules not configured — HIGH needs-grooming + needs:operator-decision
#1632 Stripe Price IDs backfill on founders subs blocked + area:queue — Queue prod in flight
#1455 CRITICAL: Heroku DB connects as Postgres owner needs-grooming + size:m
#1026 B6: Verify Sentry DSN wired on prod size:xs, no block — dispatchable but likely operator verification
#1025 B5: Remove CF Access gate from raxx.app operator-action
#1023 B3: Verify Alpaca paper-mode env vars on prod size:xs, likely operator verification
#1022 B2: Wire auth routes to raxx.app size:xs

Operator-gated blockers needing Kristerpher action before agents can proceed: #1735 (WAF decision), #2012 (flag backfill), #1025 (CF Access removal), #1023 (Alpaca vars), #2443 (Queue prod Stripe live keys).