System Context Diagram¶
This is a Level-1 C4 diagram. It shows the FCC framework as a single Software System and enumerates the actors and neighbouring systems that depend on it or that FCC depends on, along with the integration surface each relationship uses. The diagram is the bridge between the 4+1 UML views (how FCC is structured internally; see Logical, Process, Development, Physical, Scenarios) and the ecosystem dashboards at docs/ecosystem/alignment-status.md.
Figure 1 is the full context diagram. Integration-surface labels on each edge name the contract (entry points, MCP, A2A, VocabularyProviderPlugin, vendored YAML, HTTP, WebSocket).
flowchart TB
subgraph UsersG["End users"]
U1([Agent developer])
U2([Persona author])
U3([Compliance officer])
U4([Patent counsel])
end
subgraph UpstreamG["Upstream authorities"]
NEXUS["NEXUS / Research Center<br/>port and inventory registry"]
PHOENIX["PHOENIX / AI-COE-Docs<br/>quality gates<br/>open-science templates"]
end
FCC{{"FCC Agent Team Framework<br/>147 personas · 11 plugin types<br/>6 protocols · v1.3.7"}}
subgraph ConsumersG["Direct consumers"]
PAOM["PAOM / SENTINEL<br/>LLM router + budget"]
AOME["AOME / CRUCIBLE<br/>admin UI + auditor"]
CONSTEL["CONSTEL / PRISM<br/>federation v2"]
Distiller["Distiller / FORNAX<br/>vocab distillation"]
CTO["CTO<br/>object model"]
end
subgraph JVG["L2 JV libraries (Tier 2)"]
Athenium["Athenium / ATHENIUM<br/>analytics"]
Mnemosyne["Mnemosyne / MNEMOSYNE<br/>memory"]
end
subgraph VizG["Visualization partner"]
AURORA["AURORA / Sky Parlour<br/>live trace viewer"]
end
subgraph ConstG["10 constellation verticals"]
C1["Ophiuchus · Serpens<br/>medical 8600/8601"]
C2["Libra · Crater<br/>financial 8610/8611"]
C3["Scutum · Norma<br/>insurance 8620/8621"]
C4x["Pyxis · Vela<br/>energy 8630/8631"]
C5["Columba · Caelum<br/>government 8640/8641"]
end
NEXUS -->|vendored YAML<br/>port_allocation.yaml<br/>ecosystem_projects.yaml<br/>SHA256 drift check| FCC
PHOENIX -->|58 quality gates<br/>12 open-science templates| FCC
FCC -->|MCP + A2A<br/>R.I.S.C.E.A.R. spec| PAOM
FCC -->|A2A + events<br/>persona catalog| AOME
FCC -->|A2A + VocabularyProviderPlugin<br/>federation v2| CONSTEL
FCC -->|VocabularyProviderPlugin<br/>Tier 2 library| Distiller
FCC -->|ObjectModel bridge<br/>CTOFacadeAdapter| CTO
FCC -.VocabularyProviderPlugin<br/>entry points.-> Athenium
FCC -.VocabularyProviderPlugin<br/>entry points.-> Mnemosyne
FCC -->|WebSocket events<br/>8765 bridge| AURORA
FCC -.Tier 3 plugins<br/>fcc-*-plugin wheels.-> C1
FCC -.Tier 3 plugins<br/>fcc-*-plugin wheels.-> C2
FCC -.Tier 3 plugins<br/>fcc-*-plugin wheels.-> C3
FCC -.Tier 3 plugins<br/>fcc-*-plugin wheels.-> C4x
FCC -.Tier 3 plugins<br/>fcc-*-plugin wheels.-> C5
U1 -->|Python SDK + CLI| FCC
U2 -->|fcc add-persona CLI| FCC
U3 -->|fcc compliance-audit| FCC
U4 -->|fcc evaluation<br/>model cards| FCC
Actors and relationships¶
Upstream authorities¶
NEXUS / Research Center is the authoritative registry for ports
and project inventory. FCC v1.3.5.4 vendors the two canonical YAML
files (port_allocation.yaml, ecosystem_projects.yaml) under
src/fcc/data/ecosystem/ and pins both by SHA256 in a CI contract
test. When NEXUS bumps its registry, FCC's drift test flags the
update; a manual sync-and-commit is the handoff.
PHOENIX / AI-COE-Docs owns the 58 quality-gate registry and 12
open-science templates consumed by governance/ and
evaluation/. PHOENIX is a Tier 2 consumer of FCC for its own
persona catalog but an upstream authority for the gate definitions;
the two roles are independent.
Direct consumers¶
PAOM / SENTINEL is the LLM router with a budget manager. It consumes FCC persona and RISCEAR specs over MCP (port 9001) and publishes routing telemetry back on A2A. PAOM pins FCC explicitly and is a Tier 2 partner.
AOME / CRUCIBLE is the React admin UI plus forensic auditor; it consumes persona events from FCC's WebSocket bridge and renders them in the admin dashboards. Tier 1 (Strict): AOME's CI breaks if FCC contracts drift.
CONSTEL / PRISM is the federation v2 node that uses FCC's VocabularyProviderPlugin pattern plus a JWT-authenticated CLI admin layer to coordinate cross-project drift detection. Tier 1 (Strict).
Distiller / FORNAX distills vocabularies into VocabularyMapping records that FCC can ingest. Tier 2 (Active).
CTO provides the object-model bridge — the CTOFacadeAdapter at
src/fcc/objectmodel/cto_bridge.py is the integration seam. Tier 3
(Minimal): FCC runs without CTO installed, but when it is present the
bridge gives repository-pattern access to CTO's object model.
L2 JV libraries (Tier 2)¶
Athenium (analytics) and Mnemosyne (memory) are Crucible L2
libraries that ship as PyPI packages declaring
fcc.vocabulary_providers entry points. FCC discovers them at
PluginRegistry.load_all() time; there is no running service and no
port conflict. The 8500 and 8510 ports are claimed in
port_allocation.yaml for a future service-ised form.
Visualization partner¶
AURORA / Sky Parlour subscribes to FCC's event bus through the WebSocket bridge at port 8765 and renders live workflow traces. The Phase 17 context enricher takes FCC events and annotates them with persona metadata before drawing the D3 visualization. AURORA's own backend reserves ports 8300-8399; the constellation port shift (ADR-007) preserved that range.
Constellation verticals¶
Ten vertical packages — Ophiuchus, Serpens (medical), Libra,
Crater (financial), Scutum, Norma (insurance), Pyxis, Vela
(energy), Columba, Caelum (government) — ship today as
plugins/fcc-*-plugin/ wheels inside this repository and will become
independent GitHub repos in v1.4.0 (Pillar 1). Their FastAPI
services occupy 8600-8641; they consume the VocabularyProviderPlugin
surface like any other sibling.
RC / NEXUS gates its GraphRAG on FCC v1.4 release, because the GraphRAG implementation depends on the FederatedKnowledgeGraph surface that v1.4.0 stabilises. That dependency is the most load-bearing cross-project commitment on the current roadmap.
End users¶
Agent developers write new workflows using the Python SDK and
CLI. Persona authors use fcc add-persona to add to the
catalog. Compliance officers run fcc compliance-audit and
consume the resulting dashboard. Patent counsel use the
evaluation and model-card surfaces to produce defensible
documentation trails.
Integration surface summary¶
| Surface | Used by | Direction | Source |
|---|---|---|---|
fcc.plugins entry points |
Athenium, Mnemosyne, constellation plugins | inbound at import | pyproject.toml, src/fcc/plugins/registry.py |
fcc.vocabulary_providers entry points |
Athenium, Mnemosyne, Distiller | inbound at import | src/fcc/plugins/base.py |
| MCP | PAOM, external tools | inbound JSON-RPC | src/fcc/protocols/mcp/server.py |
| A2A | AOME, CONSTEL, PHOENIX | bidirectional | src/fcc/protocols/a2a/server.py |
| WebSocket bridge :8765 | AURORA, frontend | outbound push | fcc protocol ws-bridge |
| Vendored YAML | NEXUS | inbound via git | src/fcc/data/ecosystem/*.yaml |
| ObjectModel bridge | CTO | bidirectional | src/fcc/objectmodel/cto_bridge.py |
| Python SDK + CLI | All end users | inbound | src/fcc/scaffold/cli.py |
Each row is a contract boundary. Changes to any row belong in an ADR
under docs/decisions/ and in the relevant Scenarios-View use case
under uml/scenarios-view.md.
Trust tiers and coupling strength¶
The nineteen neighbours in Figure 1 split into three trust tiers that drive deployment, CI gating, and release cadence. Figure 2 isolates the tier-to-tier couplings; it is the model underlying the ecosystem alignment-status dashboard.
flowchart LR
subgraph T1["Tier 1 — Strict<br/>CI breaks on drift"]
AOME2[AOME / CRUCIBLE]
CONSTEL2[CONSTEL / PRISM]
end
subgraph T2["Tier 2 — Active<br/>version-pinned"]
PAOM2[PAOM]
PHOENIX2[PHOENIX]
AURORA2[AURORA]
Dist2[Distiller]
Ath2[Athenium]
Mn2[Mnemosyne]
end
subgraph T3["Tier 3 — Minimal<br/>optional runtime"]
CTO2[CTO bridge]
CONST2[10 constellations]
end
FCC2{{FCC v1.3.7}}
FCC2 ==>|hard contract| T1
FCC2 -->|soft contract<br/>entry-points / MCP| T2
FCC2 -.optional.-> T3
Inbound vs outbound data-flow¶
The final figure is a minimal DFD restricted to the system boundary.
It is the Level-0 view used when reasoning about privacy, audit, and
network-zone placement. Inbound sources feed PersonaRegistry,
PluginRegistry, and governance/ at import time; outbound sinks
receive event-bus payloads and HTTP/WebSocket responses at runtime.
flowchart LR
subgraph Inbound["Inbound (import-time)"]
EP[Entry-point plugin wheels]
YAML[Vendored YAML registries]
CFG[Scenario JSON configs]
end
subgraph FCCRuntime["FCC runtime boundary"]
PR[PersonaRegistry]
PL[PluginRegistry]
GV[governance/*.yaml]
SE[SimulationEngine]
EB[EventBus]
end
subgraph Outbound["Outbound (run-time)"]
WS[WebSocket :8765]
MCP[MCP :9001 responses]
A2A[A2A responses]
ART[Artifacts /out, /publications]
end
EP --> PL
YAML --> GV
CFG --> SE
PR --> SE
PL --> SE
SE --> EB
EB --> WS
SE --> MCP
SE --> A2A
SE --> ART
See also¶
- Ecosystem alignment status
src/fcc/data/ecosystem/port_allocation.yamlsrc/fcc/data/ecosystem/ecosystem_projects.yaml- Logical View
- Physical View
- Scenarios View
- API boundaries
- Plugin boundaries