DocsArchitecture

DocsTechnology

Architecture

The Mac app manages workers and conversations. A provider chooses the next step. The engine reads the window as text, acts on the seat and verifies the effect. The driver owns the seat: a virtual display, the adopted window, input and capture.

System responsibilities

01App and provider

Workers, conversations, settings, the provider’s turn.

02Engine

Scene, target resolution, policy, verification, the Brain.

03Driver

Virtual display, window placement, input to one window, cursor fence, capture, validated builds.

Layer and modulesWhat it owns
Mac app
MecumApp
Workers, conversations and events in Workspace.store, Settings, the keychain, the worker hosts for agents and for the model loop.
SeatBroker
SeatBroker
What the app talks to: the seat queue, a worker’s desktop session, permissions, build validation.
Driver
SeatCore, PrivateSymbols, VirtualScreens, WindowPlacement, SeatInput, CursorGuard, SeatCapture, SeatSession, TargetReader
The seat itself and the ledger of validated macOS builds.
Perception
PerceptionCore, VisionText, IncrementalText, WindowServerListing, AccessibilityFacts, PixelControlState, PixelRegions, PixelSections, Perception, ScreenCapture
The window as a text Scene: OCR, visual candidates, panels, accessibility facts, control state from pixels.
Engine
EngineCore, Engine, Memory, FileKnowledge, LiveScenes, HIDActuation, AccessibilityActions, WorkspaceActivation
The act cycle and its verification, the Brain and its files, and the foreground adapters the command line uses without a seat.
Integration
SeatDriving, AutomationRuntime, AutomationMCP
The seat filling the engine’s roles; the desktop tools and their schemas.
Chat
ChatCore, CLIProviders, FileConversations, LocalMCP
The Claude Code and Codex adapters, command-line transcripts, the loopback MCP bridge.
ModelTransports
ModelTransports
The Anthropic, Gemini and Ollama clients and the model catalogue.
Tools
mecum, mecum-bridge
The command line (windows, scene, act, select, batch, memory, peek and chat) and the bridge helper the app launches for an agent.

A seat is a virtual display with input routed to one window. It is not a virtual machine, a separate Mac or a separate user account.

Execution path

  1. Observe: the seat captures the adopted window; Perception reads it into a Scene; the Brain annotates what it already knows.
  2. Plan: the provider receives the task, the conversation and the Scene as text, and asks for a tool.
  3. Resolve: the runtime checks the session ID, the seat’s readiness and the target by label or element ID; destructive targets are refused unless a person allowed them.
  4. Act: the input goes through the seat to the adopted window, never as a global event.
  5. Check: an oracle or the difference between two Scenes decides the outcome; the Brain records the effect.

Coordination and concurrency

Workers converse in parallel; one worker runs one turn at a time, and the MCP bridge runs one tool call at a time. The seat queue grants one seat: a worker keeps it 30 seconds after a turn and gives it back at once when another is waiting. A conversation that needs no app needs no seat.

See Background for windows, outcomes and stopping.

Memory and state

LayerResponsibility
App knowledgeOne file per application in Knowledge, with daily backups. Written by the engine while sessions observe and act; recalled before an action.
Brain viewInspect app knowledge under Settings → Computer → Brain. Reasoning remains the provider’s job.
Workspace historyWorkers, conversations, messages and events in Workspace.store, with the provider session ID that a resume offers back to the same provider.
Window contextThe current target and observation. Revalidated before input; invalid after a restart.

Implementation boundaries

ComponentDataWhere it goes
PerceptionWindow imagesStay on the Mac. The Scene is text.
Worker turnPrompts, Scene text, tool resultsThe provider you chose: Anthropic or Google endpoints, the command line’s own service, or your Ollama server.
MCP bridgeTool calls and resultsA loopback port on the Mac, with a private credential file removed at shutdown.
KeychainAnthropic and Gemini API keysThe login keychain.
FilesKnowledge, history, transcriptsThe Mecum folder under Application Support.

Mecum is open source under Apache 2.0, including the app, the engine and the background driver.

Source scope

These guides describe the source baseline named below. Launch support includes external MCP connections from Claude Code and Codex. Models & MCP also documents other local STDIO clients, not each tested end to end; Gemini and Ollama are model connections in Mecum. Installer instructions are being finalized. Source coverage does not mean every workflow has been tested.

Verified source

Checked against Mecum app source at main 524eb7f on October 1, 2026. UI labels and paths have not yet been checked against the signed release build.