Moda never merges a fix and never pushes to your default branch. Delivery is always a draft pull request (or a branch you apply yourself), and a human reviews and merges it.
Draft a fix
The Dossier header’s primary action is Draft fix (a split button; Mark as fixed manually… remains available for changes you shipped outside Moda). Drafting kicks off a pipeline whose progress shows directly on the button: Drafting…, Fix proposed — review, Verifying…, then Fix ready or Gate failed.1
Scope
Moda reads the problem’s verified evidence anchors and builds a replay set from them, split deterministically into repair cases (used to propose the change) and a holdout (reserved for the verdict). Problems with too little usable evidence rest as diagnosis-only fixes rather than guessing.
2
Route and propose
If the evidence concentrates on one managed prompt version, the fix targets that prompt and Moda proposes a candidate revision from the repair cases’ failure evidence. Evidence that points at a tool schema, or at nothing routable, still produces an investigation packet — those fixes are deliverable as diagnosis, not dead ends.
3
Verify
Two replay comparisons run on the frozen set: the gate (baseline vs. candidate) and a control (baseline vs. baseline) that measures replay noise. The verdict reads only the holdout.
4
Deliver
A verified fix can open a draft PR, be applied on a local branch, or be handed to a coding agent as a packet. Merging the PR starts confirmation monitoring.
The Fixes page
Improve → Fixes lists every fix, ranked by the underlying problem’s rank. Each row shows the fix type chip, a one-sentence rationale, and a gate badge — plus inline Open PR and Dismiss actions where they apply. The gate badge only appears when the holdout has at least 5 cases; below that the row shows Insufficient evidence instead of a verdict. Dismissing requires a reason, which is recorded as problem feedback and steers discovery.The Fix tab
A problem with a fix gains a Fix tab beside Dossier and Conversations: a vertical stepper of five cards, one per pipeline stage.Lifecycle
The dashboard renders stage chips; each chip covers one or more underlying statuses (the raw status is always visible on the fix detail and in the API).Verification you can trust
The gate is built so a green badge means something:- The holdout is the only headline. Repair cases shape the candidate, so their scores are shown as training cases, never as the verdict. The holdout never reaches the proposer.
- Wins must clear the noise floor. A control run replays baseline against baseline on the same cases; any disagreement there is pure replay noise. The candidate passes only when its holdout wins minus losses exceed
max(2, noise floor + 1)and losses stay within the noise floor. - Abstentions are counted, not hidden. Holdout cases that cannot be replayed faithfully are excluded from scoring and listed as abstained. More than 30% abstained makes the verdict inconclusive — never a pass.
- No badge below minimum evidence. A holdout under 5 cases shows Insufficient evidence instead of a verdict.
- Every number links to its replay run, so you can read the per-case transcripts behind the scoreboard.
Delivery channels
Confirmation and reopening
Merging a PR whose body or branch carriesMODA-FIX-<SHORTREF> confirms the fix — whether Moda or a human authored the PR. The fix moves to Monitoring, and Moda records a mark_fixed on the problem with structured fix provenance (PR, merge commit, shipped prompt version). While the problem sits in fixed-monitoring the fix shows as confirming; if the problem reopens, the fix flips to Regressed. After 14 clean monitoring days it becomes Held.
Throttles
- At most 3 open Moda fix PRs per workspace — merge or close one before submitting another.
- One open fix per problem and per target file. Drafting again while a fix is active returns the existing fix, and submitting a fix supersedes older drafts for the same problem or file. An already-open sibling PR blocks a second submission.
- Dismissal always requires a reason, which feeds problem feedback.
Next steps
- Problems — the root-cause groups fixes are drafted from.
- Fixes in the Data API — the same objects and pipeline over HTTP.
- CLI reference: Fixes — drive the loop from the terminal, including the fail-to-pass
moda fix verifyloop for coding agents. - Replays and Playground — the replay machinery the gate runs on.