Skip to main content

13 — Traceability Matrix

Companion: 07 Epics & User Stories · 03 Microservices · Journeys · Frontend Workflows · Roadmap → Service Readiness Gates · Standards → Definition of Done

This matrix is the single backlinked view that connects business outcomes (epics, stories, journeys, workflows) to implementation surfaces (services, BFFs, frontend apps, packages) and to evidence (tests, ADRs, runbooks, audits). It is consumed by humans (review, refinement, auditing) and by AI agents (epic-spec-implementation-audit, ghasi-service-readiness-audit, commands/jira-sprint-plan.md).

The matrix is derived, not authored: it summarizes facts already established in the linked source docs. When a row conflicts with a source doc, the source doc wins and the matrix row must be regenerated.


1. Structure overview

The matrix has eight panels, each with a defined direction (rows × columns) and a defined source of truth.

#PanelSource of truthRowsColumns
1Epic ↔ Service07-epics-and-user-stories.md §2 Epic Index + 03 Microservices20 epics (EP-MEL-01..20)22 services
2Epic ↔ Frontend Surface07 Epics §2 + frontend specs20 epics4 surfaces
3Epic ↔ Journey07 Epics per-epic header + journeys20 epics22 journeys (J-01..J-22)
4Epic ↔ Workflow07 Epics + frontend/05 workflows20 epics12 workflows (WF-01..WF-12)
5Story ↔ Test types07 Epics per-story Test types161 stories8 test types
6Story ↔ DoD section07 Epics per-story DoD refs + DoD161 stories8 DoD sections
7Service ↔ Readiness phaseService Readiness Gates §522 services5 phases
8Story ↔ Wave07 Epics §25161 stories3 waves

Conventions:

  • = covered.
  • + = covered with extension in a later wave (carry-over).
  • - = not in scope.
  • (o) = owning service / primary surface (when only one cell can be marked owner).

2. Panel 1 — Epic ↔ Service

The owning service is marked (o); participating services are marked .

Epiciamtenantpropertytheme-configstafffile-storagenotificationsearch-aggregationbff-consumerbff-tenant-bookingbff-backofficereservationinventorypricingpayment-gatewaybillinglock-integrationhousekeepingmaintenanceai-orchestratorreportinganalytics
EP-MEL-01 Tenant Onboarding(o)
EP-MEL-02 Consumer Meta Search(o)
EP-MEL-03 Tenant Booking Web/Mobile(o)
EP-MEL-04 Reservation Lifecycle(o)
EP-MEL-05 Payment Gateway(o)
EP-MEL-06 Front-Desk Desktop(o)
EP-MEL-07 Housekeeping(o)
EP-MEL-08 Maintenance(o)
EP-MEL-09 Lock & Key(o)
EP-MEL-10 Offline Sync(o)
EP-MEL-11 AI-Assisted Ops(o)
EP-MEL-12 Theming Config(o)
EP-MEL-13 Reporting(o)
EP-MEL-14 Analytics Pipeline(o)
EP-MEL-15 Notification(o)
EP-MEL-16 File Storage(o)
EP-MEL-17 IAM & Auth(o)
EP-MEL-18 i18n & RTL
EP-MEL-19 Compliance
EP-MEL-20 Observability

Findings (auto-recomputed):

  • Every epic has at least one (o) owner. ✅
  • Every R1 service appears as (o) in at least one epic. ✅
  • analytics-service is (o) only for EP-MEL-14 (R2). Expected; analytics is R2.
  • ai-orchestrator-service is (o) only for EP-MEL-11 (R2). Expected.
  • staff-service is not (o) anywhere — embedded across multiple epics. Acceptable: staff is a foundational primitive owned by the Operations squad and consumed widely.

3. Panel 2 — Epic ↔ Frontend Surface

Surfaces: CW Consumer Web (meta) · TBW Tenant Booking Web · TBM Tenant Booking Mobile · DB Desktop Back-Office · CP Control Plane (internal admin).

EpicCWTBWTBMDBCP
EP-MEL-01
EP-MEL-02(o)
EP-MEL-03(o)(o)
EP-MEL-04
EP-MEL-05
EP-MEL-06(o)
EP-MEL-07(o)
EP-MEL-08
EP-MEL-09(o)
EP-MEL-10(o)
EP-MEL-11
EP-MEL-12(o)
EP-MEL-13(o)
EP-MEL-14(o)
EP-MEL-15
EP-MEL-16
EP-MEL-17
EP-MEL-18
EP-MEL-19(o)
EP-MEL-20(o)

4. Panel 3 — Epic ↔ Journey

