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
| mcp → pack | tarball hygiene |`npm run test:mcp-pack`| unexpected/forbidden file or stale README in the npm tarball |
@@ -71,7 +73,7 @@ these for a normal PR:**
71
73
72
74
| Local command | Why it's not in the table above |
73
75
|---|---|
74
-
|`npm run test:engine-parity`, `npm run test:live-gate-parity`, `npm run test:driver-parity`| Plain `test/contract/*.test.ts` files — no dedicated CI job, but they DO run in CI as part of whichever `test (1/2)` shard happens to contain them (sharded `vitest run`). |
76
+
|`npm run test:engine-parity`, `npm run test:live-gate-parity`, `npm run test:driver-parity`| Plain `test/contract/*.test.ts` files — no dedicated CI job, but they DO run in CI as part of whichever `test (1/6..6/6)` shard happens to contain them (sharded `vitest run`). |
75
77
|`npm run test --workspace @loopover/engine`| The engine package's own `node --test` suite. **Not run by `ci.yml` on a PR at all** — only by `.github/workflows/publish-engine.yml` at release time. A regression here is invisible to Codecov and to every PR-gating CI check; `test:ci` locally is the only pre-merge signal. |
76
78
77
79
This is a real, previously-hit gap, not a hypothetical: a past PR shipped a genuine, undetected
@@ -92,8 +94,11 @@ checks go green) is the only way to know you didn't break it.
92
94
-**Ignored paths** (no coverage obligation): `apps/**`, `test/**`, `scripts/**`, `src/env.d.ts`.
93
95
Coverage `include` is `src/**/*.ts` only. → A UI-only / test-only / script-only change owes **no**
94
96
patch coverage; a backend `src/**` change owes coverage on **every changed line + branch**.
95
-
-**Measure unsharded locally:**`npm run test:coverage`. CI shards into 2 and Codecov merges them,
97
+
-**Measure unsharded locally:**`npm run test:coverage`. CI shards into 6 and Codecov merges them,
96
98
so a single local shard under-reports — never trust it.
99
+
-**Flaky tests are already tracked.** Every shard uploads a JUnit report (`report_type: test_results`),
100
+
which auto-enables Codecov Test Analytics with no extra config — check a PR's "Tests" tab or its
101
+
Codecov bot comment if a test needed a retry, rather than assuming it's pure infra noise.
"Duration is wall-clock (queue time included), not summed job time. \"Failure rate\" excludes cancelled runs (almost always a rapid re-push superseding its predecessor, not CI breaking) from both the count and the denominator.",
0 commit comments