Understanding the VECTOR Architecture

This page is an Explanation. It is for understanding โ€” not for doing. It answers "why does the system work this way?" If you want to install VECTOR, see Getting Started. If you want to look up specific component behavior, see Enforcement or Project Managers.


The Central Design Question

Before describing what VECTOR is, it helps to understand what problem it solves.

Multi-agent AI systems fail in predictable ways. Agents work in parallel on the same files and corrupt each other's work. An agent completes a task and self-reports success โ€” but nothing was actually verified. Context windows fill up, the session ends, and the next session starts with no memory of what came before. One agent makes a decision that contradicts another agent's assumptions, and nobody notices until something breaks in production.

The VECTOR architecture exists to make these failure modes structurally impossible, not just discouraged.


Why Three Tiers?

The three-tier hierarchy โ€” Conductor, Project Managers, Workers โ€” is the central architectural choice. Understanding why three (not two, not four) is the right number requires understanding what each tier is actually doing.

graph TB subgraph Tier0["Tier 0 โ€” Command Layer (Persistent)"] VECTOR["๐Ÿง  VECTOR\nOpus 4.6 + thinking:high\nFull memory ยท OS control ยท Single voice to Chief"] end subgraph Tier1["Tier 1 โ€” Domain Layer (Spawned per task)"] FORGE["โš™๏ธ FORGE\nEngineering"] GHOST["๐Ÿ‘ป GHOST\nGitHub Intel"] ORACLE["๐Ÿ”ฎ ORACLE\nAI Research"] SENTINEL["๐Ÿ›ก๏ธ SENTINEL\nOperations"] COMPASS["๐Ÿงญ COMPASS\nStrategy"] SAGE["๐Ÿ“ SAGE\nContent"] end subgraph Tier2["Tier 2 โ€” Execution Layer (Ephemeral)"] W1["โšก Codex Worker"] W2["โšก Codex Worker"] W3["โšก Codex Worker"] end VECTOR --> FORGE & GHOST & ORACLE & SENTINEL & COMPASS & SAGE FORGE --> W1 & W2 ORACLE --> W3

Tier 0 exists because something must hold the global picture. Every ticket, every running task, every piece of cross-cutting context โ€” this belongs to one agent, not six. VECTOR is that agent. It does not execute code. It does not write content. It routes, coordinates, enforces, and synthesizes.

Tier 1 exists because domain expertise matters. An engineering PM brings different context, different skills, and different verification logic than a content PM. Running everything through one general PM would mean every spawn is general-purpose โ€” losing the accumulated domain knowledge that makes specialists valuable. Six PMs with isolated memory partitions means FORGE's engineering lessons don't contaminate SAGE's content judgment, and vice versa.

Tier 2 exists because execution should be scoped and disposable. Workers run in isolated git worktrees. When they complete โ€” or fail โ€” the PM reviews via git diff, not via the worker's self-report. The worker's session ends. Its context disappears. Only the verified diff persists. This is how you prevent a worker's confusion from becoming the system's confusion.

Two tiers would collapse either the strategic and tactical layers (VECTOR doing PM work, losing global coherence) or the tactical and execution layers (PMs executing code directly, losing verification isolation). Four tiers would add bureaucracy without adding a genuine functional boundary.

Three is the right number.


Why Memory is Infrastructure

Most agent systems treat memory as optional โ€” a nice-to-have that makes responses feel more contextual. VECTOR treats memory as infrastructure, with the same criticality as the database that backs a production application.

The reason is compounding value. An AI system that operates continuously learns patterns that a new session cannot access. It discovers that a particular auth patch always conflicts with a custom patch file. It learns that a specific deployment step requires a workaround that took three engineers two hours to figure out. It builds a model of how the Chief makes decisions, what matters and what doesn't.

If none of that survives the session boundary, the system is not accumulating value โ€” it is executing the same startup cost every time.

graph TB subgraph L4["L4 โ€” Chief Context"] SOUL["SOUL.md โ€” Identity"] USER["USER.md โ€” Chief profile"] MEMORY_L4["MEMORY.md โ€” Long-term episodic"] end subgraph L3["L3 โ€” VECTOR Operational Memory"] DB["state/vector.db โ€” SQLite backbone"] DAILY["memory/YYYY-MM-DD.md โ€” Daily logs"] SPRINT["state/active-sprint.json โ€” Compaction anchor"] COMPACT["MEMORY_COMPACT.md โ€” Searchable archive"] end subgraph L2["L2 โ€” PM Memory (per-PM, isolated)"] BRAIN["BRAIN.md โ€” PM identity + lessons"] BELIEFS["beliefs.json โ€” BEE belief store"] LESSONS["lessons.md โ€” Searchable task history"] end subgraph L1["L1 โ€” Worker Context (ephemeral)"] SPEC["Injected task spec"] PMCTX["PM-injected lessons + beliefs"] end L4 -.->|VECTOR reads at boot| L3 L3 -.->|injected at PM spawn| L2 L2 -.->|injected at worker spawn| L1