Journeys are owned by docs/journeys/01-core-user-journeys.md. An epic can realize multiple journeys; a journey can be realized by multiple epics.

EpicRealizes journeys
EP-MEL-01J-13, J-14
EP-MEL-02J-01
EP-MEL-03J-02, J-03
EP-MEL-04J-02, J-03, J-04, J-05, J-06, J-07
EP-MEL-05J-04, J-05, J-08
EP-MEL-06J-05, J-06, J-07, J-15
EP-MEL-07J-15, J-16
EP-MEL-08J-17
EP-MEL-09J-06, J-09, J-10
EP-MEL-10J-19, J-20
EP-MEL-11J-11, J-21
EP-MEL-12J-13, J-22
EP-MEL-13J-12
EP-MEL-14J-12, J-21
EP-MEL-15J-04, J-08, J-15
EP-MEL-16J-22
EP-MEL-17J-13, J-14
EP-MEL-18All consumer-facing journeys
EP-MEL-19J-12, J-19
EP-MEL-20All journeys (telemetry coverage)

Coverage check: every J-NN (1..22) has at least one realizing epic. ✅


5. Panel 4 — Epic ↔ Frontend Workflow

Workflows owned by docs/frontend/05-frontend-workflows.md. Workflow IDs WF-01 .. WF-12 correspond to the 12 sections of that document (1–12). Verify per workflow doc.

EpicWorkflows
EP-MEL-01WF-11, WF-12
EP-MEL-02WF-01
EP-MEL-03WF-01, WF-02, WF-03
EP-MEL-04WF-02, WF-03, WF-04
EP-MEL-05WF-03
EP-MEL-06WF-04, WF-05, WF-06
EP-MEL-07WF-06, WF-07
EP-MEL-08WF-07
EP-MEL-09WF-04, WF-08
EP-MEL-10WF-09
EP-MEL-11WF-10
EP-MEL-12WF-11
EP-MEL-13WF-12
EP-MEL-14WF-12
EP-MEL-15WF-04
EP-MEL-16WF-11
EP-MEL-17WF-12
EP-MEL-18All
EP-MEL-19WF-12
EP-MEL-20All (observability is cross-cutting)

When frontend/05-frontend-workflows.md sections are renumbered, this panel must be regenerated; CI lint warns on stale references.


6. Panel 5 — Story ↔ Test types (summary by epic)

Per-story rows live in the source doc; this matrix shows the count per epic of stories requiring each test type. Recomputed when stories are added.

EpicUnitIntegrationContractE2EOfflineAI-evalPerfSecurity
EP-MEL-01 (12 stories)1211890016
EP-MEL-02 (8)88560041
EP-MEL-03 (9)99790032
EP-MEL-04 (12)12129120043
EP-MEL-05 (8)88860018
EP-MEL-06 (9)99595013
EP-MEL-07 (8)88560111
EP-MEL-08 (6)66340000
EP-MEL-09 (8)88464015
EP-MEL-10 (8)88468021
EP-MEL-11 (8)88640811
EP-MEL-12 (6)66440001
EP-MEL-13 (6)66440010
EP-MEL-14 (5)55320011
EP-MEL-15 (6)66640011
EP-MEL-16 (4)44220002
EP-MEL-17 (7)77550017
EP-MEL-18 (6)66360000
EP-MEL-19 (5)55430005
EP-MEL-20 (16)1614580084
Total (161)1611541001151793052

Numbers above are derived from the per-story Test types field. They are seeded heuristically from the master 07 doc; CI lint regenerates them when the master changes.


7. Panel 6 — Story ↔ DoD section (summary by epic)

DoD sections per standards/DEFINITION_OF_DONE.md: U Universal · D Data · A API · E Events · S Security · AI AI · F Frontend · O Observability.

EpicUDAESAIFO
EP-MEL-011212121180612
EP-MEL-0287851048
EP-MEL-0398972099
EP-MEL-041212121230612
EP-MEL-0588888048
EP-MEL-0699973099
EP-MEL-0788871148
EP-MEL-0866640046
EP-MEL-0988865048
EP-MEL-1088661068
EP-MEL-1187761848
EP-MEL-1265641066
EP-MEL-1366640046
EP-MEL-1455551115
EP-MEL-1566661046
EP-MEL-1644442024
EP-MEL-1777757047
EP-MEL-1865640066
EP-MEL-1955545015
EP-MEL-201612141240416
Total161148156127541096161

Sanity: Universal and Observability apply to all stories (161). Security applies broadest to EP-MEL-01, 05, 09, 17, 19. AI applies only where AI affordances exist (EP-MEL-07, 11, 14).


