Feature 7 of the co-design report: region-scoped edits with locks and
keep/avoid marks.
- engine::locks:
- held blocks marked in the program between // @lock and // @unlock;
- the gates a change may add, the qubit declarations held, gates and
text to avoid, and the region a rewrite must keep to;
- check names each change of a proposal and the rules it breaks. Only
what a change adds is judged, and a generator's gates are read at its
inputs;
- brief states the rules for a model; held_ops gives the held gates;
call is the JSON dispatch for hosts.
- versions: a review keeps the changes the rules blocked (propose_with),
and a change both blocked and accepted is refused there and by verify.
A review with nothing blocked has the digest it had before.
- The command line: locks check | brief, prog.locks.json beside the
program. history changes names the breaches; history propose refuses
a blocked change, and --accept all takes the allowed ones.
- MCP: history_commit refuses an agent's edit that breaks a rule, with
the rule; history_changes shows the breaches and the rules.
- The Studio's Rules:
- hold the selected lines (shaded in the editor, gates marked on the
diagram), the gates allowed, the qubit declarations, what to avoid,
and a region for the next proposal;
- in the review a breaking change is shown with its rule and cannot be
taken, and the version records it as blocked;
- Alternatives leaves out a candidate whose every change breaks a rule,
and the model is told the rules with every request.
- Bindings: engine_locks in the page, locks in the desktop app.
- versions::call's blame and locks::check name an unreadable program
`unread`, not `error`, which a page's worker read as a failed call.
- CI: wai-web's native engine tests count 9.
Co-Authored-By: Claude Opus 5.5 <[email protected]>