[Chore] Cache extension coverage by ownership - #1631
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review statusThis PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging. Current step: Required CI passed. Waiting for automated review of the latest commit. If automated review does not start, a maintainer must restart it. Review-state labels are managed by this workflow; do not edit them manually. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
What changed
Why this change was made
The prior tree-sitter/general split left 414 general test files coupled to one cache key. Profiling found stable ownership boundaries of API, core, services, and misc tests, while production import cones overlap heavily. The implementation therefore isolates test-only invalidation but conservatively reruns all ownership lanes for shared production changes rather than risking false cache hits.
Impact
The five lane configs resolve to exactly the monolithic unit population: 478 discovered files, 8,411 tests, 469 LCOV source records, and 30,229 instrumented lines.
Measured isolated local cold times are API 16.2s, core 48.0s, services 36.6s, and misc 31.5s. The complete five-lane graph with tree-sitter completes in 1m56 cold and 310ms warm. An API-test-only change completes in 17.7s with five of six Turbo tasks restored; an API production change conservatively invalidates all four ownership lanes while retaining the tree-sitter cache.
Hosted Windows run 34793268975 completed successfully in 7m06s total. Its cold extension coverage step took 4m40s, down from 6m55s and 8m58s on the earlier two-lane cold runs (32% and 48% faster). The exhaustive coverage contract took 12s. A hosted partial-cache run was not manufactured with a no-op test edit; the deterministic local partial run is the measured evidence for that path.
Closes #115