Control Plane — bounded contexts¶
Generated from the architecture model
This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.
flowchart LR
subgraph control_plane["Control Plane"]
BC_01["BC-01<br/>Project & Environment"]
BC_03["BC-03<br/>Run Control"]
BC_04["BC-04<br/>Asset Publication"]
BC_05["BC-05<br/>Usage Accounting"]
BC_32["BC-32<br/>Shared Identity & Access"]
BC_33["BC-33<br/>Factory Tenancy & Entitlements"]
BC_34["BC-34<br/>Factory Commercial"]
end
| Context | Authoritative state | Services | Status |
|---|---|---|---|
| BC-01 Project & Environment | Project, environment, module/dependency metadata, scope ids | 5 | target |
| BC-03 Run Control | Run, step, attempt, lease, approval instance and decision, cancellation, recovery journal | 8 | target |
| BC-04 Asset Publication | Immutable release manifests and dependency closure for agents, skills, tools, workflows, policies | 4 | target |
| BC-05 Usage Accounting | Usage facts, reservations, pricing revisions, reconciliation | 3 | target |
| BC-32 Shared Identity & Access | Canonical Identity Platform (ADR-0101) — inherited, not owned | 4 | current |
| BC-33 Factory Tenancy & Entitlements | Canonical multitenancy (ADR-0100) plus Factory scope, edition, quota | 4 | target |
| BC-34 Factory Commercial | Factory editions, subscriptions, billing and metering records (reuses the SaaS templates; D34) | 1 | target |
BC-01 Project & Environment¶
Authoritative state: Project, environment, module/dependency metadata, scope ids | Service | Granularity | Host | Status | |---|---|---|---| | ControlPlaneApi | standalone host | — | target | | DependencyService | module of host | ControlPlaneApi | unmodelled | | EnvironmentService | module of host | ControlPlaneApi | target | | ModuleCatalogService | module of host | ControlPlaneApi | unmodelled | | ProjectService | module of host | ControlPlaneApi | target |
Events produced: EnvironmentCreated, EnvironmentStateChanged, ProjectCreated, ProjectStateChanged, MembershipChanged, DelegationChanged, SourceScopeChanged
BC-03 Run Control¶
Authoritative state: Run, step, attempt, lease, approval instance and decision, cancellation, recovery journal · Decisions: ADR-0014 | Service | Granularity | Host | Status | |---|---|---|---| | AgentTaskService | module of host | ControlPlaneApi | unmodelled | | ApprovalService | module of host | ControlPlaneApi | unmodelled | | ProcessStateService | module of host | ControlPlaneApi | unmodelled | | ReviewCenterService | module of host | ControlPlaneApi | unmodelled | | TaskAssignmentService | module of host | ControlPlaneApi | unmodelled | | RunControlService | module of host | ControlPlaneApi | target | | WorkflowOrchestrator | module of host | ControlPlaneApi | unmodelled | | WorkflowReplayService | later stage | — | unmodelled |
Events produced: RunAccepted, RunStateChanged, RunCompleted, RunFailed, RunCancelled, AttemptDispatched, AttemptOutcomeRecorded, LeaseExpired, ApprovalRequested, ApprovalDecided
BC-04 Asset Publication¶
Authoritative state: Immutable release manifests and dependency closure for agents, skills, tools, workflows, policies | Service | Granularity | Host | Status | |---|---|---|---| | AgentCardService | module of host | ControlPlaneApi | target | | AgentRegistryService | module of host | ControlPlaneApi | target | | SkillRegistryService | module of host | ControlPlaneApi | unmodelled | | WorkflowDefinitionService | module of host | ControlPlaneApi | unmodelled |
Events produced: AgentCardPublished, AgentCardWithdrawn, AssetReleaseSubmitted, AssetReleasePublished, AssetReleaseDeprecated, AssetReleaseRevoked
BC-05 Usage Accounting¶
Authoritative state: Usage facts, reservations, pricing revisions, reconciliation | Service | Granularity | Host | Status | |---|---|---|---| | CostTelemetryService | module of host | ControlPlaneApi | unmodelled | | CostUsageService | module of host | ControlPlaneApi | target | | QuotaService | module of host | ControlPlaneApi | unmodelled |
Events produced: BudgetReserved, BudgetReservationDenied, ReservationSettled, UsageRecorded, UsageReconciled, BudgetUpdated
BC-32 Shared Identity & Access¶
Authoritative state: Canonical Identity Platform (ADR-0101) — inherited, not owned | Service | Granularity | Host | Status | |---|---|---|---| | ApiTokenService | external / canonical | — | unmodelled | | AuthorizationService | external / canonical | — | unmodelled | | IdentityService | external / canonical | — | unmodelled | | ServiceIdentityService | external / canonical | — | unmodelled |
BC-33 Factory Tenancy & Entitlements¶
Authoritative state: Canonical multitenancy (ADR-0100) plus Factory scope, edition, quota · Decisions: ADR-0015 | Service | Granularity | Host | Status | |---|---|---|---| | EditionService | external / canonical | — | unmodelled | | FeatureFlagService | external / canonical | — | unmodelled | | SubscriptionService | external / canonical | — | unmodelled | | TenantService | external / canonical | — | unmodelled |
BC-34 Factory Commercial¶
Authoritative state: Factory editions, subscriptions, billing and metering records (reuses the SaaS templates; D34) | Service | Granularity | Host | Status | |---|---|---|---| | FactoryCommercialService | module of host | ControlPlaneApi | target |
Events produced: SubscriptionChanged, InvoiceIssued