Files
clean-architecture-backend-…/docs/superpowers/plans/evidence/2026-08-15-wave6-final/task3-matrix-to-lane-map.md
T

2.1 KiB

Task 3 — the activation matrix, and where each row's evidence comes from

The plan's matrix is ten rows; the Compose contract is fifteen lanes; the in-process activation suite is nineteen classes. They are not three copies of one thing, so this records which artefact answers which row before anything is run. A row whose evidence is a passing unit test is recorded as that, not as a runtime lane.

# Matrix row Evidence
1 five off off-local, off-dev, off-prod lanes + FiveAdapterOffInventoryTest (bean/thread/endpoint inventory is in-process; a container cannot count beans)
2 JPA only local-jpa lane (db + app)
3 Mongo only local-mongo lane (mongo + rs-init + app)
4 Messaging only local-messaging lane; local-messaging-outbox additionally proves the relay's database dependency
5 Notification + JPA, INGEST_ONLY local-notification-ingest, and local-notification-handoff for the accept → restart → deliver-once half
6 Notification + JPA, SERVING local-notification-serving
7 GraphQL only local-graphql lane (keycloak + auth-smoke + graphql-smoke)
8 relay on, dependency missing no lane — a startup that must be rejected is an in-process contract: DependencyErrorStartupContractTest, CapabilityDependencyValidatorTest. The plan requires the name of the missing switch, not merely a failure.
9 JPA + Mongo all-adapters covers the both-on half; the two-implementations-of-one-port rejection is in-process (CleanArchitectureTest plus the composition tests), because it is a context-startup outcome
10 five on all-adapters lane

Rows 8 and 9 are deliberately not Compose lanes. Both are assertions that a context refuses to start for a stated reason, and a Compose lane can only observe that a container exited — which is the same observation for a missing switch, a bad password and a typo in a YAML key.

Lanes with no matrix row of their own — shared-infra-local, shared-infra-dev, prod-smoke — carry Task 4's environment evidence rather than Task 3's activation evidence.