Open Executive — Architecture

A reference map of how Open Executive is built — the components, data flow, and invariants of the running system, from the Executive orchestrator and its specialist council to the knowledge, memory, scheduling, and integration layers.

Diagram legend

Entry / Client
Compute / Agent
Storage
Cached
External
Hot / Not cached

Without the Jargon: What It Is

The 90-second version. A virtual executive with a council of specialists.

Without the Jargon: How It Decides To Act

Three modes — act on its own, propose for approval, or escalate to you.

Without the Jargon: When You're Not Watching

Morning brief, check-ins, nudges — Open Executive doesn't wait to be asked.

Without the Jargon: Who Approves What

Departments, heads, and approval tags — how proposals find the right person.

System Overview

High-level topology: clients, API, orchestrator, specialist agents, knowledge layer.

Request Lifecycle

Full round-trip of a single chat message, including tool-use loop and parallel specialist calls.

Agent Council

The Executive orchestrator and its specialist sub-agents — roles, models, and domains.

Prompt Caching

How the system prompt is partitioned for Anthropic prompt caching, and what breaks the cache.

Knowledge & RAG

ChromaDB collections, per-specialist domain filtering, and where retrieved context is injected.

SME Knowledge Review

The pending-review queue, priority ordering, and how rejected/approved items affect retrieval.

Memory System

Episodic SQLite memory (decisions, initiatives, advice, scheduled actions) and how it’s surfaced.

Peer Memory (Person + Department)

External peer-keyed memory. Per-person scope keyed by Person.id for cross-channel continuity, and per-department scope keyed by department_<slug> for institutional voice. Dialectic prefetch, fire-and-forget sync, peer-graph cross-pollination, per-fixture workspace isolation.

Org Structure

Departments, goals, checklists, cadences; people registry; authority gates and channel resolution (Discord/Telegram/email).

Audit Log

Searchable, append-only record of chat turns, specialist consults, tool calls, scheduled actions, alerts, and inbound integrations.

Data Schemas

Key Pydantic models and database tables — the shape of the data flowing through the system.

Workflows

Deterministic, multi-step orchestrations that produce structured artifacts, including the wait-for-human pause primitive.

Scheduler & Cadences

The async scheduler runner, cadence DSL, scheduled_actions, and proactive nudges through the user’s last-used channel.

Integrations

External channels (Slack, Discord, email, Telegram, Google Chat, MCP gateway), attachments, and how they connect.

External Monitoring

Polls the watchlist (vendor status pages, RSS / Atom feeds, stock tickers) and routes qualifying signals through the same alert pipeline as inbound email / Slack. Watchlist editable from chat.

Today / Morning Brief

The /today route — per-department goal health, a roster with awaiting-action counts, and proposals routed to a person.

API Reference

The FastAPI HTTP surface — endpoints grouped by router.

MCP Server

Open Executive exposed as an MCP server — company context as resources and the specialist council as tools, over Streamable-HTTP at /mcp for external agents.

User Guide Surface

The /guide page — plain-language, per-feature overviews served from static prebuilt JSON, sharing this page's loader and renderer but separate from this technical reference.

Talent / Executive Search

The in-house hiring vertical: engagements (searches), candidates, the ChromaDB matching graph, and the draft-and-approve recruiting workflows — surfaced in the /talent UI.

Staff Onboarding

Role-tailored onboarding for new hires: reusable templates, per-hire plans with phased task checklists, the role_onboarding brief workflow, a bounded ramp drip, and chat + /today integration.

Client Companies (Slots)

Multi-client mode for fractional executives: named save files of the full company context, one active at a time, with save-back switching and per-client MCP tool configs.