Skip to main content

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 trigger jira-sync or 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

PriInitiative (Epic)Task breakdownRFCPRD
P1Deduction V2 (BIF-8644)task breakdownrfcprd
P2Meta WhatsApp Pricing (BIF-8755)breakdownrfcprd
P3Self Top-up (BIF-7797)breakdownrfcprd
P4Qontak One Team Migration (BIF-8642)breakdownrfcprd
P5Sales Invoice + Jurnal (BIF-8117)breakdownrfcprd
P6Self-Subs (BIF-8639)breakdownrfcprd
P7Lite Seats (BIF-8638)breakdownrfcprd
P8Downgrade Webhook (BIF-8643)breakdownrfcprd
P9Quota Management (BIF-8713)breakdownrfcprd
P11One CID Multiple WABA (BIF-8910)breakdownrfc · reviewprd
P12Centralized SSO Token (BIF-7802)breakdownsparent RFCprd
P13Meta x Modpanel Call Usage (BIF-8658)breakdownrfcprd
P14Billing Expired Handling (BIF-8640)breakdownrfcprd
P15Qontak Launchpad Audit Logs (BIF-8659)breakdownrfc
P16Postpaid Usage Scheduler (BIF-8641)breakdownrfcprd
Adhoc lane26Q3 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)FocusStatus
1Qontak One Team (BIF-8642, P4)Tasks 7–8: Launchpad trigger, private Chat/CRM endpoints, existing-user General backfill and future-user defaultReady for estimation; BIF-8864/65/66 are still In Deployment and BIF-8911 is To Do, but none is in Sprint 21464
2Self-Subs (BIF-8639, P6)Preserve POST /api/core/v1/self_subscriptions as the Qontak proxy while Billing owns the operationReady for gap analysis; implementation delta is TBD and has no Sprint-2 ticket
3One CID Multiple WABA (BIF-8910, P11)BE sharing mechanismReady only after DRI sizing; FE remains separately held
4Meta x Modpanel (BIF-8658, P13)Backend scopeReady 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)FocusStatus
1Lite Seats (BIF-8638, P7)Remaining Phase-2 B1/B2Blocked on Billing/Modpanel component codes and Product permission list
2Qontak Launchpad Audit Logs (BIF-8659, P15)BIF-8852–BIF-8855Ready; all four are To Do in Sprint 21464
326Q3 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
426Q3 Adhoc (BIF-8695) — A2 / BIF-8751SSO change-owner webhook🎯 PULL-TO-CLOSE; predecessor for A1
526Q3 Adhoc (BIF-8695) — A1 / BIF-8750block replace/delete of SSO Owner🎯 PULL-TO-CLOSE after A2
626Q3 Adhoc (BIF-8695) — A7 / BIF-8736last-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)FocusStatus
1Deduction V2 (BIF-8644, P1)M0, M1a/M1b, M2, M3, M5; BIF-8959, 8883–8885, 8958, 8887; BIF-8946 test supportReady, all To Do; effort TBD. BIF-8886 is Saprol's FE row, not Hafriz's planned ownership
2Sales Invoice + Jurnal (BIF-8117, P5)remaining backend work and BIF-8947Ready after P1
3Billing Expired Handling (BIF-8640, P14)backend scopeReady after higher-ranked work
4Postpaid Usage Scheduler (BIF-8641, P16)backend scopeReady 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)FocusStatus
1Meta WhatsApp Pricing (BIF-8755, P2)remaining implementation and QA supportReady; functional testing may use mocked Meta webhooks. Real WABA remains a release gate
2Self Top-up (BIF-7797, P3)coordinate fixes for BIF-8844/BIF-8845Blocked until ownership is assigned; unblocks Yoddi BIF-8943
3Downgrade Webhook (BIF-8643, P8)Phase 2 logic/workersReady; do not claim Done until merged-code evidence exists
4Quota Management (BIF-8713, P9)T1–T8Ready; prerequisite for Downgrade User
526Q3 Adhoc (BIF-8695) — A10remove e-commerce expiry emailIntangible 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)FocusStatus
1Deduction V2 (BIF-8644, P1)BIF-8886 client usage page consuming the daily-rollup GET APIReady after M1a/M2 contract; Jira assignee drift is F-2
2Self Top-up (BIF-7797, P3)BIF-8705 and support BIF-8844/BIF-8845 fixesBIF-8705 Ready to Merged; other bug owners unassigned
3Sales Invoice + Jurnal (BIF-8117, P5)remaining FEReady
4Self-Subs (BIF-8639, P6)Task 2.5 against the stable Qontak proxyReady when the Billing-backed proxy contract is available
5Lite Seats (BIF-8638, P7)Phase-1 UIReady
6One CID Multiple WABA (BIF-8910, P11)frontend scopeBlocked: RFC exists but review is FE HOLD on Detail 2.F and exact /billings/info fields
7Centralized SSO Token (BIF-7802, P12)Launchpad pilot FEBlocked only on SB-2 live Session Manager and Infosec iframe CSP whitelist; SDK is available
8Qontak Launchpad Audit Logs (BIF-8659, P15)FE scopeReady after higher-ranked work
9Postpaid Usage Scheduler (BIF-8641, P16)FE scopeReady after higher-ranked work
1026Q3 Adhoc (BIF-8695) — A3/A4staffed FE halvesESCALATE 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)FocusStatus
1Deduction V2 (BIF-8644, P1)BIF-8771/BIF-8772 engine QA; coordinate BIF-8946 supportReady; both QA tickets are To Do in Sprint 21464
2Meta WhatsApp Pricing (BIF-8755, P2)functional tests with mocked Meta webhookReady; real-WABA pass stays pre-pilot/release gate; no P2 issue is in Sprint 21464
3Self Top-up (BIF-7797, P3)BIF-8943 after BIF-8844/BIF-8845 fixesBlocked on those two fixes; BIF-8382 and BIF-8773 are already Done
4Qontak One Team (BIF-8642, P4)test General creation/membership on a new CIDReady when build is deployed; no BIF-8642 issue is in Sprint 21464
5Sales Invoice + Jurnal (BIF-8117, P5)BIF-8775Ready, To Do in Sprint 21464
6Self-Subs (BIF-8639, P6)proxy and flow QAReady after ownership-transition work is ticketed
7Downgrade Webhook (BIF-8643, P8)schema then Phase-2 QADo not test Phase 2 as shipped until merged
8Quota Management (BIF-8713, P9)QAReady as tasks land
9QA BAU (BIF-8869)BIF-8941 deployment/automation; teach Izzul how to create the suiteOngoing; 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)FocusStatus
1Qontak One Team (BIF-8642, P4)BIF-8911: BIF-8864/8865/8866 endpoint, children and Kafka-event coverageReady, but BIF-8911 is not in Sprint 21464
2One CID Multiple WABA (BIF-8910, P11)QA planningHold implementation/test spend until the expanded scope is sized and FE Detail 2.F closes
3QA BAU (BIF-8869)pair on BIF-8941; produce the first automation test using Yoddi's walkthroughOngoing; 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 backlog until the task leaves To Do; no preemption is claimed.