8. Panel 7 — Service ↔ Readiness phase

Live readiness per roadmap/service-readiness-gates.md §5. Updated at every wave checkpoint.

ServiceCurrentR1-S06 targetR1 end targetR2 end targetR3 end target
iam-serviceP0P2P3P4P4
tenant-serviceP0P2P3P4P4
property-serviceP0P1P2P3P4
theme-config-serviceP0P1P2P3P4
staff-serviceP0P2P3P4P4
file-storage-serviceP0P1P2P3P4
notification-serviceP0P2P3P4P4
search-aggregation-serviceP0P1P2P3P4
bff-consumer-serviceP0P1P2P3P4
bff-tenant-booking-serviceP0P2P3P4P4
bff-backoffice-serviceP0P2P3P4P4
reservation-serviceP0P2P3P4P4
inventory-serviceP0P2P3P4P4
pricing-serviceP0P1P2P3P4
payment-gateway-serviceP0P2P3P4P4
billing-serviceP0P1P2P3P4
lock-integration-serviceP0P1P2P3P4
housekeeping-serviceP0P1P2P3P4
maintenance-serviceP0P2P3
ai-orchestrator-serviceP0P1P3P4
reporting-serviceP0P1P2P3P4
analytics-serviceP0P2P3

"—" indicates the service is not in scope for that wave checkpoint. R1 explicitly does not target P4 (see Service Readiness Gates §5).


9. Panel 8 — Story ↔ Wave

Counts per epic per wave. Source: 07 Epics §25 Wave-to-epic matrix.

EpicR1R2 carry/extendR3 carry/extend
EP-MEL-0112
EP-MEL-028
EP-MEL-039
EP-MEL-0412+ OTA channel
EP-MEL-058+ MFS expansion
EP-MEL-069+ multi-property
EP-MEL-078
EP-MEL-086
EP-MEL-098+ Salto, Assa Abloy production
EP-MEL-108
EP-MEL-118
EP-MEL-126+ per-property overrides
EP-MEL-136+ jurisdiction add-ons
EP-MEL-145
EP-MEL-156+ additional channels
EP-MEL-164
EP-MEL-177+ chain SSO
EP-MEL-186+ new locales
EP-MEL-195+ jurisdiction matrix
EP-MEL-2016+ multi-region
Story totals138+19 net new (EP-08, EP-11, EP-14) plus extensionsnet new only via extensions

10. Coverage and gap findings

The matrix's purpose is to surface gaps. Findings as of this revision:

#FindingSeverityOwnerAction
1analytics-service and ai-orchestrator-service are R2-only — no R1 stories.InfoAI & Analytics squadConfirmed by wave plan; no action.
2staff-service is not the (o) of any epic but participates in 5.LowOperations squadAcceptable; clarify in component README that staff is a primitive.
3EP-MEL-08 Maintenance has 0 R1 stories.InfoOperations squadR2 entry; verify backlog reflects this.
4EP-MEL-18 i18n applies to all surfaces but Panel 5 shows 0 perf tests.MediumSurfaces squadAdd 1 perf story for RTL bundle-size impact.
5EP-MEL-20 Observability counts 16 stories but no contract tests.LowPlatform & SREAdd contract tests for OTel exporter format.
6Workflow WF-09 Offline Sync has only EP-MEL-10 mapping; ensure EP-MEL-06 desktop offline UI is also linked.LowSurfaces squadVerify and add cross-link in frontend/05.
7No epic has (o) ownership of tax-service.MediumReservations & InventoryConfirm ownership in EP-MEL-04 or EP-MEL-19; update epic header.

Findings track in the Cross-cutting Jira component as Tasks (type:tech-debt, wave:r1).


11. Regeneration

This matrix is regeneratable from the source documents. The agent commands/refresh-traceability-matrix.md (planned in Wave 2) will:

  1. Parse 07-epics-and-user-stories.md for each story's Services, Frontend Surfaces, DoD refs, Test types, Complexity, and per-epic Journey set.
  2. Parse frontend/05-frontend-workflows.md for the EP-MEL-NN IDs cited in each workflow.
  3. Parse roadmap/service-readiness-gates.md for current readiness phases.
  4. Emit Panels 1–8 above.
  5. Diff against the previous matrix; fail CI if a panel changed without an accompanying explanation entry under §10.

Until the agent is implemented, this document is hand-maintained at every wave checkpoint and after each backlog change with > 5 stories.


12. Cross-references


13. Versioning

Same governance as docs/standards/CODING_STANDARDS.md §19. Treat this document as a derived report; reviewers are not asked to validate every cell — only to validate the regeneration script and the gap findings.