docs(spec): set near-100% per-domain coverage as the working target
This commit is contained in:
@@ -14,7 +14,10 @@ changes can't silently break existing behavior, and shake out latent bugs in the
|
|||||||
3. **Bug handling = log in Plane + fix trivial inline.** Every finding becomes a Plane work
|
3. **Bug handling = log in Plane + fix trivial inline.** Every finding becomes a Plane work
|
||||||
item; small/safe fixes land inline in the same pass; risky / behavior-changing ones get
|
item; small/safe fixes land inline in the same pass; risky / behavior-changing ones get
|
||||||
their own ticket and are deferred (flagged as such).
|
their own ticket and are deferred (flagged as such).
|
||||||
4. **No hard coverage threshold gate** now — measure and report; revisit a CI gate later.
|
4. **Target near-100% coverage per domain** (the working bar). Every remaining uncovered
|
||||||
|
line is either tested or explicitly annotated as defensive/unreachable — no silent gaps.
|
||||||
|
A CI threshold *gate* (build fails under X%) is still deferred; the target is enforced by
|
||||||
|
review for now.
|
||||||
|
|
||||||
## Current baseline (2026-07-22)
|
## Current baseline (2026-07-22)
|
||||||
|
|
||||||
@@ -40,7 +43,10 @@ changes can't silently break existing behavior, and shake out latent bugs in the
|
|||||||
- Config per workspace: include `src/**`; exclude tests, config files, and generated /
|
- Config per workspace: include `src/**`; exclude tests, config files, and generated /
|
||||||
non-logic files (`src/db/schema.ts`, `*.d.ts`, `main.tsx`, `vite-env.d.ts`).
|
non-logic files (`src/db/schema.ts`, `*.d.ts`, `main.tsx`, `vite-env.d.ts`).
|
||||||
- Record a **baseline coverage % per domain** so every gap filled is measured, not guessed.
|
- Record a **baseline coverage % per domain** so every gap filled is measured, not guessed.
|
||||||
- **No hard threshold gate** now (arbitrary + flaky). Measure, report, revisit later.
|
- **Working target: near-100% per domain.** Drive each domain's coverage up until the only
|
||||||
|
remainder is genuinely defensive / unreachable code, which is annotated (`/* c8 ignore */`
|
||||||
|
with a reason) rather than left as a silent gap. A CI *gate* is still deferred — enforce by
|
||||||
|
review for now.
|
||||||
|
|
||||||
### 2. Fix the API harness fragility (prerequisite for reliable domain isolation)
|
### 2. Fix the API harness fragility (prerequisite for reliable domain isolation)
|
||||||
|
|
||||||
@@ -115,7 +121,8 @@ slog. Bugs found during a domain's pass are reported structurally and triaged pe
|
|||||||
|
|
||||||
## Out of scope
|
## Out of scope
|
||||||
|
|
||||||
- A CI coverage-threshold gate (deferred; measure first).
|
- A CI coverage-threshold gate that fails the build (deferred; the near-100% target is
|
||||||
|
enforced by review for now, not by CI).
|
||||||
- E2E browser automation (Playwright/Cypress) — the client integration tests stay at the
|
- E2E browser automation (Playwright/Cypress) — the client integration tests stay at the
|
||||||
Testing-Library level.
|
Testing-Library level.
|
||||||
- Load/performance testing.
|
- Load/performance testing.
|
||||||
|
|||||||
Reference in New Issue
Block a user