Apache Maka (Incubating) is a local-first agent workspace and harness that keeps a complete record of every run. Each model message, tool call, permission decision, and termination is written to an append-only log of RuntimeEvents. The UI, the next prompt, and crash recovery are all projections of that log, so old tool output can drop out of the prompt without leaving the record.
Desktop (an Electron app), a TUI, a CLI, and the evaluation harness are thin clients of a single Runtime Host that owns execution. Sessions, settings, and run records stay on your machine in SQLite, and you bring the model: a cloud API, a local model, or a compatible gateway. Tools that write files or run a shell must pass a sandbox boundary first.
The project benchmarks Maka against other harnesses on the same model with each benchmark's official verifier, and publishes per-task results with every report. A graph mode splits a task into slices that run in isolated Git worktrees, integrates them, and reviews the result, and interrupted turns can be resumed explicitly. Desktop runs on macOS, with Windows and Linux in preview.
Features
- Append-only event log: model messages, tool calls, permission decisions, and terminations recorded as RuntimeEvents
- Projections: UI, prompt context, and crash recovery derived from the log rather than kept as separate copies
- Single Runtime Host: Desktop, TUI, CLI, and Eval share one execution authority
- Bring your own model: cloud APIs, local models, or a compatible gateway, with connection states shown as configured, send-ready, or experimental
- Published evaluations: per-task results against other harnesses on the same model with the official verifier
- Graph runs: durable task graphs whose implementation steps run in isolated Git worktrees under a supervisor
- Resume: explicit resume of interrupted turns from Desktop or the TUI and CLI
- MCP client: provider-neutral Model Context Protocol integration
- Computer use: a computer-use backend with host lifecycle and protocol adapters
- Local data: sessions, settings, and credentials stay in the local workspace, and the renderer never sees secrets


