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'srfcs/*.task-breakdown.mdreadiness xcapacity.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
- 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.
- 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-packexposure and behavior. - 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.
- 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.
- 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.
| Pri | Initiative (Epic) | Sprint 1 role | Ready basis / effort context | Build gate |
|---|---|---|---|---|
| P1 | Autonomous AI Agent - Phase 2: AI-Assisted Refinement (BOT-4602) | Primary executable track | breakdown: 24.5d total (FE 12, BE 8, QA 4.5) | Data/ML upstream blocks real-upstream staging only |
| P2 | AI Agent Impact Report - Phase 1: Live Impact Report (BOT-4568) | Secondary executable/planning track | breakdown: 33.5d total (FE 15.5, BE 10, QA 8) | Data/BI datamart + OQ constants block final correctness |
| P3 | AI Agent Testing - Phase 1: Historical Validation (BOT-3351) | Planning + QA coverage | breakdown exists (Phase 1/2, effort-estimated); 11 sprint issues already filed | AI platform batch capacity |
| P4 | AI Agent Knowledge - Phase 1: Conversation History (BOT-3992) | Planning + contract boundary | no task breakdown yet | Data & AI masking/training/webhook contracts |
| P5 | Unified Agent Quality Scorecard - Phase 1: Settings & Rubric (BOT-4573) | Planning + staffing decision | no task breakdown yet; no implementors: recorded | FE design frames; DSAI rubric wording |
| P6 | Unified Agent Quality Scorecard - Phase 2: Auto-Scoring & In-Room (BOT-4573) | Visible backlog only | not projected into Sprint 01 | Not pulled unless PM/TPM explicitly reprioritizes |
| P7 | Unified Agent Quality Scorecard - Phase 3: Analytics Report (BOT-4573) | Visible backlog only | not projected into Sprint 01 | Not pulled unless PM/TPM explicitly reprioritizes |
| P8 | Mekari Action (AI Agent) (BOT-4571) | Visible backlog only | not projected into Sprint 01 | Not pulled unless PM/TPM explicitly reprioritizes |
| P9 | Native Integration — Google Calendar Phase 1 (BOT-4482; umbrella BOT-4600) | Sprint Goal 1: finish Google Calendar OAuth/booking, test, and prepare Google app verification | OAuth/provider foundation shipped; executor, registry/seed, production FE row, and verification evidence remain | Google Cloud project/redirect + consent configuration; Google review is external and must not be represented as approved before a decision arrives |
| P10 | Qontak 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 |
| P11 | AI Agent Idle Action (BOT-4567) | Visible backlog only | not projected into Sprint 01 | Not pulled unless PM/TPM explicitly reprioritizes |
| P12 | AI Agent Monitoring (BOT-4569) | Visible backlog only | not projected into Sprint 01 | Not pulled unless PM/TPM explicitly reprioritizes |
| P13 | Bot-vs-Human Traffic Split (A/B) (BOT-4570) | Visible backlog only | not projected into Sprint 01 | Not pulled unless PM/TPM explicitly reprioritizes |
| P14 | Multi-WABA Impact (BOT-4572) | Visible backlog only | not projected into Sprint 01 | Not 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) | Task | Status |
|---|---|---|---|
| 1 | Autonomous 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 specs | Ready for local/stub groundwork; real-upstream staging blocked on Data/ML |
| 2 | AI 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 capacity | Ready from breakdown; execution blocked on AI platform batch capacity |
Samudra Linggar (FE)
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Autonomous AI Agent Refiner (BOT-4602, P1) | Begin P1 FE mocked slices in order: useRefineAgent, RefinePanel/RefineOptionCard, editor rail staging, analytics/i18n | Ready from task breakdown; Figma still pending, prototype is interim source |
| 2 | AI 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 explicit | Planning ready; build blocked on Data & AI contracts |
Baghiz Firdausa (FE)
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | CRM 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 |
| 2 | Native 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 treatment | Ready once the final OAuth client/redirect contract is supplied; do not expose the row for ineligible orgs |
| 3 | AI 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 tiles | Ready with placeholder constants for unresolved OQ-1/OQ-2 |
| 4 | AI Agent Testing Historical Validation (BOT-3351, P3) | Contribute FE/test-harness notes from the existing task breakdown | Ready from breakdown; execution blocked on batch path |
Eko Aprianto (BE)
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | CRM 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 breakdown | In 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 |
| 2 | AI Agent Knowledge Conversation History (BOT-3992, P4) | Generate P4 task breakdown and separate BOT-owned directory/API scaffolding from Data & AI masking/training service ownership | Planning ready; build blocked on Data & AI contracts |
Agus Suparman (BE)
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Chatbot 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 pull | Jira 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 |
| 2 | CRM 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 |
| 3 | Native 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 |
| 4 | AI 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 code | Partially blocked; contract questions are ready, final BE build waits on Data/BI/OQs |
| 5 | AI Agent Impact Report (BOT-4568, P2) | Start only backend scaffolding that is independent of the datamart contract, if confirmed by RFC review | Conditional - do not fabricate datamart fields |
Tito Amanda (QA)
| # | Epic (Jira) | Task | Status |
|---|---|---|---|
| 1 | Native 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 requirements | Human QA required; final external app-verification approval is owned by Google, not a Sprint test result |
| 2 | CRM 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/4666 | Filed 2026-07-16 (closes F-20's remaining follow-up); unestimated — no QA man-days exist in either task-breakdown, size on grooming |
| 3 | Autonomous 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 regression | Ready from P1 task breakdown |
| 4 | AI Agent Impact Report (BOT-4568, P2) | Draft QA checklist for baseline-forming, no fabricated numbers, role/feature gating, data freshness labeling, and retry/error states | Ready for FE mocked flow; data correctness waits on BE/Data contract |
| 5 | AI Agent Testing Historical Validation (BOT-3351, P3) | Draft QA checklist for sampling, no customer-message leakage, shadow-answer persistence, confidence recompute, and activation gate | Ready from breakdown; execution blocked on AI platform batch capacity |
| 6 | QA 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.md | Ongoing — 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 Epic | BOT-4609 (2026-Q3 current on qa-bau.md) |
| Owners | Tito → automation · Izzul → deployment verification |
| File items | Task under BOT-4609 · summary QA Automation — … or QA Deployment Support — … · this sprint if finishing in-window · never jira-sync |
| Product defects found in verification | Bug 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
- → 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 fromto the closed duplicates (no delete-link tool exposed) — see decision 0001.
The real blockers (not capacity)
- Autonomous AI Agent Phase 2 (P1) - Data/ML-owned
refine-skill-packproxy/deployment and contract verification. Ask: confirm endpoint availability through noncore-mrag, invented-ref behavior, multi-option launch behavior, and real-upstream staging criteria. - AI Agent Impact Report (P2) - Data/BI-owned
ai_activity_logsdatamart 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. - 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.
- 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.
- 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.
- 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.
- 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):
- F-2 ·
coverage-gap· STILL OPEN, ⛔ ESCALATED (16th pass) · Dimas Fauzi Hidayat · BOT-4568 still1 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 - 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 - F-15 ·
code-evidence-gap· STILL OPEN, ⛔ ESCALATED · assignee/DRI · BOT-4653 zero trace — no commit and no branch on any ref inchatbot/chatbot-fe· pass 16 - 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 - F-27 ·
code-evidence-gap· STILL OPEN, ⛔ ESCALATED · Farras Herdicho · BOT-4655/4656/4658 zero trace on any ref · pass 16 - 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 arein-flight, a squad-wide done-ahead-of-merge pattern · pass 16 - 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 - 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 - F-46 ·
off-plan-load· STILL OPEN (2nd pass), ⛔ ESCALATED · TPM (Dimas Fauzi Hidayat) · Dhita Putri Pratama holds BOT-4739 in sprint 21473, in neitherroster.jsonnorcapacity.md; now engine-confirmed. Add her, or record her as cross-squad · pass 16 - 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 - F-50 ·
engine-defect· OPEN (new) · TPM → upstreamqontak-docs·sprint-reconcile.mjsWIRED_TYPESadmits Story/Task only, exempting the customFast Tracktype from every parent-sideepic-wiring-driftcheck including the deterministic orphan check — 10 sprint issues unreportable for 15 passes. Fix upstream; do not hand-patch · pass 16 - F-52 ·
status-progress· OPEN (new) · DRI · BOT-3942/3941/4188/4654/4659 are merged-code-corroborated but carry noTask N.Ntoken, 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:deliveryCHECK 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-53 — pass 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:
| # | Target | Verdict | Evidence |
|---|---|---|---|
| 1 | Google Calendar finished to a verification-ready slice | ❌ not met | BOT-4482: 3 issues, all In Progress, 0 done |
| 2 | P1 Refiner execution-ready and moving | ✅ met | BOT-4602 6 done / 1 WIP; Refine Rail FE (Story BOT-4574) 8/8 Sub-tasks done; 51% recorded |
| 3 | P2 Impact Report has a buildable FE shell | ❌ not met | BOT-4568: 1 issue, 0 BE/FE — F-2, escalated all 16 passes |
| 4 | P4/P5 planning gaps removed | ◐ partial | P5 still has no task breakdown; carried as a named Sprint 2 goal |
| 5 | Sprint 2 can be a normal per-engineer queue | ✅ met in form | Sprint 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 Fixdescopes, 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 arein-flight(unmerged branch only) and 9 areno-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-auditpass 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.5man-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.
- 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-gapstops being the largest finding class six passes running. - 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 indexeach pass. (Durable half pushed to its real home: F-50 filed upstream againstWIRED_TYPES.) - 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 OPENrow. - Rewrite ledger sections by replacement, then re-read the doc. Pass 15 left a duplicate stale
ledger and two
## Sprint reviewheadings (F-51). - 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.