@@ -36,9 +36,9 @@ retain either stem, and compound names such as `AppRuntime`, `RuntimeManager`,
3636or ` NormalizeInput ` . Renaming must update the package path, declarations,
3737imports, callers, and tests together; do not retain compatibility aliases for
3838repository-owned names. ` internal/worker ` owns the Dex Worker, Client,
39- and blob cache lifecycle. The Go naming contract in ` internal/templatecontract `
40- runs with ` make test-unit ` and ` make check ` ; do not bypass it or add exceptions
41- for new repository-owned names.
39+ and blob cache lifecycle. The static Go naming check in ` tools/checkcontract `
40+ runs with ` make check-contracts ` and ` make check ` ; do not bypass it or add
41+ exceptions for new repository-owned names.
4242
4343The Dex Flow has stable Step, Attribute, Channel, Timer, and RPC identities.
4444Keep external effects in ` Execute ` ; ` WaitForApproval.WaitFor ` only declares the
@@ -58,7 +58,7 @@ If `make check` fails or cannot run, report `blocked=true`. Do not weaken, skip,
5858or delete a failing check.
5959
6060Stable commands are ` make bootstrap ` , ` make generate ` , ` make check-fdg-v2 ` ,
61- ` make superverse-release-artifacts ` , ` make test-unit ` ,
61+ ` make check-contracts ` , ` make superverse-release-artifacts ` ,
6262` make test-integration ` , ` make test-e2e ` , ` make build ` , ` make dev ` , and
6363` make check ` .
6464
@@ -97,12 +97,20 @@ Dex Skills discovers the release and opens its own baseline pull request. Once
9797the matching Dex Skills release exists, Superverse advances both immutable
9898release pins in one pull request.
9999
100- Use Vitest mocks of the generated client for isolated loading, failure, and
101- terminal UI states. When a browser-only edge case cannot be reached
102- economically, use test-local Playwright request interception. Do not add an
103- application mock server, a second business state machine, or user-visible Mock
104- Controls. Mock evidence never replaces real Dex integration and E2E tests.
100+ Only integration tests that call real dependency APIs are permitted. Never add
101+ unit tests, isolated component tests, or mock integration tests in any language.
102+ Go tests must use the ` integration ` build tag and a real Dex Server. Playwright
103+ E2E tests must drive the production application backed by real dependencies.
104+ Do not use mocks, fakes, stubs, simulated providers, or intercepted/fulfilled
105+ API responses to replace dependencies, including for failure or edge cases.
106+ Exercise those cases through real dependency APIs or report the coverage gap.
107+ An integration label or build tag alone does not qualify a test: review its
108+ actual API calls. Dependency startup failures must fail verification, never
109+ skip a test or fall back to a mock. Do not restore unit-test targets, frameworks,
110+ fixtures, or dependencies. ` make check-contracts ` statically checks repository
111+ contracts, naming, test placement, and known mocking APIs; it is not a test suite
112+ and does not replace real integration or E2E evidence.
105113
106114When structure, commands, or required tooling changes, update this file,
107- ` .superverse/template.json ` , ` README.md ` , and contract tests together. Do not
108- maintain a separate static repository map.
115+ ` .superverse/template.json ` , ` README.md ` , and static contract checks together.
116+ Do not maintain a separate static repository map.
0 commit comments