Defer the deadline scanner's adopter roster to the pin that asserts it - #2981
Merged
Merged
Conversation
CommandDeadlineScanner's class summary opened with a count and a roster of the pins routing through it. Nothing checked either, and both drifted: the count was written five, then six, then seven, then nine over #2938, #2940, #2966 and #2972, and the enumerated list never moved at all. CommandDeadlineScannerAdoptionTests already re-derives the adopting set from the tree and declares the deliberate abstainers beside it, so the summary now points there instead of restating it. Nothing left in the comment is countable, so there is no figure left to go stale. The same file quoted the MCP read surface's census as "112 of the MCP surface's 119 sites" to argue that the assignment spelling dominates. That numerator no longer holds - every site in McpReadCommandTimeoutTests' scope is assignment-spelled today - so the claim keeps its point and hands the census back to the pin that maintains it. The adoption pin's own rationale counted the names in the roster it replaced. That figure described a list this change removes, so it goes too.
|
Reviewed. This PR only touches XML doc comments in Spot-checked the factual claims against the current tree:
Nothing to flag — no correctness, parity, security, or perf issues found. |
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.
CommandDeadlineScanner's class summary opened with a count of the pins routing through it and a roster of their names. Nothing checked either one. The count was written five in #2938, six in #2940, seven in #2966 and nine in #2972; the roster never moved at all, which is the worse half — a reader looking for the adopters found the names as of extraction and no hint that others had joined.CommandDeadlineScannerAdoptionTestsalready re-derives the adopting set from the tree and declares the deliberate abstainers beside it, so any*CommandTimeoutTests.cslanding in neither list fails the build. The summary now points there and states nothing countable itself, so there is no figure left to go stale a fourth time.Two other figures go with it.
The
Assignsdoc argued that the name qualification is load-bearing rather than defensive by quoting "112 of the MCP surface's 119 sites" in the present tense. That numerator no longer holds: every command site inMcpReadCommandTimeoutTests' scope —Mcp/recursively plusCustomViewStore.csandDarlingWebEndpoints.cs, 126 of them today — is assignment-spelled. The claim keeps its point and hands the census back to the pin that maintains it.The adoption pin's own rationale counted the names in the roster it replaced. That figure described a list this change removes, so it goes too.
Deliberately unchanged:
IlCallSiteScannerTests' "two of the five pins" counts #2898's IL-walk duplicators, andCSharpSourceWalker's "five copies" counts what #2913 consolidated. Different censuses from this one.Verification
Darling.Testscompiles on macOS with-p:EnableWindowsTargeting=true: 0 errors, 38 pre-existing analyzer warnings, 4.3 s.The real
CommandDeadlineScanner.cs,CommandDeadlineScannerAdoptionTests.cs,DocCommentHygieneTests.cs,CSharpSourceWalkerTests.csandCSharpSourceWalker.cswere compiled by absolute path into a throwawaynet10.0xunit.v3 host staged outside the repo tree: 50 tests,Failed: 0,Not Run: 0. Test counts moved 24 → 25 → 50 across builds with a distinct output-assembly hash each time, so no run reported a previous binary's results.Red-first, one mutation at a time. A planted second
<summary>opening inCommandDeadlineScanner.cs(anchor count 1, content hasha20e3a2d→5bddb6f2) failed bothDocCommentHygieneTestsrules by name — which is simultaneously the proof that the hygiene scan reaches this file, since it enumerated 2191.csfiles including it. DroppingViewerCommandTimeoutTests.csfroms_adopters(anchor count 1,e7ebfbf7→095ad86d) failed the adoption pin, so the authority this comment now defers to is enforced rather than decorative. Both mutations restored byte-exact, with the tree clean afterwards.No project sets
GenerateDocumentationFile, so CS1574 cannot fire on a wrong cref. Both crefs this change adds —CommandDeadlineScannerAdoptionTestsandMcpReadCommandTimeoutTests— were verified by grep and are each already crefed elsewhere in the same project.