Repository navigation
Delete Lite Guard-stage tests that assert spelling, slice 5 (#5833) - #5841
Merged
Merged
Conversation
Censuses and pins on doc wording, SQL fragments, constants, grid column order, trait rosters and coverage allow-lists. Part of #5833.
QueryStoreClutterTests read the deleted Darling-only roster for a comment's wording; three doc comments named removed tests by cref. Part of #5833.
# Conflicts: # Lite.Tests/CrossAppMcpToolInventoryPinTests.cs
erikdarlingdata
marked this pull request as ready for review
October 15, 2026 04:32
This was referenced Oct 15, 2026
Merged
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.
Claude posting for Erik Darling.
Part of #5833.
Why
Erik's ruling on #5833: "tests should be load bearing". A Guard-stage test that fails on a correct change (a doc sentence, a SQL fragment, a constant's value, a roster, a call spelled a certain way at a line) protects nothing and costs a red run. This is slice 5 of the triage: 31 Lite.Tests files that carry
[Trait("Stage", "Guard")]and read source text.What changes
Test code only. No production code, nothing under
deprecated/, no new tests.DarlingReadsTraitGuardTestsamong them), 13 kept.Darling.Tests/QueryStoreClutterTests(see below).KnownLiteMissingMcpToolsandFormat(inventory pin),RepoPath/RepoRoot(AlertDeliveryChannelTests),ReadRepoFile(AzureSqlDatabaseMasterPinsTests),ToolDescription/DescriptionSpan(CrossSkuSurfaceSourceTests),InstallerNameFormats,RuntimeDemandPhrases,FrameworkRequirement,FrameworkDependentRequirements,DerivedInstallerNames,LinesMentioning(LiteRuntimePrerequisiteDocsTests), and the trait detector in DarlingReadsTraitGuardTests.Darling.Tests/QueryStoreClutterTests.TheLiteInventoryRatchet_NamesTheToolAsAPort_NotAnArchitecturalBoundaryread the deletedKnownLiteMissingMcpToolsroster to check the wording of a comment above one entry. Spelling, so it is deleted.Darling.Tests/FinOpsHotspotRegionTestshad a "Lite allow-list" row pointing at the deleted roster (which dev had just added four entries to; the merge drops them with it). The row is removed; the other three lists stay.<see cref>s to removed tests (Lite.Tests/ServerTabCapabilityPinTests.csline 27,Lite.Tests/ServiceBuildSurfaceTests.csline 26,Lite.Tests/LlmsTxtCollectorCensusTests.csline 19) became<c>text, soDocCommentHygieneTestsstill resolves every cref.Per file
TheLiteProducer_DeclaresItsTrayChannel: the spelling of a named argument at the call site.AlertSeverity.ForMetricnever returns, so users see the wrong colour key.v_view, silently loses history older than 7 days.TheAllowListHasNoStaleEntries: a stale-entry roster check.LogicalServerMasterEdition_MatchesTheCollectorsFormat: regexes over the collector's SQL wording.ci-select.py local-classeson a throwaway repository: a changed symbol that selects no class lets a red class through to CI.ci-select.py map-select: the selection must fall back to "run everything", never "run nothing". The env-drift check fails when a CI gate variable would never select its class.DarlingMcpTools_AreASupersetOfLite_ExceptKnownNamingDrift, a Lite MCP tool with no Darling twin. Removed: the Darling-only ratchet roster, the Lite-only allow-list equality, and the tool counts in the Darling instructions, the root README (two) and llms.txt (doc wording).get_collection_healthblocks across SKUs (a payload key one SKU drops), the fleet-scoped read-failure inventory, andstarted_at/counting_sinceequality. Removed:BothSkusToolDescriptions_StayByteIdenticalandTheSharedDescription_DocumentsTheServiceBlock(description wording). The file is also compiled into Darling.Tests.Reads=Darlingtrait census and its four detector self-tests (a trait roster, the same kind the issue cites). Kept:EveryDarlingFileLiteTestsCompiles_IsInTheFullSuiteFilter. A linked Darling file missing fromlite_linked_shardmeans editing it skips the Lite classes that run it. The class name is unchanged; its doc comment now says what is left.TheSharedSeedReads_AreByteIdenticalAcrossTheTwoHosts(SQL text identity).DuckDbInitializerin a test leaks a whole database (threads, handles, about 15 MB) per test until the test process runs out.TheGrid_ShowsNaAndTheNoteOnTheBaselineCells(XAML binding format strings).Stage=Guardtrait roster and its exemption list, with the detector self-tests.McpJsonPostGuardTestsreads the same source.SET LOCK_TIMEOUTguard in both query variants (a snapshot read that blocks on a monitored server), and the runner's 1222 catch (KEEP (wiring): a yield would count as a collection failure). RemovedQuerySnapshots_Is_The_Only_Flagged_Collector(a one-name roster) andDailySummary_Error_Count_Stays_ExactMatch_On_ERROR(SQL predicate wording).Undecided (kept; the coordinator rules)
CrossAppGuardCiGateTests.TheTimingSourceListing_IsTriedThreeTimes_AndAPageIsTakenOnlyWhenItsNewestPushRunIsFresh: it pins a retry count of three and the shell text of the freshness check, which is spelling. It also checks that artifact retention outlasts the freshness window, which is a real consistency rule.CrossAppGuardCiGateTests.ExactlyOneConsumerReadsAnotherRunsArtifacts_TheLiteShardPackersDownload: it keeps true a claim that build.yml's cancel-in-progress comment rests on.EntraDeviceCodeTests.TheDarlingViewerDoesNotOfferTheMode: a check that a UI option is absent (the Darling Viewer must not offer interactive device-code auth).CredentialManagerCollection's census class: a collection-membership roster, but a missing member is a real intermittent failure, so it stays as KEEP.Shared helpers left in place
ParitySource,CSharpSourceWalker,GuardStageScanner(Darling.Tests, linked into Lite.Tests; Darling's ownGuardStageCensusTestsin another slice still uses it) andCrossAppGuardCiGateTests.LiteFilterFilePatterns/ReadLiteShardScriptare all still used by surviving tests.Production code left unused
None found: no removed test was the only reader of a production member. Production comments still name the deleted
KnownLiteMissingMcpToolsroster:Darling/PerformanceMonitor.Darling.Service/Mcp/DarlingMcpQueryStoreClutterTools.csline 74,Darling/PerformanceMonitor.Darling.Service/Mcp/DarlingMcpStoreHostTools.csline 33 andDarling/PerformanceMonitor.Darling.Viewer/ViewerServerTab.Queries.csline 60, plus the test commentDarling.Tests/McpToolGuideHeads.PgB.csline 194. They are comments only, and the brief rules out production edits, so they are left for a follow-up.Test plan
dotnet build Lite.Tests -c Debuganddotnet build Darling/Darling.Tests -c Debug: 0 Warning(s), 0 Error(s).pre-push.sh), Guard stage, dev at the brief versus this branch:Darling.Tests Total: 4601,Lite.Tests Total: 1281Darling.Tests Total: 4607, Errors: 0, Failed: 0andLite.Tests Total: 1181, Errors: 0, Failed: 0. Lite has 100 fewer Guard cases. Dev's Darling count moved after the brief's figure; on Darling, this branch removes 1 method, the Darling-compiled copies of the 2 CrossSku methods, and 1 theory row.classes:line:classes: darling 2882, lite 779 (symbols: 183 candidates)GATE GREEN: guard stage of both suites and 2882+779 selected classes passed, run after merging origin/dev. The merge had one conflict: dev had added four entries to the deleted Darling-only roster, and the conflict was resolved by dropping the roster.SECTION: Changed
ENTRY: - Guard-stage spelling tests deleted, slice 5 ([#PR]) - 63 test methods in 19 files that asserted how code is spelled, not what it does.