The four layers serve four different time horizons. L4 is permanent โ€” it holds identity and long-term mission that never changes unless the Chief changes it. L3 is operational โ€” it holds running state, task history, and the compaction anchor that lets VECTOR survive a context reset. L2 is per-PM and persistent โ€” each PM's accumulated domain knowledge, isolated so PMs cannot corrupt each other's memory. L1 is ephemeral โ€” the worker's task context, assembled fresh from the layers above, dies when the worker session ends.

The compaction anchor (state/active-sprint.json) deserves specific attention. When a very long context session is compacted โ€” summarized by the model to free context window space โ€” VECTOR could lose track of in-flight work. The sprint file is the anchor: it contains enough structured state that VECTOR can read it cold and resume from where it left off. Without this anchor, compaction would be catastrophic. With it, compaction is an invisible maintenance event.


Why the Plugin Architecture?

The core VECTOR runtime is intentionally minimal. Capabilities are added as plugins โ€” independently versioned, independently installable, independently testable.

graph LR subgraph Core["VECTOR Core"] R["Skill Router"] D["Dispatch Guard"] M["Memory Manager"] end subgraph Plugins["Plugin Layer (openclaw.json)"] BEE["openclaw-bee\n(BEE cognitive architecture)"] SKILLS["Skills Engine"] MCP["MCP Bridge\n(75 external tools)"] end subgraph External["External Tools via MCP"] GH["GitHub API"] BR["Brave Search"] PW["Playwright"] FS["Filesystem"] end Core --> Plugins --> External

The plugin architecture serves two purposes. First, it keeps the core stable โ€” changes to BEE do not require changes to the runtime, and vice versa. Second, it makes the system extensible for enterprise deployments. A customer can install VECTOR, add only the plugins their environment supports, and leave out what their security posture doesn't permit.

The MCP bridge is particularly significant. MCP (Model Context Protocol) servers expose external tools in a standardized format. VECTOR's bridge gives any agent access to 75 tools โ€” GitHub APIs, web search, browser automation, filesystem operations โ€” without those tools being baked into the core runtime. New tools can be added by dropping in a new MCP server configuration. No runtime changes required.


Why Task Flow Looks the Way It Does

A task arriving at VECTOR travels through a specific path before anything is executed, and a specific verification path before anything is accepted as done.

sequenceDiagram participant Chief participant VECTOR participant PM participant Worker participant Gate Chief->>VECTOR: Instruction VECTOR->>VECTOR: Risk scan + 10-steps-ahead VECTOR->>VECTOR: Create ticket in vector.db VECTOR->>PM: Spawn with injected context PM->>PM: Boot sequence: BRAIN.md + beliefs + lessons PM->>Gate: Gate A โ€” plan review Gate-->>PM: Gate ID issued โœ“ PM->>Worker: Spawn in worktree [GATE-A-ID] Worker->>Worker: Execute in isolation Worker-->>PM: Session ends (completion signal) PM->>PM: git diff review โ€” not PTY, not self-report PM->>Gate: Gate B โ€” code review Gate-->>PM: Gate ID issued โœ“ PM->>Gate: Gate C โ€” integration check Gate-->>PM: Gate ID issued โœ“ PM-->>VECTOR: Ticket closed + memory compacted VECTOR-->>Chief: Delivery report

The pre-execution risk scan ("10-steps-ahead") is not a formality. It is where VECTOR asks: what could this change break? Who else is working in these files? What happens if this fails halfway through? Does this touch auth, database schema, or config โ€” categories that require additional care? The answers shape the task spec before any PM sees it.

The gate chain on the back end is where the quality promise is made real. Gate A validates the plan before any code is written. Gate B validates the actual code change โ€” not the PM's description of the code change. Gate C validates that the change integrates cleanly before merge. A task that skips any gate is not accepted as complete.

This is the operational model that makes "done" mean something.


Why OS Residency Matters

VECTOR runs as an OS-resident agent on macOS. It has access to the browser, the terminal, macOS UI state via Peekaboo, and system configuration. This is not a web application responding to API calls โ€” it is a process with real access to the machine it runs on.

This capability is, explicitly, VECTOR-only. No PM, no worker, no scheduled cron ever receives OS control. The reason is not paranoia โ€” it is containment. When an agent has OS access, a mistake is no longer contained to files or memory. It can affect running processes, network configuration, or application state. The blast radius of an OS-level mistake is the entire machine.

By restricting OS access to Tier 0 โ€” the one agent with full memory, full audit trail, and direct accountability to the Chief โ€” the system maintains the capability while bounding the risk.


The Communication Model

VECTOR is the single voice to the Chief. Project managers do not send messages. Workers do not surface output. All external communication is routed through Tier 0.

This is not about control โ€” it is about coherence. If six PMs can each send status updates, the Chief receives six partial pictures. VECTOR synthesizes the full picture from all PM outputs and surfaces one coherent view: what shipped, what's blocked, what needs a decision.

Channel Purpose Who Posts
Chief DM Standups, wins, decisions VECTOR only
Vector Ops System activity (PM updates relayed) VECTOR only
Daily Chai 7am morning brief VECTOR via scheduled cron only

The constraint on the Daily Chai channel is absolute: only the 7am cron posts there. No ad-hoc posts, no spillover from other operations, no manual posts. The Chief relies on that channel for one specific thing โ€” the morning brief โ€” and that contract is maintained by architectural constraint, not by convention.