Mission Control
The internal Company OS. Six layers and one policy plane put a person in control of company state and of autonomous execution.
Mission Control
Status: draft for review · Date: 2026-08-12
This is the high-level design. It shows the six layers, the policy plane, and the rules that hold them apart. Each layer has its own page with its components and its detail diagram. This page does not repeat them.
1. What Mission Control is
Mission Control is the internal Company OS. It is the human control plane over company state and over autonomous execution.
A person uses it to do five things.
Observe · Understand · Direct · Approve · Intervene
It is not a dashboard. A dashboard shows numbers. Mission Control operates the company through a mix of people, agents, workflows, company data and external systems.
Three properties set its scope.
| Property | What it means |
|---|---|
| Internal only | Employees use it. No customer reaches it. |
| Independently deployable | It ships on its own schedule, and it fails on its own. |
| Same blueprint, separate stack | It repeats the layer architecture of the agentic platform. It does not run on it. |
Same blueprint, separate stack. Mission Control copies the layer model of the agentic platform, and shares its vocabulary and its rules. It shares no database, no run table and no deployment. Internal operations must not stop when the customer product stops. A customer must never reach an internal agent. The cost of this decision is real, and it is deliberate: two implementations of the same shape, kept in step by review.
2. Principles
- One execution substrate. One run table, one status model, one event stream, one reaper.
- Definitions are data, not code. An agent is a row. A workflow is a row. A tool is a row. A policy is a row.
- Intelligence is not execution. An agent decides. A workflow sequences. A run executes. A trigger starts.
- Knowledge is not memory. Knowledge is what the company knows. Memory is what happened before.
- A capability is not its implementation. A tool is the contract. The service behind it can change.
- An agent reaches the world only through a tool. It holds no credential, and it writes no SQL.
- Company state is a first-class primitive. The CRM is one domain inside it, not the whole of it.
- Policy is external to the agent. An agent must not decide its own authorization.
- Human approval is a policy decision. It is not a branch in agent code.
- Dependencies flow down. A layer knows the layer below it. It never knows the layer above it.
- Prefer a declarative specification. A spec is easier to inspect, to version and to control than code.
3. How the system works
Six layers and one plane. Each layer is thin. The design is in how few of them there are, and in what each one refuses to do.
One request moves through Mission Control in eleven steps.
- A person writes an instruction in Mission Control, or opens a proposal.
- The control API turns the instruction into one request. The UI runs no business operation.
- An agent reads the intent and the context. It answers, asks a question, or writes a brief.
- A brief starts one run, for an agent or for a workflow.
- Policy admits the run. It checks the principal, the agent and the account limits.
- The orchestration layer resolves what to run: the agent version, its skills and its tools.
- The context builder reads company state, knowledge and memory. It returns one brief.
- The run executes. Each step is durable, so a crash resumes rather than restarts.
- The agent calls a tool for anything outside its own context. Policy answers allow, deny or require approval.
- On require approval the run writes an approval row and waits. A person decides in the approval center.
- The tool writes to company state. Run events stream back to Mission Control.
A trigger starts the same flow at step 4, with no person. Step 5 still runs.
The run writes back to company state through tools. That is what the next brief reads.
4. The layers
| # | Layer | Job | Page |
|---|---|---|---|
| L6 | Experience | Where a person observes and controls the company | Experience |
| L5 | Intelligence | Decide what to do, and how | Intelligence |
| L4 | Orchestration | Turn a decision into durable execution | Orchestration |
| L3 | Company context | What the work knows | Company context |
| L2 | Tools and integrations | The only route to the outside world | Tools and integrations |
| L1 | Foundation | The technical base, with no business logic | Foundation |
| — | Policy and governance | What is allowed, under what conditions, and how much | Policy and governance |
Policy has no number, because it is not a step in the path. Nothing passes through it. It is asked one question at three points, and it answers in one word.
One more page cuts across every layer. Metrics and connectors is a worked example: three vendors, one metric pipeline, three views, and no new machinery. Read it to see how a feature is supposed to land.
5. Core primitives
Fourteen nouns carry the whole system. A reader who knows these knows Mission Control.
| Primitive | Layer | Responsibility |
|---|---|---|
| Agent | L5 | Decide and reason |
| Skill | L5 | A reusable procedure an agent loads |
| Workflow | L4 | An ordered process definition |
| Run | L4 | One execution of an agent or a workflow |
| Step | L4 | One durable unit inside a run |
| Trigger | L4 | The condition that starts a run |
| Event | L4 | One fact a run emitted |
| Company state | L3 | The structured state of the business |
| Knowledge | L3 | Durable information the company holds |
| Memory | L3 | What happened before, and what was learned |
| Context | L3 | The brief assembled for one run |
| Tool | L2 | A capability offered to an agent |
| Policy | Plane | One rule that decides an action |
| Approval | Plane, L6 | One human decision on one action |
6. Data model
Eighteen tables carry the platform, plus the company state domain tables. Every definition is a row, so a new agent, workflow, tool or rule is a write and not a deploy.
| Table | Layer | Holds |
|---|---|---|
agents | L5 | The versioned agent spec: instructions, model, skills, tools, context policy, budget. |
skills | L5 | One reusable procedure, and the tools it needs. |
workflows | L4 | The versioned ordered steps. |
runs | L4 | One execution: input, state, output, error, cost. A workflow run is the parent of its step runs. |
run_events | L4 | One append-only fact from a run. This is the activity feed and the replay log. |
triggers | L4 | The start condition: manual, schedule, event, webhook or agent. |
artifacts | L4 | One file or record a run produced, and the step that produced it. |
documents | L3 | One durable knowledge document, and its source. |
document_chunks | L3 | One embedded passage, for retrieval. |
memories | L3 | One preference or observation, and the run that proposed it. |
tools | L2 | The registry: name, schema, kind, binding, scopes, side effect, risk. |
connections | L2 | One external account, and its vault credential. |
external_refs | L3 | One mapping: our entity, our id, the connection, the vendor id. |
policies | Plane | One rule: scope, action, conditions, decision. |
limits | Plane | One ceiling: scope, metric, window, value. |
policy_decisions | Plane | One evaluation: principal, action, matched policy, decision. |
approvals | Plane | One pending human decision, its TTL and its outcome. |
users | L1 | One employee, and the roles that set what they may do. |
secrets | L1 | One credential reference. The value lives in the vault, never in a row. |
Company state adds one table for each business entity: companies, people, opportunities, projects, tasks, goals, metrics, activities, decisions. Each one has exactly one owning domain. See Company context.
metrics and external_refs carry every external number and every vendor id, whatever the source. Their shape is on Metrics and connectors.
Three tables that do not exist are as important as the ones that do.
- No permission table. An agent's permission surface is its tool list and its scopes. A person's rights are their roles. The plane computes the intersection, and stores neither side.
- No audit table.
run_eventsandpolicy_decisionsare the audit trail. A third copy would drift. - No working memory table. Working memory is the run. Episodic memory is a query over
runsandrun_events.
7. Dependency rules
L6 Experience
↓
L5 Intelligence
↓
L4 Orchestration
↓
L3 Company context
↓
L2 Tools and integrations
↓
L1 Foundation
A layer calls the layers below it, and not only the adjacent one. A workflow step at L4 calls a tool at L2 with no agent in the path. A lower layer never calls a higher one. It emits an event instead, and something above it listens.
Two consequences carry most of the value.
An agent knows no infrastructure. It does not know PostgreSQL, Redis, a Slack SDK, an HTTP controller or a UI component. It knows a tool.
Agent → Tool → Service → Infrastructure
The UI mutates nothing directly. Every change of state passes through the control API and lands as a run or a record write.
UI → Control API → Agent, workflow or run → Tool → Company state
There is one deliberate exception. The context builder reads company state, knowledge and memory directly, because it is deterministic infrastructure and not a capability an agent chooses. Both paths obey the same row-level security.
8. Key decisions
| # | Decision | Why | What would change it |
|---|---|---|---|
| D1 | Mission Control is a separate stack from the agentic platform, on the same blueprint | Internal operations must survive a customer-product outage, and a customer must never reach an internal agent | The cost of two implementations exceeding the cost of a hard tenancy boundary inside one platform |
| D2 | Agents, workflows, tools and policies live in the database, not in code | A new agent must be a write, not a deploy. Versioning, inspection and rollback come free | Authorship that stays engineer-only forever |
| D3 | One run table for agent runs and workflow runs. A workflow run is the parent of its step runs | Two run tables means two status models, two reapers and two activity feeds | A workflow step whose shape a run row cannot carry |
| D4 | One agentic hop. An agent calls a workflow, and a workflow calls steps. An agent does not call an agent | Routing errors multiply through nested reasoning chains | An agent that must fan out, which it does to runs, not to other agents |
| D5 | A workflow is a first-class definition of ordered steps, not a compiled agent | Sequence, parallel branch, retry, wait, approval and schedule are what real processes need | Agents becoming reliable enough that a fixed order adds nothing |
| D6 | The tool is the only route to the world, and it is the policy boundary | It is also the audit line and the place a service change is absorbed | Nothing. This is the containment story |
| D7 | Company state is one model with many domains. The CRM is one of them | A CRM-shaped company model cannot hold a goal, a project or a decision | Nothing |
| D8 | The CRM beats knowledge, and knowledge beats memory, on a conflict | Without an order, three stores disagree and the agent picks the one that reads best | Nothing. A system with no precedence rule has three sources of truth |
| D9 | The context builder is deterministic, and a context policy on the agent row drives it | An agent that chooses what to retrieve is a second hop, which D4 forbids | Retrieval quality a fixed policy cannot reach. Then a ranking model inside one step, still not a hop |
| D10 | Policy is a plane consulted at three checkpoints, not a layer in the path | A check only at the start is bypassed by reaching the same action on a later turn | A measurement showing the per-call check costs more than it prevents |
| D11 | The decision set is closed at allow, deny and require approval | An open set becomes a rules language, and a rules language is new infrastructure | A real case that none of the three, plus a condition on the arguments, can express |
| D12 | A policy binds to an action, not to an agent | Per-agent rules are the fragmentation the plane exists to remove | Nothing. An agent scope is already available as a narrowing |
| D13 | An approval cannot grant a permission the approver does not hold | Otherwise approval is a privilege escalation path | Nothing |
| D14 | The UI executes no business operation | A UI that writes directly bypasses policy, audit and the run record in one step | Nothing |
| D15 | An external number is stored as a metrics row. An external record detail is never stored, and is read live | A stored number is company state, so a trigger can fire on it and an agent can reason over it. A stored record is a mirror of a vendor's model that goes stale | A number so large or so fast that storing it costs more than the trigger is worth |
| D16 | A tool is called by an agent or by a workflow step. A deterministic pipeline calls tools with no model in the path | Ingest needs the adapter, the credential and the audit line, and none of that needs reasoning | Nothing. A model in an ingest pipeline is cost with no decision |
9. Not building
- A second orchestration engine. A workflow step is a durable step on the engine we already run.
- A second run table.
- A pause and resume checkpointer of our own.
- Agent hierarchies deeper than one hop.
- A general policy language, or a fourth decision beyond allow, deny and require approval.
- A permission table.
- A separate audit store.
- A store for working memory or for episodic memory.
- A knowledge graph. Company state is the entity model.
- A retrieval agent. The context builder is deterministic.
- A vector database. The vector index is an extension of the database we already run.
- Direct database access for an agent, in any form.
- Raw REST routes exposed to a model.
- Business logic in the foundation layer.
- An analytics product. We store the numbers the company is operated on, and we link out for the rest.
- A mirror of a vendor's object model. We map a vendor id, and we store no vendor record.
- A dashboard per data source. A source is a connector, and a dashboard is the Company view, filtered.
10. End-to-end example
The instruction is one sentence.
Find promising companies, enrich them, and add the qualified ones to the CRM.
The path is eleven hops, and every one of them is a primitive from section 5.
Person
→ Mission Control L6 the instruction becomes one request
→ Agent L5 read the intent, write a plan
→ Workflow L4 four ordered steps
├── Research L4 step run, calls the web search tool
├── Enrichment L4 step run, calls the company data tool
├── Qualification L5 step run, agent reasoning, no tool
└── CRM update L2 step run, calls the CRM tool
→ Policy ·· allow, or require approval
└── Approval L6 a person decides in the approval center
→ CRM tool L2 the write happens once, and it is idempotent
→ Company state L3 the record changes
→ Run events L4 the change appears in Mission Control
Nothing in this path is specific to prospecting. Change the four steps and the same machinery runs a hiring loop, a monthly close or an incident review.
11. What comes next
The layers are settled. The contracts between them are not, and they decide whether the system stays modular.
Agent → Workflow → Run → Context → Policy → Tool → Company state
Each arrow is a schema that two layers must agree on. Each layer page ends with the open questions for its own arrow.
12. References
- Agentic platform — the customer-facing system on the same blueprint
- Mission Control product design — the product surface and the ops agent fleet