Skip to main content

Chatbot - Sprint 01 Goals (2026-Q3)

Delivery / Program Management - team-level, cross-initiative. A sprint is a derived render of the roadmap Priority table x per-discipline implementors: x each initiative's rfcs/*.task-breakdown.md readiness x 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-13 -> 2026-07-27 (2 weeks)

Sprint goal: turn the PM-confirmed 26Q3 BOT priority stack into executable Sprint 1 work: start the actionable P1/P2 slices already backed by task breakdowns, keep external-gated work honest, and close the P3/P4/P5 planning gaps required for Sprint 2 named queues.

Source (derived from): the ## Priority table in ../roadmap.md, the staffing mirror in ../capacity.md, recorded initiative implementors: / qa, and the available task breakdowns: P1 Refiner and P2 Impact Report. Breakdown effort appears only as sequencing context; quarterly capacity remains TBD until DRI-confirmed effort_*_days and available eng-days land in the canonical files.

Sprint 1 outcome targets

  1. Google Calendar OAuth is finished through a testable, verification-ready Sprint 1 slice. Complete the production-facing BE/FE seam, execute QA coverage, and prepare the Google OAuth app verification submission without claiming approval before Google completes its review.
  2. P1 Autonomous AI Agent Refiner is execution-ready and moving on safe slices. FE mock-first tasks and BE proxy groundwork can start from the new task breakdown; real-upstream staging stays blocked until Data/ML confirms refine-skill-pack exposure and behavior.
  3. P2 AI Agent Impact Report has a buildable FE shell and explicit backend/data gates. FE mocked-report slices can start from the new task breakdown; BE correctness, forecast, entitlement, and final integration stay gated by Data/BI and open RFC questions.
  4. P4/P5 planning gaps are removed. Generate or refresh task breakdowns for AI Agent Knowledge and Unified Agent Quality Scorecard Phase 1; assign P5 implementors or keep it out of named build queues.
  5. Sprint 2 can become a normal per-engineer queue. Populate missing effort_*_days, confirm available eng-days, and update ../capacity.md.

Initiative index

All paths are relative to this file. Priority ranks come from the roadmap ## Priority table.

PriInitiative (Epic)Sprint 1 roleReady basis / effort contextBuild gate
P1Autonomous AI Agent - Phase 2: AI-Assisted Refinement (BOT-4602)Primary executable trackbreakdown: 24.5d total (FE 12, BE 8, QA 4.5)Data/ML upstream blocks real-upstream staging only
P2AI Agent Impact Report - Phase 1: Live Impact Report (BOT-4568)Secondary executable/planning trackbreakdown: 33.5d total (FE 15.5, BE 10, QA 8)Data/BI datamart + OQ constants block final correctness
P3AI Agent Testing - Phase 1: Historical Validation (BOT-3351)Planning + QA coveragebreakdown exists (Phase 1/2, effort-estimated); 11 sprint issues already filedAI platform batch capacity
P4AI Agent Knowledge - Phase 1: Conversation History (BOT-3992)Planning + contract boundaryno task breakdown yetData & AI masking/training/webhook contracts
P5Unified Agent Quality Scorecard - Phase 1: Settings & Rubric (BOT-4573)Planning + staffing decisionno task breakdown yet; no implementors: recordedFE design frames; DSAI rubric wording
P6Unified Agent Quality Scorecard - Phase 2: Auto-Scoring & In-Room (BOT-4573)Visible backlog onlynot projected into Sprint 01Not pulled unless PM/TPM explicitly reprioritizes
P7Unified Agent Quality Scorecard - Phase 3: Analytics Report (BOT-4573)Visible backlog onlynot projected into Sprint 01Not pulled unless PM/TPM explicitly reprioritizes
P8Mekari Action (AI Agent) (BOT-4571)Visible backlog onlynot projected into Sprint 01Not pulled unless PM/TPM explicitly reprioritizes
P9Native Integration — Google Calendar Phase 1 (BOT-4482; umbrella BOT-4600)Sprint Goal 1: finish Google Calendar OAuth/booking, test, and prepare Google app verificationOAuth/provider foundation shipped; executor, registry/seed, production FE row, and verification evidence remainGoogle Cloud project/redirect + consent configuration; Google review is external and must not be represented as approved before a decision arrives
P10Qontak Action (AI Agent) (BOT-4597; CRM Deals Custom Fields child BOT-4662)Off-plan pull-in, discovered 2026-07-16 — CRM Deals Custom Fields (BE 6d / FE 7d, task-breakdown-estimated)PRD + BE RFC + FE RFC + both task-breakdowns exist; BE 5/6 tasks Eko Aprianto (3 Done), 1/6 Agus Suparman; FE 4 tasks Baghiz Firdausa (In Progress)No formal build gate — surfaced by sprint-drift-audit pass 6/7 already in progress without one; registered retroactively
P11AI Agent Idle Action (BOT-4567)Visible backlog onlynot projected into Sprint 01Not pulled unless PM/TPM explicitly reprioritizes
P12AI Agent Monitoring (BOT-4569)Visible backlog onlynot projected into Sprint 01Not pulled unless PM/TPM explicitly reprioritizes
P13Bot-vs-Human Traffic Split (A/B) (BOT-4570)Visible backlog onlynot projected into Sprint 01Not pulled unless PM/TPM explicitly reprioritizes
P14Multi-WABA Impact (BOT-4572)Visible backlog onlynot projected into Sprint 01Not pulled unless PM/TPM explicitly reprioritizes

