Tracewake turns a labeled issue into a reviewable pull request, unattended. A coding agent does the work inside a fresh microVM under a Termination Contract. The run's only output is a draft PR, which you review. Nothing merges itself.
MIT licensed. v0 is being assembled in the open.
Applying ready-for-agent is the handover: your attestation that
you authored or read the task and authorize an unattended run on it. The issue
needs an Acceptance criteria section, or it gets handed straight back.
Every 30 minutes the Selector reads the tracker, checks eligibility - allowlisted labeler, no blockers, no open proposal, retry budget unspent - seeds a Plan and Progress Log, and dispatches the run.
Each iteration runs in an isolated microVM with pinned network egress and an ephemeral filesystem. Context is discarded between iterations; all state lives in git. The run ends only when one of five declared contract bounds binds.
The run's sole output is a proposal: a draft PR with verified checks. You review, test, and merge. Dispatch halts when open proposals reach your review capacity, so unattended throughput never outruns human review.
Tracewake answers the same problem as OpenAI's Symphony - issues into merged code without continuous supervision - with the opposite bets at every point:
| Symphony | Tracewake | |
|---|---|---|
| Handover | Workflow state | A label you apply |
| Parallelism | Ten agents at once | One run at a time per target |
| Workspace | Persistent, reused | Fresh microVM per iteration |
| Done detection | Stall timer | Termination Contract, five bounds |
| Output | Lands in main | Draft PR only - nothing merges itself |
| Config | In-repo workflow file | On the controller; target repos carry zero Tracewake files |
v0 is being assembled. The repository holds the history, the code, the suites - and the configuration that replaced the defaults. What is left is tracked under Spec: Tracewake v0.
One instance runs on a single host: the Selector, the Journal, the window, and the local box. A second repository is a second stanza in a config file, not a second controller.