WORKITEM BOARD (Living)
Status Values
- NOT_STARTED
- SPEC_READY
- IN_PROGRESS
- BLOCKED
- REVIEW
- DONE
Active Backlog
| Workitem ID | Feature Key | Title | Module | Owner | Status | ETA | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|
| WI-IAM-001 | CORE.TENANT | Harden tenant settings migration rollout | IAM | TBD | DONE | 2026-02-27 | DEC-008 | Tenant-settings contract test pass (tenant-settings.contract.spec.ts, 8 tests) and rollout checklist closed in 04_OPERATIONS/17_WI-IAM-001_ROLLOUT_CHECKLIST_2026-02-27.md |
| WI-SEC-001 | CORE.IAM | Audit missing PermissionsGuard on tenant APIs | IAM/All | TBD | DONE | 2026-02-27 | DEC-003 | Closed with evidence bundle 04_OPERATIONS/16_WI-SEC-001_CLOSEOUT_2026-02-27.md; generated API manifest reports Missing PermissionsGuard warnings = 0 |
| WI-DOC-001 | SYS.GOVERNANCE | Reconcile docs_hub_v3 active docs with v2 code truth | Governance | TBD | DONE | 2026-02-27 | 05_GENERATED manifests | Closed with consolidated traceability/release evidence set (04_OPERATIONS/15, 16, 17, 18) and generated manifests synchronized |
| WI-DOC-002 | SYS.GOVERNANCE | Enrich generated entity manifest quality rules | Governance | TBD | DONE | 2026-02-27 | WI-DOC-001 | Spec: 02_SPECS/workitems/WI-DOC-002__entity_manifest_enrichment.md; implemented in v2/scripts/generate_manifests.js; metrics: TBD=0, HIGH=74, MEDIUM=3, LOW=24; triage evidence: 04_OPERATIONS/12_WI-DOC-002_LOW_CONFIDENCE_TRIAGE_2026-02-27.md; quality guard added (hard-fail owner/confidence, warn low-non-embedded) |
Portal + Backend First Queue (Current Focus)
Decision (2026-02-27): ưu tiên Portal + Backend trước; MiniApp execution plan giữ nguyên để chạy sau khi các blocker backend/portal đã được gỡ.
| Sequence | Workitem ID | Feature Key | Scope | Why Now | Exit Criteria |
|---|---|---|---|---|---|
| 1 | WI-SEC-001 | CORE.IAM | Backend | Đóng rủi ro guard/permission trước khi mở rộng module khác | Danh sách endpoint tenant-scope có guard chuẩn + evidence test |
| 2 | WI-IAM-001 | CORE.TENANT | Backend | Ổn định migration tenant settings để giảm regression nền tảng | Contract tests pass + rollout checklist hoàn tất |
| 3 | WI-DOC-001 | SYS.GOVERNANCE | Backend/Portal Docs | Giữ docs runtime khớp code truth để tránh sai hướng triển khai | Feature/API/status docs khớp v2 và manifest mới |
| 4 | WI-PB-001 | CAT.PRODUCTS | Portal + Backend | Chốt parity Catalog tenant flow sau khi backend Brand đã hoàn thiện | Portal ProductForm/ProductList dùng chuẩn API Catalog + Brand |
| Workitem ID | Feature Key | Title | Module | Owner | Status | ETA | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|
| WI-PB-001 | CAT.PRODUCTS | Portal Catalog parity with backend Brand/API | Portal/CATALOG | TBD | DONE | 2026-02-27 | WI-SEC-001 | Exit criteria satisfied and closed in 04_OPERATIONS/18_WI-PB-001_CLOSEOUT_2026-02-27.md; smoke nx test catalog PASS (11 tests), portal compile blockers resolved. |
MiniApp V2 Sprint Execution Plan (Synced from Feature Tag Matrix)
Source of truth:
FEATURE_TAG_MATRIX_MINIAPP_V2.mdGoal: đưa toàn bộ P0 khỏi trạng tháiBE_MOCK_ONLY/BE_CONTRACT_GAP, đồng thời đóng test gate. Packet index:02_SPECS/workitems/WI-MA_PACKET_INDEX.md
Sprint 1 — Foundation & P0 unblock (Auth + Cart/Checkout)
| Workitem ID | Feature Key | Title | Module | Owner | Status | ETA | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|
| WI-MA-S1-001 | MA.AUTH.001 | Implement tenant bootstrap auth adapter (DEC-002) | MiniApp/IAM | TBD | NOT_STARTED | Sprint 1 | DEC-002 | Replace mock login init with real zalo-tenant-login + refresh handling. Spec: 02_SPECS/workitems/WI-MA-S1-001__tenant_bootstrap_auth_adapter.md |
| WI-MA-S1-002 | MA.AUTH.002 | Implement protected-route resume flow E2E-safe | MiniApp | TBD | NOT_STARTED | Sprint 1 | WI-MA-S1-001 | Persist and replay intended route/action after login. Spec: 02_SPECS/workitems/WI-MA-S1-002__protected_route_resume_e2e.md |
| WI-MA-S1-003 | MA.CART.001 | Migrate cart store from in-memory to /v2/ecommerce/carts/* | MiniApp/ECOM | TBD | NOT_STARTED | Sprint 1 | WI-MA-S1-001 | API adapter + mapper + optimistic sync strategy. Spec: 02_SPECS/workitems/WI-MA-S1-003__cart_store_server_migration.md |
| WI-MA-S1-004 | MA.CHK.001 | Migrate checkout submit to real order endpoint | MiniApp/ECOM | TBD | NOT_STARTED | Sprint 1 | WI-MA-S1-003 | Use POST /v2/ecommerce/orders/checkout; remove local order fabrication. Spec: 02_SPECS/workitems/WI-MA-S1-004__checkout_submit_real_order_endpoint.md |
| WI-MA-S1-005 | MA.VCH.002 | Harden voucher apply/revalidate race handling | MiniApp/VOUCHER | TBD | NOT_STARTED | Sprint 1 | WI-MA-S1-004 | Double-submit lock + revalidate before submit. Spec: 02_SPECS/workitems/WI-MA-S1-005__voucher_apply_revalidate_race_hardening.md |
| WI-MA-S1-006 | MA.ORD.001 | Verify guard/rbac truth for order list APIs | IAM/ECOM | TBD | NOT_STARTED | Sprint 1 | WI-SEC-001 | Resolve BE_GUARD_RISK on order query paths. Spec: 02_SPECS/workitems/WI-MA-S1-006__order_list_guard_rbac_verification.md |
| WI-MA-S1-007 | MA.AUTH.003 | Consolidate Auth Gate modal behavior (resume/cancel/retry) | MiniApp/IAM | TBD | NOT_STARTED | Sprint 1 | WI-MA-S1-001 | Implement spec X01_AUTH_GATE_MODAL; unify trigger points in protected flows. Spec: 02_SPECS/workitems/WI-MA-S1-007__auth_gate_modal_consolidation.md |
Sprint 2 — P0 completion (Order actions + Address)
| Workitem ID | Feature Key | Title | Module | Owner | Status | ETA | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|
| WI-MA-S2-001 | MA.ORD.002 | Finalize order detail mapping contract | MiniApp/ECOM | TBD | NOT_STARTED | Sprint 2 | WI-MA-S1-004 | Align timeline/status/payment fields to BE DTO. Spec: 02_SPECS/workitems/WI-MA-S2-001__order_detail_mapping_contract_finalize.md |
| WI-MA-S2-002 | MA.ORD.003 | Define and implement order action endpoint map | ECOM | TBD | NOT_STARTED | Sprint 2 | WI-MA-S2-001 | Cancel reason, retry payment URL, confirm-received contract. Spec: 02_SPECS/workitems/WI-MA-S2-002__order_action_endpoint_map.md |
| WI-MA-S2-003 | MA.ADDR.001 | Define v2 address API contract and backend implementation | IAM/CRM/ECOM | TBD | NOT_STARTED | Sprint 2 | WI-MA-S1-001 | CRUD + default uniqueness rule + tenant scope. Spec: 02_SPECS/workitems/WI-MA-S2-003__address_api_contract_and_backend_impl.md |
| WI-MA-S2-004 | MA.ADDR.001 | Integrate address picker/form to real address API | MiniApp | TBD | NOT_STARTED | Sprint 2 | WI-MA-S2-003 | Remove local/server mixed mode. Spec: 02_SPECS/workitems/WI-MA-S2-004__address_picker_form_real_api_integration.md |
| WI-MA-S2-005 | MA.CAT.001 | Verify guard/rbac truth for catalog feed APIs | IAM/CATALOG | TBD | NOT_STARTED | Sprint 2 | WI-SEC-001 | Close BE_GUARD_RISK for home feed paths. Spec: 02_SPECS/workitems/WI-MA-S2-005__catalog_feed_guard_rbac_verification.md |
| WI-MA-S2-006 | CROSS.P0 | Add P0 contract test suite (auth/cart/checkout/order/address/voucher) | QA/Backend | TBD | NOT_STARTED | Sprint 2 | WI-MA-S2-004 | Gate: P0 contract tests must pass. Spec: 02_SPECS/workitems/WI-MA-S2-006__p0_contract_test_suite.md |
| WI-MA-S2-007 | MA.ADDR.002 | Address picker modal integration with checkout state | MiniApp/ECOM | TBD | NOT_STARTED | Sprint 2 | WI-MA-S2-004 | Implement spec X02_ADDRESS_PICKER_MODAL; selected address sync ngay trên checkout. Spec: 02_SPECS/workitems/WI-MA-S2-007__address_picker_modal_checkout_sync.md |
| WI-MA-S2-008 | MA.ADDR.003 | Address form validation + location cascade contract | MiniApp/Common | TBD | NOT_STARTED | Sprint 2 | WI-MA-S2-003 | Implement spec X03_ADDRESS_FORM_MODAL; city/district/ward cascade + unique default rule. Spec: 02_SPECS/workitems/WI-MA-S2-008__address_form_validation_location_cascade.md |
| WI-MA-S2-009 | MA.CHK.002 | Checkout success state hardening and anti-duplicate guard | MiniApp/ECOM | TBD | NOT_STARTED | Sprint 2 | WI-MA-S1-004 | Implement spec X04_CHECKOUT_SUCCESS_STATE; ensure cart clear/idempotent submit UX. Spec: 02_SPECS/workitems/WI-MA-S2-009__checkout_success_state_hardening.md |
| WI-MA-S2-010 | MA.ADDR.003 | Map address location cascade to MDM locations endpoint | MiniApp/MDM | TBD | NOT_STARTED | Sprint 2 | WI-MA-S2-008 | Use GET /v2/admin/mdm/locations with parentCode; adapter map code/name for UI selects. Spec: 02_SPECS/workitems/WI-MA-S2-010__address_location_cascade_mdm_adapter.md |
Sprint 3 — P1 integration (News + Notifications + Search/Voucher wallet)
| Workitem ID | Feature Key | Title | Module | Owner | Status | ETA | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|
| WI-MA-S3-001 | MA.NOTI.001 | Integrate in-app notifications + unread count sync | MiniApp/EMAIL | TBD | NOT_STARTED | Sprint 3 | WI-MA-S1-001 | /in-app, /read, /unread-count end-to-end. Spec: 02_SPECS/workitems/WI-MA-S3-001__notifications_unread_read_sync_integration.md |
| WI-MA-S3-002 | MA.NEWS.001 | Integrate news feed APIs with paging/filter | MiniApp/CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S1-001 | Replace MockAPI feed. Spec: 02_SPECS/workitems/WI-MA-S3-002__news_feed_api_integration.md |
| WI-MA-S3-003 | MA.NEWS.002 | Integrate news detail + related lookup contract | MiniApp/CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S3-002 | Stable slug/id lookup policy. Spec: 02_SPECS/workitems/WI-MA-S3-003__news_detail_related_lookup_integration.md |
| WI-MA-S3-004 | MA.NEWS.003 | Integrate news search relevance + empty/error contract | MiniApp/CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S3-002 | Search query normalization and telemetry. Spec: 02_SPECS/workitems/WI-MA-S3-004__news_search_relevance_contract_integration.md |
| WI-MA-S3-005 | MA.NEWS.004 | Implement server-side bookmark APIs and sync flow | MiniApp/CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S3-003 | Remove bookmark in-memory dependency. Spec: 02_SPECS/workitems/WI-MA-S3-005__news_bookmark_server_sync.md |
| WI-MA-S3-006 | MA.VCH.001 | Implement voucher wallet list by user/tenant | MiniApp/VOUCHER | TBD | NOT_STARTED | Sprint 3 | WI-MA-S1-005 | Real source for /vouchers screen. Spec: 02_SPECS/workitems/WI-MA-S3-006__voucher_wallet_user_tenant_integration.md |
| WI-MA-S3-007 | MA.SEARCH.001 | Standardize product search suggestion/trending API contracts | MiniApp/CATALOG | TBD | NOT_STARTED | Sprint 3 | WI-MA-S2-005 | Remove FE-only suggestion assumptions. Spec: 02_SPECS/workitems/WI-MA-S3-007__product_search_suggestion_contracts.md |
| WI-MA-S3-008 | MA.SUP.002 | Support contact channels dynamic config + SDK fallback | MiniApp/CMS/Platform | TBD | NOT_STARTED | Sprint 3 | WI-MA-S1-001 | Implement spec X08_CONTACT_SUPPORT; hotline/chat/email tenant-aware. Spec: 02_SPECS/workitems/WI-MA-S3-008__support_contact_channels_dynamic_config.md |
| WI-MA-S3-009 | MA.SUP.003 | Support category navigation and article listing | MiniApp/CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S3-008 | Implement spec X05_SUPPORT_CATEGORY; add /support/:category route. Spec: 02_SPECS/workitems/WI-MA-S3-009__support_category_navigation_and_articles.md |
| WI-MA-S3-010 | MA.NOTI.001 | Verify and harden guard policy for in-app notification user endpoints | IAM/EMAIL | TBD | NOT_STARTED | Sprint 3 | WI-SEC-001 | Validate effective auth/tenant enforcement for /v2/content/notifications/in-app*. Spec: 02_SPECS/workitems/WI-MA-S3-010__notifications_inapp_guard_verification.md |
| WI-MA-S3-011 | MA.NEWS.001 | Expose miniapp-facing public news read APIs | CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S3-002 | Public feed/search/detail contracts (non-CMS internal permission path). Spec: 02_SPECS/workitems/WI-MA-S3-011__miniapp_public_news_read_apis.md |
| WI-MA-S3-012 | MA.NEWS.002 | Implement news by-slug and related-articles contract | CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S3-011 | Add slug endpoint + related query; remove FE workaround by ID. Spec: 02_SPECS/workitems/WI-MA-S3-012__news_by_slug_related_contract.md |
| WI-MA-S3-013 | MA.NEWS.003 | Add server-side search query contract for news (q) | CMS | TBD | NOT_STARTED | Sprint 3 | WI-MA-S3-011 | Search relevance + empty/error normalization. Spec: 02_SPECS/workitems/WI-MA-S3-013__news_search_q_contract.md |
Sprint 4 — Quality gates & observability
| Workitem ID | Feature Key | Title | Module | Owner | Status | ETA | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|
| WI-MA-S4-001 | CROSS.OBS | Implement unified miniapp telemetry schema | MiniApp/Platform | TBD | NOT_STARTED | Sprint 4 | WI-MA-S3-007 | login/search/cart/checkout/order/news events. Spec: 02_SPECS/workitems/WI-MA-S4-001__unified_miniapp_telemetry_schema.md |
| WI-MA-S4-002 | CROSS.TEST | Add E2E critical journeys gate (3 paths) | QA | TBD | NOT_STARTED | Sprint 4 | WI-MA-S3-005 | Guest->auth->checkout; order action; news bookmark. Spec: 02_SPECS/workitems/WI-MA-S4-002__e2e_critical_journeys_gate.md |
| WI-MA-S4-003 | CROSS.SEC | Security hardening for token/PII handling | MiniApp/Security | TBD | NOT_STARTED | Sprint 4 | WI-MA-S4-001 | No token in query, no PII logs, refresh fail-safe logout. Spec: 02_SPECS/workitems/WI-MA-S4-003__security_hardening_token_pii.md |
| WI-MA-S4-004 | CROSS.DOC | Update feature status + traceability closeout | Governance | TBD | DONE | Sprint 4 | WI-MA-S4-002 | Synced FEATURE_STATUS_MATRIX, API_TRACEABILITY, and release evidence bundle: 04_OPERATIONS/15_WI-MA-S4-004_RELEASE_CLOSEOUT_2026-02-27.md. Spec: 02_SPECS/workitems/WI-MA-S4-004__traceability_closeout_docs_sync.md |
| WI-MA-S4-005 | MA.SUP.004 | Implement Q&A center (all/mine tabs + auth gate) | MiniApp/Support | TBD | NOT_STARTED | Sprint 4 | WI-MA-S3-009 | Implement spec X06_QA_CENTER; backend contract for question scopes. Spec: 02_SPECS/workitems/WI-MA-S4-005__qa_center_all_mine_auth_gated.md |
| WI-MA-S4-006 | MA.SUP.005 | Implement send-question flow + moderation contract | MiniApp/Support | TBD | NOT_STARTED | Sprint 4 | WI-MA-S4-005 | Implement spec X07_SEND_QUESTION; submit+status lifecycle. Spec: 02_SPECS/workitems/WI-MA-S4-006__send_question_flow_and_moderation_contract.md |
Auxiliary Sub-screen Mapping (Full)
| Sub-screen Spec | Feature Key | Workitem ID | Sprint | Implementation Notes |
|---|---|---|---|---|
X01_AUTH_GATE_MODAL | MA.AUTH.003 | WI-MA-S1-007 | Sprint 1 | Resume/cancel/retry behavior thống nhất toàn app |
X02_ADDRESS_PICKER_MODAL | MA.ADDR.002 | WI-MA-S2-007 | Sprint 2 | Checkout address selection + modal handoff |
X03_ADDRESS_FORM_MODAL | MA.ADDR.003 | WI-MA-S2-008 | Sprint 2 | Validation/cascade + default address semantics |
X04_CHECKOUT_SUCCESS_STATE | MA.CHK.002 | WI-MA-S2-009 | Sprint 2 | Idempotent submit + post-success navigation |
X05_SUPPORT_CATEGORY | MA.SUP.003 | WI-MA-S3-009 | Sprint 3 | Dynamic category routing/content load |
X06_QA_CENTER | MA.SUP.004 | WI-MA-S4-005 | Sprint 4 | Q&A list scopes all/mine + auth gated mine |
X07_SEND_QUESTION | MA.SUP.005 | WI-MA-S4-006 | Sprint 4 | Question submit flow + moderation pipeline |
X08_CONTACT_SUPPORT | MA.SUP.002 | WI-MA-S3-008 | Sprint 3 | Hotline/chat/email config + SDK fallback |
Sprint Gates
| Sprint | Exit Gate |
|---|---|
| Sprint 1 | Auth adapter + auth gate modal behavior ổn định; cart/checkout no longer BE_MOCK_ONLY |
| Sprint 2 | Order actions + address contract + address sub-screens closed; P0 contract tests pass |
| Sprint 3 | News/notification/voucher-wallet + support contact/category integrated with backend |
| Sprint 4 | 3 critical E2E pass + Q&A/send-question flow; traceability/docs closeout complete |
Recently Done
| Workitem ID | Feature Key | Title | Owner | Completed At | Evidence |
|---|---|---|---|---|---|
| WI-MA-S4-004 | CROSS.DOC | Traceability closeout docs sync | Governance | 2026-02-27 | 03_TRACEABILITY/FEATURE_STATUS_MATRIX.md; 03_TRACEABILITY/API_TRACEABILITY.md; 04_OPERATIONS/15_WI-MA-S4-004_RELEASE_CLOSEOUT_2026-02-27.md |
Closeout refresh note (2026-02-27): regenerated 05_GENERATED/* manifests from current v2 code truth, including expanded FILE contracts (/v2/files/assets/:id PATCH, /restore, /usage, /migrations/*) and granular FILE_* permissions. | WI-PB-001 | CAT.PRODUCTS | Portal Catalog parity closeout | Portal/CATALOG | 2026-02-27 | 03_TRACEABILITY/FEATURE_STATUS_MATRIX.md; 04_OPERATIONS/18_WI-PB-001_CLOSEOUT_2026-02-27.md | | WI-DOC-001 | SYS.GOVERNANCE | Docs v3 reconcile with code truth | Governance | 2026-02-27 | 03_TRACEABILITY/WORKITEM_BOARD.md; 03_TRACEABILITY/FEATURE_STATUS_MATRIX.md; 03_TRACEABILITY/API_TRACEABILITY.md; 04_OPERATIONS/19_WI-DOC-001_CLOSEOUT_2026-02-27.md |