Per-engineer queues

Each person works their list top-to-bottom. A genuinely blocked item is skipped and revisited once the blocker clears. Queue order mirrors roadmap priority except where listed in ## Deviations from roadmap priority.

Farras Herdicho (BE)

#Epic (Jira)TaskStatus
1Autonomous AI Agent Refiner (BOT-4602, P1)From the P1 breakdown, start BE-safe proxy groundwork: SkillPackBuilder extraction, rollout flag/predicate, upstream-client scaffold, no-write refine contract, and regression specsReady for local/stub groundwork; real-upstream staging blocked on Data/ML
2AI Agent Testing Historical Validation (BOT-3351, P3)Task breakdown already exists (historical-validation.task-breakdown.md, 11 issues filed); execute BOT-owned API/worker prep tasks from it, isolated from AI platform-owned batch capacityReady from breakdown; execution blocked on AI platform batch capacity

Samudra Linggar (FE)

#Epic (Jira)TaskStatus
1Autonomous AI Agent Refiner (BOT-4602, P1)Begin P1 FE mocked slices in order: useRefineAgent, RefinePanel/RefineOptionCard, editor rail staging, analytics/i18nReady from task breakdown; Figma still pending, prototype is interim source
2AI Agent Knowledge Conversation History (BOT-3992, P4)Help generate the P4 task breakdown and identify FE work that can proceed only after contract boundaries are explicitPlanning ready; build blocked on Data & AI contracts

Baghiz Firdausa (FE)

#Epic (Jira)TaskStatus
1CRM Deals Custom Fields (BOT-4662, Qontak Action, off-plan pull-in)Define and implement the FE configuration/rendering needed for AI Agent CRM Deal actions to map supported CRM custom fields safely; align the field schema, validation, and error states with the BE/API contract — per PRD + FE RFC + task breakdown (FE 7d)In progress — 4 FE tasks already In Progress on the board (BOT-4680–4683); registered 2026-07-16 (sprint-drift-audit pass 6/7), was previously an untracked placeholder
2Native Integration — Google Calendar (BOT-4482, P9 / Sprint Goal 1)Finish production FE exposure: Google Calendar row under Other integration, OAuth connect/re-authorize and connection-state UX, RBAC/feature-flag gating, callback/error handling, and FE tests; use Google-compliant consent/branding treatmentReady once the final OAuth client/redirect contract is supplied; do not expose the row for ineligible orgs
3AI Agent Impact Report (BOT-4568, P2)Start P2 mocked-API FE foundation from the breakdown: Pinia store/service/fixtures, feature-role middleware, report shell, and first value-delivered tilesReady with placeholder constants for unresolved OQ-1/OQ-2
4AI Agent Testing Historical Validation (BOT-3351, P3)Contribute FE/test-harness notes from the existing task breakdownReady from breakdown; execution blocked on batch path

Eko Aprianto (BE)

