Six Pillars Overview (v1.5.0)¶
v1.5.0 introduced six architectural pillars in a single "big bang" release. This diagram is the bird's-eye view of how those pillars relate, which module carries each, and which SemVer promotion surface each touches. ADR-010 captures the decision to ship all six together rather than serializing them across patches; the precedent of strict DO-NOT-TOUCH agent partitioning made the parallel delivery feasible.
The six pillars: (A) scaffolding for canonical seed data, (B) graph-aware retrieval (GraphRAG), (C) i18n infrastructure, (D) real-time multi-user collaboration via CRDT, (E) bidirectional federation, (F) performance (LRU caching + incremental indexing + memoization + benchmark harness). Pillars A and C are owner-approval gated at runtime; Pillars B / D / E / F are fully enabled at import.
classDiagram
class PillarA_Scaffolding {
<<Pillar A — gated>>
seed_canonical.py
+dry_run() manifest
+download(licenses_accepted) None
}
class PillarB_GraphRAG {
<<Pillar B — enabled>>
rag/graphrag.py
+GraphRAG
+GraphRAGResult
+assemble_context()
+retriever_from_graph()
}
class PillarC_I18n {
<<Pillar C — gated>>
frontend/src/i18n/
docs/i18n/
+mkdocs-static-i18n
+TRANSLATE markers
}
class PillarD_CRDT {
<<Pillar D — enabled>>
collaboration/crdt.py
collaboration/multi_user.py
+CRDTBackend (Protocol)
+InMemoryBackend
+YPyBackend
+CollaborativeDocument
+MultiUserSession
+MultiUserEngine
}
class PillarE_BiDirFederation {
<<Pillar E — enabled>>
federation/bidirectional.py
+BidirectionalSync
+Conflict
+SyncReport
+Resolution
}
class PillarF_Performance {
<<Pillar F — enabled>>
search/incremental.py
compliance/memoization.py
LRU caching on hot paths
+BenchmarkHarness
}
class FccApi {
<<stable SemVer 1.x>>
fcc.api.archive
fcc.api.knowledge
fcc.api.rag
fcc.api.collaboration
fcc.api.federation
}
class PolarisBridge {
<<v1.5.0 stable>>
archive/polaris_bridge.py
}
class LyraBridge {
<<v1.5.0 stable>>
knowledge/lyra_bridge.py
}
class UniversalServices {
<<22-entry superset>>
docs/ecosystem/universal-services.md
}
class EcosystemADRs {
<<MADR 4.0, v1.5.1>>
ADR-006 dual-bus
ADR-007 SAFe
ADR-008 POLARIS
ADR-009 universal services
ADR-010 six pillars
ADR-011 GraphRAG+Zachman
ADR-012 CRDT
ADR-013 bidirectional federation
}
PillarB_GraphRAG ..> LyraBridge : augments via
PillarB_GraphRAG ..> PillarF_Performance : LRU-cached hot paths
PillarD_CRDT ..> PillarB_GraphRAG : compatible (no hard dep)
PillarE_BiDirFederation ..> PillarF_Performance : incremental resolution
PillarA_Scaffolding ..> FccApi : feeds canonical data
PillarC_I18n ..> FccApi : uses translation markers
FccApi *-- PolarisBridge : archive.*
FccApi *-- LyraBridge : knowledge.*
FccApi *-- PillarB_GraphRAG : rag.*
FccApi *-- PillarD_CRDT : collaboration.*
FccApi *-- PillarE_BiDirFederation : federation.*
EcosystemADRs ..> PillarA_Scaffolding : ADR-010
EcosystemADRs ..> PillarB_GraphRAG : ADR-011
EcosystemADRs ..> PillarC_I18n : ADR-010
EcosystemADRs ..> PillarD_CRDT : ADR-012
EcosystemADRs ..> PillarE_BiDirFederation : ADR-013
EcosystemADRs ..> UniversalServices : ADR-009
Three cross-cutting observations. First, Pillars B and D share nothing
structurally — GraphRAG and CRDT are separate subsystems — but they
both flow events onto the same lane-routed event bus (see
../data-flow-diagrams/dual-bus-lane-routing.md). GraphRAG query
progress rides the UX lane; CRDT session membership rides the UX lane
too; both contribute to live dashboard views without interfering with
each other. Second, Pillar E's BidirectionalSync composes with
Pillar F's incremental search index: a sync that applies 500 changes
re-indexes only those 500 entities, not the full namespace. Third, all
six pillars landed with ≥99% coverage on line + branch — the
parallel-agent fan-out shipped 220+ new tests across the six modules.
Migration call-outs: Pillar B's GraphRAG is additive; the pre-v1.5.0
RAGPipeline keeps working unchanged. Pillar D is additive on top of
the single-user CollaborationEngine; multi-user sessions are a
separate subsystem. Pillar E extends the existing FederationRegistry
with one new class; no breaking changes to the registry's surface.
Pillar F is transparent — callers get speedups without changing code.
Key contracts¶
- Pillar A (scaffolding) —
publications/scripts/seed_canonical.py; dry-run mode only is automatic, download requires--i-understand-external-license-implications. - Pillar B (GraphRAG) —
fcc.rag.graphragexposesGraphRAG.query,GraphRAGResult,assemble_context; see../sequence-diagrams/graphrag-zachman-filter.md. - Pillar C (i18n) —
frontend/src/i18n/+docs/i18n/+mkdocs-static-i18n; ships English baseline plus FR/ES/DE scaffolding with{{TRANSLATE_*}}markers. - Pillar D (CRDT) —
fcc.collaboration.crdt+fcc.collaboration.multi_user; see../sequence-diagrams/crdt-multi-user-merge.mdand../use-case-diagrams/multi-user-session.md. - Pillar E (bidirectional federation) —
fcc.federation.bidirectional; see../sequence-diagrams/bidirectional-federation-sync.md. - Pillar F (performance) — LRU caches +
fcc.search.incremental+fcc.compliance.memoization+ benchmark harness; ≥20% latency improvement on hot-path persona lookups and RAG queries. - POLARIS bridge —
fcc.archive.polaris_bridge(v1.5.0 stable). Seepolaris-bridge.md. - LYRA bridge —
fcc.knowledge.lyra_bridge(v1.5.0 stable, live backend pending). Seelyra-bridge.md. - Universal services superset —
docs/ecosystem/universal-services.md; 22-entry coordination doc. Seeuniversal-services-superset.md. - 8 ADRs —
docs/decisions/ADR-006_*.mdthroughADR-013_*.md.
See also¶
- Module roots:
src/fcc/rag/graphrag.py,src/fcc/collaboration/crdt.py,src/fcc/collaboration/multi_user.py,src/fcc/federation/bidirectional.py,src/fcc/search/incremental.py,src/fcc/compliance/memoization.py - Bridge class diagrams:
polaris-bridge.md,lyra-bridge.md - Universal services class diagram:
universal-services-superset.md - DFD:
../data-flow-diagrams/dual-bus-lane-routing.md - Sequence diagrams:
../sequence-diagrams/graphrag-zachman-filter.md,../sequence-diagrams/crdt-multi-user-merge.md,../sequence-diagrams/bidirectional-federation-sync.md - ADRs:
docs/decisions/ADR-006_*.md..ADR-013_*.md(v1.5.1 shipped) - Pillar-release memory: see v1.5.0 release notes in CHANGELOG