SOP → Nx Targets & Generators Mapping

This turns the SOP into mechanical execution.


Phase 1–2: Workspace & Spine

Nx usage

Rule: no handwritten structure until Nx exists


Phase 3: Architecture Enforcement

Nx usage

Rule: architecture violations fail lint, not review


Phase 4: Local Runtime Stack

Nx usage

Rule: infra is treated like code


Phase 5: Observability (ADR-029)

Nx usage

Stack: OpenTelemetry SDK → OTel Collector → OpenObserve + Vanta

Rule: apps don’t roll their own telemetry; all signals via OTel


Phase 6: Contracts

Nx usage

Rule: contracts are source of truth


Phase 7: Generators

Nx usage

Rule: if you repeat structure twice, make a generator


Phase 8: Testing (Vitest + Playwright)

Nx usage

Stack: Vitest 3.x Playwright 1.49.x pytest 8.x Testcontainers MSW

Rule: test scope matches change scope; integration tests use Testcontainers


Phase 9: Vertical Slices

Nx usage

Rule: slices cross layers, not projects


Phase 10–11: Flags & CI

Nx usage

Rule: shipping ≠ enabling


Phase 12: Hardening

Nx usage

Rule: hardening is continuous, not a phase at the end