Savvi Studio

Domain Cutover Matrix (Track 2)

Date: 2026-03-16

This matrix tracks the domain cutover stream requested after lifecycle hardening.

Scope

Domains in this wave:

  • Products
  • Sponsors
  • Tasks
  • Teams

Legend

  • Status: done | in-progress | not-started | blocked
  • Gate: pass | fail | pending

Program Snapshot

  • Track 1 (lifecycle hardening): done.
  • Track 2 (domain cutover): done for the four-domain wave (Products/Sponsors/Tasks/Teams).

Domain Matrix

Domain API Domain Package Hooks Package UI Package Router Wired Contract Tests UI/Story Coverage Legacy Alias Cleanup Cutover Status
Products packages/api-domain-products consolidated in packages/ui-domain-entities-components/products/useProducts.ts packages/ui-domain-entities-components/products pass pass (list/put/del + integration coverage) pass (component tests) pass done
Sponsors packages/api-domain-sponsors packages/hooks-sponsors packages/ui-domain-sponsors-components pass pass (get/list/put/del + integration coverage) pass (component tests) pass done
Tasks packages/api-domain-tasks packages/hooks-tasks packages/ui-domain-tasks-components pass pass (get/list/put/del + integration coverage) pass (component tests) pass done
Teams packages/api-domain-teams packages/hooks-teams packages/ui-domain-teams-components pass pass (get/list/put/del + integration coverage) pass (component tests) pass done

Exit Gates Per Domain

A domain is considered cut over only when all gates pass:

  1. API procedures and schema contracts stable.
  2. Router integration verified with request-context execution.
  3. Hooks consume canonical domain models only.
  4. UI components/pages consume canonical hooks and models only.
  5. Legacy import aliases removed or explicitly compatibility-shimmed with deprecation path.
  6. Type gates pass:
    • pnpm tsc --noEmit --project configs/tsconfig.src-packages.json
    • pnpm typecheck
  7. Test gates pass:
    • targeted integration tests for the domain
    • relevant component/story tests where applicable

Current Known Gaps

  • None for the four-domain wave scope.

Signoff Snapshot

  • Type gates:
    • pnpm typecheck -> pass
    • pnpm tsc --noEmit --project configs/tsconfig.src-packages.json -> pass
  • Integration gates:
    • Products/Sponsors/Tasks/Teams + Teams membership targeted suites -> pass (5 files, 28 tests)
  • Component/browser gates:
    • Products/Sponsors/Tasks/Teams component suites -> pass (6 files, 27 tests)

Proposed Execution Order

  1. Products
  2. Sponsors
  3. Tasks
  4. Teams

Rationale:

  • Products and sponsors established the initial cutover template.
  • Tasks and teams now match the CRUD template and remaining work is primarily UI verification and legacy cleanup.

Immediate Next Actions

  1. Maintain regression monitoring as steady-state sentry coverage.
    • CI integration job runs the explicit closeout sentry bundle via pnpm test:regression:track1-closeout.