Sprint Review - WK29
Cycle 2026-07-13 → 07-19 · Mirror BANA-1839 · Delivery-first scorecard (SPACE / DORA / Flow).
| Committed | 124 | Cancelled | 3 |
| Done | 53 | Carried | 68 |
| Completion | 42.7% | Health | 62 - Needs attention |
| Commits | ~200 | Contributors | 13 |
The week in four lines
- A big code audit rewrote the board. All 100 open items were code-verified (50 "started"-group items in full, the rest by pattern/age); 32 were actually shipped and got corrected to Done. Done rose from a board-reported 21 to a verified 53.
- A 36-item QA test-case dump is the real story. A batch of pre-written scenario tickets (
POS-DASH-001..025,SC-TABLE/PAY/KITCHEN-*) landed on the board 2026-06-15 and has sat almost entirely untouched since - 33 of 36 are still in draft. It alone accounts for over half this cycle's carry-over and drags Flow & Aging to its worst score in the 6-cycle window. - A real security gap surfaced.
get sale orderhas no merchant-scope check - any authenticated user with generic read access can fetch another merchant's order by ID. Not fixed yet. - The reservation-indicator zombie finally split. Table floor-map indicators (#1183) shipped this cycle after two reviews of no progress; its twin, the queue-vs-table distinction (#1184), is still untouched.
Executive Summary
What shipped this cycle, by theme:
Kitchen Display System, for real this time shipped
sale-renderer-2gets a full KDS/kitchen-board screen with a "Send to kitchen" button - closes the stub gap flagged in WK28's PRD audit (Khoa Nguyen). Table floor-map live status + elapsed-time indicators also shipped, reversing a flag that had been open since WK27 (Hai Cao, Khoa Nguyen).Back Office, wave 2 shipped Seven more BO screens - product, stock, inventory-location, category, POS settings, merchant-user/role revamp, configuration management with a JSON editor - all sat unmarked on the board and were code-verified this review (Diem Phan, Thuan Hoang).
Input-length validation hardening, closed out shipped Shared
@nx/coreschemas (name/description/code/phone/money bounds) rolled out across identity, commerce, finance, tax, invoice and licensing, both backend and frontend, in one coordinated sweep (Duc Bach, Phat Chung).5 Inventory PRDs ratified shipped LDG (ledger), STK (stock/locations), UOM (units), VAL (valuation), RSV (reservation) - all v1.0, unlocking August's inventory-by-industry work (Phat Nguyen).
A QA test-case batch nobody triaged risk 36 pre-written scenario tickets landed 2026-06-15; 33 are still in draft five weeks later. It is the single biggest contributor to this cycle's carry-over and its worst-in-window Flow & Aging score.
A merchant-scope gap in
get sale orderrisk No ownership check on the read path - any authenticated user can fetch another merchant's order by ID. Ticketed, not fixed.
Deployment Status
| State | Items | Meaning |
|---|---|---|
203_READY_TO_DEVELOP | 2 | PRD/spec locked, ready for dev |
205_READY_TO_DEPLOY | 3 | Code merged, awaiting deploy to the test environment |
210_READY_TO_TEST | 6 | Deployed to the test environment, awaiting QA sign-off |
11 items total sit across the dev→deploy→test steps, not yet counted as done. Monte Carlo forecast: 50% likely to clear the 9-item deploy/test pipeline (205/210) within WK30, 85% likely by early August.
Delivery Scorecard
| Dimension | Score | Trend | Reading |
|---|---|---|---|
| Throughput | 67 | ▼ | 53 done vs a trailing median of 79 (WK24-28) |
| Flow & Aging | 22 | ▼▼ | 53 of 68 open items (78%) are older than two weeks - worst in the 6-cycle window |
| Predictability | 73 | ▲ | volume swings less than the trailing window (CoV ≈ 27%) |
| Quality | 90 | ▼ | cancel rate 2.4%; 9 items where the board overstated progress |
| Sustainability | 84 | ▼ | top-2 done-share 48.1% (sum-based), over the 40% bus-factor line |
| Delivery Health | 62 - Needs attention | ▼ | 0.30·T + 0.25·F + 0.20·P + 0.15·Q + 0.10·S |
Health drops from 70 (Good) to 62 (Needs attention). The driver is almost entirely Flow & Aging - the QA test-case batch alone accounts for 36 of the 68 open items, all aged 3-5 weeks with zero movement.
Planning signals (reported apart from Health):
- Commitment ratio ~2.95× - 124 items vs a sustainable ~42 (21 active × 2/week). Larger than WK28's 97-item cycle, not smaller.
- Completion 42.7% (53/124) - down from WK28's 58.8%, but the verified-floor Done count (53) is close to WK28's 57; the drop is a larger denominator, not less output.
Definition of done
Merged code progresses 205_READY_TO_DEPLOY → 210_READY_TO_TEST → 300_DONE; only QA-accepted (or code-verified this review) work counts as done. A new state 203_READY_TO_DEVELOP (added 2026-07-15, sits between 200_IN_PROGRESS and 205_READY_TO_DEPLOY) marks a PRD/spec as locked and ready for dev - it is also open, not done. 9 items currently sit in 205_READY_TO_DEPLOY/210_READY_TO_TEST (3 + 6); 2 more sit in the new 203_READY_TO_DEVELOP.
Value Delivered (EBM)
| Key Value Area | What landed |
|---|---|
| Current Value usable now | Table floor-map indicators + full KDS/kitchen-board on sale-renderer-2 · 7-screen BO wave 2 (product, stock, inventory-location, category, POS settings, merchant-user/role, configuration+JSON editor) · merchant growth analytics dashboard |
| Time-to-Market speed to ship | Shared core validation-schema rollout across BE+FE closes a multi-week input-hardening initiative in one sweep |
| Ability-to-Innovate future speed | Reusable JSON-editor component for BO configuration screens · policy-definition-v2 subject console (server-side search, scoped grants) |
| Unrealized Value opportunity ahead | 5 newly-ratified Inventory PRDs unlock August's inventory-by-industry work · 9-item deploy/test pipeline is real value not yet counted · 36-item QA batch is unrealized risk, not value, until triaged |
Effort & Contribution
Context, not a leaderboard. Commits are an activity proxy, not output. "Done" counts multi-assignee items once per assignee - a large share of this cycle's Done count (32 of 53) comes from the Step-0 code-audit correction batch, not net-new work shipped this week; see the Correction Log.
| Member | Commits | Areas | Done | What they built |
|---|---|---|---|---|
| Khoa Nguyen | 38 | sale-renderer-2, client, bo | 10 | KDS/kitchen-board screen, cart/checkout/payment UI, Settings page, discount |
| Hai Cao | 32 | sale, core, helpdesk, taxation | 11 | Sale-order APIs, table-overview/kitchen-ticket batch actions, WebSocket event service |
| Duc Bach | 31 | bo, core, client | 4 | policy-definition-v2 subject console, core validation-schema rollout |
| Tai Nguyen | 26 | bo, client, core | 1 | Merchant analytics dashboard, Help Desk SLA/category refactor |
| Huy Pham | 13 | commerce, asset, core | 0 | S3 proxy for asset uploads, import-progress + websocket notifications, merchant import |
| Phat Chung | 10 | core, identity, sale, helpdesk | 3 | Grant-tier permission model, string-length schema sweep, ledger cron controller |
| Thuan Hoang | 9 | bo, core, client | 2 | Configuration management CRUD + JSON editor, OrganizerFilterInput refactor |
| Kien Truong | 9 | client, core, sale-renderer | 0 in flight | Shift refactor, sale-channel hooks, shift-template i18n |
| Diem Phan | 7 | commerce, bo, asset, sale-renderer-2 | 14 | BO wave-2 screens (product, stock, fare-set, inventory-location, category, POS settings), merchant update-flow fix |
| Viet Anh Vo | 7 | invoice, sale, core, finance | 0 in flight | Webhook-v2 duplicate guard, tax-engine/invoice restructure, shift device-id |
| Tinh Nguyen (PO) | 4 | docs / PRD | 2 | PRD-SHF-001 (multi-employee shifts) and PRD-SLF-001 (QR self-order) revisions |
| Phuc Duong | 3 | search, core | 0 | CDC pricing pipeline, search retry-log tuning, internal-only wiki CI |
| Phat Nguyen (PM/PO) | 11 | platform, PRD | 25 | 5 ratified Inventory PRDs, IGNIS/platform work, code-audit correction batch |
| Le Linh | - | QA | 3 | QA acceptance pass |
| Anh Do | - | QA | 2 | QA acceptance pass |
| Oanh Phan | - | QA | 1 | QA acceptance pass |
| Thuong Nguyen | - | Design | 3 | Retail selling-flow design (in Figma, not yet committed to repo) |
Invisible work
Diem Phan's Done count (14) is more than double her commit count (7) this cycle - most of it is BO wave-2 screens that were built and merged over the prior two cycles but never marked Done on the board until this review's code audit caught up with them.
What Shipped - Detailed Work Log
Sale / POS
sale-renderer-2: full KDS/kitchen-board screen, "Send to kitchen" button, table floor-map live status + elapsed-time indicators, cart normalization, discount, checkout/payment UI (Khoa Nguyen)- Sale-domain APIs: table-clean, table-overview status/filter, kitchen-ticket batch actions, cart-id on kitchen ticket, draft-order checkout validation, WebSocket event service for orders/kitchen tickets/allocation (Hai Cao)
Back Office - wave 2
- Product list + create/edit (variants, options, bundler, POS preview) · Stock list with inline-edit panel · Inventory-location CRUD · Product-category management + sidebar submenu · POS settings (shift management & reservation) · merchant-user & employee role revamp · merchant update-flow bo↔client sync fix (Diem Phan)
- Configuration management - CRUD screens + a reusable JSON editor ·
OrganizerFilterInputrefactor (Thuan Hoang)
Permissions
- policy-definition-v2 subject console: server-side subject search, scoped grant guard, UI upgrade · tier-to-leaf permission-matrix merge shared with the role-edit screen (Duc Bach)
Platform / validation hardening
- Shared
@nx/coreschemas (name/description/code/phone/money length bounds) applied across identity, commerce, finance, tax, invoice, licensing - both backend request schemas and frontend Zod forms (Duc Bach, Phat Chung) - S3 proxy for asset uploads, import-progress tracking with websocket notifications, merchant-import functionality (Huy Pham)
Merchant analytics
- Growth/distribution dashboard verified shipped:
SnapshotSection, chart sections, province breakdown (Tai Nguyen)
Inventory PRDs
- 5 new ratified v1.0 specs: LDG (ledger), STK (stock/locations), UOM (units), VAL (valuation), RSV (reservation) (Phat Nguyen)
Aged backlog cleared
- A 19.6-week-old FE/client Appearance-page ticket (feature existed, board never updated) · VNPAY-TEST QA-verification batch (create-store, product, space/table - all confirmed working) · TB-001/002 booking-overlap validation on create and edit
Still in flight
- Reservation search box (UI built, not wired to the filter) · option-value duplicate-blocking · KDS status field on sale order · Excel product import (ticketed, zero implementation found) ·
EmployeeFormde-duplication betweenapps/clientandapps/bo(zero extraction work done)
Project & Phase Progress
- Phase 2 (target Sep 2026): 53 done this cycle (verified floor after code audit). Biggest movers: Sale/POS (KDS + table indicators), Back Office wave 2, Permissions.
- Burnup: Phase-2 scope keeps growing - 5 new Inventory PRD leaf items entered this cycle alone. Read Epic Progress below as directional; the counting method changed mid-cycle (see note).
- Long poles: the QA test-case batch (36 items, 33 still draft) is now the dominant carry-over driver, ahead of any single epic. See Phase 2 Plan.
Epic Progress (Phase 2)
Directional. Baseline = the 2026-07-12 snapshot in
phase-2-plan.md.
Method changed this cycle - read before trusting the deltas
This review computed each epic's % via full recursive descent to true-leaf work items (up to 3 levels: Epic → FEAT → PRD → BE/FE sub-task), rather than the shallower count that likely produced the 07-12 baseline. Several large deltas below (E1, E2, E5, E9, E10) mix real progress with a deeper, more complete count - they are not pure one-week velocity. Keep the same (deeper) method next review for a clean comparison.
| Epic | Owner | Was → Now | Δ | Status |
|---|---|---|---|---|
| E1 · Tax (S2a, T-VAN) | Việt Võ / Phát | 75% → 100% | +25 | method change - verify |
| E2 · Commerce (Retail) | Hải / Khoa / Phát | 96% → 75% | -21 | method change - deeper recursion added new PRD sub-tasks |
| E3 · Products (Entitlement) | Hải / Khoa / Phát | re-scoped → 67% (2/3) | started | scaffolding begun |
| E4 · Sale (Shift + reconcile) | Việt Võ / Phát | 95% → 92% | -3 | stable |
| E5 · Customer (MST + groups) | Hải / Khoa / Phát | 48% → 100% | +52 | method change - verify, no customer-domain commits this cycle |
| E6 · Inventory | Phát | 50% → 37% | -13 | scope grew - 5 new PRDs added as not-yet-done children |
| E7 · Finance | Việt Võ / Phát | 88% → 87% | -1 | stable |
| E8 · Sale (Kitchen & self-order) | Hải / Khoa / Phát | 25% → 38% | +13 | real - KDS shipped this cycle |
| E9 · Sale (Selling experience) | Hải / Khoa / Phát | 70% → 98% | +28 | method change - verify |
| E10 · Pricing | Hải / Khoa / Phát | 52% → 100% | +48 | method change - verify |
| E11 · Permissions | Phát / Hải | 88% → 95% | +7 | on-track |
| E12 · Commerce (Backoffice portal) | Hải / Phát | 84% → 98% | +14 | near-done |
Two bookkeeping notes
- E6 (Inventory) dropped, but nothing regressed. 5 new PRD leaf items (LDG/STK/UOM/VAL/RSV) entered as children this cycle, immediately diluting the %. This is scope growth made visible, exactly what burnup tracking is supposed to show.
- E2/E5/E9/E10's large jumps need a human sanity-check. No git evidence of Customer-domain (E5) code work landed this cycle, yet its computed % jumped from 48% to 100% - almost certainly because this review's deeper recursion found more already-done leaves the shallower baseline count missed, not new work.
Bottlenecks & Flow
| Signal | Reading |
|---|---|
| Aging WIP | 53 of 68 open items (78%) are older than two weeks - worst in the 6-cycle window. Oldest: #708 (Docs/overture, 15.7wk), #899/#919/#921 (dead overture tooling spikes, ~13wk), #1184 (queue-vs-table zombie, 7.3wk, 3rd review running) |
| WIP distribution | backlog 39 · upcoming 10 · on-hold 1 · in-progress 7 · dev-ready 2 · deploy-ready 3 · test-ready 6 |
| The QA test-case batch | 36 items (POS-DASH-001..025, SC-TABLE/PAY/KITCHEN-*), created 2026-06-15 as a block; 33 still in 000_DRAFT five weeks later. Never triaged, never executed |
| Concentration | top-2 done-share 48.1% (sum-based) - over the 40% line, but inflated by the PM/PO's own correction-batch assignments (QA-verification/PRD tickets), not raw dev throughput |
| Blocked | none flagged. Plane has no relations API, so blocked-by is not tracked structurally |
Carry-Over Analysis
68 items remain open. Guidance: ≥3wk → split or cancel · 2wk → review · 1wk → transfer.
| Bucket | Count | Age | What is in it |
|---|---|---|---|
| Zombie backlog | 53 | ≥3wk | The 36-item QA test-case batch · 4 dead overture/docs spikes (13-16wk) · reservation zombie #1184 (7.3wk) · 6 Phase-2 items still draft/partial (#1539, #1562, #1575, #1576, #1582, #1652) |
| Review | 2 | ~2-3wk | #1724 inventory-ticket draft, #1731 VNPAY-login QA item |
| Normal transfer | 13 | <2wk | Recently-created BO/client items and this-week's platform work still in flight |
By Module (capability)
Authoritative for the 65 items carrying a capability module. 59 items - mostly the QA test-case batch, VNPAY-TEST items, and PRD/legacy tickets without a module tag - show as Unmapped, a bigger gap than WK28's (26.8%) because the QA batch alone is 36 unmapped items.
| Module | Items | Done | Carry |
|---|---|---|---|
| Sale | 29 | 19 | 9 (+1 cancelled) |
| Inventory | 12 | 8 | 2 (+2 cancelled) |
| Platform | 5 | 5 | 0 |
| User Management | 5 | 2 | 3 |
| Products | 4 | 2 | 2 |
| Commerce | 4 | 4 | 0 |
| Tax | 2 | 2 | 0 |
| Reports | 1 | 1 | 0 |
| Pricing | 1 | 0 | 1 |
| Permissions | 1 | 0 | 1 |
| Device | 1 | 0 | 1 |
| Unmapped | 59 | 10 | 49 |
By Label
| Label | Items | Done | Cancelled |
|---|---|---|---|
| Task | 77 | 30 | 0 |
| Bug | 31 | 12 | 1 |
| Improvement | 3 | 3 | 0 |
| PRD | 17 | 11 | 2 |
| Phase 2 | 84 | 50 | 2 |
Risks & Blockers
| Risk | Impact | Mitigation | Owner |
|---|---|---|---|
get sale order has no merchant-scope check (#1795-b) - any authenticated user with generic read can fetch another merchant's order by ID | Real cross-merchant data leak | Extend the sale-order service/controller with MerchantScopedService.findById, already used elsewhere in the framework | Hai Cao |
| 36-item QA test-case batch untouched for 5 weeks (33 still draft) | Single biggest driver of this cycle's worst-in-window Flow & Aging score; inflates commitment ratio without real progress | Explicit triage: execute or cancel, do not let it silently re-carry again | Phat / QA lead |
#1772 Fare & Fare-set BO screen still does not exist in apps/bo, 3rd review running, still sits in 205_READY_TO_DEPLOY | The screen cannot be deployed because it was never built | Demote to backlog and re-scope | Phat / Diem |
#1803 headquarter/owner-deletion guard missing despite board state 205_READY_TO_DEPLOY | An organizer-owner or headquarter merchant could be deleted, breaking join-domain grants | Add the guard before the next deploy sign-off | Phat Chung |
| #1575 Entitlements fully stubbed, no forward progress since WK28 | Blocks E3 (Products/Entitlement) | Start the mint/redeem/reverse logic or re-scope the epic | Khoa / Hai |
| 4 dead overture/docs tooling-spike items, 13-16 weeks old | Stale scope inflates the board with no path to completion | Close as superseded or explicitly re-scope | Phat |
Trends (6-cycle)
| Metric | WK24 | WK25 | WK26 | WK27 | WK28 | WK29 | Dir |
|---|---|---|---|---|---|---|---|
| Throughput (done) | 92 | 86 | 40 | 79 | 57 | 53 | ▼ |
| Completion % | 53.8 | 36.4 | 21.7 | 50.0 | 58.8 | 42.7 | ▼ |
| Carry-over | 78 | 142 | 143 | 78 | 38 | 68 | ▼ |
| Delivery Health | 77 | 80 | 67 | 73 | 70 | 62 | ▼ |
Every metric moved the wrong way this cycle, but the absolute Done count (53) is close to WK28's verified 57 - the story is a larger, un-sized cycle (124 vs 97 committed) plus a 36-item QA-test-case dump that never should have carried silently, not a drop in team output.
Forecast (Monte Carlo)
From observed throughput (40-92 done/cycle over 6 cycles).
| Milestone | Remaining | 50% | 85% |
|---|---|---|---|
| Fix the merchant-scope security gap | 1 item | this week | this week - should not wait for organic velocity |
| Triage the QA test-case batch | 36 items | needs an explicit decision, not a date | - |
| Entitlements (E3) | stubbed, zero progress since WK28 | September | Q4 - needs a kickoff decision |
| Clear the 9-item deploy/test pipeline | 9 | WK30 | early August |
Action Items
- ✅ Code-audited all 100 pre-correction open items; corrected 32 to verified Done - Phat
- ⬜ Fix #1795-b merchant-scope enforcement on
get sale orderimmediately (security) - Hai Cao - ⬜ Triage the 36-item QA test-case batch (
POS-DASH-*,SC-*) - execute or cancel, stop the silent re-carry - Phat / QA lead - ⬜ Demote/re-scope #1772 (Fare BO screen never built, 3rd review) - Phat / Diem
- ⬜ Fix #1803 owner/headquarter-deletion guard before next deploy sign-off - Phat Chung
- ⬜ Close or re-scope the 4 dead overture/docs spike items (13-16wk old) - Phat
- ⬜ Resume Entitlements (E3) - zero forward progress since WK28 - Khoa / Hai
Code-Audit Correction Log
Coverage: all 100 pre-correction open items were triaged; the 50 "started"-group items (200/203/205/210 - closest to done, highest risk of a stale board) were individually code-verified by 5 parallel read-only agents; the remaining 50 backlog/upcoming items were assessed by title and creation-date pattern only (dominated by the QA test-case batch and old draft tickets), not read against code. 53 Done is a verified floor for the audited set - further corrections may exist in the unaudited backlog.
| Item | Was | Now | Evidence |
|---|---|---|---|
| #536 Appearance settings page | 205 (19.6wk old) | Done | apps/client/.../account-settings/appearance/Appearance.screen.tsx |
| #1183 Table floor-map indicators | 205 (zombie, 2 reviews) | Done | TableGridItem.tsx, TableGridItemTimeBadge.tsx |
| #1359 KDS UI + kitchen button | 200 | Done | apps/sale-renderer-2/.../kitchen/Kitchen.screen.tsx, GoToKDSBtn.tsx |
| #1445 VNPAY-TEST-001 create store | 210 | Done | packages/commerce/.../merchant.service.ts |
| #1455 VNPAY-TEST-014 product | 210 | Done | packages/commerce/.../product-create.service.ts |
| #1456 VNPAY-TEST-015 space/table | 210 | Done | AllocationZone/AllocationUnit controllers |
| #1580 Hide store column | 210 | Done | apps/client/src/constants/table.ts |
| #1647 TB-001 booking overlap (create) | 200 | Done | useReservationDraftOverlap.ts, SaveFormBtn.tsx |
| #1648 TB-002 booking overlap (edit) | 200 | Done | same hook, ReservationEdit.tsx |
| #1699 Merchant growth dashboard | 200 | Done | apps/bo/.../analysis/growth/MerchantGrowth.screen.tsx |
| #1770 BO product screen | 205 | Done | apps/bo/.../product/{list,create,edit} |
| #1771 BO stock list | 205 | Done | Stock.screen.tsx, StockEditPanel.tsx |
| #1773 BO inventory-location CRUD | 210 | Done | apps/bo/.../inventory-location/{list,create,edit} |
| #1774 BO category management | 205 | Done | apps/bo/.../product/category |
| #1775 Edit organizer logo & name | 210 | Done | OrganizerEditNameDialog.tsx |
| #1776 Set default sale channel | 210 | Done | SaleChannelForm.tsx |
| #1780 BE string-length reconcile | 203 | Done | commits 288baaaaf, 724c21eb0 |
| #1781 BE input-length sync | 205 | Done | SCHEMA_LENGTH_LIMIT (same commits) |
| #1782 FE input-length sync | 210 | Done | apps/core/src/schemas/common.schema.ts |
| #1791 POS settings screen | 205 | Done | PosSettings.screen.tsx |
| #1792 Merchant-user/role revamp | 205 | Done | commit 8a2fb7b37 |
| #1793 Show all input filters | 210 | Done | TableInquiryV2.tsx (15 client + 27 bo tables) |
| #1795 Validate draft state on checkout | 200 | Done | checkout.service.ts::_loadDraftOrderForCheckout |
| #1798 WebSocket support (sale) | 200 | Done | SaleSocketEventService |
| #1802 AppearancePOS screen | 205 | Done | AppearancePOS.screen.tsx |
| #1805 Merchant update-flow fix | 205 | Done | commits 9037f81af, 80de2eb62 |
| #1811 Configuration mgmt + JSON editor | 210 | Done | ConfigurationForm.tsx (RHFJsonEditor) |
| #1815 PRD-LDG-001 (ledger) | 203 | Done | v1.0 ratified doc |
| #1816 PRD-STK-001 (stock/locations) | 203 | Done | v1.0 ratified doc |
| #1817 PRD-UOM-001 (units) | 203 | Done | v1.0 ratified doc |
| #1818 PRD-VAL-001 (valuation) | 203 | Done | v1.0 ratified doc, has "Ratified" callout |
| #1819 PRD-RSV-001 (reservation) | 203 | Done | v1.0 ratified doc |
Verified still open: #1772 (Fare BO screen, NOT-DONE) · #1803 (owner-delete guard, NOT-DONE) · #1184 (queue/table distinction, NOT-DONE) · #1795-b (merchant scope, NOT-DONE) · #1797 (KDS status field, NOT-DONE) · #1810 / #1835 / #1838 (FE/client, NOT-DONE) · #1575 (Entitlements, PARTIAL/stubbed) · #1576 (kitchen-station mgmt, PARTIAL) · #1539 / #1562 (PRDs, PARTIAL draft) · #1582 / #1652 / #1777 (PARTIAL) · #1681 (VAR-024, uncertain - no matching commit found) · #1695 / #1801 (not code-checkable - QA sign-off / Figma-only design work).
Appendix - data sources & method
- Git:
git log --all --since=2026-07-13 --until=2026-07-20on nx-seller. 200 non-merge commits, 13 tracked contributors. IGNIS is a private npm dependency (version-bumped this cycle), not a local checkout - no separate git log pulled. - Board:
retrieve_cycle+ per-item list for2026_WK29, read 2026-07-19 (cycle's own end date). - Code audit: 5 parallel read-only agents covering the 50 "started"-group items; 32 corrected to Done via
update_work_item. - Scorecard: throughput baseline = trailing median WK24-28 (79). Predictability = CoV over WK24-28 (≈27%). Quality = cancel rate + count of items where the board overstated progress in a
203/205/210state. Sustainability = sum-based top-2 done-share (primary-assignee-only attribution would read far higher, ~74%, driven by the PM/PO's correction-batch assignments - flagged, not used, to stay consistent with prior weeks' method). - By Module: authoritative for 65 of 124 items; 59 unmapped, dominated by the 36-item QA test-case batch.
- Epic Progress: computed via full recursive descent to true-leaf work items (see method note above) - a deeper method than the 07-12 baseline likely used; several large deltas are directional, not verified one-week velocity.
Related pages
Sprint Reviews · Roadmap · Phase 2 Plan · Traceability Matrix · Plane BANA-1839