Ecosystem composition¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
The Factory is a ConnectSoft product built from the ConnectSoft estate (decision D45). Some components exist and are used as they are, some exist and must be extended, and some must be developed. The generated ecosystem components catalog is the authority for the status of each component and for which Factory services depend on it (depends_on_components in the service model); this page is the narrative.
Build-versus-reuse map¶
flowchart LR
subgraph E["Exists — used as is"]
BT["BaseTemplate / MicroserviceTemplate"]
WT["WorkerTemplate"]
GW["ApiGatewayTemplate"]
AS["Authorization Server"]
ID["Identity microservice"]
HC["HealthChecks aggregator"]
MO["MessagingModel.Orleans (outbox/inbox)"]
MM["MessagingModel.MassTransit"]
OBS["Observability, Audit.NET, Compliance libraries"]
DI["DataIngestion"]
PU["InfrastructureModel (Pulumi)"]
end
subgraph X["Exists — extend"]
AT["AI Agent host template"]
AI["Extensions.AI + AgentsFramework + Factory libs"]
MCP["Extensions.ModelContextProtocol"]
SAAS["SaaS services: Tenants, ProductsCatalog, Entitlements, Billing, Metering"]
SX["Extensions.Saas.*"]
BL["Blazor Shell + MFEs + UIKit"]
end
subgraph D["Develop"]
CFG["Config Platform (feature management, configuration)"]
CP["Control plane modules: projects, publication, run control, approvals, usage"]
RT["Runtime worker: attempt execution, workflow engine, release loading"]
MG["Model gateway pipeline, capability registry, compute pools"]
KN["Knowledge: ingestion, retrieval contract, repository intelligence, artifacts, memory"]
TL["Tool executor, tool registry, MCP registry, sandbox broker"]
GOV["Policy engine, approval policy, secret broker, evaluation records"]
FL["Fleet operations"]
ST["Factory Studio modules and BFF"]
end
BT --> CP & RT & MG & KN & TL & GOV & FL
WT --> RT
GW --> ST
AS & ID --> CP
SAAS & SX --> CP
AT & AI & MCP --> RT & TL & MG
MO & MM --> CP & RT
BL --> ST
CFG --> CP
OBS --> CP & RT & KN & TL & GOV
DI --> KN
PU --> FL
Hold "Alt" / "Option" to enable pan & zoom
How each component is used¶
| Component | Status | Used for | What "extend" or "develop" means |
|---|---|---|---|
| BaseTemplate / MicroserviceTemplate | exists | Every Factory host and module follows its project model (EntityModel … InfrastructureModel) and template switches | — |
| WorkerTemplate | exists | The runtime worker, reconcilers and dispatchers | — |
| ApiGatewayTemplate | exists | GW-01 edge, GW-02 Studio BFF, GW-07 product gateways | — |
| Authorization Server, Identity microservice | exists | Sole token issuer; accounts, MFA, memberships, the seven Factory roles as claims | Role claims and delegation records added in the Identity template's role model |
| SaaS services (Tenants, ProductsCatalog, Entitlements, Billing, Metering) | extend | Factory tenancy, editions, entitlements, usage billing (BC-33, BC-34) | Factory-specific meters, editions and quota dimensions; descriptor regeneration goes through the blueprint import and the recipe path (ADR-0025) |
| Extensions.Saas.* | extend | Tenant resolution per canonical ADR-0100 | Orleans call-context tenant filter and messaging propagation are missing |
| AI Agent host template | extend | Runtime worker host | The three entry paths (lifecycle, MCP tool, DevUI) must converge on one lifecycle pipeline; Cancelled stage; scope on AgentTraceContext |
| Extensions.AI, AgentsFramework, AI.Factory libraries | extend | Model adapters, keyed agents, lifecycle hooks | Anthropic adapter (D16); model profile and receipt contracts; pin drift resolved |
| Extensions.ModelContextProtocol | extend | MCP hosting and governance | Authentication on by default for non-local exposure; MCP server registry |
| MessagingModel adapters (Orleans, MassTransit, NServiceBus) | exists | Transport profiles per ADR-0012 | Profile evidence (contract tests) to be produced |
| HealthChecks aggregator | exists | Factory and fleet health | — |
| Blazor Shell, MFEs, UIKit | extend | Factory Studio | Studio modules as MFEs; design-system alignment (D38); EN/HE/RU |
| Observability, Audit.NET, Compliance, DataIngestion, InfrastructureModel | exists | Telemetry, audit evidence, classification and redaction, ingestion pipeline, provisioning | — |
| Config Platform | develop | Feature flags, runtime configuration, edition overrides | Documented product; not implemented |
| Everything under "Develop" | develop | The Factory's own contexts (BC-01…BC-13, BC-16…BC-29, BC-34…BC-42) | Designed platform by platform in this site; nothing exists in code |
What must exist before what¶
This is a dependency view, not a schedule (no dates by direction).
- Foundations in use today: templates, identity, messaging adapters, observability — all exist; the Factory consumes them unchanged.
- Extensions that unblock the first governed workflow: scope on the Factory libraries, the lifecycle convergence in the agent host, MCP authentication, the Anthropic adapter, SaaS tenancy filters for Orleans.
- Control plane and runtime: Run Control, asset publication, policy and approval policy, usage accounting, the runtime worker with release loading — the minimum for one read-only run with one optional approval.
- Model, tools, knowledge: model gateway with profiles and receipts, governed tool executor, retrieval contract with scope before ranking.
- Experience and operations: Studio BFF and modules, observability projections, evaluation records, FinOps.
- Later: fleet operations, marketplace, scaffold engine as a service (optional after ADR-0025), compute pools and placement.
The dateless ordering is also expressed in capability dependencies.