On this page
Layer taxonomy
Synedrix OS has a 12-layer architecture.
| # | Layer | Primary purpose | Must not own |
|---|---|---|---|
| 1 | Human Interface Layer | Capture human intent, approvals, and operational review | Domain logic execution, tool adapters, memory internals |
| 2 | Goal & Intent Layer | Translate business objectives into structured intents | Domain-specific execution logic, raw tool calls |
| 3 | Orchestration Layer | Route work, decompose goals, sequence tasks, manage retries and approvals | Domain-specific heuristics, long-lived memory management |
| 4 | Agent Runtime Layer | Execute agents with bounded scope and lifecycle management | UI concerns, business-specific workflow routing |
| 5 | Agent Registry Layer | Define discoverable capabilities and boundaries | Domain workflows, runtime execution itself |
| 6 | Tool Abstraction Layer | Normalise access to external systems | Domain decision logic, human interface concerns, domain-specific policies |
| 7 | Memory & Data Layer | Persist business state and contextual knowledge, and govern how it is formed, recalled and forgotten | Workflow sequencing, UI logic, retention policy (Layer 12 sets the values), context assembly for a specific run (Layer 4) |
| 8 | Event Layer | Standardise event production, transport, and consumption | Domain-specific policy logic |
| 9 | Governance & Controls Layer | Enforce policy, permissions, approvals, compliance | Domain execution logic itself |
| 10 | Observability Layer | Make execution measurable, explainable, reviewable | Business decisions, domain state ownership |
| 11 | Domain Pack Layer | Inject domain-specific entities, workflows, agents, tools | Shared OS primitives |
| 12 | Business Instance Layer | Configure a concrete runtime | Shared platform abstractions |
Stack topology
| Slice | Layers |
|---|---|
| Human and intent surface | 1, 2 |
| Orchestration core | 3, 4, 5 |
| Infrastructure services | 6, 7, 8 |
| Governance and observability | 9, 10 |
| Domain and runtime config | 11, 12 |
The layers stacked in their slices:
flowchart TB
subgraph s1["Human and intent surface"]
l1["1. Human Interface Layer"]
l2["2. Goal & Intent Layer"]
end
subgraph s2["Orchestration core"]
l3["3. Orchestration Layer"]
l4["4. Agent Runtime Layer"]
l5["5. Agent Registry Layer"]
end
subgraph s3["Infrastructure services"]
l6["6. Tool Abstraction Layer"]
l7["7. Memory & Data Layer"]
l8["8. Event Layer"]
end
subgraph s4["Governance and observability"]
l9["9. Governance & Controls Layer"]
l10["10. Observability Layer"]
end
subgraph s5["Domain and runtime config"]
l11["11. Domain Pack Layer"]
l12["12. Business Instance Layer"]
end
s1 --> s2
s2 --> s3
s3 --> s4
s4 --> s5
Layer principles
- Shared before specific
- Controls before execution
- Tools are adapters, not business logic
- Memory is shared, access is scoped
- Memory moves only under governance
Platform mapping
Which platform in the tech stack implements each layer.
| Platform | Layer(s) | Notes |
|---|---|---|
| n8n | 3 | Orchestration only. Complex agent reasoning runs in LangGraph (Layer 4). See ADR-OS-001. |
| LangGraph | 4 | Stateful, cyclic, multi-agent reasoning runtime invoked by n8n as a governed step. |
| Hookdeck | 8 | Ingress webhook fan-out and replay. |
| Hookdeck Outpost | 8 | Egress delivery and retry for outbound events. |
| Redis | 7 | Hot state and pub/sub. |
| Supabase PG17 | 7 | Canonical relational truth. |
| QuestDB | 7 | Time-series metrics and telemetry. |
| Neo4j | 7 | Context graph and decision lineage. Backs the graph memory tier through the NAMS client, adopted as a library rather than a platform row. See ADR-OS-002. |
| Qdrant | 7 | Semantic vector memory; the single vector substrate for every indexed memory tier. |
| Langfuse | 10 | LLM tracing and prompt engineering. |
| PostHog | 10 | Behavioural analytics. |
| Grafana LGTM Stack | 10 | Operational monitoring (Grafana, Alloy, Mimir, Loki, Tempo). |