Adhoc interrupts (this sprint)

StoryOwnerVerdictCanonical decision
A2Satya🎯 PULL-TO-CLOSEExpedite log
A1Satya🎯 PULL-TO-CLOSE after A2Expedite log
A7Satya🎯 PULL-TO-CLOSE after A12026-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)

  1. Deduction expanded estimate: Hafriz/Saprol/DRI must estimate M0–M5 before aggregate progress or forecast can be recomputed — see ADR 0002.
  2. Downgrade User: backend status endpoint plus Figma for the warning and final restriction modals. It remains off-sprint.
  3. Multiple WABA FE: Detail 2.F frames/component/state/a11y/analytics contract and exact /billings/info fields. The RFC exists; it is not FE-ready.
  4. Centralized SSO: SB-2 live Session Manager and Infosec iframe CSP whitelist only.
  5. Real WABA: required for Meta Pricing pre-pilot/release validation, not for mocked functional QA.
  6. 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):

  1. F-1 · assignment-drift · STILL OPEN (1st recheck) · TPM · BIF-8736 still on Addo (In Progress) vs plan owner Satya — confirm deliberate (then sprint-planner amend) or reassign · pass 02
  2. 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
  3. F-4 · coverage-gap · STILL OPEN (1st recheck) · TPM/Yoddi · BIF-8755 mocked-webhook QA ticket still absent from the sprint · pass 02
  4. 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
  5. 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 owed jira-alignment-check run (with Sprint 1 F-19) · pass 02

Resolved: F-2 (BIF-8886 → Syafrizal) · F-5 (ownership-transition filed BIF-8970) — pass 02.

Sprint review