Skip to main content

Delivery Timeline

MilestoneEffort (BE/FE/QA…)ConfidenceProgressTarget DateStatus
PRD finalized2026-06-23Done (v1.4; still draft, authorize-at-send refresh pending — OQ-1)
RFC kickoff2026-06-29Done (RFC in-review; task-breakdown 7 BE tasks)
Engine dev (T1–T7, hub_core)BE 13medium13/13 md2026-07-15Done — merged (T1–T6 hub_core, T7 hub-worker)
Usage/download APIs (DED-S07/S08; hub_core + hub + moderator-be)BE 8 · FE 2.5 · QA 2.5medium (low for M4)0/13 mdTBDNot started — redesigned 2026-07-20 (ADR-0002); reports off the wa_reconciliation_batches rollup (M0), not the 200M-row log; FE (M4/M5) unstaffed
QA + pilotQA 3 (engine)medium0/3 mdTBDIn progress — Lane B human gate; QA evidence + pilot opt-in pending
Release / GATBDPlanned

Dependencies & gates

  • 🔴 Bifrost PM (governance) — refresh the source PRD to the authorize-at-send design; PRD v1.4 Non-Goal #4 still forbids send-blocking, which this RFC does. Gates RFC approvednot code (chunks T1–T7 are execution-ready).
  • 🟡 Bifrost eng (spec) — Meta currency-conversion source/rate when WABA currency ≠ pool currency (OQ-3, T5); the Available-only balance-endpoint contract (REV-2, T3). (OQ-2 resolved; enablement shipped as the company-scoped Services::Billing::FeatureFlag wa_hold_settlement flag — as-built, superseding RFC Decision 6's un-shipped two-tier design.)
  • Meta pricing_analytics API — already integrated; no change needed.
  • V2-detection (M1)redesigned 2026-07-20 (ADR-0002, supersedes ADR-0001). No boundary date is computed or stored — moderator-be replicates hub_core's own Services::Billing::FeatureFlag (M1b) and hub_core exposes the same flag via billing_info (M1a) for FE. No longer pending a sign-off gate. See ../rfcs/deduction-v2.task-breakdown.md (Part 2, M0–M5).
  • 🟠 M0 edits shipped money-path code — adds settled_charged_amount to wa_reconciliation_batches + accumulates it in SettleDaily (T5/BIF-8744) so the reports read the pre-aggregated rollup, not the 200M-row wa_conversation_logs. Small/additive but on the settlement core; needs its own QA (BIF-8959).
  • 🟡 FE implementors unstaffed for M4 (client hub app, 2 FE md — repo not checked out, unverified) and M5's FE slice (moderator-be ERB/Stimulus, 0.5 FE md).

Internal critical path (engine, done): T1 → T2 → T4 → T5 → T7; T3 & T6 parallelize off T1. Usage/download-API critical path (not started): M0 (rollup charged column) → M2 (hub_core GET) → M3 (hub_core download) → M5 (moderator-be wiring); M1a/M1b (V2-detection, both repos) alongside, M4 (client hub FE) parallel off M2. Shares the Modpanel↔Billing quota-management API surface with Downgrade Webhook (sibling RFCs — coordination only).