Tracewake

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.

Read the spec on GitHub Design notes

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 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.

  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

No autonomous merges
A run's sole external output is a draft pull request. Every change is reviewed by a human.
No metered keys
Agents authenticate with flat-rate subscriptions. Preflight refuses metered API keys, so there is no runaway spend.
No credential leaks
Outgoing diffs are scanned for known token patterns before any proposal publishes.
No unisolated execution
Every iteration runs inside an isolated microVM or container with pinned egress.
No unverified done signals
A model's claim of completion is advisory. A run ends only when a contract bound binds.
No reviewer flooding
Dispatch halts when open proposals reach your review cap.

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.