diff --git a/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs b/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs
index ad53bb3e4..5d2a46d59 100644
--- a/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs
+++ b/src/Fallout.Build/Execution/Extensibility/BuildExtensionAttributeBase.cs
@@ -4,11 +4,6 @@
namespace Fallout.Common.Execution;
-public interface IBuildExtension
-{
- float Priority { get; }
-}
-
[AttributeUsage(AttributeTargets.Class)]
public abstract class BuildExtensionAttributeBase : Attribute, IBuildExtension
{
@@ -52,8 +47,3 @@ public interface IOnTargetFailed : IBuildExtension
{
void OnTargetFailed(ExecutableTarget target);
}
-
-public interface IOnBuildFinished : IBuildExtension
-{
- void OnBuildFinished();
-}
diff --git a/src/Fallout.Build/CICD/IBuildServer.cs b/src/Fallout.Core/CI/IBuildServer.cs
similarity index 100%
rename from src/Fallout.Build/CICD/IBuildServer.cs
rename to src/Fallout.Core/CI/IBuildServer.cs
diff --git a/src/Fallout.Core/Execution/IBuildExtension.cs b/src/Fallout.Core/Execution/IBuildExtension.cs
new file mode 100644
index 000000000..d4d821aa6
--- /dev/null
+++ b/src/Fallout.Core/Execution/IBuildExtension.cs
@@ -0,0 +1,18 @@
+namespace Fallout.Common.Execution;
+
+///
+/// Root marker for a build extension — the stable seam the plugin SDK builds lifecycle
+/// listeners on. Higher runs earlier.
+///
+public interface IBuildExtension
+{
+ float Priority { get; }
+}
+
+///
+/// Build extension invoked once the build has finished (whatever the outcome).
+///
+public interface IOnBuildFinished : IBuildExtension
+{
+ void OnBuildFinished();
+}
diff --git a/src/Fallout.Build/Theming/IHostTheme.cs b/src/Fallout.Core/Execution/Theming/IHostTheme.cs
similarity index 100%
rename from src/Fallout.Build/Theming/IHostTheme.cs
rename to src/Fallout.Core/Execution/Theming/IHostTheme.cs