wai-quantum: the person's rules for proposals, checked change by change #487

Closed
dcharlot wants to merge 2 commits from wai/quantum-locks into main

2026-10-26

Transaction Science
wai-quantum mcp: an agent is told at initialize to record its changes and keep the person's rules
Some checks failed
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 30s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 23s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 26s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 10s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 9s
wai-quantum service / service · macos (pull_request) Successful in 49s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 12s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Failing after 14s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 3m12s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 9s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 10m33s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 18m29s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 5m19s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 2m41s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 16s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m3s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 15s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 1m51s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 15m55s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 21m18s
wai-quantum WebGPU member / member · discrete GPU, Vulkan (jetson-hub) (pull_request) Successful in 21m13s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m32s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 3m8s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 3m18s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 2m13s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 9m54s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m20s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 7m13s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 16m43s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h8m38s
The server's instructions now say to record a change with history_commit
(kept as the agent's, its lines and gates shown as its own), and that held
blocks and NAME.locks.json bind every change, history_changes showing what
a change would break before it is made. The MCP test checks the
instructions say so.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 10:11:32 -04:00
Transaction Science
wai-quantum: the person's rules for proposals, checked change by change
All checks were successful
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 12m30s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 10m2s
wai-quantum CUDA member / member · CUDA absent (linux) (pull_request) Successful in 28s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:b140) (pull_request) Successful in 4m4s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 19m4s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:401e) (pull_request) Successful in 1m25s
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 22s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 25s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 18s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 23s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 20s
wai-quantum service / service · linux (pull_request) Successful in 41s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Successful in 19s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 2m31s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 8m12s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 18s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 14m29s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 26s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 22s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 18s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 26s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m10s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m16s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 4m24s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m27s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m46s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m29s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h16m2s
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]>
2026-10-26 08:45:17 -04:00