#Epic (Jira)TaskStatus
1CRM Deals Custom Fields (BOT-4662, Qontak Action, off-plan pull-in)Execute the BE task breakdown: feature-flag rollout class, AdditionalFieldNormalizer, LookupResources extension, TrainAiAgent fix, node-registry seed — per BE RFC + task breakdownIn progress, largely complete — 3/5 Done (BOT-4669, BOT-4673, and one more), 2/5 Ready-to-Deploy (BOT-4670, BOT-4672). Added retroactively 2026-07-16 (sprint-drift-audit pass 6/7) — this row did not exist while the work was already underway
2AI Agent Knowledge Conversation History (BOT-3992, P4)Generate P4 task breakdown and separate BOT-owned directory/API scaffolding from Data & AI masking/training service ownershipPlanning ready; build blocked on Data & AI contracts

Agus Suparman (BE)

#Epic (Jira)TaskStatus
1Chatbot Ruby & Rails Upgrade — Phase 1 discovery (Engineering Initiatives A1, BOT-4621 under Epic BOT-4620)Complete the upgrade discovery against the landed Phase 1 RFC (Ruby 3.2.2→3.4.10, Rails 7.1.3.2→7.2.3.1): validate the compatibility-risk inventory, confirm the build/test/smoke gates, and size the story for a separately authorized implementation pullJira Epic/Story minted and staffing confirmed 2026-07-13 (BE/DRI Agus, QA Tito/Izzul); still unestimated and build not authorized — discovery only, excluded from staffing/capacity calculations
2CRM Deals Custom Fields (BOT-4662, Qontak Action, off-plan pull-in)Define and implement the BE/API contract for AI Agent CRM Deal actions to accept, validate, persist, and return supported CRM custom fields; add authorization, tenant isolation, validation, and regression coverage — per PRD + BE RFC + task breakdown (BE 6d)In progress — Task 4 (merge_additional_field_arguments, BOT-4671) Ready to Merged; registered 2026-07-16 (sprint-drift-audit pass 6/7), was previously an untracked placeholder
3Native Integration — Google Calendar (BOT-4482, P9 / Sprint Goal 1)Finish the BE OAuth/booking seam: confirm production Cloud project and exact redirect URI; harden callback/state/credential handling without logging tokens; complete Calendar executor, registry/seed, refresh/retry, and backend specs; assemble the technical inputs for Google OAuth verification (scope justification and demo environment)Ready for code/spec work; production client, redirect/domain ownership, and Google submission access must be confirmed by the project owner
4AI Agent Impact Report (BOT-4568, P2)Use the P2 task breakdown to prepare BE/data contract questions, especially aggregator correctness, rooms scan/index risk, forecast algorithm, and entitlement feature codePartially blocked; contract questions are ready, final BE build waits on Data/BI/OQs
5AI Agent Impact Report (BOT-4568, P2)Start only backend scaffolding that is independent of the datamart contract, if confirmed by RFC reviewConditional - do not fabricate datamart fields

Tito Amanda (QA)

