From 97220f5321fec68abdc513d98b10e0dfd1efdd0c Mon Sep 17 00:00:00 2001 From: dave Date: Sat, 4 Apr 2026 12:26:50 +0000 Subject: [PATCH] huskies: create 474_story_per_file_test_coverage_report_with_improvement_targets --- ...le_test_coverage_report_with_improvement_targets.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.huskies/work/1_backlog/474_story_per_file_test_coverage_report_with_improvement_targets.md b/.huskies/work/1_backlog/474_story_per_file_test_coverage_report_with_improvement_targets.md index d3298a62..26c3547d 100644 --- a/.huskies/work/1_backlog/474_story_per_file_test_coverage_report_with_improvement_targets.md +++ b/.huskies/work/1_backlog/474_story_per_file_test_coverage_report_with_improvement_targets.md @@ -10,11 +10,11 @@ As a developer, I want a standardised JSON output format for test coverage so th ## Acceptance Criteria -- [ ] script/test_coverage saves per-file coverage data to .coverage_files.json (language-agnostic format) -- [ ] Rust coverage: uses cargo llvm-cov --json to extract per-file line coverage -- [ ] Frontend coverage: parses vitest coverage output for per-file data -- [ ] coverage bot command shows top N lowest-covered files when cached data is available -- [ ] Format is extensible for other languages (Go, Python, etc.) — each entry has file path and line coverage percentage +- [ ] Define a standard `.coverage_report.json` format: `{ "overall": float, "threshold": float, "files": [{ "path": string, "coverage": float }] }` +- [ ] Update huskies' own `script/test_coverage` to write `.coverage_report.json` in this format (Rust via `cargo llvm-cov --json`, frontend via vitest) +- [ ] `coverage` bot command reads `.coverage_report.json` and shows overall percentage plus top 5 lowest-covered files as improvement targets +- [ ] Document the `.coverage_report.json` format in `.huskies/README.md` so other projects can produce it from any language +- [ ] Huskies server has zero language-specific coverage logic — all intelligence is in the project's `script/test_coverage` ## Out of Scope