The lost question
An agent hits an ambiguity and asks — into a terminal that scrolled past an hour ago. In Zap a question is a durable object: it stays pending until answered, cancelled, or expired, and the conversation keeps moving in parallel.
org.vibevm.zap · local-first agent workspace
Zap is a local workspace for running coding agents in parallel: projects, conversations, questions, managed work, and Git worktrees on one navigable surface. Zap Wayfinder keeps durable state on your machine; Zap Quick Lens opens it in the browser or Electron. Codex, Claude Code, OpenCode, and Qwen Code connect with the logins you already have.
The problem
An agent hits an ambiguity and asks — into a terminal that scrolled past an hour ago. In Zap a question is a durable object: it stays pending until answered, cancelled, or expired, and the conversation keeps moving in parallel.
Two tasks in one working tree end in stepped-on edits. Zap prepares an owned root worktree per plan and isolated child worktrees per managed task — resume returns to the same worktree, uncommitted edits intact.
A clean exit says a process ended, not that the work is right. Zap records process exit, the typed report, and your acceptance as three separate records — success never skips review.
What Zap is
Zap ships as two packages under one discipline. The Rust engine — flow:org.vibevm.zap/zap — keeps one typed durable history: intent, obligations, uncertainty, decisions, lowering, agent packets, execution, evidence, holds, recovery. The client — tool:org.vibevm.zap/lens — is Zap Wayfinder, the local service that owns that state, and Zap Quick Lens, the viewer that renders it. The coordinator may replan inside an Owner-defined envelope, and authority and economics gates stand in front of every live effect.
Two separate channels: agents authenticate to an exact workspace scope, and a UI login never grants agent authority. Everything binds loopback. Opening or closing a viewer neither starts nor stops agents.
Navigation
The workspace renders your projects as regions on one pan-and-zoom map, and the plan graph has exactly two readings. Missing members, partial relations, and prerequisite cycles are called out on the graph instead of being smoothed into a plausible-looking order — and coordinates never promise a duration the source did not state.
Capabilities
Question groups carry choices, multi-select, and free text, with drafts, cancellation, and amendment history. In the recorded acceptance flow, a live agent published a question, the browser answered it, the agent read the answer through a bounded inbox and filed a typed report — and after a Wayfinder restart, all of it was still there.
Promotion into your main line passes a candidate diff, registered checks, and human review under a single writer lease. Conflicts become a managed resolution task. There is no automatic stash, reset, or force-push.
Named configurations over your existing accounts, task specializations, and an economy/quality slider. Subscription meters show the observed reading: an unknown value stays unknown, and percentages are never converted into an invented number of tokens.
Registering a project spends zero inference. The coordinator starts when you press Start development. zap-server brings up the whole stack headless without a single model turn.
Trust
Exit, typed report, acceptance — three records.
No invented durations, orders, or token counts.
An unavailable planning source renders as unavailable.
Commit-producing operations refuse until your Git identity is configured.
The UI shows only what the selected provider adapter actually supports.
Start
vibe install -g org.vibevm.zap/zapOne global application through vibe. Need vibe first? Install VibeVM →
zap-quicklensReuses or starts the local Wayfinder owner and opens a paired browser session. --electron for the desktop shell, zap-server for headless.
Codex, Claude Code, OpenCode, or Qwen Code — Zap uses that application’s protected login. It does not create accounts and does not sell inference.
Registration is free of inference. The first model turn happens on Start — not before.
Zap is a local preview: one human, one machine, full journal retained. Gamelens, IDE clients, and multi-person collaboration are named future components — not features of this release. Authoritative planning operations need a configured planning source; a pending source is shown as pending, not simulated.
The engine also installs into a VibeVM project as a flow package, adding its specifications and three skills — zap-draft, zap-state, zap-run. Installation activates nothing until you say so.
Why VibeVM →In one paragraph
Zap puts projects, agent conversations, questions, managed work, and Git worktrees on one local map. Questions survive restarts, integration passes through your review, and nothing spends a model turn until you press Start. Local preview, in the VibeVM family: vibe install -g org.vibevm.zap/zap.