Repository navigation
Conversation
Signed-off-by: Ivy Zhang <25222398+crazydemo@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
CBTS currently tries to infer runtime consumers through callers, decorators, cached values, reflection and shared pytest state. These bounds can force full CI even when the changed code has directly recorded coverage. Full CI also does not establish whether newly introduced paths have adequate assertions.
Map verified Python patches to the union of directly changed symbols in the old and new source images, then query the coverage DB by
(file, qualname). Missing file/function records contribute no inferred tests. Deleted functions use their old symbols. Module/class/definition-time changes additionally require a registered import-sanity inventory. For example, a cached method body change selects its recorded tests without traversing cache-hit callers; changing a module binding queries<module>and retains import sanity without inferring every reader.Preserve PR-added/modified tests, explicit rule contributions, unknown test entries, incomplete collection records, shared-block protections, CPU obligations and the existing multi-GPU gate. Missing or unusable source/patch data, unsupported residual files and incompatible coverage baselines still prevent narrowing. The legacy
--no-data-policyvalues remain accepted; all now use the lookup-only behavior and the default becomesignore.Add cold subprocess imports and a unified 28-selector sanity inventory, with CPU/package-sanity registration and the missing H100 registration. Retain registered test consumers for explicitly mapped test infrastructure. Update selection diagnostics, documentation and regression coverage.
Test Coverage
5f66e8a10ein a local merge-tree check.2d5b1fb68fee16b49b43f501d9165af23fb83c33), pre-merge mode, multi-GPU gate closed. Both policies use the same complete sanity registrations with matching CPU/non-CPU marker eligibility. DB SHA256:b37654fac2fe0fe102ba1cda82f52b6208508258590c59f75b0344ea1591a698.Seven additional compatible hits: #20903, #21204, #21220, #21463, #21192, #21466 and #21121. No previously compatible hit was lost. Remaining fallback: #21280 has C++ residual changes; #20104 has CUDA residual changes; #21225 has a patch conflict with the coverage baseline in
mega_moe_cute_dsl.py.The replay checked 1,008 required sanity-retention obligations and 8,274 direct-coverage or untrusted-entry obligations; 9 replay-alignment helper tests passed, with no replay errors. Counts are weighted YAML entries, not expanded pytest cases or measured GPU savings. The replay executes the selector, not historical product builds. The real native/CUDA cold-import inventory has not been executed at this PR head; passing retained or full CI does not prove coverage of new paths.
Fixed replay cohort and per-PR outcomes
d9a177c57a042776e1703b4bbce3d117b03c69d73b74af0c2a31903dc6554f9a5bda8e9ae18191255208f1284d004f6cc4ecb7dae0264521f0dbd18b448febe2a67017065e01d246bdaa61fc65496d9f4760c852f063a7f7d13a62902cec2a8a28b0216dbc77820e714861cb105990e95a4c0de9799f0706The table shows raw selector counts; effective totals above restore the full entry count for baseline-incompatible selections.
PR Checklist