#Epic (Jira)TaskStatus
1Native Integration — Google Calendar (BOT-4482, P9 / Sprint Goal 1)Execute and evidence QA: real OAuth test-user connect/cancel/denial/callback cases, least-scope consent screen, token refresh/revocation → re-authorize, calendar lookup/create-event and invite behavior, RBAC/flag isolation, and no-token/no-PII logging checks; validate the verification demo video and submission evidence against Google requirementsHuman QA required; final external app-verification approval is owned by Google, not a Sprint test result
2CRM Deals Custom Fields (BOT-4662, Qontak Action, off-plan pull-in)Execute QA for the custom-field picker (S01), array AI-fill/manual (S02), BE merge into the CRM create (S03), and pipeline-change pruning (S04) — filed as BOT-4688, split from Stories BOT-4663/4664/4665/4666Filed 2026-07-16 (closes F-20's remaining follow-up); unestimated — no QA man-days exist in either task-breakdown, size on grooming
3Autonomous AI Agent Refiner (BOT-4602, P1)Draft QA coverage for no-write refine calls, accept-then-save behavior, flag/role/legacy rejections, and existing editor regressionReady from P1 task breakdown
4AI Agent Impact Report (BOT-4568, P2)Draft QA checklist for baseline-forming, no fabricated numbers, role/feature gating, data freshness labeling, and retry/error statesReady for FE mocked flow; data correctness waits on BE/Data contract
5AI Agent Testing Historical Validation (BOT-3351, P3)Draft QA checklist for sampling, no customer-message leakage, shadow-answer persistence, confidence recompute, and activation gateReady from breakdown; execution blocked on AI platform batch capacity
6QA BAU — Automation Coverage & Deployment Support (BOT-4609; ../qa-bau.md)Own automation-coverage improvements and partner with Izzul on release verification; create a Jira item for every discrete BAU outcome per qa-bau.mdOngoing — scheduled deployment verification takes precedence; otherwise pull into gaps between ready initiative work

QA BAU Jira-item contract (Tito & Izzul)

Standing workstream — not an initiative. Full contract + quarter Epic rollover: ../qa-bau.md.

This sprint's EpicBOT-4609 (2026-Q3 current on qa-bau.md)
OwnersTito → automation · Izzul → deployment verification
File itemsTask under BOT-4609 · summary QA Automation — … or QA Deployment Support — … · this sprint if finishing in-window · never jira-sync
Product defects found in verificationBug under the product executable Epic (not BAU), per qa-bau.md

When 2026-Q4 starts, mint the next Epic and move jira_epic on qa-bau.md — do not keep filing new BAU work under BOT-4609 after that rollover.

Deviations from roadmap priority

  • P2 gets an executable Sprint 1 lane while P4 remains a planning lane. This follows current readiness rather than raw priority alone: P2 has a task breakdown with FE mocked-API slices, and P4 has none. P3 is execution-ready from its own breakdown, blocked externally on AI platform batch capacity rather than on planning.
  • P5 is not the primary build item yet. The previous sprint draft treated P5 as the cleanest build candidate, but the current repo still has no P5 task breakdown and no P5 implementors on the initiative README. Sprint 1 limits P5 to task-breakdown generation, design/rubric confirmation, and staffing.
  • Sprint queue order is intentionally split. Ruby & Rails upgrade discovery is first for Agus (BE); CRM Deals Custom Field Support is first for Baghiz (FE); Google Calendar remains Sprint Goal 1 overall and Tito's first QA item. The Native Integration umbrella remains P9 in the portfolio, and neither unestimated slice is treated as available capacity. Two knock-on cases of this same Sprint-Goal-1-first sequencing: on Tito Amanda's QA queue, Autonomous AI Agent Refiner (P1) sits below the Sprint Goal 1 Google Calendar row purely because Google Calendar QA is sequenced first this window, not because P1 was reprioritized below P9. On Baghiz Firdausa's FE queue, AI Agent Testing Historical Validation (P3) likewise sits below the Sprint Goal 1 Google Calendar row for the same reason — his queue runs off-plan pull-in → Google Calendar (Goal
    1. → P2 → P3 in that deliberate order, not raw priority rank.
  • Chatbot Ruby & Rails Upgrade is discovery only (no build authorization). Agus's first discovery item for the EOL runtime/stack upgrade. Jira mirror: Epic BOT-4620, Stories BOT-4621 (A1) / BOT-4622 (A2); staffing confirmed (BE/DRI Agus, QA Tito/Izzul); both RFCs landed. Unestimated and unauthorized for build, so excluded from staffing and capacity; Tito has no Sprint 1 task on it.
  • CRM Deals Custom Fields (BOT-4662, P10) is an off-plan pull-in, not a PM/TPM reprioritization. Staffed and estimated (BE 6d / FE 7d) with a full PRD + BE/FE RFCs + breakdowns, but discovered already in progress rather than ranked in — registered retroactively 2026-07-16. QA coverage is BOT-4688 (Tito Amanda), unestimated — size on grooming. Evidence: pass 7.
  • Baghiz Firdausa's FE queue starts at P2, not P1 — and this is not a priority inversion. Autonomous AI Agent Phase 2 (P1) is staffed by Farras (BE 8) + Linggar (FE 12) only; Baghiz is not on it. He is the named FE for Impact Report (P2) and AI Agent Testing (P3), so his queue runs P2 → P3 in rank order. Eko is likewise off P1; his queue starts at P4.
  • P6-P14 remain backlog-visible only. Pulling lower-ranked work into Sprint 1 requires an explicit PM/TPM decision and should be reflected in the roadmap or a delivery decision if it persists beyond this sprint.
  • BOT-4662's duplicate Story family — remediated 2026-07-16. Canonical set BOT-4663–4667 kept; BOT-4675–4679 duplicate-linked and closed Won't Fix. Known residual: FE Tasks BOT-4680–4683 keep a stale split from to the closed duplicates (no delete-link tool exposed) — see decision 0001.

The real blockers (not capacity)

  1. Autonomous AI Agent Phase 2 (P1) - Data/ML-owned refine-skill-pack proxy/deployment and contract verification. Ask: confirm endpoint availability through noncore-mrag, invented-ref behavior, multi-option launch behavior, and real-upstream staging criteria.
  2. AI Agent Impact Report (P2) - Data/BI-owned ai_activity_logs datamart and open RFC constants. Ask: confirm fields, per-org aggregation rules, freshness, access path, owner, AI add-on feature code, canonical role strings, after-hours source, and forecast algorithm.
  3. AI Agent Testing (P3) - task breakdown exists and 11 sprint issues are already filed; the remaining blocker is AI platform-owned batch shadow inference capacity and shared answer-evaluation engine limits, not planning. Ask: confirm TPM/RPM limits, queue isolation, data retention, and failure behavior before build execution.
  4. AI Agent Knowledge (P4) - Data & AI-owned PII masking, training/vector service, and training-status webhook contract. Ask: confirm payloads, retry semantics, 90-day rolling sync, source lifecycle, and masking SLA before full build.
  5. Unified Agent Quality Scorecard Phase 1 (P5) - P5 still lacks recorded implementors and a task breakdown; design frames are pending for FE pixel-faithfulness and DSAI rubric wording should be confirmed for content accuracy.
  6. BOT delivery planning layer - effort, available capacity, forecast, and some initiative task breakdowns remain missing. Ask: DRI/TPM to populate these before Sprint 2 planning.
  7. Google Calendar OAuth / Google app verification (P9 pull-in) - production Google Cloud project, exact redirect URI, authorized-domain ownership, consent-screen links and contacts, least-privilege scope justification, and an end-to-end English demo video are required before submission. Sensitive-scope verification is external; testing can prove readiness but cannot guarantee approval.

Jira reconciliation — findings ledger (2026-07-27)

Current state only — the narrative log lives in ../reconciliations/2026-07-13-sprint-01/. Final evidence: pass 16 (close).

Sprint 1 closed at pass 16.

Open / escalated (16 passes, 2026-07-14 → 2026-07-27; 93 issues (+0) · 28 WIP · 65 done · 0 done-since · oldest WIP BOT-4635/BOT-4636/BOT-4619 at ~13d):

  1. F-2 · coverage-gap · STILL OPEN, ⛔ ESCALATED (16th pass) · Dimas Fauzi Hidayat · BOT-4568 still 1 issue(s), 0 BE/FE — evidence byte-identical every pass; sprint outcome target 3 failed. File BE/FE tasks (Sprint 2 P2 mock-first FE queue) or descope · pass 16
  2. F-14 · code-evidence-gap · STILL OPEN, ⛔ ESCALATED · assignee/DRI + Dimas Fauzi Hidayat · BOT-3949/4616/4617/4618 Won't Fix with no merged code — three are breakdown-joinable, so this holds F-40's baseline at a 7% floor; confirm descope and cut the 37.5d baseline, or correct Jira · pass 16
  3. F-15 · code-evidence-gap · STILL OPEN, ⛔ ESCALATED · assignee/DRI · BOT-4653 zero trace — no commit and no branch on any ref in chatbot/chatbot-fe · pass 16
  4. F-26 · code-evidence-gap · STILL OPEN, ⛔ ESCALATED (narrowed) · Eko Aprianto · BOT-4668/4669/4673 zero trace; BOT-4681/4682/4683 co-keyed commit only · pass 16
  5. F-27 · code-evidence-gap · STILL OPEN, ⛔ ESCALATED · Farras Herdicho · BOT-4655/4656/4658 zero trace on any ref · pass 16
  6. F-32 · code-evidence-gap · STILL OPEN, ⛔ ESCALATED · assignee/DRI · BOT-4623–4634 code on unmerged branches only, BOT-4650 zero trace — 12 of 30 corroborated verdicts are in-flight, a squad-wide done-ahead-of-merge pattern · pass 16
  7. F-39 · status-progress · STILL OPEN · DRI · Impact Report 0 done / 1 in-progress, so derived completion is genuinely 0 — blocked behind F-2, not behind a man-day read · pass 16
  8. F-41 · epic-wiring-drift · STILL OPEN, accepted except one row · TPM · BOT-4602/BOT-4482 documented umbrella children, BOT-4609 QA BAU, BOT-4662 registered P10 pull-in; only BOT-3972 (BOT-4461) needs a read. Row set was always incomplete — see F-50 · pass 16
  9. F-46 · off-plan-load · STILL OPEN (2nd pass), ⛔ ESCALATED · TPM (Dimas Fauzi Hidayat) · Dhita Putri Pratama holds BOT-4739 in sprint 21473, in neither roster.json nor capacity.md; now engine-confirmed. Add her, or record her as cross-squad · pass 16
  10. F-49 · off-plan-load · OPEN (new) · TPM · the 26Q3 Fast-track lane BOT-4554 (9 sprint issues: 2 Done, 3 In Progress incl. unassigned BOT-4741, 4 Won't Fix) plus orphan BOT-4734 carried real load all sprint while absent from the index, queues, and capacity. Model as a bucket with a WIP limit, or record as an explicitly unmodeled standing lane. Already Sprint 2 blocker 6 · pass 16
  11. F-50 · engine-defect · OPEN (new) · TPM → upstream qontak-docs · sprint-reconcile.mjs WIRED_TYPES admits Story/Task only, exempting the custom Fast Track type from every parent-side epic-wiring-drift check including the deterministic orphan check — 10 sprint issues unreportable for 15 passes. Fix upstream; do not hand-patch · pass 16
  12. F-52 · status-progress · OPEN (new) · DRI · BOT-3942/3941/4188/4654/4659 are merged-code-corroborated but carry no Task N.N token, so they score 0 and hold AI Agent Testing at a 7% floor. Map each to its Phase-2 breakdown task, or state it as out-of-breakdown · pass 16

Visibility caveat: archiving this doc removes these rows from lint:delivery CHECK GROUP K (which reads active sprints only), and sprint 02 has no ledger yet. Its first reconciliation pass must seed one from pass 16's routing table.

Resolved: F-3 · F-24 · F-25 · F-29 · F-30 · F-31 · F-34 · F-35 · F-36 · F-37 · F-38 · F-40 (2.5d / 7% applied — status 2026-07-27; remainder held by F-14 + F-52) · F-42 · F-43 · F-44 · F-45 · F-47 · F-51 · F-53pass 16.

Sprint review

Drafted at close from the final digest (93 issues · 65 done · 28 WIP, 2026-07-27) and the 16-pass reconciliation history — not from memory. Full evidence: pass 16.

Outcome targets — 2 of 5 met:

#TargetVerdictEvidence
1Google Calendar finished to a verification-ready slicenot metBOT-4482: 3 issues, all In Progress, 0 done
2P1 Refiner execution-ready and movingmetBOT-4602 6 done / 1 WIP; Refine Rail FE (Story BOT-4574) 8/8 Sub-tasks done; 51% recorded
3P2 Impact Report has a buildable FE shellnot metBOT-4568: 1 issue, 0 BE/FE — F-2, escalated all 16 passes
4P4/P5 planning gaps removedpartialP5 still has no task breakdown; carried as a named Sprint 2 goal
5Sprint 2 can be a normal per-engineer queuemet in formSprint 2 drafted with per-engineer queues, but capacity.md committed days are still N + TBD throughout
  • Shipped / done: P1 Autonomous Refiner Phase 2 — BOT-4602 (6 done) incl. the complete Refine Rail FE slice BOT-4579–4586 under Story BOT-4574. P10 CRM Deals Custom Fields — BOT-4662 (13 done). Ruby & Rails discovery — BOT-4620 (17 done). P3 AI Agent Testing — BOT-3351 (10 done, of which 6 code-corroborated; 3 are Won't Fix descopes, not completions). Code Readiness — BOT-4500 (3 done). Fast-track lane — BOT-4690, BOT-4700. QA BAU — 1 done under BOT-4609. Caveat carried deliberately: 12 of the engine's 30 done-issue verdicts are in-flight (unmerged branch only) and 9 are no-trace — so "done" above is board-done, and only the corroborated subset earned man-days (F-15/26/27/32).
  • Carried over — returned to the backlog, not rolled forward. 28 items remain WIP. Sprint 2 re-derives them from the current roadmap and pulls them deliberately; Sprint 1 membership confers no priority. Candidates with remaining work restated: Google Calendar BE/FE/QA (BOT-4482, 3 WIP — the whole of target 1); P3 AI Agent Testing (7 WIP); QA BAU (5 WIP); CRM Deals FE (3 WIP); Ruby & Rails (3 WIP); Fast-track production bugs (3 WIP incl. unassigned BOT-4741); P1 Refiner tail (1 WIP); P2 Impact Report (1 WIP). Plus the 10 open findings above. Aged the full window without landing: BOT-4635, BOT-4636 (Agus), BOT-4619 (Farras) — ~13 days.
  • Added mid-sprint: Native Integration — Google Calendar OAuth/booking finish, QA, and Google OAuth app-verification readiness (BOT-4482; Agus BE, Baghiz FE, Tito QA). Added as a scoped P9 exception on 2026-07-13; effort remains TBD. CRM Deals Custom Fields (BOT-4662, Qontak Action / P10) was added mid-sprint as an off-plan pull-in for Agus + Baghiz — carried as an unestimated placeholder through pass 5, corrected 2026-07-16 (sprint-drift-audit pass 6/7) once found to already have a PRD, BE/FE RFCs, task-breakdowns (BE 6d / FE 7d), and Eko Aprianto's substantial unstaffed BE contribution (5/6 tasks, 3 Done). Chatbot Ruby & Rails Upgrade was added as Agus's first unestimated discovery item; it is not implementation work. Its Jira mirror was minted mid-sprint on 2026-07-13 (Epic BOT-4620, Stories BOT-4621/BOT-4622) with staffing confirmed (BE/DRI Agus, QA Tito/Izzul). Never added to the plan at all: the 26Q3 Fast-track lane (BOT-4554, 9 issues) and orphan BOT-4734 ran the whole sprint outside the index, queues, and capacity — discovered only at close (F-49), because an engine type gap hid them (F-50).
  • Fed into status: ai-agent-testing/delivery/status/2026-07-27.md — F-40's computed completion applied (0 → 2.5 man-days, 0% → 7%), cached to the README and the roadmap ## Portfolio progress & forecast. Impact Report (F-39) received no entry: with 0 done issues the derived completion is genuinely 0, so there is nothing to write.
  • Decisions taken: no decisions/ ADR and no roadmap Priority reorder. This is a finding, not a clean bill: the sprint absorbed two unranked lanes (BOT-4662 P10 pull-in, BOT-4554 Fast-track) and failed two of five outcome targets without either being recorded as a reprioritization. The owed decisions are F-14 (descope), F-46/F-49 (model the Fast-track lane) and F-52 (breakdown join).

Retro actions

Process items for sprint-planner step 2 on Sprint 3 — distinct from the bookkeeping above.

  1. Drop "board-done" as the completion signal. 21 of 30 done issues were uncorroborated (12 in-flight, 9 no-trace). Make merged-to-default the squad's Done definition so code-evidence-gap stops being the largest finding class six passes running.
  2. Add a close-time "every live Epic accounted for" step. The Fast-track lane hid for 15 passes because every pass read the engine's rows, never the digest's own parent rollup. Reconcile the rollup against the ## Initiative index each pass. (Durable half pushed to its real home: F-50 filed upstream against WIRED_TYPES.)
  3. Stop re-logging; escalate on schedule. F-2 carried byte-identical evidence for 16 passes. A finding reaching its 3rd pass should force a dated decision entry, not another STILL OPEN row.
  4. Rewrite ledger sections by replacement, then re-read the doc. Pass 15 left a duplicate stale ledger and two ## Sprint review headings (F-51).
  5. Run close mode at sprint_end, not after. Pass 15 hit the final day and deferred the close, so Sprint 2 was drafted before Sprint 1 had a review or a carry-forward to hand it.