every.channel: sanitized baseline

This commit is contained in:
every.channel 2026-02-15 16:17:27 -05:00
commit 897e556bea
No known key found for this signature in database
258 changed files with 74298 additions and 0 deletions

View file

@ -0,0 +1,36 @@
# ECP-0030: Workspace Coverage Reporting
Status: Draft
## Problem
We want high-confidence changes across the entire codebase, not only the newest crates. Today, we have unit tests in a subset of crates and no standardized, reproducible, formal coverage artifact.
## Decision
- Adopt workspace-level coverage as a first-class artifact using `cargo-llvm-cov`.
- Provide repeatable `just` commands that generate:
- LCOV (`tmp/coverage/workspace.lcov`)
- HTML report (`tmp/coverage/workspace-html/index.html`)
- A short summary (`tmp/coverage/workspace.summary.txt`)
- Prefer running coverage via `nix develop` so `ac-ffmpeg` builds consistently (FFmpeg headers/libs present).
## Details
Commands:
- `just test-workspace`
- `just cov-workspace` / `just cov-workspace-html` (when `cargo llvm-cov` is available, typically inside `nix develop`)
- `just cov-workspace-nix` / `just cov-workspace-html-nix` (self-contained, runs through `nix develop`)
- `cargo llvm-cov -p ec-core -p ec-crypto -p ec-hdhomerun -p ec-iroh -p ec-linux-iptv -p ec-moq -p ec-ts` (unit-coverage subset that doesn't require FFmpeg headers)
Coverage excludes:
- `third_party/`
- `target/`
- `tmp/`
## Consequences
- Contributors can review regressions with an objective report, not only "tests passed".
- Running coverage outside Nix may not work on macOS/Linux unless FFmpeg dev headers are installed; the Nix path is the canonical one.