diff --git a/Directory.Build.props b/Directory.Build.props
index 0643bf6..f3a7b9e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -3,8 +3,8 @@
AgileWebs
AgileWebs
git
- http://192.168.10.100:3000/AgileWebs/operations-domain
- http://192.168.10.100:3000/AgileWebs/operations-domain
+ https://gitea.dream-views.com/AgileWebs/operations-domain
+ https://gitea.dream-views.com/AgileWebs/operations-domain
false
diff --git a/docs/architecture/control-plane-responsibilities.md b/docs/architecture/control-plane-responsibilities.md
new file mode 100644
index 0000000..b864e3b
--- /dev/null
+++ b/docs/architecture/control-plane-responsibilities.md
@@ -0,0 +1,13 @@
+# Operations Domain Responsibilities
+
+Operations is the restaurant control plane.
+
+## Owns
+- Policy resolution and precedence decisions.
+- Feature flag and rollout decisions.
+- Service-window and operational override decisions.
+
+## Does Not Own
+- Kitchen order execution state transitions.
+- POS transaction finalization workflows.
+- BFF edge adaptation logic.
diff --git a/docs/roadmap/feature-epics.md b/docs/roadmap/feature-epics.md
new file mode 100644
index 0000000..d42d564
--- /dev/null
+++ b/docs/roadmap/feature-epics.md
@@ -0,0 +1,18 @@
+# Feature Epics
+
+## Repository
+operations-domain
+
+## Core Epics
+- Epic 1: Expand domain-aligned capabilities for restaurant operations.
+- Epic 2: Stabilize service contracts for containerized runtime integration.
+- Epic 3: Improve observability and operational readiness for demo compose environments.
+
+## Domain-Specific Candidate Features
+- Order lifecycle consistency and state transitions.
+- Kitchen queue and dispatch optimization hooks.
+- Operations control-plane policies (flags, service windows, overrides).
+- POS closeout and settlement summary alignment.
+
+## Documentation Contract
+Any code change in this repository must include docs updates in the same branch.
diff --git a/src/Operations.Domain/Decisions/IOperationsControlPlaneService.cs b/src/Operations.Domain/Decisions/IOperationsControlPlaneService.cs
new file mode 100644
index 0000000..4a82a28
--- /dev/null
+++ b/src/Operations.Domain/Decisions/IOperationsControlPlaneService.cs
@@ -0,0 +1,12 @@
+using Operations.Domain.Models;
+
+namespace Operations.Domain.Decisions;
+
+public interface IOperationsControlPlaneService
+{
+ OperationalControlPlaneDecision Evaluate(
+ string locationId,
+ DateTime nowUtc,
+ IReadOnlyDictionary featureFlags,
+ IReadOnlyCollection overrides);
+}
diff --git a/src/Operations.Domain/Decisions/OperationsControlPlaneService.cs b/src/Operations.Domain/Decisions/OperationsControlPlaneService.cs
new file mode 100644
index 0000000..f03157c
--- /dev/null
+++ b/src/Operations.Domain/Decisions/OperationsControlPlaneService.cs
@@ -0,0 +1,22 @@
+using Operations.Domain.Models;
+
+namespace Operations.Domain.Decisions;
+
+public sealed class OperationsControlPlaneService : IOperationsControlPlaneService
+{
+ public OperationalControlPlaneDecision Evaluate(
+ string locationId,
+ DateTime nowUtc,
+ IReadOnlyDictionary featureFlags,
+ IReadOnlyCollection overrides)
+ {
+ var open = featureFlags.TryGetValue($"location:{locationId}:open", out var isOpen) ? isOpen : true;
+ var enabled = featureFlags.TryGetValue($"location:{locationId}:enabled", out var isEnabled) ? isEnabled : true;
+
+ var explanation = open && enabled
+ ? "Control-plane allows operations for the location."
+ : "Control-plane disabled operations for the location.";
+
+ return new OperationalControlPlaneDecision(open, enabled, overrides, explanation);
+ }
+}
diff --git a/src/Operations.Domain/Models/OperationalControlPlaneDecision.cs b/src/Operations.Domain/Models/OperationalControlPlaneDecision.cs
new file mode 100644
index 0000000..33b2976
--- /dev/null
+++ b/src/Operations.Domain/Models/OperationalControlPlaneDecision.cs
@@ -0,0 +1,7 @@
+namespace Operations.Domain.Models;
+
+public sealed record OperationalControlPlaneDecision(
+ bool IsServiceWindowOpen,
+ bool IsFeatureEnabled,
+ IReadOnlyCollection AppliedOverrides,
+ string Explanation);