You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Foundation work for the plugin architecture (this milestone). The current engine bootstraps per-run state into process-global statics, walks targets strictly sequentially, and discovers extensions via magic priority numbers with non-deterministic tie-breaking. This epic makes the engine reentrant, test-isolatable, parallel-ready, and plugin-ready — entirely via backwards-compatible (facade-preserving) refactors.
All public static build properties (FalloutBuild.RootDirectory, Verbosity, Host, …) are preserved as facades over an internal BuildContext — no public breakage, so this stays on the 2026 line and does not need the year-cut breaking-change flow.
Out of scope
Caching / incrementality. Verified there is zero infrastructure for it today (only the coarse --continue invocation-hash). It's a large, product-level decision and the "delegate to MSBuild" stance is defensible. Tracked separately if/when desired.
Epic: Engine de-statification & extension-pipeline formalization
Foundation work for the plugin architecture (this milestone). The current engine bootstraps per-run state into process-global statics, walks targets strictly sequentially, and discovers extensions via magic priority numbers with non-deterministic tie-breaking. This epic makes the engine reentrant, test-isolatable, parallel-ready, and plugin-ready — entirely via backwards-compatible (facade-preserving) refactors.
All public static build properties (
FalloutBuild.RootDirectory,Verbosity,Host, …) are preserved as facades over an internalBuildContext— no public breakage, so this stays on the 2026 line and does not need the year-cut breaking-change flow.Out of scope
--continueinvocation-hash). It's a large, product-level decision and the "delegate to MSBuild" stance is defensible. Tracked separately if/when desired.Tickets & dependency order
BuildContext+ ambient activation (L, deps FT-1)BuildContext-backed facades (M, deps FT-2)ParameterService(M, deps FT-2)Evidence base
Findings grounded in:
BuildManager.cs,BuildExecutor.cs,ExecutionPlanner.cs,ExecutableTargetFactory.cs,FalloutBuild.Statics.cs,FalloutBuild.Events.cs,Logging.cs,ParameterService.Statics.cs,EnvironmentInfo.Arguments.cs,VerbosityMappingAttribute.cs,Fallout.Core/Planning/TopoSort.cs. Verified: execution is strictly sequential; there is no input/output caching.