!poolmap draws the map, but never said what the walk missed - #182
Merged
Merged
Conversation
The extension is already a shim over the shared walk -- it calls query::prepare_index, resolves no types of its own, and shares the snapshot caches -- but the walk's own assessment stopped at the library boundary. render_pool_map listed every diagnostic verbatim and rendered none of complete, unplaced_bytes, stalls or refused_chunks, so an operator got a picture with no statement of how much of the pool was not in it. Measured on a live 29671 kernel (windbg-mcp FOLLOWUPS.md item 100): the structured surface reported coverage: partial with gaps.unplaced_bytes 15,626,240 for a walk whose map said nothing, under 3,616 diagnostic lines that say what went wrong without ever saying what it cost. render_pool_map now takes the PoolSnapshotReport for the walk behind the index and appends a --- pool walk --- summary, on the empty-map path too, which is the case this is really for: with nothing to draw, "no allocation matches" and "the walk never reached the pool" are otherwise the same two lines. A --address miss carries it as well, including when coverage is complete, since that is what turns the miss into a real negative. The report comes from query::report_of, now pub(crate), rather than from the index's fields. Coverage has three states collapsed from two flags, and re-deriving that in the renderer is exactly how the two surfaces would drift apart -- which is the whole point of the extension being a shim. It is the walk's report, not the rendered index's, because the filter path rebuilds the index from retained spans: a summary taken after --paged would report the filtered count as the number of chunks walked. A test pins that, and mutating the call to derive from the rendered index reports "chunks walked: 1" against 2 and fails it. All five new tests were mutation-verified: dropping the summary from either path, collapsing BudgetExpired into Partial, and deriving the report from the filtered index are each caught by the test that claims them, with the edit confirmed applied rather than assumed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MUhLUt9rB6zd42Y25btB3h
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 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 |
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.
!dbgscope.poolmapis already a shim over the shared walk — it callsquery::prepare_index, resolves no types of its own, and shares the snapshot caches. But the walk's own assessment stopped at the library boundary:render_pool_maplisted every diagnostic verbatim and rendered none ofcomplete,unplaced_bytes,stallsorrefused_chunks. The operator got a picture with no statement of how much of the pool was not in it.Measured on a live 29671 kernel (windbg-mcp
FOLLOWUPS.mditem 100): the structured surface reportedcoverage: partialwithgaps.unplaced_bytes: 15,626,240for a walk whose map said nothing — under 3,616 diagnostic lines that say what went wrong without ever saying what it cost.What changed
render_pool_maptakes thePoolSnapshotReportfor the walk behind the index and appends:Three decisions worth the review:
--addressmiss carries it as well, including when coverage iscomplete— that is what turns the miss into a real negative rather than a shrug.query::report_of, nowpub(crate), not from the index's fields.coverageis three states collapsed from two flags, and re-deriving that in the renderer is precisely how the two surfaces would drift apart — which is the whole point of the extension being a shim.--pagedwould report the filtered count as the number of chunks walked. The extension takes the report before filtering.Gap lines appear only when nonzero, so a clean walk stays quiet and the line means something when it shows up.
Verification
cargo test: 430 passed, 0 failed, 13 ignored.cargo fmt --all --checkclean.cargo clippy --all-targets -- -D warningsreports 12 errors, all pre-existing — confirmed by running it against pristineHEADin a separate worktree, which reports the same 12, none in the three files this touches.All five new tests were mutation-verified, with the edit confirmed applied rather than assumed:
states_a_walk_that_fell_shortempty_map_still_carries_the_walkBudgetExpiredintoPartialseparates_an_expired_budget_from_a_partial_walkfiltered_map_reports_the_whole_walk(reportschunks walked: 1against 2)🤖 Generated with Claude Code
https://claude.ai/code/session_01MUhLUt9rB6zd42Y25btB3h