Lift Partition into Fallout.Core (Phase 2a)#14
Open
ChrisonSimtian wants to merge 1 commit into
Open
Conversation
3 tasks
695dd96 to
e4df566
Compare
b6e137b to
be21446
Compare
Phase 2a of the de-statification groundwork: move the pure Partition model (CI test/build partitioning — int Part/Total, IsIn, GetCurrent<T>, nested TypeConverter; all BCL) down into Fallout.Core. It's one of the types that blocks lifting IFalloutBuild (IFalloutBuild.Partition); moving it is a zero-risk, non-breaking step. Namespace kept as Fallout.Common.CI, so no consumer edits; already in the architecture naming-drift baseline by full name, so the ratchet stays green with no baseline change. Configure<T> (the other IFalloutBuild blocker evaluated for 2a) is deliberately left untouched: it must stay consumable by the netstandard2.0 Fallout.Tooling, so it cannot move into netstandard2.1 Fallout.Core. Its resolution is folded into the 2e IFalloutBuild interface-split (ReportSummary can simply stay off the Core contract). See the netstandard2.0-constraint note. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e4df566 to
3e0c70e
Compare
be21446 to
b2565b2
Compare
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.
Phase 2a of the de-statification groundwork — the zero-risk shrink of
IFalloutBuild's blocker set.What moved
Partition(CI test/build partitioning —int Part/Total,IsIn,GetCurrent<T>, nestedTypeConverter; all BCL) →Fallout.Core. Namespace kept asFallout.Common.CI→ no consumer edits; already in the naming-drift baseline → no baseline change.Configure<T> — deliberately untouched (and why)
The other
IFalloutBuildblocker evaluated for 2a wasConfigure<T>. It can't move to Core:ConfigureExtensionskeeps it in use fromFallout.Tooling, which targets netstandard2.0 and therefore cannot reference netstandard2.1Fallout.Core. It also can't live in the ns2.0 tooling leaf (Core can't reference that). So its resolution is folded into the 2eIFalloutBuildinterface-split:ReportSummary(the only member using it) can simply stay off the CoreIFalloutBuildcontract — no move, no breaking reshape.This is a symptom of a broader root constraint (the ns2.0 tooling/generator/MSBuild stack vs ns2.1 Core) that's now tracked separately as a cleanup.
Verification
fallout.slnxbuild: 0 errors.🤖 Generated with Claude Code