Repository navigation
chore: tranche 2 — nine more test suites leave core, and two dead ones are deleted - #2968
Merged
rbuergi merged 1 commit intoSep 1, 2026
Merged
Conversation
…s are deleted Stacked on #2847 (tranche 1, 17 suites). The directive is that all tests move out of core and are REMOVED from it; this is the second tranche. MOVED to MeshWeaver.Plugins (plugins#1097), where they build and RUN: PluginImage, Testcontainers, Kernel, Json, Reactive.Assertions, Search, Serialization, Todo, FutuRe. Nine of the smallest surviving leaves, chosen so the dual-path support-lib shape is proven at 20 test files rather than discovered at Graph.Test's 165. They cover all three dependency shapes: none, Fixture, Monolith.TestBase, and both. DELETED outright, because nothing anywhere uses them: MeshWeaver.Hub.Fixture — zero ProjectReferences in core, zero source mentions, zero in all three satellite repos. Only MeshWeaver.slnx named it, so it was built and referenced by nothing. MeshWeaver.TestDomain — zero consumers; its only mentions are its own files. (A Plugins skill doc quotes CashflowElement.cs as a modelling example by PATH; that citation is prose, not a build edge, and is being updated separately.) Safety, re-verified on the merged tree: no surviving project has a ProjectReference to any of the eleven, and after the deletion neither MeshWeaver.slnx nor shard-assign.sh names any of them. Coverage is not lost, and that is now CHECKED rather than asserted: plugins#1095's drift gate reports OK for all nine — every [Fact]/[Theory] in core's copy has a counterpart in Plugins (FutuRe 59, Json 60, Reactive.Assertions 23, Serialization 14, Kernel 11, Todo 6, PluginImage 4, Testcontainers 4, Search 3). Numbers that moved because the tree shrank, each re-derived by probing at 0: * TestTimeoutLiteralRatchetGuard.Baseline 401 -> 386 (the nine carried 15 literals). * BlockingBridgeInTestRatchetGuard.TotalBudget stays 26 and RouterAsTestRequestOriginRatchetGuard.TotalBudget stays 3 — neither .allow file names any of the nine, so neither budget moves. * ShardWeightHeadroomGuard's parse floor 20 -> 10. That is a NON-VACUITY floor — it catches a parse that returned nothing — so it has to track the table's real size: 41 entries -> 24 (#2847) -> 14 here. A floor left above the real count fails every run while claiming the parse broke. * shard-assign.sh: 10 weight rows removed, 24 entries/731 s -> 14/658 s. Hosting.Orleans.Test (269 s) remains the long pole and still clears the headroom trigger (60% of the 480 s cap = 288 s). Verified: full solution Release build with -warnaserror -> 59/59 projects, 0 warnings, 0 errors; dotnet test test/MeshWeaver.Documentation.Test -c Release -> 150/150 passed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
Contributor
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.
🚦 Stacked on #2847, and gated on two merges
Base is
chore/drop-migrated-tests, notmain. Merge order:Not armed. Deleting before #1097 lands would leave the nine running nowhere.
What moves
Nine of the smallest surviving leaves — nothing in core's tree references any of them — chosen so
the dual-path support-lib shape is proven at 20 test files rather than discovered at
Graph.Test's 165. They cover all three dependency shapes:PluginImage,Testcontainers,Kernel,JsonFixtureReactive.Assertions,Search,SerializationMonolith.TestBaseTodoFutuReWhat is DELETED outright — two dead projects
MeshWeaver.Hub.FixtureProjectReferences in core, zero source mentions, zero across all three satellites. OnlyMeshWeaver.slnxnamed it — built and referenced by nothing.MeshWeaver.TestDomainCashflowElement.csas a modelling example by path — prose, not a build edge; being updated separately.)These are not migrations. Nothing consumes them, so nothing needs them anywhere.
Coverage is CHECKED, not asserted
plugins#1095's drift gate reports OK
for all nine — every
[Fact]/[Theory]in core's copy has a counterpart in Plugins:FutuRe 59·Json 60·Reactive.Assertions 23·Serialization 14·Kernel 11·Todo 6·PluginImage 4·Testcontainers 4·Search 3In Plugins they were executed, not just compiled: 8 suites green (487 tests);
PluginImage's4 skip cleanly because
MW_TEST_IMAGEis unset locally — CI sets it — and every suite emitted a.trx, so none is the silent no-verdict shape.Safety, re-verified on the merged tree
No surviving project has a
ProjectReferenceto any of the eleven. After the deletion neitherMeshWeaver.slnxnorshard-assign.shnames one.Numbers that moved because the tree shrank — each re-derived by probing at 0
TestTimeoutLiteralRatchetGuard.BaselineBlockingBridgeInTestRatchetGuard.TotalBudget.allowfile names any of the nineRouterAsTestRequestOriginRatchetGuard.TotalBudgetShardWeightHeadroomGuardparse floorshard-assign.sh🚨 The parse floor is a NON-VACUITY check, not a policy floor — it exists to catch a parse that
returned nothing, so it has to track the table's real size: 41 entries → 24 (#2847) → 14 here. A
floor left above the real count fails every run while claiming the parse broke.
Hosting.Orleans.Test(269 s) remains the long pole and still clears the headroom trigger (60 % ofthe 480 s cap = 288 s).
Verification actually executed
MW_ALLOW_SOLUTION_BUILD=1 dotnet build MeshWeaver.slnx -c Release -warnaserror --no-incremental→ 59/59 projects, 0 warnings, 0 errors
dotnet test test/MeshWeaver.Documentation.Test -c Release→ 150/150 passed🤖 Generated with Claude Code