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
Carved out from the "did not solve" list of #1452 (port of CLI/TUI/launcher to v2).
Problem
The per-file coverage gate (lines ≥ 90, etc.) is enforced only by the web vitest suite (web src + core). CLI tests run out-of-process — they spawn node build/index.js via cli-runner.ts — so coverage instrumentation never sees clients/cli/src/cli.ts. The TUI has only 2 smoke tests. Net: CLI/TUI source has no coverage gate, so regressions there are invisible to CI.
Proposed solution
Add an in-process runCli() entry so tests can import and exercise CLI logic under coverage instrumentation, keeping a thin out-of-process E2E layer for the real binary.
Add a vitest coverage config + per-file gate for clients/cli/src (and clients/tui/src as feasible — expand tui-servers.ts and Ink flow tests).
Wire the gates into CI as their own steps.
Acceptance criteria
CLI source is exercised in-process with coverage measured (not just spawned subprocess E2E).
A per-file coverage gate is enforced for CLI (and TUI where feasible), matching the web thresholds or a documented interim target.
CI fails when CLI/TUI source coverage drops below the gate.
Activity
test(cli,tui): add in-process source coverage gates (#1484) (#1502)
test(tui): extend coverage gate to Ink components + App.tsx (closes #…