Label an issue. Get back a pull request.

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.


How it works

  1. You hand over a task with a label. 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.
  2. The Selector picks it up on its cycle. 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.
  3. An agent works inside a fresh microVM. Each iteration runs isolated, 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.
  4. You review a draft pull request. 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.

The bets, side by side

Tracewake answers the same problem as OpenAI's Symphony - issues into merged code without continuous supervision - with the opposite bets at every point:

SymphonyTracewake
HandoverWorkflow stateA label you apply
ParallelismTen agents at onceOne run at a time per target
WorkspacePersistent, reusedFresh microVM per iteration
Done detectionStall timerTermination Contract, five bounds
OutputLands in mainDraft PR only - nothing merges itself
ConfigIn-repo workflow fileOn the controller; target repos carry zero Tracewake files

What it refuses to do


Status

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.