Context
Runtime coupling is invisible to static extraction: files covered by the same test are behaviorally linked (test<->file bipartite; file<->file via shared coverage). Evidence: Meta Predictive Test Selection (ICSE-SEIP 2019) — >95% of individual test failures and >99.9% of faulty changes caught at half infra cost, i.e. the change->covered-test correlation is strong and stable; COTE test<->code precision 89.0 / recall 71.6.
Caveats (from the same literature)
Dynamic impact analysis has low recall when suites are thin (Ripple, ICSE 2026); coverage alone is noisier than static dependence for precision (Cai, SANER 2015). Use strictly as an additional channel.
Cost model & sequencing
One-time instrumented suite run per repo (coverage.py / nyc / cargo-llvm-cov), cached, staleness-tolerant. Wrong shape for the benchmark harness (per-instance suite runs) -> this is a production/serve-mode feature. Sequence after #134 (daemon). Priority: low until #130/#128 land.
Context
Runtime coupling is invisible to static extraction: files covered by the same test are behaviorally linked (test<->file bipartite; file<->file via shared coverage). Evidence: Meta Predictive Test Selection (ICSE-SEIP 2019) — >95% of individual test failures and >99.9% of faulty changes caught at half infra cost, i.e. the change->covered-test correlation is strong and stable; COTE test<->code precision 89.0 / recall 71.6.
Caveats (from the same literature)
Dynamic impact analysis has low recall when suites are thin (Ripple, ICSE 2026); coverage alone is noisier than static dependence for precision (Cai, SANER 2015). Use strictly as an additional channel.
Cost model & sequencing
One-time instrumented suite run per repo (coverage.py / nyc / cargo-llvm-cov), cached, staleness-tolerant. Wrong shape for the benchmark harness (per-instance suite runs) -> this is a production/serve-mode feature. Sequence after #134 (daemon). Priority: low until #130/#128 land.