Raise coverage gates to 80% and complete Codecov coverage
- Dominant language
- Rust
- Stars
- 72
- Forks
- 13
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 5
Description
## Problem
The local Rust coverage gate is still `cargo llvm-cov --fail-under-lines 65`, and the current release gate reports about 69% total Rust line coverage. That is useful as a floor, but it is not the level we want for release-grade confidence.
`codecov.yml` has several component targets at 80%, but coverage is uneven and some surfaces are not fully represented by enforced coverage signals. The frontend `ui` component is noted as pending Vitest coverage, and the Python/builder coverage needs to be visible in Codecov alongside Rust and integration coverage.
## Goal
Move Capsem toward an enforced 80% coverage standard across release-critical code, with Codecov showing complete, actionable coverage for Rust, Python, frontend, and integration/e2e flags.
## Acceptance criteria
- Raise the local `just test` Rust coverage floor from 65% toward 80%, using staged intermediate steps only if needed to avoid blocking unrelated release work.
- Add or verify Codecov uploads for every coverage-producing lane: Rust unit/llvm-cov, Python unit/integration coverage, frontend/Vitest coverage, and e2e/integration flags where applicable.
- Ensure `codecov.yml` components cover all first-party code paths, including `crates/**`, `src/capsem/**`, and `frontend/src/**`, with no important crate or app surface falling through untracked.
- Add frontend coverage generation if missing so the `ui` component is not aspirational.
- Make component targets explicit for release-critical services, with 80% as the default professional target and documented exceptions only for generated/thin binary or platform-hosted code.
- Update docs/skills so future release agents treat 80% as the target and do not normalize 65% as good enough.
## Notes
This came up during the 2026-06-27 release gate: preflight and doctor were green, but the full release test still reports a 65% Rust floor. We should use Codecov as the release visibility source of truth, not just a best-effort badge.
Contributor guide
Research direction
Start with the `just test` coverage command, `codecov.yml`, and the existing Rust, Python, frontend/Vitest, and e2e coverage lanes. Trace which reports are generated and uploaded, then verify that `crates/**`, `src/capsem/**`, and `frontend/src/**` are represented. Done means release-critical components enforce documented 80% targets, all applicable flags appear in Codecov, and the docs/skills guidance is updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- ci-cd, documentation, frontend, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100