Required (T0 + T1–T3)
34h
| # | Task / subtask | Required · Actual | Kick-off | Status | |
|---|---|---|---|---|---|
| T0 |
Grant AI Helper access to Charles's work signals (two product lines)
Pre-flight — nothing else starts until this is done. Because Charles is temp-assigned across Kbot-Link and Meet3, each product line needs its own explicit grant. Access is time-boxed to the assignment and revocable.
|
3h · 3h✓ granted | 2026-09-14 | Done | |
| 0.1 | Engineer's AI subscription — read own history Charles's own Claude / OpenAI / Gemini account: read-only token so AI Helper sees prior sessions on Kbot-Link + Meet3 code paths. | 0.5h · 0.5h | 2026-09-14 | Done | |
| 0.2 | Kbot-Link scope — read on src/public/kbot-link + OTA routesOnly the Kbot-Link surface (not the whole Kbot repo). CODEOWNERS-gated. | 0.5h · 0.5h | 2026-09-14 | Done | |
| 0.3 | Meet3 scope — read on layers/kbot-meet + meet routesSecond product line, second explicit grant. Not implied by 0.2. | 0.5h · 0.5h | 2026-09-14 | Done | |
| 0.4 | Task board + CI — scoped by label Issues labelled kbot-link or meet3; GH Actions runs touching those paths. | 0.5h · 0.5h | 2026-09-14 | Done | |
| 0.5 | Chat signal — R&D Zoom channel read R&D channel only; DMs and other product-line channels out of scope. | 0.5h · 0.5h | 2026-09-14 | Done | |
| 0.6 | Data-use scope signed (temp assignment) One-page: what AI Helper reads, stores, never touches. Notes that scope auto-expires at end of temp assignment. Charles signs; Steve counter-signs. | 0.5h · 0.5h | 2026-09-14 | Done | |
| T1 |
Kbot-Link · OTA C+D — phased-rollout picker + rollback + empty-state onboarding
Release-page target selection, one-click rollback, empty-state guide + sample. Shipped to prod as
d5a7980 on 2026-09-17. |
14h · 13h✓ 3-way agreed | 2026-09-14 | Done | |
| 1.1 | Phased-rollout picker on release page Select target subset by tag / cohort / % before publishing. | 4h · 4h | 2026-09-14 | Done | |
| 1.2 | One-click rollback button + confirmation Restore prior release for the same target set; audit-logged. | 4h · 4h | 2026-09-15 | Done | |
| 1.3 | Empty-state onboarding + sample release First-run experience so new subscribers see how a release looks before making one. | 4h · 3.5h | 2026-09-16 | Done | |
| 1.4 | Merge, deploy, verify prod Merge charles/blissful-darwin-ut0qxf → main; deploy-hostbuild #816 green; smoke-test rollback on staging tenant. | 2h · 1.5h | 2026-09-17 | Done | |
| T2 |
Meet3 · Recording consent — silent-decline capture
Attendees who close the consent prompt without answering are being counted as consented. Fix: treat "no response within N seconds" as decline; block recording start until at least one explicit accept.
|
8h · 5h✓ 3-way agreed | 2026-09-18 | In progress | |
| 2.1 | Reproduce silent-decline path on staging Playwright: join meeting, close consent modal without click; assert current behavior wrongly writes consent=true. | 2h · 1.5h | 2026-09-18 | Done | |
| 2.2 | Backend: distinguish "no response" from "consent granted" Add consent_state enum: pending / granted / declined / timed_out. Migration + backfill. | 3h · 3.5h | 2026-09-19 | In progress | |
| 2.3 | Frontend: block recording until first explicit accept Recording button disabled with tooltip explaining why. | 2h · — | 2026-09-22 | To do | |
| 2.4 | Compliance review + docs update Legal note on consent-timeout policy; runbook in docs/meet3-consent.md. | 1h · — | 2026-09-23 | To do | |
| T3 |
Meet3 · Meeting-notes AI summary — long-call hallucination fix
Summaries of calls > 45 min fabricate action items that were never said. Root cause: transcript chunking loses speaker attribution → model invents plausible-sounding assignees.
|
9h · —✓ 3-way agreed · not started | 2026-09-23 | To do | |
| 3.1 | Golden-set: 10 long calls with human-verified action items Baseline: measure current fabrication rate against this set. | 2h · — | 2026-09-23 | To do | |
| 3.2 | Preserve speaker attribution across chunk boundaries Pass speaker map + last-N-turns overlap between chunks. | 4h · — | 2026-09-24 | To do | |
| 3.3 | Verifier pass: require verbatim quote per action item Second model call rejects items whose supporting quote isn't in the transcript. | 2h · — | 2026-09-25 | To do | |
| 3.4 | Re-run against golden-set + ship behind flag Target: fabrication rate ≤ 5%. Ship dark, flip after 24h clean. | 1h · — | 2026-09-26 | To do |
| # | Task / subtask | Required · Actual | Kick-off | Status | |
|---|---|---|---|---|---|
| T0 |
Grant AI Helper access to Romit's work signals
Pre-flight — nothing else starts until this is done. Two repos means two access grants; both are explicit and revocable.
|
3.5h · 3.5h✓ granted | 2026-09-13 | Done | |
| 0.1 | Engineer's AI subscription — read own history Romit's own Claude / OpenAI / Gemini account: read-only token so AI Helper can see prior sessions on both repos. English-only summaries. | 0.5h · 0.5h | 2026-09-13 | Done | |
| 0.2 | Repo — read scope on Kommerce-1PRs, commits, review threads. Via Romit's own GitHub → Claude Code web session. | 0.5h · 0.5h | 2026-09-13 | Done | |
| 0.3 | Repo — read scope on AutoOMS-MasterSecond repo, second explicit grant; not implied by the first. | 0.5h · 0.5h | 2026-09-13 | Done | |
| 0.4 | Task board — read scope (both repos) Issues + Projects; label & assignee events. | 0.5h · 0.5h | 2026-09-13 | Done | |
| 0.5 | CI signals — read scope GH Actions runs, deploy events for both repos. | 0.5h · 0.5h | 2026-09-13 | Done | |
| 0.6 | Chat signal — R&D Zoom channel read R&D channel only; DMs and other channels out of scope. | 0.5h · 0.5h | 2026-09-13 | Done | |
| 0.7 | Engineer signs the data-use scope One-page (English): what the AI Helper reads, stores, never touches. Romit signs; Steve counter-signs. | 0.5h · 0.5h | 2026-09-13 | Done | |
| T1 |
RMA state machine — return-label edge cases
Enumerate + cover the 7 known edge cases; land failing → passing tests.
|
14h · 15.5h✓ 3-way agreed | 2026-09-14 | Done | |
| 1.1 | Enumerate 7 edge cases from prod incident log Table: label expired, carrier reject, split shipment, weight mismatch, … | 2h · 2h | 2026-09-14 | Done | |
| 1.2 | Write failing tests per case Real-postgres integration tests per CLAUDE.md Rule 3. | 4h · 4.5h | 2026-09-14 | Done | |
| 1.3 | Refactor state machine — extract transitions Pull the switch into typed transition table; kill implicit fall-through. | 6h · 7h | 2026-09-15 | Done | |
| 1.4 | Add retry with exponential backoff Carrier API 5xx: retry 3× with 2s / 4s / 8s. | 2h · 2h | 2026-09-16 | Done | |
| T2 |
Kommerce-1 ↔ AutoOMS inventory reconciliation
Nightly sync + drift report so counts stop diverging.
|
11h · 3h✓ 3-way agreed | 2026-09-17 | In progress | |
| 2.1 | Define sync contract (JSON schema) SKU, on-hand, reserved, in-transit, ts. Signed off with Charles. | 2h · 2h | 2026-09-17 | Done | |
| 2.2 | Build nightly sync worker Cron 02:00 IST; idempotent; writes to inventory_sync_runs. | 4h · 1h | 2026-09-18 | In progress | |
| 2.3 | Drift report + Zoom alert Any SKU drift > 5 units → post to R&D Zoom with link. | 3h · — | 2026-09-19 | To do | |
| 2.4 | Backfill script for last 30 days One-shot; produce drift baseline before enabling alerts. | 2h · — | 2026-09-22 | To do | |
| T3 |
Kommerce-1 order-status webhook to AutoOMS
Push status changes instead of AutoOMS polling — cuts latency and DB load.
|
9h · —⏸ Blocked — waiting on Charles's contract review | 2026-09-23 | Blocked | |
| 3.1 | Draft webhook contract + HMAC signing Reuse Kbot's existing HMAC pattern from email-track.routes.ts. | 2h · — | 2026-09-23 | Blocked | |
| 3.2 | Kommerce-1 emitter Fire on order state transition; queue for retry on failure. | 3h · — | 2026-09-24 | To do | |
| 3.3 | AutoOMS receiver + idempotency key Reject duplicate event_id; log to audit table. | 3h · — | 2026-09-25 | To do | |
| 3.4 | End-to-end test + prod cutover plan Feature flag; poller stays on until 48h clean; then flip. | 1h · — | 2026-09-26 | To do |
| Field | How the AI Helper fills it |
|---|---|
| T0 · Access | Every project starts here. The AI Helper cannot propose hours it cannot measure — so before any project task opens, T0 provisions read scope on the engineer's AI subscription, repos, task board, CI, and R&D chat. Engineer signs a data-use scope; manager counter-signs. Un-signed = project cannot start. Access is revocable any time. |
| Project name | Grouped from repo + primary label. Charles's Kbot area = "Kbot Product Line"; Romit's dual repo = "Kommerce-1 / AutoOMS-Master". Engineer can rename. |
| Task | Milestone-sized unit of work (roughly a week or one shippable increment). Derived from ticket clusters + engineer's roadmap sync. |
| Subtask | Step-by-step decomposition proposed by AI Helper from the task description + code paths it will touch. Engineer edits inline before signing. |
| Required (hours) | AI proposes → engineer counters → converge → manager approves. Number is signed by all three before work starts. Un-signed subtasks show warn. |
| Actual (hours) | Rolled up from task-timer + commit-authoring windows. Delta = actual ÷ required drives the score chip in the diary. |
| Kick-off date | Set at three-way sign-off; cannot be earlier than sign-off date. Used to compute lead-time (metric #13) and cycle-time (#12). |
| Status | Auto from git/CI/board: To do · In progress · Review · Done · Blocked. |