R&D AI Helper — Projects, Tasks & Subtasks

Week of 2026-09-14 · Charles Liu (Kbot) + Romit Bhingradiya (Kommerce-1)
Preset v0.3 2 projects 8 tasks (incl. T0 access) · 36 subtasks

Project 1 · Kbot-Link + Meet3 (temp assist)

CL
Kbot-Link + Meet3 — temp assist assignment
Charles is not on the Kbot product line; he is temp-helping two adjacent product lines — Kbot-Link (OTA + dashboard links) and Meet3 (recording / notes / call bridge). Both grants are time-boxed to this assignment.
Owner · Charles Liu (temp) Kick-off 2026-09-14 Due 2026-09-26 On track
# 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.5h2026-09-14Done
0.2
Kbot-Link scope — read on src/public/kbot-link + OTA routes
Only the Kbot-Link surface (not the whole Kbot repo). CODEOWNERS-gated.
0.5h · 0.5h2026-09-14Done
0.3
Meet3 scope — read on layers/kbot-meet + meet routes
Second product line, second explicit grant. Not implied by 0.2.
0.5h · 0.5h2026-09-14Done
0.4
Task board + CI — scoped by label
Issues labelled kbot-link or meet3; GH Actions runs touching those paths.
0.5h · 0.5h2026-09-14Done
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.5h2026-09-14Done
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.5h2026-09-14Done
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 · 4h2026-09-14Done
1.2
One-click rollback button + confirmation
Restore prior release for the same target set; audit-logged.
4h · 4h2026-09-15Done
1.3
Empty-state onboarding + sample release
First-run experience so new subscribers see how a release looks before making one.
4h · 3.5h2026-09-16Done
1.4
Merge, deploy, verify prod
Merge charles/blissful-darwin-ut0qxf → main; deploy-hostbuild #816 green; smoke-test rollback on staging tenant.
2h · 1.5h2026-09-17Done
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.5h2026-09-18Done
2.2
Backend: distinguish "no response" from "consent granted"
Add consent_state enum: pending / granted / declined / timed_out. Migration + backfill.
3h · 3.5h2026-09-19In progress
2.3
Frontend: block recording until first explicit accept
Recording button disabled with tooltip explaining why.
2h · —2026-09-22To do
2.4
Compliance review + docs update
Legal note on consent-timeout policy; runbook in docs/meet3-consent.md.
1h · —2026-09-23To 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-23To do
3.2
Preserve speaker attribution across chunk boundaries
Pass speaker map + last-N-turns overlap between chunks.
4h · —2026-09-24To 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-25To do
3.4
Re-run against golden-set + ship behind flag
Target: fabrication rate ≤ 5%. Ship dark, flip after 24h clean.
1h · —2026-09-26To do
Required (T0 + T1–T3)
34h
Actual to date
21h / 34h
Delta (median)
0.93 on plan
Kick-off
2026-09-14 T0
Due
2026-09-26 Fri

Project 2 · Kommerce-1 / AutoOMS-Master

RB
AutoOMS RMA state-machine refactor — Phase 2
Cut return-label edge-case failures; add inventory reconciliation with Kommerce-1.
Owner · Romit Bhingradiya Kick-off 2026-09-14 Due 2026-09-30 Watch — 1 blocker
# 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.5h2026-09-13Done
0.2
Repo — read scope on Kommerce-1
PRs, commits, review threads. Via Romit's own GitHub → Claude Code web session.
0.5h · 0.5h2026-09-13Done
0.3
Repo — read scope on AutoOMS-Master
Second repo, second explicit grant; not implied by the first.
0.5h · 0.5h2026-09-13Done
0.4
Task board — read scope (both repos)
Issues + Projects; label & assignee events.
0.5h · 0.5h2026-09-13Done
0.5
CI signals — read scope
GH Actions runs, deploy events for both repos.
0.5h · 0.5h2026-09-13Done
0.6
Chat signal — R&D Zoom channel read
R&D channel only; DMs and other channels out of scope.
0.5h · 0.5h2026-09-13Done
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.5h2026-09-13Done
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 · 2h2026-09-14Done
1.2
Write failing tests per case
Real-postgres integration tests per CLAUDE.md Rule 3.
4h · 4.5h2026-09-14Done
1.3
Refactor state machine — extract transitions
Pull the switch into typed transition table; kill implicit fall-through.
6h · 7h2026-09-15Done
1.4
Add retry with exponential backoff
Carrier API 5xx: retry 3× with 2s / 4s / 8s.
2h · 2h2026-09-16Done
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 · 2h2026-09-17Done
2.2
Build nightly sync worker
Cron 02:00 IST; idempotent; writes to inventory_sync_runs.
4h · 1h2026-09-18In progress
2.3
Drift report + Zoom alert
Any SKU drift > 5 units → post to R&D Zoom with link.
3h · —2026-09-19To do
2.4
Backfill script for last 30 days
One-shot; produce drift baseline before enabling alerts.
2h · —2026-09-22To 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-23Blocked
3.2
Kommerce-1 emitter
Fire on order state transition; queue for retry on failure.
3h · —2026-09-24To do
3.3
AutoOMS receiver + idempotency key
Reject duplicate event_id; log to audit table.
3h · —2026-09-25To do
3.4
End-to-end test + prod cutover plan
Feature flag; poller stays on until 48h clean; then flip.
1h · —2026-09-26To do
Required (T0 + T1–T3)
37.5h
Actual to date
22h / 37.5h
Delta (median)
1.11 on plan
Kick-off
2026-09-13 T0
Due
2026-09-30 Wed

How the AI Helper generates this view

Field How the AI Helper fills it
T0 · AccessEvery 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 nameGrouped from repo + primary label. Charles's Kbot area = "Kbot Product Line"; Romit's dual repo = "Kommerce-1 / AutoOMS-Master". Engineer can rename.
TaskMilestone-sized unit of work (roughly a week or one shippable increment). Derived from ticket clusters + engineer's roadmap sync.
SubtaskStep-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 dateSet at three-way sign-off; cannot be earlier than sign-off date. Used to compute lead-time (metric #13) and cycle-time (#12).
StatusAuto from git/CI/board: To do · In progress · Review · Done · Blocked.
R&D AI Helper preset v0.3 · project view · 2 projects · 8 tasks (2× T0 access + 6 work) · 36 subtasks · 71.5h required · 44h actual to date. T0 (access grant) is always the first task on any project — the AI Helper cannot fairly propose hours it cannot measure. All hour figures carry a three-way agreement stamp (AI + engineer + manager) before work begins. Layout follows Linear / Asana / Monday convention so engineers land in a familiar shape.