Skip to content

Fix Drafter

Roster names: fixer and resolver. See also the Review Pipeline.

What it does

When the Code Reviewer finds a defect, it drafts the smallest correction as a draft pull request and leaves the merge to a person.

  • Fixer: a one-shot patch for every review finding, of any severity.
  • Resolver: when the fixer cannot fix it, a multi-step coding session on the branch that reads, edits and builds, then opens a further draft. It retries with a larger budget before handing back to people.
  • Can also be asked by hand with an @core_fix comment on the pull request.

What it reads

  • The pull request’s diff and the reviewer’s findings.
  • The current content of the first files the pull request changes, within a size budget.
  • The repository’s agent instructions file, when it has one.
  • For the resolver: the files of the branch it works on.

What it produces

  • A draft pull request onto the reviewed branch, carrying a minimal unified diff.
  • When it does not produce a patch (it answers “no change”, the patch does not apply, or the plan check dissents), a comment on the pull request saying the findings are unresolved; from the automatic review path they then go to the resolver.
  • A draft titled [not verified by the judge] when the independent check could not decide or was switched off.

Human oversight

A person reviews the draft and decides whether to merge it. Merging re-runs the review, so a finding counts as resolved only when the reviewer agrees. The Fix Drafter never merges.

Model

Qwen3-Coder-30B-A3B, by Qwen, licensed Apache-2.0 (the coder tier). The plan check before it pushes runs on Qwen3.6-35B-A3B, by Qwen, licensed Apache-2.0. Runink domain adaptation for this agent is planned; this release uses the base model.

Where it runs and data handling

On your Runink TIDE deployment’s own inference, on your Server or in your cloud. The code goes to that model plane and to no third-party AI service. The resolver’s builds run on your own CI runners.

Guardrails

  • Minimal by instruction: it changes only what the findings require. A patch may touch only files the pull request already changes, minus a deny list (CI, workflows, git hooks, dependency redirects).
  • Checked before it acts: the Independent Assessor’s plan check judges each patch against the findings and the diff. A dissent means nothing is pushed.
  • Text in the diff that asks for CI, workflow, git-hook or dependency-redirect changes is treated as data, not as a request.
  • The patch’s added lines are screened before it is pushed.

Limitations

  • It works from review findings only. It does not fix what nobody found.
  • It does not change CI or build configuration.
  • After its retries, an unresolved finding stays open for a person.

Evaluation

No published evaluation scores yet.

Illustrative example

Invented finding. high, store/client/put.go, 88: the response body is never closed. The fixer reads the file and drafts one added line, defer resp.Body.Close(). The plan check concurs, TIDE opens the draft pull request, and the developer merges it.