Conduir — Master Architecture (Compiled)
Date: 2026-05-16
Status: Compiled baseline. Merges five independent syntheses:
_CLAUDE_2.md— the planning / spine-decision artifact (informs Part 0 below)TOP-LEVEL-ARCHITECTURE-DESIGN.md— the Gemini concise architecture baselineTOP-LEVEL-DESIGN.md— the Claude comprehensive top-level synthesisplan_GPT.md— the GPT execution / delivery planGEMINI.md— the operational charter / Golden Rules with P0 enforcement framing (informs new Part 0.5 below)
Source corpus: maestro-platform/docs/living-system/ (snapshot 2026-05-14; timeline rework 2026-05-12).
Authority order (when docs disagree):
1. living-system/08-CONTRACT-SPECS.md (wire-level truth)
2. living-system/09-FINAL-C3-ARCHITECTURE-DESIGN.md (current C3 baseline)
3. This document (top-level architectural synthesis + delivery plan + Golden Rules)
4. SOLUTION-CAPABILITY-CONTRACTS.md (capability-domain contracts; SOL-0..SOL-12)
5. ANATOMICAL-SYSTEM-SPEC.md (organ membranes, lifecycle, mission walk-through)
6. ENGINEERING-VIEW.md (engineering containers), ARCHITECTURE.md (stakeholder anatomy)
7. living-system/CAPABILITY-INVENTORY-2026-05-14.md (capability rows of record)
Vision-side authority (separate column, since vision and execution can legitimately diverge):
1. VISION-TOP-DOWN-MAPPING.md (vision functions VF-1..VF-16 — what should exist)
2. LIVING-HUMAN-AI-VISION.md (body-system mapping — the metaphor and orphan-organ accounting)
3. AI-EVOLUTION-MORALITY-MORTALITY.md (long-horizon: AI sexual reproduction, conscience, five-scale mortality — agent · mission-team · tenant-relationship · instance · species)
4. This document (compiled view — wins on disputed fact; vision docs win on disputed framing or what should exist)
When the execution stack and the vision stack disagree on what is true today, the execution stack wins. When they disagree on what the platform should become, the vision stack wins. The two are reconciled quarterly through the cross-walk in §3.6.
Audience reading paths (one-stop entry point — pick yours):
| Audience | Read |
|---|---|
| Exec / board | Part 1 + Part 2.1 + Part 7 |
| New engineer | Part 2 + Part 3 + Part 5 |
| Architect | All (especially Part 0 for the why) |
| Security / SRE | Part 2.5 + Part 6 |
| Delivery / PM | Part 4 + Part 5 |
| Auditor / compliance | Part 1.2 + Part 2.5 + Part 7 |
| An agent or engineer mid-task | Part 0.5 — Golden Rules first (the operational charter). This is the in-flight quick-reference; everything else is reference material. |
PART 0 — Design Rationale (the why of this structure)
Distilled from _CLAUDE_2.md. This section records why the document is shaped this way so the choices don't quietly drift.0.1 Vocabulary Decision — the spine
The corpus speaks five dialects: capabilities (CAP-N), suites (S0–S12), milestones (M1–M8), mini-caps (L2.x), handshakes (Hx/Bx/Gx/Nx). Forcing every reader to translate is the largest hidden cost in the existing docs.
Decision: substrate-first six-layer spine (Substrate · Identity & Privacy · Memory · Cognition · Governance · Surfaces), with explicit cross-walk to every other dialect (Part 3.6 below).
Why: it forces substrate primacy into the shape of the document, not just the prose — matching the lesson from CRITICAL-REVIEW.md and the recurring audit-cycle pattern of surface-first / substrate-back-fill.
0.2 What this document is NOT
Bounded scope keeps it useful:
- Not a re-write of the eight capabilities →
01.5-CAPABILITIES.md(source) +CAPABILITIES.md(synthesis). - Not a re-write of substrate sequencing →
SUBSTRATE-SEQUENCING.mdis canonical (Part 3.4 cites it). - Not a per-service spec →
09-FINAL-C3-ARCHITECTURE-DESIGN.md+07-C3-COMPONENT-DESIGN.mdare canonical. - Not a roadmap →
02-ROADMAP.md+CAPABILITY-PHASE-SUMMARY-2026-05-14.mdare canonical. - Not marketing copy →
MARKETING-RECONCILIATION.mdis the gate.
This is the architectural skeleton + delivery plan; every other doc hangs from it.
0.3 Source-alignment discipline
Every structural claim in this document cites one of:
01.5-CAPABILITIES.md— the eight product capabilities09-FINAL-C3-ARCHITECTURE-DESIGN.md— C3 containers + Pillar 0 contract ratchet07-C3-COMPONENT-DESIGN.md— suites S0–S12, lanes A/B/CLEVEL-L2-EXECUTION-ORCHESTRATION-2026-05-13.md— L2.1–L2.12 mini-capsHANDSHAKE-INDEX-2026-05-13.md— ~85 handshakesAGENT-MATURITY-MODEL-2026-05-14.md— autonomy L1–L5 × trust tier 0–3CAPABILITY-INVENTORY-2026-05-14.md— sub-cap detailarchitectural-shifts(exploration/2026-05-14) — audit hash-chain, replay, reliability primitives, single substrate socket
Where the corpus is silent or contradictory, the document flags OPEN: rather than papering over.
0.4 Standing risks of any synthesis like this
| Risk | Mitigation embedded in this doc |
|---|---|
| Yet-another-dialect | The six-layer spine retires the anatomy planes as primary; anatomy is kept as the stakeholder rendering of the same layers in Part 2.1 |
| Authority confusion (three "top-level" docs) | Authority order pinned in the front matter |
| Cross-walk drift the moment a CAP shifts suites | Quarterly refresh tied to CAPABILITY-PHASE-SUMMARY (Part 8) |
| Critical-review erasure | Every design principle footnotes the relevant CRITICAL-REVIEW.md finding |
PART 0.5 — The Golden Rules (Operational Charter)
Distilled from GEMINI.md. This Part is the in-flight quick-reference for any agent or engineer mid-task. It is the constitution: short, memorisable, P0-enforceable. The remaining Parts of this document are the reference material that explains why these rules hold. If you only read one Part of this document while writing code, read this one.0.5.1 The Three Inviolable Membranes
Each membrane below is a contract. Violations are P0 incidents.
| Membrane | Rule | The line worth memorising |
|---|---|---|
| Identity (SUB-9.2 — ActorContext) | Every cross-service call, every DB query, every event emission must carry ActorContext (tenant + user + agent identity). Anonymous execution is forbidden. | "No call without a caller." |
| Signal (SUB-9.3 — OutcomeEvent) | Every mission step must emit a canonically typed OutcomeEvent to NATS. | "If it didn't signal, it didn't happen." |
| Isolation (SUB-9.4 — Tenant RLS) | All database access must be scoped via Row-Level Security. Application-layer filtering alone is forbidden. | "RLS is defence in depth, not paranoia." |
0.5.2 The Sequencing Mandate (re-stated as a rule)
The substrate seams close in this order. No deviation.
1. Phase S0 — SUB-9.2 (ActorContext) and SUB-9.3 (OutcomeEvent) land together.
2. Phase S1 — SUB-9.4 (Tenant RLS) and SUB-9.6 (JWT) begin only after S0 is closed.
3. Phase S2 — SUB-9.14 (Path-maturity) begins only after S0 and S1 are closed.
Do not build surface features (higher CAPs) on partial substrate. If you cannot point to closed seams, you cannot claim the feature is complete.
0.5.3 Coding Standards (P0-enforceable)
| Domain | Rule |
|---|---|
| Contracts | All cross-service contracts live in shared/contracts/ as JSON Schema Draft-07. Hand-mirroring is forbidden (CON-3331). Use codegen. |
| Versioning | Schema evolution is additive only. Breaking changes require a new major version + migration window. |
| Dataflow | Inter-container communication uses exactly one of: (a) BFF (external ingress boundary) — the BFF is the boundary between outside-the-mesh callers (web frontend, mission UI, third-party adapters, MCP) and the service mesh; (b) direct service-to-service HTTP (internal synchronous, command-shaped) — peer services may call each other directly via their <PEER>_URL, authenticated with HMAC per contracts/MODULAR-DEPLOYMENT-CONTRACT.v0.md §3.0 / §3.6 (CON-3417); (c) NATS (asynchronous, event-shaped) — fire-and-forget fan-out on canonical subjects; (d) shared storage where a peer IS the storage layer (e.g. cortex-memory), accessed via its HTTP API not direct DB. Direct service-to-service HTTP that bypasses HMAC auth, or "fire-and-forget" HTTP that should have been a NATS event, are both prohibited. Updated 2026-05-19 PM-13 to reflect the charter-evolved topology codified in MDC §3.0; the prior wording was strict-BFF-only and would have forced internal sync traffic through the BFF as a transit hub, defeating the peer-config substitutability model. |
| Observability | Structured JSON logging (structlog) required. Every log must carry trace_id, mission_id, tenant_id, actor_id. String-concatenation logs are prohibited. |
| Fail mode | Missing actor / tenant / consent / JWT / governance / schema → reject or quarantine. Never infer a permissive fallback. |
| Forbidden mutation | AI must never mutate governance, audit, or identity machinery. The Tier-Forbidden floor is constitutional. |
0.5.4 Vitality — How We Measure (not up/down, 0–100)
| Rule | Detail |
|---|---|
| Every plane has four metrics: Throughput, Quality, Cost, Latency | A plane missing any of the four is unmonitored — treat as a P1. |
| Targets are committed (1.2× baseline) and aspirational (2× baseline) | See METRICS-BASELINE.md for the table. |
| Latency ceilings are hard | DB query < 200 ms P99 · Event publish < 100 ms P99 · JWT validate < 30 ms P99 · RAG recall < 500 ms P99 · etc. Breach → page-alert. |
| Self-cert vs. auditor delta is a meta-metric | Drift between team self-assessment and independent audit forecasts process bypass. |
0.5.5 The Six Non-Negotiables (one-line each)
When you are about to take an action and you are not sure, run it through these:
1. CAP-9 is the floor, not a peer — substrate primacy is not optional.
2. Identity on every action — ActorContext is mandatory.
3. Canonical signal — OutcomeEvent is the single learning bus.
4. Tier-Forbidden floor is constitutional — never AI-mutated.
5. Codegen-only contracts — no hand-mirrors.
6. AUTONOMY by default (amended 2026-06-17 — see CONDUIR-CONSTITUTION.md §I.6.6; was "HITL by default, autonomy by opt-in"). The org acts/decides by default, escalating only on critical-under-doubt or regulatory/compliance; production + governance/charter mutation stay approval-gated until a signed GatePolicy delegates them; even auto-approve tiers respect Tier-Forbidden.
7. Strict Substrate Purity (The SOL-0 Test) — Product logic (personas, routing strategies) is forbidden from the substrate. If it fails the "neutral carrier" test, it belongs in lib/ or services/.
0.5.6 If You Are About To…
| If you are about to… | First check… |
|---|---|
| …add a new service or endpoint | Does it propagate ActorContext? Does it emit OutcomeEvent at each step? Does its DB access run under RLS? |
| …change a shared type or contract | Is the change additive? Is the new version codegenned, not hand-mirrored? Is there a migration window? |
| …claim a capability is delivered | Are S0 + (S1 if relevant) closed for it? Is there proof — tests, replay, audit evidence? Is the marketing claim aligned? |
| …skip a hook, gate, or audit cycle | Stop. Process bypass is a -5 audit penalty for a reason. Find the root cause. |
| …mutate governance, audit, or identity machinery from code that an AI might run | Stop. This is the Tier-Forbidden floor. Zone 4 / break-glass only. |
| …add a fallback for a missing actor / tenant / consent / JWT | Stop. Fail closed, never permissive. |
0.5.7 The One-Sentence Summary of the Charter
Every action carries identity, every step emits canonical signal, every change has a rollback, every mutation respects the Tier-Forbidden floor — and the substrate seams close in order S0 → S1 → S2 before any higher claim is honest.
If you can hold that sentence in your head while writing code, you will not violate the architecture.
PART 1 — Foundation
1.1 Architecture Thesis (one paragraph)
Conduir is a multi-tenant, multi-agent, governed learning platform. A substrate floor (identity, privacy, governance, event fabric, storage, compute) carries a multi-LLM cognition layer (Symposium, Gateway, dynamic teams), fed by per-agent and per-user memory (AgentDNA, DecisionMemory, Digital Twin), sensing via narrow typed channels (Mission UI, MCP, code-ops), signalling over an event fabric (NATS + canonical contracts), protected by an immune system of AuthN/Z + RLS + PrivacyScope, regulated by an autonomic watchdog (regression_watcher + auto-revert + path-maturity), and acting through API/MCP/EvolutionApplier muscles. The system improves task-over-task within governed-autonomy boundaries the operator controls; the Tier-Forbidden floor (governance, audit, identity) is permanently off-limits to AI mutation. Until the five substrate seams close in the order S0 → S1 → S2, every higher capability is anatomically present but not yet alive.
The highest-level shape:
governed execution
→ canonical evidence
→ scoped memory and learning
→ explainable adaptation
→ bounded self-improvement
→ audited governance1.2 Non-Negotiable Architecture Principles
Inherited from 09-FINAL-C3-ARCHITECTURE-DESIGN.md §2, reaffirmed here and load-bearing for every later section.
| # | Principle | Design consequence | Originating critique |
|---|---|---|---|
| 1 | CAP-9 is the floor, not a peer | Identity, tenant isolation, contracts, audit, secrets, event fabric, and runtime primitives are treated as substrate under every capability | CRITICAL-REVIEW.md §2 |
| 2 | Substrate-first — no higher capability claimed before its seams close | M3 "learning visible" cannot ship before S0 (SUB-9.2 + 9.3) closes | CRITICAL-REVIEW.md §3, SUBSTRATE-SEQUENCING.md |
| 3 | Identity on every action — ActorContext is non-optional | No service-to-service call without ActorContext; RLS scopes by it | 09-FINAL-C3 §8.1 |
| 4 | Canonical signal — OutcomeEvent is the single learning bus | No bespoke per-service event shapes; quarantine invalid events | architectural-shifts-2026-05-14 |
| 5 | Touchable milestones — architecture serves user-felt moments | Substrate exists to enable, not to be a milestone in itself | 09-FINAL-C3 §2.1 |
| 6 | Three lanes, one system — Surface · Substrate · Runtime | Lanes own delivery; architecture is one organism | 09-FINAL-C3 §2.3 |
| 7 | Governed autonomy, not open autonomy — Tier-Forbidden floor | AI never mutates governance, audit, identity | NON-GOALS.md §1.9 |
| 8 | Fail safe before fail open | Missing actor / tenant / consent / JWT / schema → reject or quarantine | 09-FINAL-C3 §2.5 |
| 9 | Codegen-only contracts — no hand-mirrors | shared/contracts/ is single source; FE/BE/Python types generated | NON-GOALS.md §1.11 (CON-3331) |
| 10 | Trace + replay is Phase-1, not optional | Every mission replayable on a snapshot of system state at its time | architectural-shifts-2026-05-14 |
| 11 | AUTONOMY by default (amended 2026-06-17 → CONDUIR-CONSTITUTION.md §I.6.6) | Org acts by default; production + governance mutation approval-gated until signed GatePolicy; auto-approve tiers bounded by Tier-Forbidden | CONDUIR-CONSTITUTION.md §I.6.6; NON-GOALS.md §1.3, §4 |
| 12 | Multi-tenant by isolation, not by hope | RLS at the row layer is defense-in-depth, never app-only | ENGINEERING-VIEW.md §10 |
| 13 | Evidence-based learning | Route choice, twin inference, agent maturity must cite recorded outcomes, not hidden model intuition | 00-EXECUTIVE-ONE-PAGER.md §3.4 |
1.3 What Conduir Is — and Is Not
Is:
- A layered learning organism — every task improves the next, bounded by identity, privacy, rollback, governance.
- A governed-autonomy platform — humans set policy, AI acts within tiers, every action is replayable.
- A model-agnostic fabric — gateway routes between providers; we do not train foundation models.
- A multi-tenant SaaS with strict isolation and per-row policy enforcement.
- A code+API actuator — body = APIs, code, data. Nothing mechanical, nothing physical.
Is not (see NON-GOALS.md for the full list):
- A coding IDE, a foundation-model trainer, a robotic platform, an AGI / consciousness product, a replacement for human judgement, or an undifferentiated-cost orchestrator.
- A system where AI mutates its own governance, audit, or identity machinery — the Tier-Forbidden floor is permanent.
PART 2 — The Top-Level Architecture
2.1 System Context (C4 Level 1)
flowchart LR
User[Users · delivery teams]
Admin[Org board · platform admins]
Auditor[Auditor · compliance reviewer]
Conduir[Conduir Platform]
LLM[LLM Providers<br/>Anthropic · OpenAI · etc.]
Tools[External Tools<br/>GitHub · Jira · Slack · Confluence · IDEs · Figma · MCP]
Manthan[Manthan exploration<br/>side-lane partner — M7]
IdP[Identity Provider<br/>SSO · OIDC]
Data[Customer Data Sources<br/>codebases · DBs · docs · artifacts]
User --> Conduir
Admin --> Conduir
Auditor --> Conduir
Conduir --> LLM
Conduir <--> Tools
Conduir <--> Manthan
Conduir <--> IdP
Conduir <--> DataBoundary rules.
- Customer data does not leave its logical isolation boundary except through governed adapters.
- LLM calls are gateway-mediated; raw provider APIs are not exposed to tenant workloads.
- External tools are reached via the integration plane (CAP-13), not directly from cognition.
2.2 The Six-Layer Spine
The primary structural vocabulary. Every other dialect (capabilities, suites, planes, milestones, mini-caps, handshakes) cross-walks to this in §3.6.
╔═══════════════════════════════════════════════════════════════════╗
║ LAYER 6 — SURFACES & INTEGRATION ║
║ Mission UI · Code-ops · MCP · external adapters · BFF ║
║ CAP-13 snap-in plane · CAP-8 Living Blueprint (deferred) ║
╠═══════════════════════════════════════════════════════════════════╣
║ LAYER 5 — GOVERNANCE & EVOLUTION ║
║ Tier-Forbidden floor · MoveProposal · RollbackRecord · ║
║ EvolutionApplier · SideLaneEnvelope · GovernanceState · Audit ║
║ CAP-5 · CAP-6 ║
╠═══════════════════════════════════════════════════════════════════╣
║ LAYER 4 — COGNITION ║
║ Symposium · LLM Gateway · dynamic team · A2A · quorum · debate ║
║ Epic-Graph · Tool-Bridge · CAP-1 ║
╠═══════════════════════════════════════════════════════════════════╣
║ LAYER 3 — MEMORY ║
║ DecisionMemory · AgentDNA (CAP-2) · Digital Twin (CAP-7) · ║
║ PrivacyScope · path-maturity (CAP-4 via SUB-9.14) ║
╠═══════════════════════════════════════════════════════════════════╣
║ LAYER 2 — IDENTITY, PRIVACY & TENANCY ║
║ OIDC · JWT (SUB-9.6) · ActorContext (SUB-9.2) · ║
║ Tenant RLS (SUB-9.4) · ConsentAxes (5) ║
╠═══════════════════════════════════════════════════════════════════╣
║ LAYER 1 — SUBSTRATE FLOOR (CAP-9) ║
║ Mission lifecycle · OutcomeEvent (SUB-9.3) · NATS · Postgres · ║
║ Vector memory · Object storage · Vault · audit chain · replay ║
╚═══════════════════════════════════════════════════════════════════╝Reading rule. Higher layers bias lower layers — Governance sets the priority register, Cognition deliberates within those priorities, Memory feeds context, Identity gates every hop, Substrate carries the structure. Substrate is a backplane, not a "tenth plane at the bottom" — all layers touch it.
Per layer, the contract is the membrane; the components below are what live in the layer; the substrate seam is the dependency.
| Layer | Purpose | Membrane contract(s) | Substrate seam(s) | "Alive when…" metric |
|---|---|---|---|---|
| 1 — Substrate | Carry identity, events, state | OutcomeEvent, NATS subjects | SUB-9.3 | OutcomeEvent emission ≥1 per mission step |
| 2 — Identity & Privacy | Know who, scope to them | ActorContext, PrivacyScope, JWT | SUB-9.2, SUB-9.4, SUB-9.6 | ActorContext coverage > 99%; RLS share > 99% |
| 3 — Memory | Remember per-agent and per-user | DecisionMemory, TwinProfile/TwinAttribute, AgentDNA | SUB-9.14 (path-maturity) | Recall hit rate > 75%; Twin staleness < 7 d |
| 4 — Cognition | Multi-LLM deliberation & action | Symposium / Gateway internals, tool-call schema | (S0 closed) | Quorum convergence first round > 70% |
| 5 — Governance & Evolution | Tier policy, propose / apply / rollback | MoveProposal, RollbackRecord, SideLaneEnvelope, ObjectiveScore, GovernanceState | (depends on S0 + S1 + S2) | Apply / rollback pairs with audit; protected-paths breach attempts = 0 |
| 6 — Surfaces & Integration | User-facing + external tools | REST / SSE, MCP, adapter contracts | (depends on every lower layer) | MCP tool failure rate < 1% |
2.3 Engineering Container View (C4 Level 2)
flowchart TB
subgraph Z1["Zone 1 — DMZ"]
WEB[Web UI<br/>Next.js]
BFF[API / BFF<br/>Node · port 44100]
end
subgraph Z2["Zone 2 — Application Services"]
SYM[Symposium<br/>Python · port 48010]
GATE[LLM Gateway<br/>Python · port 48003]
EG[Epic-Graph<br/>Python · port 49805]
TB[Tool-Bridge<br/>Python · port 48060]
LEARN[Nous · OutcomeRouter ·<br/>RegressionWatcher · Manthan]
end
subgraph Z3["Zone 3 — Data Plane"]
PG[(PostgreSQL<br/>Prisma · RLS)]
REDIS[(Redis<br/>cache)]
NATS[(NATS<br/>event bus)]
S3[(Object Storage<br/>replay tapes)]
VEC[(Vector Memory<br/>DecisionMemory · Twin · DNA)]
end
subgraph Z4["Zone 4 — Substrate & Privileged"]
VAULT[(Vault<br/>secrets · JWT)]
GOV[Governance YAMLs<br/>Tier-Forbidden floor]
AUDIT[Audit log<br/>immutable]
end
WEB --> BFF
BFF --> SYM
BFF --> GATE
BFF --> PG
BFF --> REDIS
SYM --> GATE
SYM --> EG
SYM --> TB
SYM --> NATS
SYM --> PG
SYM --> VEC
LEARN --> NATS
LEARN --> PG
LEARN --> VEC
LEARN --> GOV
GATE --> VAULT
BFF --> VAULT
SYM --> AUDIT
LEARN --> AUDIT
BFF --> IdP[(Identity Provider<br/>OIDC)]:::ext
GATE --> LLM[(LLM Providers)]:::ext
TB --> EXT[(External Tools)]:::ext
classDef ext fill:#eee,stroke:#666,color:#000| Container | Lane | Role | Scaling |
|---|---|---|---|
| Web UI | Surface | Mission, twin, swarm canvas, inbox, governance UI | Horizontal stateless |
| API / BFF | Surface | Tenant-aware aggregation, AuthN, request shaping, SSE | Horizontal; sticky for SSE |
| Symposium | Runtime | Agent registry, quorum, and protocol policy; decentralized handoff support | Horizontal per-mission |
| Modularity Guardian | Substrate | Real-time modularity monitoring, boundary breach detection, and cert-fabric automation | Horizontal (Planned) |
| LLM Gateway | Substrate | Provider-agnostic routing, budgets, ActorContext propagation, retry | Provider-rate-bound |
| Epic-Graph | Runtime | Code intelligence, graph / topology / simulation primitives | Horizontal |
| Tool-Bridge | Runtime | CLI / tool adapter execution | Horizontal |
| Nous + OutcomeRouter + RegressionWatcher | Runtime | Learning aggregation, side-lane federation, path-maturity, auto-revert | Vertical DB-heavy |
| Manthan | Runtime | Side-lane exploration, budgeted experimentation (M7) | Budget-capped |
| PostgreSQL | Substrate | Mission lifecycle, decisions, audit, twin / ticket state | Multi-AZ + RLS |
| Vector Memory | Substrate | DecisionMemory, AgentDNA, Twin attributes | Multi-AZ |
| NATS | Substrate | OutcomeEvent transport, federation subjects | ≥3 nodes cross-AZ |
| Vault | Substrate | Secrets, JWT signing keys, provider creds | Cloud-managed |
| Governance files + Audit log | Substrate | Direction / current / tiers, immutable audit | Zone 4 only |
Dataflow rule. All inter-container communication goes through (a) the BFF (request-shaped), (b) NATS (event-shaped), or (c) shared storage. No direct service-to-service HTTP outside this pattern.
2.4 The Stakeholder Rendering (anatomy view)
Same six layers, retold for pitch / sales / board. (Source: ARCHITECTURE.md; this is not a separate design — it is a different audience rendering of Part 2.2.)
| Six-layer spine | Anatomical analogue |
|---|---|
| Layer 6 — Surfaces & Integration | Senses (eyes, ears, skin, proprioception) |
| Layer 5 — Governance & Evolution | Endocrine (hormones, priority tuning) + Autonomic (homeostasis, auto-revert) |
| Layer 4 — Cognition | Cerebral cortex (multi-LLM senate)¹ |
| Layer 3 — Memory | Hippocampus + Limbic² |
| Layer 2 — Identity, Privacy & Tenancy | Immune system (self vs. non-self) |
| Layer 1 — Substrate | Skeleton + Spine + Circulation (event fabric)³ |
¹ Critical-review caveat: "senate" cognition is fictional — Conduir's multi-LLM is a committee with committee pathologies (deadlock, conformity, hidden hierarchy). Mitigated by quorum, debate, peer-review, escalation.
² RAG is not a hippocampus — it's fixed-embedding retrieval. The metaphor flatters the mechanism.
³ Nervous + Circulatory collapse into one event fabric in engineering vocabulary (NATS + Postgres + object storage). Splitting them was biological accuracy at design clarity's expense.
2.5 Trust Zones, Security & Privacy
ZONE 0 — UNTRUSTED EXTERNAL internet · browsers · LLM providers · tools
ZONE 1 — DMZ BFF · Web UI · AuthN · tenant resolve · WAF
ZONE 2 — APPLICATION Symposium · Gateway · Nous · Manthan · Tools
ZONE 3 — DATA PLANE Postgres · Memory · NATS · Object Storage
ZONE 4 — SUBSTRATE & PRIVILEGED Vault · IAM · audit log · governance config
(Tier-Forbidden floor — never AI-mutated)Hop controls (each hop adds AuthN + AuthZ + audit + rate limits):
| From → To | AuthN | AuthZ | Audit | Rate |
|---|---|---|---|---|
| 0 → 1 | Customer SSO (OIDC) | Tenant + user role | Request log | WAF + RL |
| 1 → 2 | mTLS + ActorContext header | Tenant context + capability check | OutcomeEvent emit | Internal RL |
| 2 → 3 | DB credentials + session role | RLS policies | DB audit log | Connection pool |
| 2 → 4 | Vault token, short-lived | Break-glass only | Immutable audit | Strictly limited |
Privacy primitives:
PrivacyScopeon every memory write with 5 consent axes- GDPR Article 15 (export) — surfaced via
AmigoConsentService; CAP-7 user-facing surface in M5 - GDPR Article 17 (delete) — cascading erasure across twin, agent memory, traces (NOT audit log — legal-hold policy)
- Audit log is policy-protected — cannot be deleted by user erasure without legal-hold-aware override
Threat model summary:
- Inside attacker → audit + RLS + minimal privilege
- Tenant data exfiltration → trust zones + RLS + egress allow-list
- Prompt injection → output validation + tool-call schema + Tier-Forbidden floor
- Supply chain → dependency pinning + SBOM + signed commits
- Insider mutation of governance → Tier-Forbidden floor + Zone-4 break-glass only
PART 3 — The Capability Map, Substrate, Contracts, Cross-Walk
3.1 The Capability Map (CAP-1 .. CAP-13)
┌────────────────────────────────────────────┐
│ PRODUCT CAPABILITIES (CAP-1 .. CAP-8) │
└────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ CROSS-CUTTING (CAP-10 economics, CAP-11 │
│ observability, CAP-12 compliance, CAP-13 │
│ integration) — wrap every CAP-1..8 │
└──────────────────────────────────────────────┘
│
▼
╔══════════════════════════════════════════════╗
║ CAP-9 SUBSTRATE FLOOR — not a peer ║
║ Identity · Privacy · Governance · Audit · ║
║ Event fabric · Storage · Compute · Runtime ║
╚══════════════════════════════════════════════╝| Group | Capabilities | Today (2026-05-16) |
|---|---|---|
| Product (CAP-1..8) | Team protocols · Per-Agent memory · Reuse marketplace · Preferred-path · Self-evolution · Constant exploration · Per-User twin · Blueprint sim | Mix of PARTIAL, GAP, DEAD-WIRE, DEFERRED |
| Cross-cutting (CAP-10..13) | Economics · Observability/SRE · Data governance/compliance · External integration | Mostly GAP / PARTIAL |
| Substrate floor (CAP-9) | Identity · Event · RLS · JWT · Path-maturity · Mission lifecycle · Trace · Replay · Snap-in adapters | 5 critical seams open — see §3.4 |
CAP-2 vs CAP-7 boundary (CAPABILITIES.md §3): the subject of the memory is the dividing line. CAP-2 stores memory about agents (track record, AgentDNA); CAP-7 stores memory about users (Digital Twin, editable, forget-able). Both share substrate (OutcomeEvent + ActorContext); the subject distinguishes them.
3.2 The Contract Backbone (Pillar 0)
The architecture only works if shared contracts remain canonical across all containers. Contracts ratchet forward milestone by milestone; no breaking change without a versioned migration window (see ENGINEERING-VIEW.md §8).
| Milestone | Contract introduced / hardened | Architectural effect |
|---|---|---|
| M1 | ActorContext v0, OutcomeEvent v0 | Identity and canonical runtime evidence flow start |
| M2 | OutcomeEvent v1, SwarmHandoffEdge | Collaboration visible and attributable |
| M3 | DecisionMemory v0 | Shared learning ledger |
| M4 | ActorContext v1, ObjectiveScore stub | Per-user correction + durable preference application |
| M5 | PrivacyScope v0, TwinProfile/TwinAttribute | Personalisation and consent first-class |
| M6 | MoveProposal v0, RollbackRecord v0 | Governed self-improvement with reversibility |
| M7 | ObjectiveScore v1, SideLaneEnvelope v0 | Main-lane / side-lane outcomes separated; Manthan bridge typed |
| M8 | GovernanceState v0 | Direction / current / tier state explicit, hot-reloadable, operator-editable |
Non-negotiable contract consumers:
| Contract | Must be consumed by |
|---|---|
ActorContext | BFF, Gateway, Symposium, outcome emitters, audit, RLS |
OutcomeEvent | Runtime emitters, NATS, OutcomeRouter, DecisionMemory, audit |
DecisionMemory | Recommendation loop, path maturity, learning feed, twin, side lane |
PrivacyScope | Memory writers, twin, recommendation, forget cascade |
TwinProfile / TwinAttribute | Twin API, recommendation, consent UI |
MoveProposal / RollbackRecord | Improvements inbox, side lane, governance, EvolutionApplier |
ObjectiveScore | Side lane, regression, path maturity, governance review |
SideLaneEnvelope | Federation router, Manthan bridge, ObjectiveScore consumers |
GovernanceState | Runtime policy, side lane, mutation gates, audit, UI |
Contract rules:
1. All cross-service contracts live in shared/contracts/ and codegen FE / BE / Python types — no hand-mirrors (CON-3331).
2. Schemas are JSON Schema Draft-07 with Pydantic and TypeScript types generated.
3. Versioning is additive — a new field is always optional in v_{n+1}; breaking changes require a v_{n+1} schema and a migration window.
4. Identity flows on every hop — no service-to-service call without ActorContext.
3.3 The Three Loops (the dynamic view)
The platform is best understood as three loops, not one feature tree. Each loop sits on the substrate floor and emits canonical OutcomeEvents.
3.3.1 Loop A — Mission Execution (M1–M2 backbone)
sequenceDiagram
participant U as User
participant W as Web UI
participant A as API/BFF
participant S as Symposium
participant G as LLM Gateway
participant T as Tools/MCP
participant E as Event Bus
participant N as Nous/OutcomeRouter
participant M as DecisionMemory
participant P as PathMaturity/Twin
U->>W: Start mission / give instruction
W->>A: Authenticated request
A->>A: Resolve tenant + ActorContext
A->>S: Dispatch mission with ActorContext
S->>G: Model calls through gateway
S->>T: Tool calls through adapters
G-->>S: Model result
T-->>S: Tool result
S->>E: Emit OutcomeEvent with ActorContext
E->>N: Route and validate event
N->>M: Write decision and outcome memory
N->>P: Update path maturity and twin signals
P-->>S: Preferred route / personalization signal
S-->>A: Runtime result and trace
A-->>W: SSE / response / replayThe reflex arc: PERCEIVE → DELIBERATE → DECIDE → ACTUATE → OBSERVE → EMIT → AGGREGATE → STRENGTHEN.
3.3.2 Loop B — Learning, Personalisation, Twin (M3–M5 arc)
flowchart LR
OE[OutcomeEvent] --> NATS
NATS --> OR[OutcomeRouter]
OR --> OS[ObjectiveScore]
OR --> DM[DecisionMemory]
DM --> Pref[Preference Learner]
Pref --> Twin[Twin Aggregator · APIs]
DM --> Rec[Recommendation · Explanation]
Twin --> RecThe learning system is a federation, not one model: canonical capture → score → memory → preference → twin → recommendation/explanation.
3.3.3 Loop C — Governed Change (M6–M8 arc)
flowchart LR
Detect[Runtime detector<br/>learning or regression signal]
Propose[MoveProposal]
Review[Improvement inbox<br/>human or policy review]
Side[Side-lane experiment<br/>budgeted isolation]
Score[ObjectiveScore]
Apply[EvolutionApplier<br/>dry-run apply rollback]
Watch[RegressionWatcher]
Audit[Audit chain]
Rollback[RollbackRecord]
Gov[GovernanceState<br/>tiers budgets protected paths]
Detect --> Propose
Propose --> Review
Review --> Side
Side --> Score
Score --> Propose
Review --> Apply
Gov --> Review
Gov --> Side
Gov --> Apply
Apply --> Watch
Apply --> Audit
Watch --> Rollback
Rollback --> Audit
Watch -->|regression| ApplyLoop-C rules:
- No proposal without
MoveProposal. - No apply without
RollbackRecord. - No mutation of protected paths.
- No side-lane graduation without governance review.
- No autonomous loop without audit and regression watching.
M6 / M7 / M8 are one continuous loop: propose → isolate → govern → audit → rollback. Side-lane winners graduate by emitting a MoveProposal, not by bypassing M6 governance.
3.4 Substrate Sequencing — The Critical Path
(Authoritative source: SUBSTRATE-SEQUENCING.md.)
Five substrate seams were previously listed in parallel; they are not the same kind of work, and they have a real dependency order.
flowchart TD
S0a[SUB-9.2<br/>ActorContext]:::p
S0b[SUB-9.3<br/>OutcomeEvent]:::p
S1a[SUB-9.4<br/>Tenant RLS]:::i
S1b[SUB-9.6<br/>JWT resolution]:::i
S2[SUB-9.14<br/>Path-maturity]:::d
S0a --> S1a
S0a --> S1b
S0a --> S2
S0b --> S2
S0b -. signal carries .-> S0a
classDef p fill:#ffe4c4,stroke:#a16207,color:#000
classDef i fill:#ffd6d6,stroke:#b91c1c,color:#000
classDef d fill:#d6e8ff,stroke:#1f6feb,color:#000| Phase | Seams | Why | Blast radius if delayed |
|---|---|---|---|
| S0 — Identity + Signal | SUB-9.2 + SUB-9.3 (close together, NOT serial) | The signal carries the identity | CAP-2, CAP-4, CAP-5, CAP-7, CAP-9.14 stay partially theoretical |
| S1 — Isolation + Trust | SUB-9.4 + SUB-9.6 (parallel after S0) | Both require ActorContext for per-actor scoping | "Multi-Tenant Isolation" marketing claim carries legal/contract risk |
| S2 — Aggregation | SUB-9.14 (after S0 + S1) | Reads the canonical event stream | CAP-4 stays GAP; M3 "Learning becomes visible" cannot ship honestly |
The one paragraph that matters. Until SUB-9.2 + SUB-9.3 close, every higher capability operates on partial data. Audit cycles will keep catching the gap. Marketing claims will keep outrunning reality. Close S0. Then S1. Then S2. Do not try all three at once. Do not ship higher-CAP surfaces against partial substrate.
3.5 Latency Budgets, Failure Modes, Observability
3.5.1 Latency budgets (steady-state, from ENGINEERING-VIEW.md §4)
| Hop | P50 | P99 | Hard ceiling |
|---|---|---|---|
| BFF auth + tenant resolve | 30 ms | 100 ms | — |
| Symposium dispatch | 100 ms | 500 ms | — |
| First LLM token (streamed) | 800 ms | 3 s | provider |
| First tool action | 2 s | 10 s | mission-dependent |
| Full mission complete | 30 s | 5 min | complexity tier |
| RAG recall | 100 ms | 500 ms | 2 s |
| DecisionMemory write | 50 ms | 200 ms | 1 s |
| OutcomeEvent publish | 10 ms | 100 ms | 500 ms |
| DB query | 20 ms | 200 ms | 2 s |
| JWT validate | 5 ms | 30 ms | 100 ms |
If a plane consistently breaches its hard ceiling, it page-alerts. Budget breaches without alerts mean the observability plane (CAP-11) is failing.
3.5.2 Failure modes & degradation
| Failure | Degradation |
|---|---|
| BFF | Multi-AZ; circuit-break to read-only |
| Symposium | New missions queued with capacity bound; reject overflow with retry-after |
| LLM Gateway | Per-provider failover; cached responses where safe |
| Memory Store | Empty recall; mission quality flagged in OutcomeEvent; alert |
| Event Bus | Local buffer with at-least-once redelivery on recovery |
| Mission DB | Read-replica failover; writes paused |
| Nous | Last-known routing weights served; alert |
| Manthan | Exploration paused; main lane unaffected |
| RLS misconfigured | P0 SECURITY INCIDENT — isolate, audit review, customer notification |
3.5.3 Observability commitments (CAP-11, Phase-1 non-optional)
- W3C trace context propagated across every hop, alongside ActorContext (who + what)
- 100% sampling of mission-step events; 1% for sub-step internal calls
- Structured JSON logs always carrying
trace_id,mission_id,tenant_id,actor_id - Audit log: append-only, immutable, queryable, Zone 4
- Every mission is replayable on a snapshot of system state at its time
- Alert tiers: P0 (customer-facing outage / cross-tenant leak / secret leak), P1 (substrate regression / vitality < 40), P2 (SLO burn / capability claim invalidated)
3.6 The Vocabulary Cross-Walk (keystone table)
Every dialect, one row per capability. This table earns the document its keep — it eliminates "which doc is right?" forever.
| CAP | Name | Six-layer spine | VF (vision) | SOL (execution) | Suite (S) | Milestone | L2 mini-cap | Anatomy organ | Substrate seam dep |
|---|---|---|---|---|---|---|---|---|---|
| CAP-1 | Multi-LLM team protocols | Layer 4 — Cognition | VF-3 Team Cognition | SOL-2 Collaborative Execution | S2 / S3 | M1–M2 | L2.1, L2.2 | Cortex | (S0) |
| CAP-2 | Per-agent / entity memory | Layer 3 — Memory | VF-6 Memory (agent subject) | SOL-4 Memory | S4 / S6 | M1–M3 | L2.5 | Hippocampus | SUB-9.2, 9.3 |
| CAP-3 | Reuse marketplace | Layer 6 — Surfaces | VF-8 Reuse | SOL-6 Reuse Library | S11 | Post-M8 | L2.11 | Liver (protein-synthesis lobe) + Marrow | (depends on CAP-2) |
| CAP-4 | Preferred-path orchestration | Layer 3 + Layer 4 | VF-7 Preferred Path | SOL-5 Preferred Path | S4 | M3–M5 | L2.4, L2.7, L2.8 | Subcortex (biased by Endocrine) | SUB-9.14 (blocker), 9.2, 9.3 |
| CAP-5 | Bounded self-evolution | Layer 5 | VF-10 Governed Evolution | SOL-7 Governed Self-Evolution | S9 | M6 | L2.9 | Reproductive + Muscles | depends on S0 + S1 |
| CAP-6 | Constant exploration | Layer 5 | VF-9 Safe Exploration | SOL-8 Exploration | S10 | M7 | L2.10 | Reproductive (side-lane) | depends on S0 |
| CAP-7 | Per-user memory & twin | Layer 3 | VF-6 Memory (user subject) | SOL-4 Memory | S5 / S6 | M5 | L2.6 | Hippocampus + Limbic | SUB-9.4 (for safe scoping) |
| CAP-8 | Blueprint sim & ideation | Layer 6 (deferred) | VF-13 Self-Model | (no SOL — proposed) | S12 | Phase 3 / Post-M8 | L2.12 | Proprioception | (deferred) |
| CAP-9 | SUBSTRATE FLOOR | Layer 1 + Layer 2 | VF-5 (S0=signal) + VF-11 (constitution) + VF-12 (immune) | SOL-0 Substrate + SOL-9 Governance | S0 / S1 | All phases | — | Skeleton + Spine + Heart + Immune + Endocrine | itself (S0 → S1 → S2) |
| CAP-10 | Economics / cost | (cross-cutting) | (cross-cutting in VTDM §8.4) | SOL-11 Economics / Observability | S7 | All phases | L2.7 | Metabolism (heat) | depends on S0 (cost in events) |
| CAP-11 | Observability / SRE | (cross-cutting) | (cross-cutting in VTDM §8.4) | SOL-11 Economics / Observability | S0 / S7 | All phases | — | Vital signs + Lymphatic (drift) | depends on S0 (trace + replay) |
| CAP-12 | Data governance / compliance | Layer 2 + Layer 5 | VF-12 Protection / Lifecycle | SOL-12 Data Lifecycle & Compliance | S1 / S8 | All phases | — | Kidneys + Immune memory | depends on S0, S1 |
| CAP-13 | External integration | Layer 6 | VF-4 Action (external limb) | SOL-10 External Integration | S11 / adapter plane | All phases | — | Senses (sensors) + Muscles (adapters) | depends on S0 (adapter events) |
| — | (new) Conscience | Cross-cutting + Layer 5 | VF-14 Conscience | (no SOL — proposed) | (no suite) | Post-M8 / long-horizon | — | Conscience | depends on VF-5 + VF-11 |
| — | (new) Mortality / Succession | Cross-cutting | VF-15 Mortality | (no SOL — proposed) | (no suite) | Mid-horizon | — | Lifecycle awareness | depends on VF-6 + VF-11 |
| — | (new) Species Reproduction | Long-horizon | VF-16 Species Reproduction | (no SOL — long-horizon) | (no suite) | 3–5+ years | — | Reproductive (cross-instance) | depends on VF-10 stable |
Suite (S) numbers map to07-C3-COMPONENT-DESIGN.md; L2.x mini-caps toLEVEL-L2-EXECUTION-ORCHESTRATION-2026-05-13.md; anatomy organs toANATOMICAL-SYSTEM-SPEC.md; substrate seams toSUBSTRATE-SEQUENCING.md; VF-N toVISION-TOP-DOWN-MAPPING.md; SOL-N toSOLUTION-CAPABILITY-CONTRACTS.md.
How to use this table.
- Picking a vocabulary: when writing a new doc, pick one dialect as primary, then use this table to cross-reference. The dialect choice depends on audience: VF for vision/exec; SOL for capability owners; CAP for status; layer for engineering structure; suite for implementation owners.
- Detecting orphans: a row missing an "anatomy organ" mapping is either a true cross-cutting capability or an orphan in need of an owner. Liver, Excretory, Lymphatic, and Conscience are the four current orphans.
- Detecting drift: a CAP/VF/SOL whose substrate dep changes is a structural signal — the cross-walk row must be updated before the change ships.
PART 4 — Execution Plan
Distilled from plan_GPT.md. This is the substrate-first delivery plan that turns the design above into an executable platform. Optimised for GPT/Codex-assisted implementation and review, but the workstreams, phases, and gates apply to any executor.4.1 Delivery Rules (non-negotiable for executors)
| Rule | Meaning |
|---|---|
| Start from contracts | Before changing a feature, locate its canonical contract in shared/contracts/ or 08-CONTRACT-SPECS.md. |
| Close seams, not files | Work items framed around cross-service or intra-service seams, especially Class-A substrate-critical seams. |
| Preserve existing work | Repo may be dirty. Do not revert unrelated edits. |
| Add proof artifacts | Every implementation task leaves tests, command output, screenshots, replay evidence, or audit evidence. |
| Prefer narrow slices | A slice closes one verifiable behavior, not partially touches many services. |
| Fail closed | Missing actor / tenant / consent / JWT / governance / schema → reject or quarantine. |
| Avoid hand mirrors | Generated or shared contract types replace duplicated hand-written shapes. |
| Keep claims honest | Update status docs only when proof exists. Do not promote PARTIAL → DELIVERED based on scaffolding. |
4.2 Workstreams
| Workstream | Owns | Primary docs |
|---|---|---|
| WS-A: Substrate contracts | ActorContext, OutcomeEvent, schemas, fixtures, codegen | 08-CONTRACT-SPECS.md, SUBSTRATE-SEQUENCING.md |
| WS-B: Identity, tenant, secrets | RLS, JWT, Vault, tenant-safe repositories | ENGINEERING-VIEW.md, HANDSHAKE-INDEX H8 / H12 |
| WS-C: Event fabric and learning | NATS subjects, OutcomeRouter, DecisionMemory, path-maturity | HANDSHAKE-INDEX H2 / H3, CAPABILITIES.md |
| WS-D: User memory and twin | PrivacyScope, TwinProfile, consent, edit, forget, export | CAPABILITIES.md CAP-7, 06-WORKFLOWS.md W5 |
| WS-E: Governed self-improvement | MoveProposal, RollbackRecord, EvolutionApplier, audit, kill switch | CAP-5 inventory rows, ENGINEERING-VIEW.md |
| WS-F: Side-lane exploration | SideLaneEnvelope, ObjectiveScore, Manthan bridge, graduation | M7 design docs, CAP-6 inventory rows |
| WS-G: Observability and economics | Traces, replay, metrics, cost attribution, dashboards | METRICS-BASELINE.md, CAP-10 / CAP-11 |
| WS-H: Documentation and claims | Capability status, marketing reconciliation, roadmap honesty | MARKETING-RECONCILIATION.md, CRITICAL-REVIEW.md |
4.3 Phase Plan (P0 → P8)
Phase P0 — Architecture Baseline & Work Intake
Goal: Make work executable by agents without losing the architecture thread.
Deliverables:
- Confirm this document is the top-level architecture baseline.
- Build a seam-indexed backlog from
HANDSHAKE-INDEX-2026-05-13.md. - Split backlog by workstream and dependency order.
- Mark each item with proof required: unit, integration, e2e, replay, audit, or screenshot.
- Define "claim gates" for capability status updates.
Exit: every immediate task maps to a seam, contract, capability, and proof artifact. No task described only as "improve X" without testable behavior.
Phase P1 — S0 Substrate: Identity + Signal
Goal: Close SUB-9.2 + SUB-9.3 together.
Scope: ActorContext propagated BFF → Gateway → Symposium → Tool-Bridge → Nous → audit; canonical OutcomeEvent emitted at every mission-step boundary, carrying actor, tenant, trace, route, status, cost, latency, evidence refs, PrivacyScope; producers on canonical NATS subjects; consumers validate with shared schemas and quarantine invalid events.
Seam targets: B5 (actor propagation chain) · G2 / G3 / G16 (gateway actor + learning emit) · H2 (exec → memory audit) · N1 (OutcomeRouter pipeline) · S9 (Symposium learning registry emit).
Proof: contract parity tests (TS + Python) · BFF → Symposium → Gateway integration test carrying same ActorContext · NATS consumer test accepting valid events, quarantining malformed · metric: ActorContext coverage > 99%, OutcomeEvent emission ≥ 1 per mission step.
Exit gate: No higher learning / twin / self-improvement feature can be called complete until this phase is green.
Phase P2 — S1 Substrate: Isolation + Trust
Goal: Close SUB-9.4 + SUB-9.6 after S0 is stable.
Scope: Tenant RLS enforced on tenant-sensitive Postgres tables; Prisma repos run under tenant context or scoped query contracts; cross-tenant reads fail in tests and production; JWT secret resolution centralised through Vault (or decided secret manager); rotation runbook and coverage exist.
Seam targets: H8 (governance + system-properties cross-cut) · H12 / G15 (gateway / Express JWT shared secret) · B2 (route → service → repo tenant plumbing) · B4 (privacy guard chain).
Proof: cross-tenant test harness for all affected repo paths · JWT rotation test with old + new keys · negative tests for missing tenant / invalid ActorContext · security note documenting fail-closed behaviour.
Exit gate: CAP-7 twin and CAP-4 personalisation cannot ship to users until tenant isolation is proven.
Phase P3 — Learning Loop & Preferred Path
Goal: Turn canonical events into route learning.
Scope: OutcomeRouter subscribes to canonical outcome subjects · DecisionMemory write path records scoped outcomes · path-maturity aggregation reads OutcomeEvent + DecisionMemory · route choice consumes path maturity before selecting agent / model / tool / protocol · why-this-route rationale available to UI and audit / replay.
Seam targets: H3 (memory → decision read-back) · N3 (bandit strategy) · N4 (route-choice contract) · B3 (preference consult) · W3 (recommendation with explanation).
Proof: fixture event updates DecisionMemory + changes a subsequent routing score · route decision returns rationale with evidence refs · replay demonstrates event → memory → route chain · metrics: DecisionMemory write rate, recall hit rate, route-rationale coverage.
Exit gate: CAP-4 remains GAP / PARTIAL until route choice demonstrably changes from scoped prior evidence.
Phase P4 — User Memory & Digital Twin
Goal: Make per-user memory inspectable, editable, consented, forgettable.
Scope: PrivacyScope enforced on memory writes + reads · TwinProfile / TwinAttribute APIs use canonical contracts · user can view / edit / export / forget twin data · forget cascades through twin / memory / eligible traces while preserving audit policy · twin signals influence route choice through P3.
Seam targets: W5 (twin audit / edit / forget) · CAP-7 H2 closure · B4 (privacy guard chain) · N6 (twin pipeline).
Proof: twin API contract tests · consent-axis tests for allowed + blocked memory reuse · forget cascade test with before / after evidence · UI / API proof for inspect / edit / export / delete.
Exit gate: CAP-7 cannot be claimed delivered until interaction → memory → twin → route influence is closed.
Phase P5 — Governed Self-Improvement
Goal: Replace status-flip self-improvement with real, audited apply + rollback.
Scope: MoveProposal + RollbackRecord canonical and schema-validated · EvolutionApplier supports dry-run, apply, rollback, idempotency, audit emission · protected paths and Tier-Forbidden floor enforced before side effects · kill switch blocks all mutation entrypoints · RegressionWatcher consumes real RegressionSignal producers.
Seam targets: H5 (L4 mutation loop e2e) · B8 (improvements inbox → applier) · N5 (regression-watcher signal chain) · M2 (mutator dispatch) · SUB-5.13 (EvolutionApplier) · SUB-5.14 (platform kill switch) · SUB-5.15 (replayable rollback proof) · SUB-5.17 (EvolutionGovernanceEvent) · SUB-5.19 (authoritative four-tier resolver).
Proof: dry-run proof for a proposal · apply proof showing real file / config / doc change · rollback proof showing byte-identical pre-state or equivalent invariant · audit chain entries for submit / approve / apply / rollback / kill-switch · regression signal triggers rollback in a controlled test.
Exit gate: CAP-5 remains DEAD-WIRE until apply applies and rollback rolls back.
Phase P6 — Side-Lane Exploration & Graduation
Goal: Run isolated experiments without contaminating main-lane learning.
Scope: SideLaneEnvelope wraps OutcomeEvent without changing inner contract · exploration budget enforced from GovernanceState · Manthan bridge emits typed side-lane outcomes · side-lane bandit state isolated from main-lane state · winning experiments graduate by creating MoveProposal records.
Seam targets: H6 (side-lane invocation) · N7 (federation router → publisher) · CAP-6 ObjectiveScore + SideLaneEnvelope rows · MoveProposal v1 experiment-graduation bridge.
Proof: side-lane event routed separately from main lane · budget exhaustion blocks additional exploration · winning side-lane outcome creates MoveProposal · main-lane route weights unchanged until governance approval.
Exit gate: CAP-6 remains CONTRACT-ONLY until a production caller + consumer exist.
Phase P7 — Governance Control Plane
Goal: Make governance state operator-editable without code changes.
Scope: GovernanceState composes direction, current state, tiers, protected paths, exploration budget · governance loader validates + hot-reloads state · runtime consumers invalidate caches on governance update events · governance UI supports direction / current / tier / budget / audit views · RBAC limits edits to platform admins, org board, named owners.
Proof: invalid governance file fails closed · valid edit hot-reloads + changes runtime behaviour · unauthorised edit rejected · audit log records who changed what + what version became active.
Exit gate: Phase 3 cannot be claimed honest until governance controls are runtime-active.
Phase P8 — Productisation, Metrics, Claim Reconciliation
Goal: Tie architecture to measurable business + operational claims.
Scope: per-plane vitality metrics from METRICS-BASELINE.md · cost attribution by tenant / mission class / model / route · dashboards for trace coverage, event drop rate, RLS coverage, memory write rate, route-rationale coverage, rollback proof · update MARKETING-RECONCILIATION.md when claims become supported · keep CAP status current only after independent proof.
Proof: dashboard / metric export per active plane · self-cert vs auditor delta reported per compliance cycle · marketing claims table maps each claim to a metric or removes the claim.
4.4 First 10 Task Slices (immediate executable backlog)
Execute in order unless a dependency changes.
| # | Slice | Expected output |
|---|---|---|
| 1 | Inventory current ActorContext implementations + propagation gaps | Gap report: file paths, callers, missing hops, tests to add |
| 2 | Inventory current OutcomeEvent producers, subjects, consumers | Subject map, schema drift list, dead-wire emitters |
| 3 | Create or normalise shared ActorContext + OutcomeEvent fixtures | Shared examples + parity tests |
| 4 | Wire BFF dispatch path to carry ActorContext through mission execution | Passing integration test for BFF → Symposium |
| 5 | Wire Gateway learning event connection in lifecycle | Gateway emits canonical event in test / runtime path |
| 6 | Normalise Symposium outcome emission to canonical contract | Duplicate event shapes removed or wrapped |
| 7 | Bring Nous OutcomeRouter subscriber online on canonical subjects | Valid event writes, invalid event quarantines |
| 8 | Add cross-tenant read harness for hottest repository paths | Failing-before / passing-after proof |
| 9 | Draft JWT resolution ADR: Vault vs KMS | Decision-ready ADR with migration + rotation plan |
| 10 | Implement route-rationale contract stub behind current route choice | Route choice returns evidence-ready rationale even before full path-maturity |
4.5 Acceptance Gates per Capability
| Capability | Minimum honest gate |
|---|---|
| CAP-1 Team protocols | Protocol execution emits canonical, attributable OutcomeEvents |
| CAP-2 Entity / agent memory | Events link to canonical entity IDs and are retrievable by entity with tenant scope |
| CAP-3 Reuse marketplace | ReusePullEvent exists; promotion / demotion uses evidence, not manual status |
| CAP-4 Preferred path | Route choice demonstrably changes based on scoped historical outcomes + returns rationale |
| CAP-5 Self-evolution | Apply + rollback perform real side effects with proof + audit |
| CAP-6 Exploration | Side-lane caller, consumer, budget, graduation path are live |
| CAP-7 Digital twin | User can inspect / edit / export / forget + see route influence from twin data |
| CAP-8 Blueprint sim | Workflow sim or side-lane what-if has typed behaviour profile + measured comparison |
| CAP-9 Substrate | S0 + S1 closed; S2 live for path-maturity |
| CAP-10 Economics | Mission + model cost attribution per tenant + route |
| CAP-11 Observability | 100% mission trace coverage + replay for canonical events |
| CAP-12 Compliance | RLS, consent, audit immutability, deletion / export paths tested |
| CAP-13 Integration | External adapters use typed contracts, health checks, drift detection |
4.6 Operating Cadence
| Cadence | Activity | Output |
|---|---|---|
| Daily | Slice execution | PR or patch + proof artifact |
| Twice weekly | Seam review | Updated seam status + blockers |
| Weekly | Metrics + capability honesty review | Vitality deltas, self-cert vs audit delta |
| Bi-weekly | Architecture decision review | ADRs for open decisions |
| Monthly | Exec / product claim review | Updated roadmap + marketing reconciliation |
| Quarterly | Full corpus refresh aligned to CAPABILITY-PHASE-SUMMARY | Cross-walk table refresh, KPI target revision |
4.7 Immediate Next Step
Start Phase P1 with two read-only inventory tasks (slices #1 + #2 above):
1. Map every current ActorContext implementation and propagation hop.
2. Map every current OutcomeEvent producer, NATS subject, consumer, and schema variant.
Do not begin path-maturity, twin influence, or self-improvement-apply work until this map exists. Those systems depend on scoped canonical evidence.
PART 5 — Milestone Progression
| Milestone | User-felt capability | Main architectural addition | Lane(s) | State (2026-05-13) |
|---|---|---|---|---|
| M1 | Trace + replay | Canonical runtime event envelope start | B + C | Shipped |
| M2 | Visible collaboration | Swarm / handoff attribution substrate | A + C | Mostly shipped |
| M3 | Learning feed | OutcomeRouter + DecisionMemory visible | C | Partly shipped |
| M4 | Durable correction | Per-user identity + tenant safety as runtime boundaries | B + C | In progress |
| M5 | Digital twin | Twin aggregation, PrivacyScope, editable personalisation | A + B + C | Lane epics done, audited |
| M6 | Governed self-improvement | Proposal / rollback domain, regression watcher, TierResolver | A + B + C | Active |
| M7 | Safe exploration | SideLaneEnvelope, federation router, budget, Manthan bridge | B + C | Planned, contracts frozen |
| M8 | Governance without code | GovernanceState, hot-reload, RBAC, audit UI | A + B + C | Planned, YAMLs frozen |
Stance: treat M1–M5 as the fixed base, M6 as the active extension, M7 + M8 as bounded additions — not redesigns.
PART 6 — Operations: KPIs, Risks, Open Decisions
6.1 KPI Baseline (replaces alive / partial / dead)
(See METRICS-BASELINE.md for the full per-plane tables.)
Every plane has a throughput, quality, cost, and latency metric. A plane without all four is unmonitored. Anchor targets:
- ActorContext coverage > 99% (Layer 1 / Identity)
- OutcomeEvent emission ≥ 1 per mission step
- Recall hit rate > 75% (Memory)
- Quorum convergence first round > 70% (Cognition)
- RLS-enforced query share > 99% (Identity)
- Cross-tenant data leak incidents = 0 (Immune — zero is the only acceptable number)
- Audit pass rate > 80%
- Self-cert ↔ auditor delta < 10 pts (meta-metric for process bypass)
- Platform Vitality Index > 60 by end Phase 1, > 75 by end Phase 2, > 85 by end Phase 3
6.2 Risk Register
From CRITICAL-REVIEW.md + MARKETING-RECONCILIATION.md + plan_GPT.md §7:
| Risk | Class | Mitigation owner / approach |
|---|---|---|
| Surface-first delivery repeats | B | Enforce S0 / S1 gates before status upgrades |
| Marketing claims 6–12 months ahead of reality (SOC 2, Multi-Tenant Isolation, Self-Learning) | L / C | Marketing + Legal + Eng (MARKETING-RECONCILIATION.md) |
| Contract drift across TS / Python | C | Shared schemas, codegen, fixtures, parity tests |
| Tenant leakage | L (P0) | RLS harness, fail-closed middleware, negative tests |
| Self-improvement remains status-only | C + R | Prioritise EvolutionApplier + rollback proof |
| Event bus dead wires persist | R | Canonical subject map + consumer lifecycle tests |
| Metrics become vanity metrics | S | Pair throughput with quality, cost, latency |
| Marketing outruns engineering | L + R | Marketing claim table tied to proof artifacts |
| Audit cycles keep catching surface-first / substrate-back-fill shortcuts | B | Eng leads — fix the incentive (this is the recurring 2026-04 → 2026-05 pattern) |
| No explicit architecture-integrity owner | S | Platform leadership — assign |
| Pricing / packaging not in any doc | S | PM + Exec |
| Defensible moat vs LangChain / Cursor / Devin / OpenAI Assistants | B | Strategy — moat is governance + memory + self-evolution if it ships before commoditisation |
| Vocabulary fragmentation (Phase / M / CON-XXXX) | N | Cross-walk table (§3.6) is the standing answer |
| No falsifiability protocol | S | Open — add OPEN: markers; corpus contradictions enter via CRITICAL-REVIEW cadence |
6.3 Open Architectural Decisions (ADRs to write)
| Decision | Current stance | Trigger to decide |
|---|---|---|
| Vault vs cloud KMS for long-term secret management | Vault incumbent; KMS lower ops cost | Before hardening SUB-9.6 |
| NATS vs Kafka beyond M8 scale | NATS current + fast; Kafka stronger ordering | Replay-ordering load becomes dominant |
| One memory store vs domain-specific (DecisionMemory ↔ AgentDNA ↔ Twin) | Currently mixed; prefer one contract + domain-specific indexes | Before splitting services |
| EvolutionApplier trust zone | Likely needs Zone 2.5 (stricter audit) | M6 hardening pass |
| Replay retention | Valuable but expensive; needs retention classes by tenant + data type | Storage budget review |
| Multi-region trigger criteria | Single region (eu-west-2) until customer with $X ARR requires it | Customer demand signal |
| Org-level twin | Deferred — do not build until per-user twin + consent proven | Per-user CAP-7 stable |
| Full CAP-3 marketplace | Post-M8 product surface | Core loops hold + ≥ N blocks, ≥ M pulls/week |
| Full CAP-8 blueprint simulation | Should not outrun OutcomeEvent + BehaviorProfile + side-lane evidence | M7 evidence base accrues |
PART 7 — End-State Architecture: Architecture Definition of Done
By the end of M8, the architecture is real, not aspirational, when:
1. A user can run work and inspect execution
2. The platform records outcomes canonically (ActorContext + OutcomeEvent everywhere)
3. A mission can be replayed from canonical events with identity and tenant scope intact
4. A routing decision can explain which evidence changed the choice
5. A twin field can be traced back to source events and forgotten by policy
6. The platform can propose bounded improvements with rollback (dry-run, approved, applied, rolled back, audited)
7. A side-lane experiment cannot contaminate main-lane learning until it graduates through governance
8. A cross-tenant read fails in tests and production, not just by convention
9. Governance state can be edited without code changes
10. The Tier-Forbidden floor remains immutable
11. Every marketing claim about learning, isolation, governance, self-improvement maps to a measured platform signal
This is the correct M8 definition of bounded Level-3 autonomy for this platform.
Until then, Conduir has meaningful substrate and a strong design, but not yet the full self-evolving platform promise.
PART 8 — Maintenance & Cross-Reference Index
8.1 Maintenance Contract
- Owner: architecture working group.
- Refresh trigger: capability status change, milestone completion, marketing-page change, audit-cycle outcome, contract version bump.
- Cadence: quarterly minimum (aligned to
CAPABILITY-PHASE-SUMMARYrefresh); ad-hoc on material change. - Authority rule: when this doc disagrees with wire-level contracts (
08-CONTRACT-SPECS.md) or current C3 baseline (09-FINAL-C3-ARCHITECTURE-DESIGN.md) on fact, the source wins and this doc is updated within one working day. - Drift detection: quarterly cross-walk table (§3.6) audit; any CAP that has shifted suite, layer, or seam dependency triggers an update.
8.2 What This Doc Supersedes / Defers To
| This doc | Supersedes | Defers to |
|---|---|---|
| Top-level architecture + delivery plan + charter | the five separate drafts (_CLAUDE_2.md, TOP-LEVEL-ARCHITECTURE-DESIGN.md, TOP-LEVEL-DESIGN.md, plan_GPT.md, GEMINI.md) | 08-CONTRACT-SPECS.md for wire-level truth; 09-FINAL-C3-ARCHITECTURE-DESIGN.md for current C3 baseline; capability inventory for sub-cap detail |
| Architectural spine (six layers) | the un-ordered listing in CAPABILITY-INVENTORY-2026-05-14.md §5.1 | source inventory for sub-cap detail |
| Cross-walk table (§3.6) | every doc-local translation table | source dialect docs for each column |
| Operational charter (Part 0.5) | the standalone GEMINI.md charter (kept for in-repo agent context) | this doc for the why behind each rule |
8.3 Conduir-evolution finalised corpus (this workspace)
| Doc | Purpose |
|---|---|
00-CONDUIR-MASTER-ARCHITECTURE.md (this doc) | Single compiled top-level architecture + delivery plan |
ARCHITECTURE.md (ARCHITECTURE.md) | Stakeholder anatomical view |
ENGINEERING-VIEW.md (ENGINEERING-VIEW.md) | Engineering counterpart (containers, contracts, zones, latency, failure) |
CAPABILITIES.md (CAPABILITIES.md) | Finalised capability inventory (CAP-9 floor, CAP-10..CAP-13 added) |
SUBSTRATE-SEQUENCING.md (SUBSTRATE-SEQUENCING.md) | Critical path S0 → S1 → S2 |
NON-GOALS.md (NON-GOALS.md) | Explicit refusals |
MARKETING-RECONCILIATION.md (MARKETING-RECONCILIATION.md) | Gap table + interim language |
METRICS-BASELINE.md (METRICS-BASELINE.md) | Per-plane KPIs |
CRITICAL-REVIEW.md (CRITICAL-REVIEW.md) | 2026-05-16 critical review |
TOP-LEVEL-DESIGN.md · TOP-LEVEL-ARCHITECTURE-DESIGN.md · _CLAUDE_2.md · plan_GPT.md · GEMINI.md | Source drafts merged into this document — retained for provenance |
LIVING-HUMAN-AI-VISION.md | Vision counterpart — every human body system mapped to AI equivalent, with critical treatment of liver, excretory, reproductive, lymphatic |
8.4 Living-system source of truth (maestro-platform/docs/living-system/)
| Doc | Purpose |
|---|---|
00-EXECUTIVE-ONE-PAGER.md | 1-page exec framing |
01-VISION-MISSION.md | Vision + mission |
01.5-CAPABILITIES.md | Eight product capabilities, narrative |
02-ROADMAP.md | Milestone roadmap |
03-WAVES.md | Lane ownership + weekly slices |
04-COMPONENTS-STATUS.md | Current container status + handshakes |
06-WORKFLOWS.md | Workflow-by-workflow evolution |
07-C3-COMPONENT-DESIGN.md | Suite-level implementation control plane |
08-CONTRACT-SPECS.md | Canonical wire-level contracts |
09-FINAL-C3-ARCHITECTURE-DESIGN.md | Current C3 baseline |
10-C3-C4-CAPABILITY-DRILLDOWN.md | C3 → C4 capability mapping |
11-L2-EXECUTION-ORCHESTRATION-MINI-CAPABILITIES.md | L2 execution detail |
CAPABILITY-INVENTORY-2026-05-14.md | Capability rows of record |
CAPABILITY-PHASE-SUMMARY-2026-05-14.md | What lands when |
HANDSHAKE-INDEX-2026-05-13.md | ~85 service handshakes catalogue |
TIMELINE-REWORK-2026-05-12.md | Current delivery reality vs. original calendar |
LEVEL-L2-EXECUTION-ORCHESTRATION-2026-05-13.md | L2 orchestration design |
AGENT-MATURITY-MODEL-2026-05-14.md | Autonomy L1–L5 × trust tier 0–3 |
tickets/CLEAN-ROOM-HARVEST-M6.md / -M7.md / -M8.md | Planning baselines |
End of compiled master architecture. When this document supersedes its four source drafts, retain the drafts for provenance — they are part of the audit trail of how the architecture was reached.