CDP — Sprint 1 Goals (2026-Q3)
Delivery / Program Management — team-level, cross-initiative. A sprint is a derived render of the roadmap Priority table × per-discipline
implementors:× each initiative'srfcs/*.task-breakdown.mdreadiness ×capacity.md, plus the sprint envelope above. It is not a source of truth for priority, effort, or staffing — those stay canonical in the roadmap / README / capacity. See CLAUDE.md "Sprint layer".
Sprint window: 2026-07-07 → 2026-07-21 (2 weeks)
Sprint goal: protect the in-window commitment (Customer Segmentation 07-21), drive the Mention
User build (P2, 08-14), and keep Team Owner (P4) confirmed chunks and gate-safe Legacy Migration
groundwork moving. Alfi's Mobile over-commitment and CEBE's missing RFC are open PM/TPM calls under
## The real blockers; the 2026-07-14 A4 pull-in is under ## Deviations from roadmap priority.
Source (derived from): the ## Priority table in ../roadmap.md, reconciled
against each initiative's rfcs/*.task-breakdown.md, and staffed per each initiative README's
per-discipline implementors:. Effort figures (man-days) are shown for sequencing context only,
not as a capacity cap — the standing capacity/load picture lives in ../capacity.md.
QA defaults to Hendry; Izzul is backup only for timeline clashes or extra support (roadmap
sequencing policy, rule 4).
Initiative index (agent lookup table)
All paths are relative to this file. Priority ranks come from the roadmap ## Priority table.
| Pri | Initiative (Epic) | Task breakdown | RFC | PRD |
|---|---|---|---|---|
| P1 | Customer Segmentation (TF-2544) | FE breakdown · BE breakdown | fe rfc · be rfc | basic-attributes · use-case-activities · anchor |
| P2 | Mention User in CDP Notes (TF-3184) | breakdown | rfc · review | prd |
| P4 | Team Owner Field & Team Permission (TF-3185) | none yet — no *.task-breakdown.md exists; work against the RFC's Detail 2.x chunks until one is generated | rfc · review | prd |
| P5 | Legacy Migration: CRM Notes → CDP (TF-3183) | breakdown | rfc · review | prd |
| P6 | Legacy Migration: CRM Activity Logs → CDP (TF-3182) | breakdown | rfc · review | prd |
| P3 | Export Customer Data with Layout (TF-3181) | breakdown | rfc · review | prd |
| P7 | Create Ticket & Auto-Associate from CDP (TF-3359) | web breakdown | web rfc · review | web · mobile · anchor |
| P8 | Customer Event-Based Engine — CEBE (TF-3302) | none — no RFC exists yet; do not invent scope, see blockers below | — (RFC not authored) | core-infra · marketing · anchor |
Not queued this sprint (excluded deliberately, not an oversight — see Deviations): Multi-BSUIDs (CDP × CRM) (P9, past-quarter target, no DRI/timeline) and PII Encryption — Contact Service (P10, ranked last pending a PM priority call, no CDP implementors assigned).
Each initiative folder also has a README.md (DRI, jira_epic, qa_lane) and
delivery/timeline.md (dependencies & gates) — consult them when a row's status here is ambiguous.
Per-engineer queues
Each person works their list top-to-bottom; a genuinely blocked item (external dependency, governance gate, missing design/spec — not "no time left") is skipped and circled back once the blocker clears. Queue order mirrors the roadmap Priority rank unless noted in Deviations below.
Ghozi (BE)
Agent brief: Queue order below still runs Team Owner Field & Team Permission (P4) before Export
(P3) — this no longer matches roadmap rank since the 2026-07-10 reprioritization moved Export
ahead of Team Owner (see Deviations). Left as-is pending DRI confirmation of whether Team Owner's
2026-08-31 hard date forces a sequencing exception; do not silently reorder without that call. No
task-breakdown exists for Team Owner yet; work the RFC's in-repo chunks directly (they build now
behind the cdp_team_permission_enabled flag, default OFF) rather than waiting on Launchpad's
GA-gating endpoint.
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Team Owner Field & Team Permission (TF-3185, P4) | RFC Detail 2.3 (DB migration: team_owner_ids field + compound index) → Detail 2.4 (contact-service APIs, EvaluatePermissions extension) → Decision 9 (flag wiring) — the BE chunks that don't need the Launchpad teams-for-user endpoint | Ready — 10 confirmed BE days; generate a *.task-breakdown.md from the RFC early this sprint so task ids exist for the rest of the quarter |
| 2 | Export Customer Data with Layout (TF-3181, P3) | Task 2.1 → 2.2 → 2.3 → 2.4 → 2.5 → 2.7 → 2.8 (foundation → serializers → email/notification client → export consumer → handler/routes → timezone formatting → export-history registrar) | Ready — pick up once #1's flag-gated chunks are merged, or in parallel if capacity allows; 15 confirmed BE days |
Berlianto (BE)
Agent brief: Mention User's BE half is this sprint's top BE priority (P2, hard date 08-14 — just past this window, but its 10 BE days must start now to land by then). Legacy Migration: CRM Notes BE work can start building in parallel — the CRM Notes extraction client (Task 2.3) is built against a stub contract, so build proceeds even though running an end-to-end migration stays blocked on P2 shipping + the Legacy CRM Squad's extraction endpoint (OQ-7).
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Mention User in CDP Notes (TF-3184, P2) | Task 2.1 → 2.2 → 2.3 → 2.4 → 2.5 → 2.6 (note doc model → mention parser → sanitizer → active-user validation → wire into create/update → async notify job) | Ready — 10 confirmed BE days against the 08-14 hard date; the sprint's largest BE build, must start now to land by then |
| 2 | Legacy Migration: CRM Notes → CDP (TF-3183, P5) | Task 1.1 → 1.2 (data model + job constants → HTML normalizer) → Task 2.1 → 2.2 → 2.3 (contact/owner resolver → attachment processor → CRM extraction client, stub-contract) | Buildable now, do not enable end-to-end runs — P5 is blocked on P2 shipping and on the Legacy CRM Squad's org-scoped extraction endpoint (OQ-7); building against the stub is explicitly sanctioned by the task-breakdown's own confidence note |
Julio Jeffer (BE)
Agent brief: three initiatives, strict priority + hard-date order: Segmentation's 07-21 commitment is the nearest deadline in the whole sprint — finish its small remaining BE scope first. Then Legacy Migration Activity Logs (08-04). CEBE (P8) has no RFC yet — the only startable task is authoring one; do not build against the PRDs directly.
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Customer Segmentation (TF-2544, P1) | Buffer bugfixing on Basic Attributes (Phase 1 CRUD already shipped in Q2) | Ready — 4 confirmed BE days; hard date 2026-07-21 is inside this sprint window |
| 2 | Legacy Migration: CRM Activity Logs → CDP (TF-3182, P6) | Task 1 → 2 → 3 → 4 → 5 → 6 → 8 → 9 (schema/indexes → contact finder → schema transformer → MigrateBatch service → trigger/status/rollback/Phase-A gate → consumer/worker → sync watermark → association-log enricher) | Ready — 17 confirmed BE days; build proceeds, but running Stage 0 stays gated on CRM's read-only DSN access + passing query plan (Gate A/B) |
| 3 | Customer Event-Based Engine — CEBE (TF-3302, P8) | Author the RFC & standardized design (the 5-day slice Jeffer already sized) | Author-only this sprint — do not start the CTWA+Broadcast or customer-change/segments-event work (the other 10 of his 15 days) until the RFC exists and is reviewed; see blockers below |
Jovi (FE)
Agent brief: Mention User FE leads (P2, 08-14 commitment), then Export FE, then Create Ticket's web track. Create Ticket Tasks 2-3 were gated on CRM decisions due 2026-07-04 — that date is now past as of this sprint's start; confirm with CRM whether those decisions landed before starting those two tasks.
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Mention User in CDP Notes (TF-3184, P2) | Task 1.1 → 1.2 → 1.3 → 1.4 (composer typeahead → notes-list chip render → deep-link → preview card, all mocked) → Task 2.7 → 2.8 (wire to real APIs → wire preview card to real user detail) | Ready — 9.5 confirmed FE days against the 08-14 hard date |
| 2 | Export Customer Data with Layout (TF-3181, P3) | Task 1.1 → 1.2 → 1.3 → 1.4 (drawer fix → canExport gate → select-all shortcut → right panel) → Task 2.6 (wire real POST + error handling + Mixpanel) | Ready — 7.5 confirmed FE days |
| 3 | Create Ticket & Auto-Associate from CDP (TF-3359, P7) | Task 1 (gate + UI shell) unblocked now; Task 2 → 3 (postMessage contract → fallback associate) | Task 1 Ready; Tasks 2-3 check with CRM — their 2026-07-04 decision date has passed with no confirmation on file |
Azani (FE)
Agent brief: Segmentation's 07-21 commitment is the nearest deadline on the team — lead with it per the roadmap's 2026-07-01 correction, confirmed for this sprint's actual start date. Team Owner FE follows.
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Customer Segmentation (TF-2544, P1) | Task 2.1 → 2.2 → 2.3 (SegmentStore integration tests → SegmentListPage integration tests → reachability fields) | Ready — 3 confirmed FE days against the 07-21 hard date; highest urgency item in this sprint |
| 2 | Team Owner Field & Team Permission (TF-3185, P4) | FE chunks per the RFC's Detail 2.A (UI contract) / 2.C (UI state matrix) — team-owner field UI + per-note permission controls | Ready — 10 confirmed FE days; no task-breakdown yet, same caveat as Ghozi's #1 |
Alfi (Mobile)
Agent brief: confirmed over capacity by 11 days across 4 initiatives (load 1.46) — the three
deadline-sequenced lanes alone (P2/P3/P4) already exceed his effective 24 days. Queue below still
runs Team Owner (P4) before Export (P3), which no longer matches roadmap rank since the
2026-07-10 reprioritization — same open DRI-confirmation question as Ghozi's queue (see
Deviations). Do not start Create Ticket's Mobile slice without an explicit PM/TPM call on
deferring it or adding capacity (see blockers below).
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Mention User in CDP Notes (TF-3184, P2) | Mobile note composer + chip render + notification handling | Ready — 10 confirmed days against the 08-14 hard date, still the tightest deadline in his queue (before Team Owner 08-31) |
| 2 | Team Owner Field & Team Permission (TF-3185, P4) | Mobile rendering of Team Owner field + per-note permission flags | Ready — 10 confirmed days; also has an unresolved external dependency (Mobile Squad contract, see blockers) |
| 3 | Export Customer Data with Layout (TF-3181, P3) | Mobile tap-through routing (OQ-12, optional) | Ready — 5 confirmed days, no hard date |
| 4 | Create Ticket & Auto-Associate from CDP (TF-3359, P7) | Mobile track | Do not start — no room in Q3 per capacity.md; PM/TPM must decide defer-to-next-quarter vs. more CDP-allocated Mobile capacity before this enters any queue |
Hendry (QA, primary)
Agent brief: QA follows the same priority order as the BE/FE queues above. Team Owner Field & Team Permission's QA days are now confirmed (7.5 days, 1.5 man-weeks) — no unscoped items remain in this queue.
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Customer Segmentation (TF-2544, P1) | QA against composite AC ids | Ready — 1.5 confirmed days, Lane C |
| 2 | Mention User in CDP Notes (TF-3184, P2) | QA against composite AC ids in the PRD's story tables | Ready — 4.5 confirmed days, Lane B |
| 3 | Team Owner Field & Team Permission (TF-3185, P4) | QA against composite AC ids | Ready — 7.5 confirmed days (1.5 man-weeks), Lane B |
| 4 | Legacy Migration: CRM Notes → CDP (TF-3183, P5) | QA — before/after data crosscheck | Ready — 4.5 confirmed days, Lane B (manual crosscheck required) |
| 5 | Legacy Migration: CRM Activity Logs → CDP (TF-3182, P6) | QA — before/after data crosscheck | Ready — 6.5 confirmed days, Lane B |
| 6 | Export Customer Data with Layout (TF-3181, P3) | QA | Ready — 5 confirmed days, Lane B |
| 7 | Create Ticket & Auto-Associate from CDP (TF-3359, P7) | QA — web track Task 1 | Ready — 1.5 confirmed days, Lane C (strongest Lane-A candidate) |
Izzul (QA, backup)
Agent brief: per the roadmap sequencing policy (rule 4), Izzul is otherwise reserve-only — picking up work only if Hendry's timeline clashes or CDP needs extra QA support. Deviation (discovered pass 8, 2026-07-16): Izzul independently picked up QA BAU/DORA automation work ahead of Sprint 2's official start — see Deviations below; not a capacity/sequencing conflict with Hendry's queue.
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | QA BAU — Automation Coverage & Deployment Support (TF-3521, off-plan, ungrouped) | TF-3524 — Create Automation Test: Loyalty cases | In Progress — pulled in ahead of Sprint 2's official start |
Deviations from roadmap priority
Anything not listed here is expected to match the roadmap Priority rank.
- Ghozi (BE): Team Owner Field & Team Permission (P4) ran before Export Customer Data with Layout (P3); future sprints use Export-first — decision 0002.
- Alfi (Mobile): Team Owner Field & Team Permission (P4) ran before Export Customer Data with Layout (P3); future sprints use Export-first — decision 0002.
- Hendry (QA): Team Owner (P4) and both migrations (P5/P6) ran before Export Customer Data with Layout (P3); future sprints use Export-first — decision 0002.
- Azani (FE): Customer Segmentation (P1) leads Team Owner Field & Team Permission (P4) — again
matches the roadmap's corrected order (Customer Segmentation reprioritized to P1 on 2026-07-07,
see
decisions/0001-reprioritize-segmentation-ahead-of-mention-user.md), not a deviation, restated because the 07-21 commitment now falls inside this sprint window and the order matters operationally. - Hendry (QA): Customer Segmentation (P1) now leads Mention User in CDP Notes (P2) in his
queue, reversing the order this sprint doc originally shipped with — not a deviation, it is the
same 2026-07-07 reprioritization taking effect.
initiative-timeline-mapperconfirmed this reorder has no forecast/capacity impact (Hendry has no contention between the two at his currentload 0.60). - Julio Jeffer (BE) — CEBE (P8): queued last and scoped to RFC-authoring only, even though its 15 confirmed days would otherwise put real build work in this sprint. Deliberate: CEBE has no RFC yet, and per CLAUDE.md doctrine an agent must not invent scope from the PRDs alone.
- Alfi (Mobile) — Create Ticket (P7): explicitly excluded from this sprint's active queue despite being a staffed, confirmed-effort (10-day) item. This is the one "not capacity" call this sprint needs from PM/TPM before it can safely enter any future queue — see blockers below.
- Julio Jeffer (BE) — Engineering Initiatives bucket item A4 (added 2026-07-14): worked
off-plan in this sprint via Task TF-3499 ("Tidy dependencies: satori/go.uuid → google/uuid,
pgx/v4 → v5", Done), originally misfiled under the TF-3477 adhoc Epic. Re-homed 2026-07-14
to Epic TF-3500 and split from Story TF-3504 per the bucket convention; tracker row A4 is
now
in-review(seecdp/engineering-q3-2026/README.md). A4 is 🟡 Standard, so per the pull rule it should only fill when the ranked queue is blocked/between items — it was pulled without that gate being recorded; noted here rather than silently absorbed. Remaining: Hendry's Lane-B QA gate, then close TF-3504 and flip A4 →done(rollup 1/4). - Multi-BSUIDs (P9) and PII Encryption (P10): not queued for anyone. Per CLAUDE.md doctrine, an unresolved/unsequenced item does not get invented into a queue row — both need a PM priority call first (see the Initiative index note above).
- Izzul (QA) — QA BAU/DORA Epic pull-in (discovered pass 8, 2026-07-16): Izzul is working TF-3524 ("[QA] Create Automation Test — Loyalty cases", In Progress) under Epic TF-3521 ("26Q3 CDP - QA Automation Coverage & Deployment Support" in Jira — renamed 2026-07-16 by the TPM to match the Sprint 2 doc's convention), the CDP QA BAU Epic minted 2026-07-16 for Sprint 2. This predates Sprint 2's start; Izzul's queue above now reflects it. TF-3521 has no dedicated initiative folder/roadmap row yet — tracked here as an off-plan pull-in, same convention as the Engineering Initiatives bucket (TF-3500) A4 item, rather than a full registration, since it's a single BAU item so far. Revisit if TF-3521 accrues more sprint work.
The real blockers (not capacity)
- Team Owner Field & Team Permission (P4) — flag-ON GA is gated on Launchpad shipping the teams-for-user(+descendants) API to the §2.4 contract, the "Team Only" permission radio, and the legacy→Launchpad team-name crosswalk. In-repo BE/FE/Mobile chunks (Ghozi #1, Azani #2, Alfi #2) build now regardless — Launchpad-owned ask.
- Team Owner Field & Team Permission (P4) — Mobile rendering of the field + per-note permission flags needs a contract confirmation from the Mobile Squad (Alfi #2).
- Legacy Migration: CRM Notes → CDP (P5) — running (not building) the migration is a hard prerequisite on the Legacy CRM Squad's net-new org-scoped Person-notes extraction endpoint (OQ-7, does not exist today), on top of the P2 dependency already tracked on the roadmap.
- Legacy Migration: CRM Activity Logs → CDP (P6) — Stage-0 go/no-go needs CRM Squad + Platform/CRM DBA to grant read-only Postgres DSN access (Gate A) and pass an EXPLAIN-ANALYZE query-plan/index check (Gate B) before any run — build proceeds without it.
- Create Ticket & Auto-Associate (P7), web track — Tasks 2-3 (Jovi #3) are gated on CRM embed reuse / Qontak One auth / allow-list decisions that were due 2026-07-04, three days before this sprint started. PM/TPM: confirm whether those decisions landed — if not, this is now overdue against the sprint, not just "still waiting."
- Create Ticket & Auto-Associate (P7), Mobile track — Alfi is over capacity by 11 days
(
load 1.46) once this is added. PM/TPM decision needed this sprint: defer to next quarter, or secure ~10-11 more raw days of CDP-allocated Mobile capacity. Until decided, Alfi's #4 stays out of his active queue. - Customer Event-Based Engine — CEBE (P8) — no RFC exists. Jeffer's #3 is scoped to authoring
one; Data (Central DB schema, retriever/metrics, backfill) and Infra (streaming/queue,
monitoring) tracks remain unstaffed (
TBD (Infra)on the roadmap) — PM to staff Infra and confirm Data Team allocation before CEBE can be planning-ready. - Export Customer Data with Layout (P3) — OQ-17 (no CDP "Customer Data" quota type / no s2s export-history register path) blocks only the Should-Have EXP-S08 gate, not the core pipeline — Billing/IAG + Chat/Omnichannel-owned, non-blocking for this sprint's queued tasks.
- Multi-BSUIDs (CDP × CRM) (P9) — past-quarter target with no DRI and no
delivery/timeline.md. PM decision needed: shipped, slipped to Q3, or closed — nothing else proceeds on it until then. - PII Encryption — Contact Service (P10) — ranked last pending a PM priority call; effort is already sized (BE 10 / QA 3.25) but no CDP implementor is assigned. PM to decide sequencing and staffing before it can enter a future sprint's queues.
Jira reconciliation — findings ledger (2026-07-21, close)
State, not log. This ledger is the current status of every board-vs-plan finding — stable
F-<n>ids (never reused), rewritten in place by eachsprint-resyncpass instead of appending a new narrative section. The full dated record of every pass (evidence, engine output, per-pass propagation worklists) lives in../reconciliations/2026-07-07-sprint-01/— one immutable file per pass; latest = pass 11, 2026-07-21 (close pass). Convention:.claude/reference/sprint-drift-audit.md§5. Passes 1–6 predate this ledger and number findings per-pass — each row cites its origin asp<pass>#<n>; theF-<n>ids are the canonical carry-forward keys. Sprint closed 2026-07-21 — open rows below are carry-forward inputs to Sprint 2 planning, re-testable only by a freshsprint-drift-auditpass on sprint 21484.
Open / escalated (11 passes run, 2026-07-09 → 2026-07-21; close vitals: 78 → 80 issues, 66 done / 13 WIP / 1 to-do, 40 done since 2026-07-17; day 14 of 14):
-
F-1
coverage-gap· ⛔ ESCALATED (9 passes) · owner TPM · CALM Tasks 3–9 (TF-3466–3472) + Create-Ticket web (TF-3426–3428) never entered the sprint; at close this is a Sprint-2 planning input — file them deliberately · pass 11. (origin p1#1) -
F-4
coverage-gap· ⛔ ESCALATED (9 passes, zero movement all sprint) · owner Julio Jeffer / PM · CEBE (TF-3302) RFC-authoring never boarded; Sprint 2 must file it or descope CEBE explicitly · pass 11. (origin p1#6) -
F-7
status-progress· ⛔ ESCALATED (4 rechecks) · owner DRI / PM · retro-cost the 7 done Mobile items (TF-3290–3294, TF-3296, TF-3506) or declare out-of-band · pass 11. (origin p6#21) -
F-8
scope-watch· ⛔ ESCALATED (4 rechecks, grew to 6 tasks) · owner DRI · confirm the datamart-hardening BE set (TF-3507/3508/3511/3518/3519 + TF-3537) under Segmentation P1 is in-scope (retro-cost) · pass 11. (origin p6#22) -
F-10
off-plan-load· ⛔ ESCALATED (3rd recheck) · owner TPM · add Zhelia Alifa (PM/DRI, TF-3478 READY TO DEPLOY) toroster.jsonor record incapacity.mdas out-of-band PM capacity · pass 11. (origin p7#10) -
F-16 watch (no marker) · owner TPM · QA BAU Epic TF-3521 still single-item (TF-3524 Done); register an initiative folder only if Sprint-2 volume grows. (origin p8#16)
-
F-17
status-progress· ⛔ ESCALATED (2nd recheck) · owner TPM / Jovi · backfill Mention User Phase-1 FE tasks 1.1–1.4 (~7 FE days, no board issues, dependent Phase-2 work Done/merged) viasprint-jira-sync— burnup understates the initiative · pass 11. (origin p10#17) -
F-18 informational (engine limitation) · CONFIRMED 2nd pass · off-map-Epic issues excluded from the per-assignee join (false "Izzul 0 issues" row) · report upstream to
sprint-reconcile.mjs, no repo action · pass 11. (origin p10#18) -
F-19
code-evidence-gap· NEW (pass 11) · owner Jovi / TPM · TF-3429/TF-3430 (Export CHAT FE) board-Done, code only on unmerged branches — merge or revert board status; 0-credited · pass 11. (origin p11#19) -
F-20
code-evidence-gap· NEW (pass 11) · owner Berlianto / TPM · CRM Notes TF-3407 (unmerged branch) + TF-3408 (no trace) board-Done — merge or fix board; initiative stays 0% until corroborated · pass 11. (origin p11#20) -
F-21
scope-watch· NEW (pass 11) · owner DRI · Export: 5 done issues outside the 26-day breakdown (TF-3525, TF-3538, TF-3542, TF-3547, TF-3512) — retro-cost · pass 11. (origin p11#21) -
F-22
code-evidence-gap· NEW (pass 11) · owner TPM · adhoc bucket TF-3484/TF-3486 Done, no code trace in any registry repo — board fix or declare code-free (bucket rollup unaffected) · pass 11. (origin p11#22) -
F-23
blocked-done-conflict· NEW (pass 11) · owner TPM · CALM board reads 4/4 Done while real progress is 2 of 17 BE days (F-1's unfiled Tasks 3–9) — health staysat-risk, recorded in the 2026-07-21 dated status; resolves with F-1 · pass 11. (origin p11#23)
Resolved (closing pass linked; details in the pass files):
- F-2
off-plan-loadTF-3477 — resolved pass 7: adhoc bucket stood up 2026-07-14; superseded by F-10 - F-3
data-quality— resolved pass 11: TF-3459 closed Won't Fix - F-5 Team Owner task-breakdown — resolved
pass 11:
rfc-team-owner-field-and-team-permission.task-breakdown.mdnow exists; residual (no effort estimates, BE-only) feeds Sprint-2 planning - F-6
assignment-driftengine false positive — resolved pass 10: upstream fixqontak-docsf41ad1a - F-9 informational — superseded pass 8 by F-16
- Azani zero board presence (p1#2) — resolved pass 4
- Export Customer Data BE coverage (p1#5) — resolved pass 5: TF-3284–3288 in-sprint
- TF-3464 in-progress-but-unsprinted (p1#8) — resolved pass 5: Done, code-corroborated
SPRINT_PRIORITY_DRIFTP1/P2 relabel (p2#9) — fixed pass 2; P3–P6 relabel (p4#16) — fixed pass 4; Team-Owner- before-Export order confirmed as a standing sequencing exception 2026-07-16 — seeteam-owner-field-and-team-permission/delivery/decisions/0001-confirm-team-owner-sequencing-exception.mdroster.jsonmissing → created pass 3- Progress writes applied (latest first, close pass): Mention User 51%
(
status/2026-07-21.md), Export 35% (status/2026-07-21.md); commitment-day / risk records: Customer Segmentation 47% (status/2026-07-21.md), CALM 8%- F-23 (
status/2026-07-21.md), CRM Notes 0% + F-20 (status/2026-07-21.md), Team Owner count-note 13/18 (status/2026-07-21.md)
- F-23 (
Resolved (closing pass linked; details in the pass files):
- Azani zero board presence (p1#2) — resolved pass 4
- Export Customer Data BE coverage (p1#5) — resolved pass 5: TF-3284–3288 in-sprint
- TF-3464 in-progress-but-unsprinted (p1#8) — resolved pass 5: Done, code-corroborated
SPRINT_PRIORITY_DRIFTP1/P2 relabel (p2#9) — fixed pass 2; P3–P6 relabel (p4#16) — fixed pass 4, with Team-Owner-before-Export queue order open as Deviation, now confirmed as a standing sequencing exception 2026-07-16 — seeteam-owner-field-and-team-permission/delivery/decisions/0001-confirm-team-owner-sequencing-exception.mdroster.jsonmissing → created pass 3- F-2 TF-3477
off-plan-load— resolved pass 7: bucket README stood up 2026-07-14, engine now tracks TF-3477 - F-6
assignment-driftengine false positive — resolved pass 10: upstream fix atqontak-docsf41ad1a - Progress writes applied (latest first): Customer Segmentation 47%
(
status/2026-07-17.md), Mention User 32% (status/2026-07-17.md), Legacy Migration: CRM Activity Logs 8% (status/2026-07-17.md); Team Owner / Export / Create Ticket stay 0% (count-notes only — no man-day join; see pass 10)
Sprint review
Closed 2026-07-21 by pass 11 (the close pass of record). Board at close: 80 issues, 66 done / 13 WIP / 1 to-do; 40 done in the final four days.
- Shipped / done:
- Mention User (P2) — full BE chain (TF-3325–3330), FE integration (TF-3331, TF-3382), 7 Mobile items (TF-3290–3294, 3296, 3506); 16/17 board issues done; 51% burnup.
- Export (P3) — full BE chain (TF-3284–3288, 11.5d merged) + settings/API extras (TF-3525, 3538, 3542, 3547, 3512 — off-breakdown, F-21); 35% burnup.
- Team Owner (P4) — the entire BE surface: all 12 TEAM-S stories (TF-3448–3458, TF-3488) done and merged behind the flag; FE Tasks 1–5 at Ready-to-Deploy; count-note 13/18.
- Customer Segmentation (P1) — FE test tasks 2.1/2.2 done (earlier passes); TF-3401 (the 07-21 commitment's last priced task) reached Ready-to-Deploy but not Done on commitment day; 47%; + 6 datamart-hardening BE items (F-8).
- QA test-case suites written for six initiatives (TF-3489–3495 set) + Izzul's TF-3524 (QA BAU automation).
- Buckets: adhoc TF-3477 5/6 done; engineering TF-3500 A4/TF-3499 done (tracker
in-reviewpending QA gate).
- Carried over (→ backlog; Sprint 2 pulls deliberately from re-derived sources — no default
carryover):
- F-1 unfiled work: CALM Tasks 3–9 (TF-3466–3472, 15 BE days against the 08-04 date) and Create-Ticket web (TF-3426–3428) — never boarded this sprint.
- F-4 CEBE RFC-authoring — zero movement all 14 days; file or descope.
- Ready-to-Test/Deploy tail: Export FE (TF-3283/3289/3378, TF-3531 Blocked), Team Owner FE Tasks 1–5 (TF-3312–3316), Segmentation TF-3401, Mention User TF-3509, adhoc TF-3478.
- CRM Notes: remaining Tasks 2.1–2.5 (+ F-20's unmerged 1.1/1.2).
- Open decisions carried: Alfi's Mobile over-commitment / Create-Ticket Mobile defer (blocker 6), Multi-BSUIDs (P9) and PII Encryption (P10) sequencing.
- Added mid-sprint: the 2026-07-14 A4 pull-in (TF-3499 → Epic TF-3500); Izzul's QA BAU Epic TF-3521/TF-3524 (pass 8); the datamart-hardening set under P1 (grew to 6, F-8); Export's 5 off-breakdown items (F-21); Zhelia's TF-3478 (F-10). Net board growth 73 → 80 issues.
- Fed into status: six dated 2026-07-21 reports —
Mention User 51%,
Export 35%,
Segmentation 47% commitment-day record,
CALM 8% + F-23,
CRM Notes 0% + F-20,
Team Owner count-note;
README caches + roadmap
## Portfolio progress & forecastupdated in the same pass. - Decisions taken: 0001 Segmentation → P1 (2026-07-07); 0002 Export-first execution (2026-07-10 reprioritization); Team-Owner sequencing exception (2026-07-16). Still undecided at close: CEBE staffing (blocker 7), Create-Ticket Mobile (blocker 6), Multi-BSUIDs (blocker 9), PII Encryption (blocker 10).
Retro actions
- Drop: letting task-breakdown tasks reach the sprint board lazily — F-1 held 9 passes
because CALM Tasks 3–9 / Create-Ticket web were never filed;
sprint-jira-syncshould file the full Ready queue at sprint start (Sprint-2 planning input). - Add: a retro-cost gate for off-breakdown work — F-7 (7 Mobile items), F-8 (6 datamart items), F-21 (5 Export items) all accumulated silent scope; DRI prices or declares out-of-band within one pass of appearing.
- Add: merge-before-Done discipline — F-19/F-20/F-22 show board-Done with unmerged/no code; assignees close only after merge (or state code-free explicitly in the ticket).
- Improve (tooling): report the F-18 engine limitation upstream to
sprint-reconcile.mjs(off-map-Epic issues excluded from the per-assignee join → false roster-mismatch rows); add Zhelia toroster.json/capacity.md(F-10) so PM-executed work stops firing off-plan-load. - Keep: the deterministic engine + offline
--digestpath (worked credential-less this close), and same-pass propagation — this close wrote six status entries in one pass.