Bifrost — Sprint 2 Goals (2026-Q3)
Sprint window: 2026-07-21 → 2026-08-04
Regenerated 2026-07-20 from the roadmap, initiative contracts, planning notes, and a token-safe Jira pull of Sprint 21464. The pull contained 43 issues: 40 new/To Do and 3 Done-category Won't-Fix subtasks; WIP = 0. Meeting notes set planning intent but do not prove completion.
How to point your AI agent at this plan
Read this file, find
## <my name>, and work the first row that is not Blocked. Before changing code, read the linked task breakdown, RFC, and PRD. Task acceptance and composite AC ids are the work contract. Do not triggerjira-syncor infer progress from Jira status alone.
- 🎯 PULL-TO-CLOSE is a scheduling commitment, never a completion state.
- Effort is sequencing context, not a sprint cap. Unsized additions remain
TBD. - When a row is blocked, record the named dependency and continue to the next Ready row.
- A Jira assignment mismatch stays a reconciliation finding until the board is corrected.
Initiative index
| Pri | Initiative (Epic) | Task breakdown | RFC | PRD |
|---|---|---|---|---|
| P1 | Deduction V2 (BIF-8644) | task breakdown | rfc | prd |
| P2 | Meta WhatsApp Pricing (BIF-8755) | breakdown | rfc | prd |
| P3 | Self Top-up (BIF-7797) | breakdown | rfc | prd |
| P4 | Qontak One Team Migration (BIF-8642) | breakdown | rfc | prd |
| P5 | Sales Invoice + Jurnal (BIF-8117) | breakdown | rfc | prd |
| P6 | Self-Subs (BIF-8639) | breakdown | rfc | prd |
| P7 | Lite Seats (BIF-8638) | breakdown | rfc | prd |
| P8 | Downgrade Webhook (BIF-8643) | breakdown | rfc | prd |
| P9 | Quota Management (BIF-8713) | breakdown | rfc | prd |
| P11 | One CID Multiple WABA (BIF-8910) | breakdown | rfc · review | prd |
| P12 | Centralized SSO Token (BIF-7802) | breakdowns | parent RFC | prd |
| P13 | Meta x Modpanel Call Usage (BIF-8658) | breakdown | rfc | prd |
| P14 | Billing Expired Handling (BIF-8640) | breakdown | rfc | prd |
| P15 | Qontak Launchpad Audit Logs (BIF-8659) | breakdown | rfc | — |
| P16 | Postpaid Usage Scheduler (BIF-8641) | breakdown | rfc | prd |
| Adhoc lane | 26Q3 Adhoc (BIF-8695) | — | — | tracker |
Downgrade User (roadmap P10, BIF-8684) is deliberately absent: its 2026-07-20 status is paused
and it is not committed Sprint 2 work.
Grehasta
Agent brief: start the reopened Qontak One contract. Keep the Self-Subs client path stable while Billing owns the operation; do not pick up A7.
| # | Epic (Jira) | Focus | Status |
|---|---|---|---|
| 1 | Qontak One Team (BIF-8642, P4) | Tasks 7–8: Launchpad trigger, private Chat/CRM endpoints, existing-user General backfill and future-user default | Ready for estimation; BIF-8864/65/66 are still In Deployment and BIF-8911 is To Do, but none is in Sprint 21464 |
| 2 | Self-Subs (BIF-8639, P6) | Preserve POST /api/core/v1/self_subscriptions as the Qontak proxy while Billing owns the operation | Ready for gap analysis; implementation delta is TBD and has no Sprint-2 ticket |
| 3 | One CID Multiple WABA (BIF-8910, P11) | BE sharing mechanism | Ready only after DRI sizing; FE remains separately held |
| 4 | Meta x Modpanel (BIF-8658, P13) | Backend scope | Ready after higher-ranked work |
Satya
Agent brief: chase Lite Seats' two external answers, then pull the related A2 → A1 pair and A7; keep A21 visible as an Expedite incident follow-up until it is actually pulled.
| # | Epic (Jira) | Focus | Status |
|---|---|---|---|
| 1 | Lite Seats (BIF-8638, P7) | Remaining Phase-2 B1/B2 | Blocked on Billing/Modpanel component codes and Product permission list |
| 2 | Qontak Launchpad Audit Logs (BIF-8659, P15) | BIF-8852–BIF-8855 | Ready; all four are To Do in Sprint 21464 |
| 3 | 26Q3 Adhoc (BIF-8695) — A21 / BIF-9001 (Task BIF-8906) | CRS role-name compatibility for new/custom company roles | 🔴 Expedite backlog; already in Sprint 21464, Jira remains To Do; do not claim in-flight until status changes |
| 4 | 26Q3 Adhoc (BIF-8695) — A2 / BIF-8751 | SSO change-owner webhook | 🎯 PULL-TO-CLOSE; predecessor for A1 |
| 5 | 26Q3 Adhoc (BIF-8695) — A1 / BIF-8750 | block replace/delete of SSO Owner | 🎯 PULL-TO-CLOSE after A2 |
| 6 | 26Q3 Adhoc (BIF-8695) — A7 / BIF-8736 | last-sign-in column + masked export | 🎯 PULL-TO-CLOSE after A2 → A1; Jira assignee drift is F-1 |
Hafriz
Agent brief: Deduction V2 is reopened. Start with the rollup and APIs; support Yoddi's engine QA in parallel.
| # | Epic (Jira) | Focus | Status |
|---|---|---|---|
| 1 | Deduction V2 (BIF-8644, P1) | M0, M1a/M1b, M2, M3, M5; BIF-8959, 8883–8885, 8958, 8887; BIF-8946 test support | Ready, all To Do; effort TBD. BIF-8886 is Saprol's FE row, not Hafriz's planned ownership |
| 2 | Sales Invoice + Jurnal (BIF-8117, P5) | remaining backend work and BIF-8947 | Ready after P1 |
| 3 | Billing Expired Handling (BIF-8640, P14) | backend scope | Ready after higher-ranked work |
| 4 | Postpaid Usage Scheduler (BIF-8641, P16) | backend scope | Ready after higher-ranked work |
Madani
Agent brief: continue service-message billing, then land the two backend prerequisites that keep Downgrade User off-sprint.
| # | Epic (Jira) | Focus | Status |
|---|---|---|---|
| 1 | Meta WhatsApp Pricing (BIF-8755, P2) | remaining implementation and QA support | Ready; functional testing may use mocked Meta webhooks. Real WABA remains a release gate |
| 2 | Self Top-up (BIF-7797, P3) | coordinate fixes for BIF-8844/BIF-8845 | Blocked until ownership is assigned; unblocks Yoddi BIF-8943 |
| 3 | Downgrade Webhook (BIF-8643, P8) | Phase 2 logic/workers | Ready; do not claim Done until merged-code evidence exists |
| 4 | Quota Management (BIF-8713, P9) | T1–T8 | Ready; prerequisite for Downgrade User |
| 5 | 26Q3 Adhoc (BIF-8695) — A10 | remove e-commerce expiry email | Intangible gap-fill only |
Syafrizal M.
Agent brief: own Deduction BIF-8886, then close the remaining ranked FE queue. Downgrade User is off-sprint; Multiple WABA remains FE-HOLD.
| # | Epic (Jira) | Focus | Status |
|---|---|---|---|
| 1 | Deduction V2 (BIF-8644, P1) | BIF-8886 client usage page consuming the daily-rollup GET API | Ready after M1a/M2 contract; Jira assignee drift is F-2 |
| 2 | Self Top-up (BIF-7797, P3) | BIF-8705 and support BIF-8844/BIF-8845 fixes | BIF-8705 Ready to Merged; other bug owners unassigned |
| 3 | Sales Invoice + Jurnal (BIF-8117, P5) | remaining FE | Ready |
| 4 | Self-Subs (BIF-8639, P6) | Task 2.5 against the stable Qontak proxy | Ready when the Billing-backed proxy contract is available |
| 5 | Lite Seats (BIF-8638, P7) | Phase-1 UI | Ready |
| 6 | One CID Multiple WABA (BIF-8910, P11) | frontend scope | Blocked: RFC exists but review is FE HOLD on Detail 2.F and exact /billings/info fields |
| 7 | Centralized SSO Token (BIF-7802, P12) | Launchpad pilot FE | Blocked only on SB-2 live Session Manager and Infosec iframe CSP whitelist; SDK is available |
| 8 | Qontak Launchpad Audit Logs (BIF-8659, P15) | FE scope | Ready after higher-ranked work |
| 9 | Postpaid Usage Scheduler (BIF-8641, P16) | FE scope | Ready after higher-ranked work |
| 10 | 26Q3 Adhoc (BIF-8695) — A3/A4 | staffed FE halves | ESCALATE if they cannot close within current staffing; do not start unfinishable WIP |
Yoddi
Agent brief: start Deduction engine QA and Self Top-up retest. Qontak One new-CID validation and mocked Meta webhook testing are executable even though their board coverage is incomplete.
| # | Epic (Jira) | Focus | Status |
|---|---|---|---|
| 1 | Deduction V2 (BIF-8644, P1) | BIF-8771/BIF-8772 engine QA; coordinate BIF-8946 support | Ready; both QA tickets are To Do in Sprint 21464 |
| 2 | Meta WhatsApp Pricing (BIF-8755, P2) | functional tests with mocked Meta webhook | Ready; real-WABA pass stays pre-pilot/release gate; no P2 issue is in Sprint 21464 |
| 3 | Self Top-up (BIF-7797, P3) | BIF-8943 after BIF-8844/BIF-8845 fixes | Blocked on those two fixes; BIF-8382 and BIF-8773 are already Done |
| 4 | Qontak One Team (BIF-8642, P4) | test General creation/membership on a new CID | Ready when build is deployed; no BIF-8642 issue is in Sprint 21464 |
| 5 | Sales Invoice + Jurnal (BIF-8117, P5) | BIF-8775 | Ready, To Do in Sprint 21464 |
| 6 | Self-Subs (BIF-8639, P6) | proxy and flow QA | Ready after ownership-transition work is ticketed |
| 7 | Downgrade Webhook (BIF-8643, P8) | schema then Phase-2 QA | Do not test Phase 2 as shipped until merged |
| 8 | Quota Management (BIF-8713, P9) | QA | Ready as tasks land |
| 9 | QA BAU (BIF-8869) | BIF-8941 deployment/automation; teach Izzul how to create the suite | Ongoing; BIF-8941 is To Do and assigned to Yoddi |
Izzul
Agent brief: validate the Launchpad endpoint/event cluster and pair with Yoddi on automation.
| # | Epic (Jira) | Focus | Status |
|---|---|---|---|
| 1 | Qontak One Team (BIF-8642, P4) | BIF-8911: BIF-8864/8865/8866 endpoint, children and Kafka-event coverage | Ready, but BIF-8911 is not in Sprint 21464 |
| 2 | One CID Multiple WABA (BIF-8910, P11) | QA planning | Hold implementation/test spend until the expanded scope is sized and FE Detail 2.F closes |
| 3 | QA BAU (BIF-8869) | pair on BIF-8941; produce the first automation test using Yoddi's walkthrough | Ongoing; knowledge transfer is complete when Izzul can create and run the test independently |
Deviations from roadmap priority
- Downgrade User P10 is out of Sprint 2 — backend/design gates still open, see status 2026-07-20; P8/P9 remain committed prerequisites.
- A7 ownership correction: owner is Satya (Expedite log); Satya pulls A2 → A1 → A7.
- Mocked Meta validation: Yoddi may complete functional service-message checks with mocked webhooks; a real WABA remains a release gate rather than blocking the functional pass.
- Unsized reopened scope: Deduction M0–M5 (see ADR 0002), Qontak One Tasks 7–8, and Self-Subs ownership-transition work are queued without invented estimates.
- A21 / BIF-8906 alignment: the customer-impacting upstream CRS role-name contract is recorded
in the A21 status report. Jira now carries
Story BIF-9001, Task BIF-8906, their Epic parent, the implementation split link, and Sprint
21464 membership. The tracker keeps A21
backloguntil the task leavesTo Do; no preemption is claimed.
Adhoc interrupts (this sprint)
| Story | Owner | Verdict | Canonical decision |
|---|---|---|---|
| A2 | Satya | 🎯 PULL-TO-CLOSE | Expedite log |
| A1 | Satya | 🎯 PULL-TO-CLOSE after A2 | Expedite log |
| A7 | Satya | 🎯 PULL-TO-CLOSE after A1 | 2026-07-20 owner correction |
A21 is classed 🔴 Expedite for customer impact but remains backlog, so it is not an in-flight interrupt until Jira status changes.
The only real blockers (not capacity)
- Deduction expanded estimate: Hafriz/Saprol/DRI must estimate M0–M5 before aggregate progress or forecast can be recomputed — see ADR 0002.
- Downgrade User: backend status endpoint plus Figma for the warning and final restriction modals. It remains off-sprint.
- Multiple WABA FE: Detail 2.F frames/component/state/a11y/analytics contract and exact
/billings/infofields. The RFC exists; it is not FE-ready. - Centralized SSO: SB-2 live Session Manager and Infosec iframe CSP whitelist only.
- Real WABA: required for Meta Pricing pre-pilot/release validation, not for mocked functional QA.
- Board coverage/assignment: resolve the findings below through the manual Jira workflows; never the automated per-AC sync.
Jira reconciliation — findings ledger (2026-07-26)
Current state only. Latest evidence: pass 03; finding-state recheck: pass 02.
Open / escalated (2 passes, latest 2026-07-21; 94 issues (+51) · 9 WIP · 81 To Do · oldest WIP BIF-8120/BIF-8570):
- F-1 ·
assignment-drift· STILL OPEN (1st recheck) · TPM · BIF-8736 still on Addo (In Progress) vs plan owner Satya — confirm deliberate (thensprint-planneramend) or reassign · pass 02 - F-3 ·
coverage-gap· STILL OPEN, narrowed · TPM/Izzul · Tasks 7–8 landed (BIF-8968/BIF-8969); BIF-8911 still not in Sprint 21464 — add it or record deferral · pass 02 - F-4 ·
coverage-gap· STILL OPEN (1st recheck) · TPM/Yoddi · BIF-8755 mocked-webhook QA ticket still absent from the sprint · pass 02 - F-6 ·
assignment-drift· OPEN (informational) · TPM · BIF-8751 (A2) held by Addo while child BIF-8908 carries Satya — TPM read, no staffing edit · pass 02 - F-7 ·
epic-wiring-drift· OPEN · TPM · 4 off-map parent Epics (BIF-8101 ×5, BIF-7803 ×2, BIF-8757 ×1, BIF-8869 ×1) — fold into the owedjira-alignment-checkrun (with Sprint 1 F-19) · pass 02
Resolved: F-2 (BIF-8886 → Syafrizal) · F-5 (ownership-transition filed BIF-8970) — pass 02.
Sprint review
- Shipped / done: TBD at close.
- Carried over: TBD; no default carryover.
- Added mid-sprint: TBD.
- Fed into status: 2026-07-20 initiative reports.
- Decisions taken: Deduction ADR 0002 and A7 owner correction.