You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Guardrails: Added non-negotiable interface/contract boundary rules for cross-module integration
12
12
Status: Approved — modular architecture and contract-first parallel delivery are now constitutional requirements
13
-
Current Update (v1.12.2): Added mandatory spec-completion gate requiring database migrations to be applied and E2E tests to pass before a spec can be marked done.
13
+
Current Update (v1.12.3): Added mandatory per-migration test coverage governance requiring each migration to include a new or updated automated test, enforced by a migration coverage policy test in CI.
14
+
Previous Update (v1.12.2): Added mandatory spec-completion gate requiring database migrations to be applied and E2E tests to pass before a spec can be marked done.
14
15
Previous Updates:
15
16
- v1.11.0: Strengthened TDD mandate with a strict gated red-green-refactor workflow requiring explicit user confirmation of failing tests before implementation.
16
17
- v1.10.2: Codified a mandatory post-change verification command matrix so every change runs explicit checks before merge.
@@ -291,6 +292,7 @@ A vertical slice is **production-ready** only when all items are verified:
291
292
-[ ] Post-change verification matrix executed for the impacted scope and evidence recorded
- DataAnnotations constraints validated at database layer
@@ -394,6 +397,7 @@ Tests suggested by agent must receive explicit user approval before implementati
394
397
14.**User Acceptance**: User validates slice meets specification and data validation rules observed
395
398
15.**Phase Completion Commit**: Before starting the next phase, create a dedicated phase-completion commit that includes completed tasks and verification evidence for that phase
396
399
16.**Spec Completion Gate**: Before marking any specification as done, database migrations for that spec must be applied successfully to the target local runtime database and the spec's end-to-end (Playwright) tests must run green
400
+
17.**Migration Test Coverage Gate**: Every migration added or modified in a branch must include a new or updated automated test and must be represented in the migration coverage policy test map before merge
397
401
398
402
### Compliance Audit Checklist
399
403
@@ -410,6 +414,7 @@ Tests suggested by agent must receive explicit user approval before implementati
410
414
-[ ] TDD gate commits created: red baseline commit, green commit, and separate refactor commit when applicable
411
415
-[ ] Phase completion commit created before moving to the next phase
412
416
-[ ] Database migrations for the spec are created and applied successfully to the runtime database used for validation
417
+
-[ ] Every migration introduced or modified by the spec has a corresponding new or updated automated test and a migration-coverage policy entry
413
418
-[ ] Spec-level E2E (Playwright) suite executed and passing before spec marked complete
414
419
-[ ] All SAMPLE_/DEMO_ data removed from code before merge
@@ -445,6 +450,7 @@ Breaking these guarantees causes architectural decay and technical debt accrual:
445
450
-**TDD cycle is strictly gated and non-negotiable** — implementation code must never be written before failing tests exist, have been run, and the user has reviewed and confirmed the failures. The sequence is always: plan tests → write tests → run and prove failure → get user confirmation → implement → run after each change → verify all pass → consider refactoring. Skipping or reordering any step is prohibited.
446
451
-**Commit gates are mandatory for TDD and phase transitions** — every TDD gate transition requires a commit (red, green, and refactor when performed), and every completed phase requires a dedicated phase-completion commit before proceeding.
447
452
-**Spec completion requires migration + E2E gates** — a spec cannot be marked done until its database migrations are applied to the runtime database and its Playwright E2E scenarios pass.
453
+
-**Every migration requires a test update** — each migration must ship with a new or updated automated test and an updated migration coverage policy entry; changes are blocked when migration coverage is incomplete.
448
454
-**Expected-flow C# logic uses Result, not exceptions** — validation, not-found, conflict, and authorization business outcomes must be returned via typed Result objects (including error code/message metadata). Throwing exceptions for these expected outcomes is prohibited; exceptions are only for truly unexpected failures.
449
455
-**Cross-module work is contract-first and interface-bound** — teams must integrate through explicit interfaces and versioned contracts only; direct coupling to another module's internal implementation is prohibited.
450
456
-**No Entity Framework DbContext in domain layer** — domain must remain infrastructure-agnostic. If domain needs persistence logic, use repository pattern abstracting EF.
0 commit comments