Skip to content

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