Start here · 2 of 3
Getting started
Build the command line from source, run a whole governed embedding on scripted fake models in one command, and compare it with a recorded live run.
Getting started
You need a Rust toolchain (edition 2024) and git. Nothing is on a registry, so you build from
the repository at the release tag, 0.55.2.
Build the command line
git clone --branch 0.55.2 https://github.com/beyond10x/loom.git
cd loom
cargo install --locked --path crates/loom-cli
b10x-loom --version
b10x-loom 0.55.2
b10x-loom run --help lists its flags and exit statuses; the CLI reference
shows the same text.
Run a governed embedding, without a model
The SDK example opens a case on the software-change@1 protocol over a scratch git repository with
one failing check, and runs the Commission runtime over it with Loom as the executor. Its selector
and argument generator are scripted fakes: no network, no login. The authority provider grants
nothing, so the run stops when only the merge is left.
cargo run --locked -p b10x-loom-sdk --example software_change
workspace: target/loom-sdk-example
step 1: implementation.edit {"files":[{"path":"check.txt","contents":"fixed\n"}],"message":"fix the check"}
effect: committed; HEAD is 6c1b876de066f060c9d564596f480534df880904
evidence: implementation_change
step 2: tests.run {}
effect: the test command exited with 0
| confinement: none
evidence: test_result pass
stopped: ApprovalRequired (repository.merge)
The commit id differs on every run. What happened:
- The example opened the case with the inputs a host gives every software change (
riskstandard,change_kindfeature,affects_security_boundaryfalse, the defaults ofb10x-loom run). The governor evaluated the case with Canon and issued a frontier: write tests, edit the implementation, inspect and run tests admissible, merge blocked. - Loom selected
implementation.editand generated its arguments; the runtime rechecked the proposal and the local effect adapter committed the file. The governor moved the case to the new revision, and the verifier submitted animplementation_changeabout it, stamped with the host clock'sobserved_at. - Loom selected
tests.run; the adapter rangrep -qx fixed check.txt, and the verifier, not the model, submitted the passing result as evidence. - With the tests passing on the current revision, the merge became approval required. The
authority provider granted nothing, so the run stopped at
ApprovalRequired (repository.merge). Nothing was merged.
Embed the runtime walks through the example's code.
A live run
b10x-loom run does the same with a hosted model choosing each action, over your own git work tree
and test command. It needs a Codex login (codex login) and makes model calls, so this page does
not run it; the live qualification run of 2026-10-05 is the recorded result:
b10x-loom run --workspace <scratch> --test-cmd "cargo test --quiet" --max-steps 12 "make the failing test pass"
picked software-change@1 (confidence 0.98)
…
step 1: tests.run {}
effect: the test command exited with 101
evidence: test_result fail
…
step 3: repository.edit {"files":[{"contents":"…","path":"src/lib.rs"}],"message":"Fix add to return the sum of its operands instead of their difference."}
effect: committed; HEAD is f9fa1bc0fadc810d5dcd6b33f0b4c3f9967dccca
…
step 4: tests.run {}
effect: the test command exited with 0
evidence: test_result pass
frontier: repository.edit (admissible), repository.inspect (admissible), repository.merge (approval required), tests.run (admissible)
…
stopped: ApprovalRequired (repository.merge)
The excerpt is cut (…); the record has the full transcript, five steps, exit status 0. The
record predates engineering-protocols 0.5.0, which split repository.edit into tests.write
and implementation.edit: a run today proposes implementation.edit for step 3, and its frontier
lists both write actions.
Run an intent explains each line and what to check before you point
it at a work tree.
Next
- Run the checks before you change anything.
- Crates lists every package and what it is for.