Skip to content

Take the Engine and the Harness from runvil-harness - #213

Merged
vinniefalco merged 2 commits into
cppalliance:masterfrom
vinniefalco:master
Nov 12, 2026
Merged

vinniefalco merged 2 commits into
cppalliance:masterfrom
vinniefalco:master

Conversation

@vinniefalco

Copy link
Copy Markdown
Member

The Engine and the Harness now live in cppalliance/runvil-harness. This pull request removes their source from this repository and pins them from there instead. What stays here is Workshop and the tooling that builds its installers.

What changed

  • The pin. The root Cargo.toml takes four crates from runvil-harness at commit 73242996: runvil, harness-gateway-client, plugin-web, and plugin-mcp. Those are the only four crates Workshop named before, so no Workshop source file changes.
  • The removal. The 16 crates under crates/runvil, crates/runvil-engine, crates/runvil-plugin, crates/runvil-internal, crates/harness-internal, crates/harness-gateway-client, crates/plugin-web, and crates/plugin-mcp are gone, along with prompts/. Their history is in runvil-harness: the last commit here that touched them, c64f85634, is 93d2871a there.
  • build-xtask. The checks that read Engine and Harness source are removed (cargo xtask api, the Engine guards, the facade shape check, the Harness bans, the doc(hidden) ban, the test-support leak guard). They run in runvil-harness now. The Workshop checks stay.
  • A new check, harness_pin (second commit). Git dependencies are invisible to the product matrix, so nothing would have stopped a crate here from naming a private Engine or Harness crate. The check reads the manifests and requires that only the four public crates come from runvil-harness, that each has a rev, that all name one rev, and that no member names the repository directly. It runs in cargo test -p build-xtask and cargo xtask tidy.
  • CI. The api-surface and msrv jobs and the three Engine and facade doc steps are removed. runvil-harness has its own copies of all of them. ci-green no longer needs the two jobs.
  • Housekeeping. 15 [workspace.dependencies] keys that no remaining crate uses are removed, as is rust-version, which only the Engine crates inherited. Cargo.lock loses criterion, rustdoc-types and their dependencies, and no registry package changes version. deny.toml allows the new git source. AGENTS.md, both READMEs, vibelight.toml, and the wording scan are updated to match.

Things worth a look

  • default-members. It was a short list of Engine crates. It is now every crate except the desktop app, workshop-server, and workshop-server-api, which keeps the old promise that plain cargo build works on a fresh clone with no Node install and no Tauri system packages. This is a judgment call, so say so if you would rather have a different default.
  • Moving the pin. To pick up new Engine or Harness work, change the rev on the four lines in the root Cargo.toml. harness_pin fails if they drift apart. The runvil-plugin-sdk pin must keep naming the Plugin contract commit that runvil-harness uses, because runvil-plugin-sys sets links and Cargo refuses two commits of it in one build.
  • Make existing Engine tests fail when the code they run is broken #212 has to move. It changes three files under the removed paths, so it will conflict with this pull request. It belongs in runvil-harness now.
  • The docs site. cargo xtask site still documents the same five crates. It builds them from the pinned commit, so the published API docs follow the pin and not the tip of runvil-harness.
  • Extra workflows. The Installers and Site workflows will both run on this pull request, because Cargo.toml, Cargo.lock, and site.rs changed.

Verification

Run locally on Windows, all passing:

  • cargo fmt --all --check
  • cargo clippy on both partitions, with CARGO_BUILD_WARNINGS=deny
  • cargo nextest run --locked on both partitions: 795 passed and 347 passed. The 5 skipped tests are the validated_gateway_fixture_process helpers, which are ignored on purpose.
  • cargo doc on the workspace partition with RUSTDOCFLAGS="-D warnings", and workshop-server with private items
  • cargo dylint --all
  • cargo xtask tidy, and cargo nextest run --locked -p build-xtask (120 passed). The first commit was also checked on its own (110 passed).
  • node --test crates/workshop/ui/test/docs-claims.mjs
  • cargo deny check and cargo audit
  • The ring check from the supply-chain job: ring is still absent from the Workshop binary
  • cargo doc -p <crate> --no-deps for each of the five docs-site crates, to confirm they still build as git packages

Not run locally: the Linux jobs, the ui job's npm tests, a full cargo xtask site build with the books, and the installer builds. CI covers those.

The Engine and the Harness have their own repository now, so this workspace no longer holds their source. The root `Cargo.toml` pins `runvil`, `harness-gateway-client`, `plugin-web`, and `plugin-mcp` from `https://github.com/cppalliance/runvil-harness` at one `rev`, and the crates under `crates/runvil`, `crates/runvil-engine`, `crates/runvil-plugin`, `crates/runvil-internal`, `crates/harness-internal`, `crates/harness-gateway-client`, `crates/plugin-web`, and `crates/plugin-mcp` are removed together with `prompts/`. `build-xtask`, `ci.yml`, and `docs-claims.mjs` lose the checks that read those crates.

- `default-members` lists every remaining crate except the desktop app, the server it embeds, and the server's facade, so plain `cargo build` continues to work with no Node install.
- `build-xtask` loses `cargo xtask api` and the modules `engine_guards`, `engine_deps`, `engine_clippy`, `facade_shape`, `harness_bans`, `doc_hidden`, and `test_support_leak`. The product matrix keeps the desktop-app boundary and container privacy.
- `ci.yml` loses the `api-surface` and `msrv` jobs, and `rust-version` leaves `[workspace.package]` because no crate here inherits it.
- `[workspace.dependencies]` loses the keys that no remaining crate names. `Cargo.lock` loses `criterion`, `rustdoc-types`, and their dependencies, and no registry package changes version.
- `deny.toml` adds the repository to `allow-git`.
- `cargo xtask site` continues to document the crates in `RUSTDOC_SITES`, now at the pinned commit.
- No check in this commit stops a member from naming a different crate of that repository.
The crates from runvil-harness are git dependencies, which the product matrix cannot see, so no check stopped a crate here from naming a private crate of the Engine or the Harness. The new `harness_pin` module reads the root `[workspace.dependencies]` and each member manifest. `all_violations` runs it, so `cargo test -p build-xtask` and `cargo xtask tidy` report a breach.

- The check has four rules. An entry from the repository names a crate in `HARNESS_PUBLIC`. Each entry has a `rev`; a `branch` or a `tag` does not count. All entries name one `rev`. No member names the repository in its own manifest, in any dependency table.
- `CrateInfo` gets a `manifest` field and `DEP_KINDS` becomes `pub(crate)`, so the check uses the crate walk in `product` and `dependency_tables`.
- The URL of the repository matches with or without a trailing `/` or `.git`, in any ASCII case.
- A root manifest that cannot be read or parsed is a violation.
- Ten tests: one runs the check on this workspace, and the fixtures break each rule in turn.
- The check compares `rev` strings exactly, so a short hash and a full hash of one commit count as two commits. It does not read patch sections.
@coderabbitai

coderabbitai Bot commented Nov 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 773 files, which is 623 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to Team to raise the limit.

Usage-priced reviews support at most 300 files.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Essentials
  • Run ID: 887b8c50-a625-4e61-8f99-da64570547c3
Commits

Reviewing files that changed from the base of the PR and between 2d40baf and df857f4.

Files ignored due to path filters: 1

  • Cargo.lock is excluded by !**/*.lock
Files selected for processing: 773

  • .github/workflows/ci.yml
  • .gitignore
  • AGENTS.md
  • Cargo.toml
  • README.md
  • crates/README.md
  • crates/build-xtask/Cargo.toml
  • crates/build-xtask/src/api.rs
  • crates/build-xtask/src/api/closure-tests.rs
  • crates/build-xtask/src/api/closure.rs
  • crates/build-xtask/src/api/doc_text-tests.rs
  • crates/build-xtask/src/api/doc_text.rs
  • crates/build-xtask/src/api/fixture-test-support.rs
  • crates/build-xtask/src/api/items-tests.rs
  • crates/build-xtask/src/api/items.rs
  • crates/build-xtask/src/api/listing.rs
  • crates/build-xtask/src/api/listing/compact-tests.rs
  • crates/build-xtask/src/api/listing/compact.rs
  • crates/build-xtask/src/api/listing/tests.rs
  • crates/build-xtask/src/api/load-tests.rs
  • crates/build-xtask/src/api/load.rs
  • crates/build-xtask/src/api/render-types.rs
  • crates/build-xtask/src/api/render.rs
  • crates/build-xtask/src/api/toolchain-tests.rs
  • crates/build-xtask/src/api/toolchain.rs
  • crates/build-xtask/src/api/walk.rs
  • crates/build-xtask/src/debug_spelling-tests.rs
  • crates/build-xtask/src/doc_hidden-tests.rs
  • crates/build-xtask/src/doc_hidden.rs
  • crates/build-xtask/src/engine_clippy-tests.rs
  • crates/build-xtask/src/engine_clippy.rs
  • crates/build-xtask/src/engine_deps-tests.rs
  • crates/build-xtask/src/engine_deps.rs
  • crates/build-xtask/src/engine_guards-tests.rs
  • crates/build-xtask/src/engine_guards.rs
  • crates/build-xtask/src/facade_shape-tests.rs
  • crates/build-xtask/src/facade_shape.rs
  • crates/build-xtask/src/harness_bans-tests.rs
  • crates/build-xtask/src/harness_bans.rs
  • crates/build-xtask/src/harness_pin-tests.rs
  • crates/build-xtask/src/harness_pin.rs
  • crates/build-xtask/src/main.rs
  • crates/build-xtask/src/manifest.rs
  • crates/build-xtask/src/no_doctests-tests.rs
  • crates/build-xtask/src/product.rs
  • crates/build-xtask/src/product/container_tests.rs
  • crates/build-xtask/src/product/harness_tests.rs
  • crates/build-xtask/src/product/plugin_tests.rs
  • crates/build-xtask/src/product/test_support.rs
  • crates/build-xtask/src/product/tests.rs
  • crates/build-xtask/src/site.rs
  • crates/build-xtask/src/test_support_leak-tests.rs
  • crates/build-xtask/src/test_support_leak.rs
  • crates/build-xtask/src/tidy-tests.rs
  • crates/build-xtask/src/tidy.rs
  • crates/build-xtask/src/type_size.rs
  • crates/build-xtask/src/unsafe_allowlist-tests.rs
  • crates/build-xtask/src/unsafe_allowlist.rs
  • crates/harness-gateway-client/AGENTS.md
  • crates/harness-gateway-client/Cargo.toml
  • crates/harness-gateway-client/README.md
  • crates/harness-gateway-client/src/broker-tests.rs
  • crates/harness-gateway-client/src/broker.rs
  • crates/harness-gateway-client/src/catalog-tests.rs
  • crates/harness-gateway-client/src/catalog.rs
  • crates/harness-gateway-client/src/config.rs
  • crates/harness-gateway-client/src/failure.rs
  • crates/harness-gateway-client/src/lib.rs
  • crates/harness-gateway-client/src/search-tests-provider.rs
  • crates/harness-gateway-client/src/search-tests-responses.rs
  • crates/harness-gateway-client/src/search-tests.rs
  • crates/harness-gateway-client/src/search.rs
  • crates/harness-gateway-client/src/transport.rs
  • crates/harness-gateway-client/src/transport/tests.rs
  • crates/harness-gateway-client/src/transport/tests/env.rs
  • crates/harness-gateway-client/src/transport/tests/limits.rs
  • crates/harness-gateway-client/src/transport/tests/streaming.rs
  • crates/harness-gateway-client/src/wire.rs
  • crates/harness-gateway-client/src/wire/classify-tests.rs
  • crates/harness-gateway-client/src/wire/classify.rs
  • crates/harness-gateway-client/src/wire/delta.rs
  • crates/harness-gateway-client/src/wire/parse-tests-metadata.rs
  • crates/harness-gateway-client/src/wire/parse.rs
  • crates/harness-gateway-client/src/wire/read-tests.rs
  • crates/harness-gateway-client/src/wire/read.rs
  • crates/harness-gateway-client/src/wire/request-tests.rs
  • crates/harness-gateway-client/src/wire/request.rs
  • crates/harness-gateway-client/src/wire/stream-tests-metrics.rs
  • crates/harness-gateway-client/src/wire/stream-tests.rs
  • crates/harness-gateway-client/src/wire/stream.rs
  • crates/harness-internal/plugin-loader/Cargo.toml
  • crates/harness-internal/plugin-loader/src/call-tests.rs
  • crates/harness-internal/plugin-loader/src/call.rs
  • crates/harness-internal/plugin-loader/src/fakes.rs
  • crates/harness-internal/plugin-loader/src/file-tests.rs
  • crates/harness-internal/plugin-loader/src/file.rs
  • crates/harness-internal/plugin-loader/src/host-tests.rs
  • crates/harness-internal/plugin-loader/src/host.rs
  • crates/harness-internal/plugin-loader/src/lib.rs
  • crates/harness-internal/plugin-loader/src/load-tests.rs
  • crates/harness-internal/plugin-loader/src/load.rs
  • crates/harness-internal/plugin-loader/src/pack-tests.rs
  • crates/harness-internal/plugin-loader/src/pack.rs
  • crates/harness-internal/plugin-loader/src/plugin-tests.rs
  • crates/harness-internal/plugin-loader/src/plugin.rs
  • crates/harness-internal/plugin-loader/src/session-tests.rs
  • crates/harness-internal/plugin-loader/src/session.rs
  • crates/harness-internal/runner/Cargo.toml
  • crates/harness-internal/runner/README.md
  • crates/harness-internal/runner/src/display_chain.rs
  • crates/harness-internal/runner/src/effect_loop-tests.rs
  • crates/harness-internal/runner/src/effect_loop.rs
  • crates/harness-internal/runner/src/environment-tests.rs
  • crates/harness-internal/runner/src/environment.rs
  • crates/harness-internal/runner/src/files.rs
  • crates/harness-internal/runner/src/harness.rs
  • crates/harness-internal/runner/src/host-tests.rs
  • crates/harness-internal/runner/src/host.rs
  • crates/harness-internal/runner/src/lib.rs
  • crates/harness-internal/runner/src/packs-tests-pick.rs
  • crates/harness-internal/runner/src/packs-tests-render.rs
  • crates/harness-internal/runner/src/packs-tests.rs
  • crates/harness-internal/runner/src/packs.rs
  • crates/harness-internal/runner/src/performers.rs
  • crates/harness-internal/runner/src/prepare.rs
  • crates/harness-internal/runner/src/recorder.rs
  • crates/harness-internal/runner/src/recorder_memory.rs
  • crates/harness-internal/runner/src/setup.rs
  • crates/harness-internal/runner/tests/it/effect_loop-broker.rs
  • crates/harness-internal/runner/tests/it/effect_loop-cap.rs
  • crates/harness-internal/runner/tests/it/effect_loop-recorder.rs
  • crates/harness-internal/runner/tests/it/effect_loop-vfs.rs
  • crates/harness-internal/runner/tests/it/effect_loop.rs
  • crates/harness-internal/runner/tests/it/harness-errors.rs
  • crates/harness-internal/runner/tests/it/harness-inbox.rs
  • crates/harness-internal/runner/tests/it/harness-stop-cap.rs
  • crates/harness-internal/runner/tests/it/harness-stop-timing.rs
  • crates/harness-internal/runner/tests/it/harness-stop.rs
  • crates/harness-internal/runner/tests/it/harness.rs
  • crates/harness-internal/runner/tests/it/main.rs
  • crates/harness-internal/runner/tests/it/performers.rs
  • crates/harness-internal/runner/tests/it/prepare-files.rs
  • crates/harness-internal/runner/tests/it/prepare-prelude.rs
  • crates/harness-internal/runner/tests/it/prepare-ready.rs
  • crates/harness-internal/runner/tests/it/prepare-user.rs
  • crates/harness-internal/runner/tests/it/prepare.rs
  • crates/harness-internal/runner/tests/it/recorder.rs
  • crates/harness-internal/runner/tests/it/render-calls.rs
  • crates/harness-internal/runner/tests/it/render-entries.rs
  • crates/harness-internal/runner/tests/it/render.rs
  • crates/harness-internal/runner/tests/it/scripted.rs
  • crates/harness-internal/runner/tests/it/support.rs
  • crates/harness-internal/runner/tests/it/tool_context.rs
  • crates/harness-internal/test-plugin/Cargo.toml
  • crates/harness-internal/test-plugin/src/lib-tests.rs
  • crates/harness-internal/test-plugin/src/lib.rs
  • crates/harness-internal/test-plugin/tests/it/insert.rs
  • crates/harness-internal/test-plugin/tests/it/lifecycle.rs
  • crates/harness-internal/test-plugin/tests/it/main.rs
  • crates/harness-internal/test-plugin/tests/it/run.rs
  • crates/harness-internal/test-plugin/tests/it/support.rs
  • crates/plugin-mcp/Cargo.toml
  • crates/plugin-mcp/src/connect-tests.rs
  • crates/plugin-mcp/src/connect.rs
  • crates/plugin-mcp/src/dynamic-tests.rs
  • crates/plugin-mcp/src/dynamic.rs
  • crates/plugin-mcp/src/entry-tests.rs
  • crates/plugin-mcp/src/entry.rs
  • crates/plugin-mcp/src/lib.rs
  • crates/plugin-mcp/src/result-tests.rs
  • crates/plugin-mcp/src/result.rs
  • crates/plugin-mcp/src/server-tests.rs
  • crates/plugin-mcp/src/server.rs
  • crates/plugin-mcp/tests/it/calls.rs
  • crates/plugin-mcp/tests/it/fixture.rs
  • crates/plugin-mcp/tests/it/listing.rs
  • crates/plugin-mcp/tests/it/main.rs
  • crates/plugin-mcp/tests/it/support.rs
  • crates/plugin-web/Cargo.toml
  • crates/plugin-web/README.md
  • crates/plugin-web/src/address.rs
  • crates/plugin-web/src/config-tests.rs
  • crates/plugin-web/src/config-validate.rs
  • crates/plugin-web/src/config.rs
  • crates/plugin-web/src/error.rs
  • crates/plugin-web/src/fetch.rs
  • crates/plugin-web/src/fetch/tests-body.rs
  • crates/plugin-web/src/fetch/tests-policy.rs
  • crates/plugin-web/src/fetch/tests.rs
  • crates/plugin-web/src/lib.rs
  • crates/plugin-web/src/provider.rs
  • crates/plugin-web/src/redirect.rs
  • crates/plugin-web/src/resolver.rs
  • crates/plugin-web/src/response.rs
  • crates/plugin-web/src/search-request.rs
  • crates/plugin-web/src/search-tests.rs
  • crates/plugin-web/src/search.rs
  • crates/plugin-web/src/url_policy.rs
  • crates/plugin-web/src/web-tests.rs
  • crates/plugin-web/src/web.rs
  • crates/runvil-engine/Cargo.toml
  • crates/runvil-engine/clippy.toml
  • crates/runvil-engine/examples/greeter.rs
  • crates/runvil-engine/public-api.txt
  • crates/runvil-engine/src/lib.rs
  • crates/runvil-engine/tests/prompts/invalid/lua-fence-closer.md
  • crates/runvil-engine/tests/prompts/invalid/lua-fence-opener.md
  • crates/runvil-engine/tests/prompts/invalid/malformed-epilog.md
  • crates/runvil-engine/tests/prompts/invalid/missing-h1.md
  • crates/runvil-engine/tests/prompts/invalid/unrecognized-lua-label.md
  • crates/runvil-engine/tests/suite/cancel.rs
  • crates/runvil-engine/tests/suite/effect.rs
  • crates/runvil-engine/tests/suite/event.rs
  • crates/runvil-engine/tests/suite/greeter.rs
  • crates/runvil-engine/tests/suite/ids.rs
  • crates/runvil-engine/tests/suite/main.rs
  • crates/runvil-engine/tests/suite/model.rs
  • crates/runvil-engine/tests/suite/packs.rs
  • crates/runvil-engine/tests/suite/parsing.rs
  • crates/runvil-engine/tests/suite/prepare.rs
  • crates/runvil-engine/tests/suite/prompt.rs
  • crates/runvil-engine/tests/suite/shipped.rs
  • crates/runvil-engine/tests/suite/support.rs
  • crates/runvil-engine/tests/suite/support/scenario.rs
  • crates/runvil-engine/tests/suite/timestamp.rs
  • crates/runvil-engine/tests/suite/vfs.rs
  • crates/runvil-internal/README.md
  • crates/runvil-internal/clippy.toml
  • crates/runvil-internal/lua/AGENTS.md
  • crates/runvil-internal/lua/Cargo.toml
  • crates/runvil-internal/lua/README.md
  • crates/runvil-internal/lua/benches/surface.rs
  • crates/runvil-internal/lua/src/__impl_coro.lua
  • crates/runvil-internal/lua/src/__impl_fanout.lua
  • crates/runvil-internal/lua/src/__impl_globals.lua
  • crates/runvil-internal/lua/src/__impl_require.lua
  • crates/runvil-internal/lua/src/__impl_store.lua
  • crates/runvil-internal/lua/src/__impl_tasks.lua
  • crates/runvil-internal/lua/src/adhoc.rs
  • crates/runvil-internal/lua/src/argv.rs
  • crates/runvil-internal/lua/src/bindings.rs
  • crates/runvil-internal/lua/src/chunk_line.rs
  • crates/runvil-internal/lua/src/collection.rs
  • crates/runvil-internal/lua/src/compactors-tests.rs
  • crates/runvil-internal/lua/src/compactors.rs
  • crates/runvil-internal/lua/src/coro.rs
  • crates/runvil-internal/lua/src/dispatch-tests.rs
  • crates/runvil-internal/lua/src/dispatch.rs
  • crates/runvil-internal/lua/src/engine_globals.rs
  • crates/runvil-internal/lua/src/engine_globals_store.rs
  • crates/runvil-internal/lua/src/error-tests.rs
  • crates/runvil-internal/lua/src/error.rs
  • crates/runvil-internal/lua/src/error_value-tests-raised.rs
  • crates/runvil-internal/lua/src/error_value-tests-universal.rs
  • crates/runvil-internal/lua/src/error_value-tests.rs
  • crates/runvil-internal/lua/src/error_value.rs
  • crates/runvil-internal/lua/src/globals-tests.rs
  • crates/runvil-internal/lua/src/globals.rs
  • crates/runvil-internal/lua/src/hardening.rs
  • crates/runvil-internal/lua/src/iteration-tests.rs
  • crates/runvil-internal/lua/src/iteration.rs
  • crates/runvil-internal/lua/src/json.rs
  • crates/runvil-internal/lua/src/json/decode.rs
  • crates/runvil-internal/lua/src/json/encode.rs
  • crates/runvil-internal/lua/src/json/keys.rs
  • crates/runvil-internal/lua/src/lib.rs
  • crates/runvil-internal/lua/src/library_env.rs
  • crates/runvil-internal/lua/src/markdown.rs
  • crates/runvil-internal/lua/src/markdown/blocks.rs
  • crates/runvil-internal/lua/src/markdown/lookup.rs
  • crates/runvil-internal/lua/src/markdown/walk.rs
  • crates/runvil-internal/lua/src/messages-tests-list-commit.rs
  • crates/runvil-internal/lua/src/messages-tests-list.rs
  • crates/runvil-internal/lua/src/messages-tests-records.rs
  • crates/runvil-internal/lua/src/messages-tests-view.rs
  • crates/runvil-internal/lua/src/messages-tests.rs
  • crates/runvil-internal/lua/src/messages.rs
  • crates/runvil-internal/lua/src/models-tests.rs
  • crates/runvil-internal/lua/src/models.rs
  • crates/runvil-internal/lua/src/models_loop-tests.rs
  • crates/runvil-internal/lua/src/models_loop.rs
  • crates/runvil-internal/lua/src/models_loop/machine-tests-compaction.rs
  • crates/runvil-internal/lua/src/models_loop/machine-tests.rs
  • crates/runvil-internal/lua/src/models_loop/machine.rs
  • crates/runvil-internal/lua/src/order.rs
  • crates/runvil-internal/lua/src/packs-tests.rs
  • crates/runvil-internal/lua/src/packs.rs
  • crates/runvil-internal/lua/src/prelude-tests-environment.rs
  • crates/runvil-internal/lua/src/prelude-tests.rs
  • crates/runvil-internal/lua/src/prelude.rs
  • crates/runvil-internal/lua/src/program.rs
  • crates/runvil-internal/lua/src/projection-tests.rs
  • crates/runvil-internal/lua/src/projection.rs
  • crates/runvil-internal/lua/src/prompt_reads.rs
  • crates/runvil-internal/lua/src/prose.rs
  • crates/runvil-internal/lua/src/protocol.rs
  • crates/runvil-internal/lua/src/protocol/answer.rs
  • crates/runvil-internal/lua/src/protocol/non_empty.rs
  • crates/runvil-internal/lua/src/protocol/parse.rs
  • crates/runvil-internal/lua/src/protocol/parse/chat.rs
  • crates/runvil-internal/lua/src/protocol/parse/store.rs
  • crates/runvil-internal/lua/src/protocol/parse/tasks.rs
  • crates/runvil-internal/lua/src/protocol/parse/tools.rs
  • crates/runvil-internal/lua/src/protocol/record.rs
  • crates/runvil-internal/lua/src/protocol/render.rs
  • crates/runvil-internal/lua/src/protocol/request.rs
  • crates/runvil-internal/lua/src/protocol/tests.rs
  • crates/runvil-internal/lua/src/protocol/tests/answer.rs
  • crates/runvil-internal/lua/src/protocol/tests/answer_retained.rs
  • crates/runvil-internal/lua/src/protocol/tests/parse.rs
  • crates/runvil-internal/lua/src/protocol/tests/parse_chat.rs
  • crates/runvil-internal/lua/src/protocol/tests/parse_tasks.rs
  • crates/runvil-internal/lua/src/protocol/tests/parse_tool_call.rs
  • crates/runvil-internal/lua/src/proxy.rs
  • crates/runvil-internal/lua/src/require.rs
  • crates/runvil-internal/lua/src/scope.rs
  • crates/runvil-internal/lua/src/section.rs
  • crates/runvil-internal/lua/src/sys.rs
  • crates/runvil-internal/lua/src/test_support.rs
  • crates/runvil-internal/lua/src/test_vm.rs
  • crates/runvil-internal/lua/src/tests-recording.rs
  • crates/runvil-internal/lua/src/tests.rs
  • crates/runvil-internal/lua/src/tests/argv.rs
  • crates/runvil-internal/lua/src/tests/budgets.rs
  • crates/runvil-internal/lua/src/tests/cancellation.rs
  • crates/runvil-internal/lua/src/tests/diagnostics.rs
  • crates/runvil-internal/lua/src/tests/engine_misuse.rs
  • crates/runvil-internal/lua/src/tests/json.rs
  • crates/runvil-internal/lua/src/tests/json/debug.rs
  • crates/runvil-internal/lua/src/tests/json/decode.rs
  • crates/runvil-internal/lua/src/tests/json/encode.rs
  • crates/runvil-internal/lua/src/tests/json/envelope.rs
  • crates/runvil-internal/lua/src/tests/json/errors.rs
  • crates/runvil-internal/lua/src/tests/json/limits.rs
  • crates/runvil-internal/lua/src/tests/json/lines.rs
  • crates/runvil-internal/lua/src/tests/json/marked.rs
  • crates/runvil-internal/lua/src/tests/json/views.rs
  • crates/runvil-internal/lua/src/tests/library_load.rs
  • crates/runvil-internal/lua/src/tests/logging.rs
  • crates/runvil-internal/lua/src/tests/markdown.rs
  • crates/runvil-internal/lua/src/tests/markdown/parse.rs
  • crates/runvil-internal/lua/src/tests/markdown/render.rs
  • crates/runvil-internal/lua/src/tests/markdown/section.rs
  • crates/runvil-internal/lua/src/tests/markdown/select.rs
  • crates/runvil-internal/lua/src/tests/markdown/views.rs
  • crates/runvil-internal/lua/src/tests/prompt_reads.rs
  • crates/runvil-internal/lua/src/tests/require.rs
  • crates/runvil-internal/lua/src/tests/require/environment.rs
  • crates/runvil-internal/lua/src/tests/require/errors.rs
  • crates/runvil-internal/lua/src/tests/require/jump.rs
  • crates/runvil-internal/lua/src/tests/require/prose.rs
  • crates/runvil-internal/lua/src/tests/require/reports.rs
  • crates/runvil-internal/lua/src/tests/sandbox.rs
  • crates/runvil-internal/lua/src/tests/section_vm.rs
  • crates/runvil-internal/lua/src/tests/store.rs
  • crates/runvil-internal/lua/src/tests/store_errors.rs
  • crates/runvil-internal/lua/src/tests/store_reports.rs
  • crates/runvil-internal/lua/src/tests/sys_and_var.rs
  • crates/runvil-internal/lua/src/tests/tool_scoping.rs
  • crates/runvil-internal/lua/src/tools.rs
  • crates/runvil-internal/lua/src/tools/decode.rs
  • crates/runvil-internal/lua/src/tools/objects.rs
  • crates/runvil-internal/lua/src/tools/offer.rs
  • crates/runvil-internal/lua/src/tools/stats.rs
  • crates/runvil-internal/lua/src/tools/tests-adhoc.rs
  • crates/runvil-internal/lua/src/tools/tests-offer-limits.rs
  • crates/runvil-internal/lua/src/tools/tests-offering.rs
  • crates/runvil-internal/lua/src/tools/tests-parameters.rs
  • crates/runvil-internal/lua/src/tools/tests-render.rs
  • crates/runvil-internal/lua/src/tools/tests-stats.rs
  • crates/runvil-internal/lua/src/tools/tests.rs
  • crates/runvil-internal/lua/src/tools/userdata.rs
  • crates/runvil-internal/lua/src/var.rs
  • crates/runvil-internal/lua/src/vm.rs
  • crates/runvil-internal/lua/src/vm/inject.rs
  • crates/runvil-internal/lua/src/vm/install.rs
  • crates/runvil-internal/lua/src/vm/run.rs
  • crates/runvil-internal/lua/src/vm/state.rs
  • crates/runvil-internal/lua/src/walk_budget.rs
  • crates/runvil-internal/markdown/Cargo.toml
  • crates/runvil-internal/markdown/README.md
  • crates/runvil-internal/markdown/src/block.rs
  • crates/runvil-internal/markdown/src/index.rs
  • crates/runvil-internal/markdown/src/lib.rs
  • crates/runvil-internal/markdown/src/parse-tests-source.rs
  • crates/runvil-internal/markdown/src/parse-tests.rs
  • crates/runvil-internal/markdown/src/parse.rs
  • crates/runvil-internal/markdown/src/parse/events.rs
  • crates/runvil-internal/markdown/src/parse/flat.rs
  • crates/runvil-internal/markdown/src/parse/frontmatter.rs
  • crates/runvil-internal/markdown/src/parse/tree.rs
  • crates/runvil-internal/markdown/src/path.rs
  • crates/runvil-internal/markdown/src/render-tests.rs
  • crates/runvil-internal/markdown/src/render.rs
  • crates/runvil-internal/markdown/src/selector.rs
  • crates/runvil-internal/markdown/src/test_support.rs
  • crates/runvil-internal/model-client/Cargo.toml
  • crates/runvil-internal/model-client/README.md
  • crates/runvil-internal/model-client/src/client-tests.rs
  • crates/runvil-internal/model-client/src/client.rs
  • crates/runvil-internal/model-client/src/client/role.rs
  • crates/runvil-internal/model-client/src/client/wire.rs
  • crates/runvil-internal/model-client/src/detail.rs
  • crates/runvil-internal/model-client/src/lib.rs
  • crates/runvil-internal/model-client/src/model-tests.rs
  • crates/runvil-internal/model-client/src/model.rs
  • crates/runvil-internal/model-client/src/model/error-tests.rs
  • crates/runvil-internal/model-client/src/model/error.rs
  • crates/runvil-internal/model-client/src/model/options.rs
  • crates/runvil-internal/model-client/src/normalize-tests.rs
  • crates/runvil-internal/model-client/src/normalize.rs
  • crates/runvil-internal/model-client/src/test_support.rs
  • crates/runvil-internal/prompt/Cargo.toml
  • crates/runvil-internal/prompt/README.md
  • crates/runvil-internal/prompt/src/body_text.rs
  • crates/runvil-internal/prompt/src/contract.rs
  • crates/runvil-internal/prompt/src/contract/args.rs
  • crates/runvil-internal/prompt/src/contract/models.rs
  • crates/runvil-internal/prompt/src/contract/tests-packs.rs
  • crates/runvil-internal/prompt/src/contract/tests.rs
  • crates/runvil-internal/prompt/src/detail.rs
  • crates/runvil-internal/prompt/src/error-tests.rs
  • crates/runvil-internal/prompt/src/error.rs
  • crates/runvil-internal/prompt/src/fence.rs
  • crates/runvil-internal/prompt/src/finder.rs
  • crates/runvil-internal/prompt/src/frontmatter.rs
  • crates/runvil-internal/prompt/src/lib.rs
  • crates/runvil-internal/prompt/src/parse.rs
  • crates/runvil-internal/prompt/src/position.rs
  • crates/runvil-internal/prompt/src/prompt.rs
  • crates/runvil-internal/prompt/src/sections.rs
  • crates/runvil-internal/prompt/src/test_support.rs
  • crates/runvil-internal/prompt/src/tests.rs
  • crates/runvil-internal/prompt/src/tests/breaks.rs
  • crates/runvil-internal/prompt/src/tests/frontmatter.rs
  • crates/runvil-internal/prompt/src/tests/h1_fences.rs
  • crates/runvil-internal/prompt/src/tests/headings.rs
  • crates/runvil-internal/prompt/src/tests/line_mapping.rs
  • crates/runvil-internal/prompt/src/tests/lists.rs
  • crates/runvil-internal/prompt/src/tests/section_fences.rs
  • crates/runvil-internal/runtime/AGENTS.md
  • crates/runvil-internal/runtime/Cargo.toml
  • crates/runvil-internal/runtime/README.md
  • crates/runvil-internal/runtime/benches/models_loop.rs
  • crates/runvil-internal/runtime/src/error.rs
  • crates/runvil-internal/runtime/src/error/tests-chain.rs
  • crates/runvil-internal/runtime/src/error/tests.rs
  • crates/runvil-internal/runtime/src/error/tools.rs
  • crates/runvil-internal/runtime/src/execute.rs
  • crates/runvil-internal/runtime/src/execute/context.rs
  • crates/runvil-internal/runtime/src/execute/fill.rs
  • crates/runvil-internal/runtime/src/execute/infer.rs
  • crates/runvil-internal/runtime/src/execute/params.rs
  • crates/runvil-internal/runtime/src/execute/requirements-tests.rs
  • crates/runvil-internal/runtime/src/execute/requirements.rs
  • crates/runvil-internal/runtime/src/execute/run.rs
  • crates/runvil-internal/runtime/src/execute/run/effect-tests-store.rs
  • crates/runvil-internal/runtime/src/execute/run/effect-tests.rs
  • crates/runvil-internal/runtime/src/execute/run/effect.rs
  • crates/runvil-internal/runtime/src/execute/run/tests-drops.rs
  • crates/runvil-internal/runtime/src/execute/run/tests-inbox.rs
  • crates/runvil-internal/runtime/src/execute/run/tests-reply.rs
  • crates/runvil-internal/runtime/src/execute/run/tests-send.rs
  • crates/runvil-internal/runtime/src/execute/run/tests-start.rs
  • crates/runvil-internal/runtime/src/execute/run/tests-steer.rs
  • crates/runvil-internal/runtime/src/execute/run/tests.rs
  • crates/runvil-internal/runtime/src/execute/scheduler.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/admission-tests.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/admission.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/apply.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/chain.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/chain_ops.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/chain_record.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/chat.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/dispatch.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/drive.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/effects.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/h1.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/inbox.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/step.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/task_end.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/tasks.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/test_hooks.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/timer.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/tool_call.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/waits.rs
  • crates/runvil-internal/runtime/src/execute/scheduler/walk.rs
  • crates/runvil-internal/runtime/src/execute/scope-tests-render.rs
  • crates/runvil-internal/runtime/src/execute/scope-tests.rs
  • crates/runvil-internal/runtime/src/execute/scope.rs
  • crates/runvil-internal/runtime/src/execute/section_context.rs
  • crates/runvil-internal/runtime/src/execute/section_vm.rs
  • crates/runvil-internal/runtime/src/execute/tests.rs
  • crates/runvil-internal/runtime/src/execute/tests/adhoc_tools-wrappers.rs
  • crates/runvil-internal/runtime/src/execute/tests/adhoc_tools.rs
  • crates/runvil-internal/runtime/src/execute/tests/batch_turn.rs
  • crates/runvil-internal/runtime/src/execute/tests/chat_arm.rs
  • crates/runvil-internal/runtime/src/execute/tests/chat_record_rebuild.rs
  • crates/runvil-internal/runtime/src/execute/tests/chat_scope.rs
  • crates/runvil-internal/runtime/src/execute/tests/compaction-rules.rs
  • crates/runvil-internal/runtime/src/execute/tests/compaction.rs
  • crates/runvil-internal/runtime/src/execute/tests/context.rs
  • crates/runvil-internal/runtime/src/execute/tests/debug_and_counts-infer-rounds.rs
  • crates/runvil-internal/runtime/src/execute/tests/debug_and_counts.rs
  • crates/runvil-internal/runtime/src/execute/tests/discovery-refusals.rs
  • crates/runvil-internal/runtime/src/execute/tests/discovery.rs
  • crates/runvil-internal/runtime/src/execute/tests/effects.rs
  • crates/runvil-internal/runtime/src/execute/tests/event_vendors.rs
  • crates/runvil-internal/runtime/src/execute/tests/exec_flow.rs
  • crates/runvil-internal/runtime/src/execute/tests/exit_rules.rs
  • crates/runvil-internal/runtime/src/execute/tests/fanout_acceptance.rs
  • crates/runvil-internal/runtime/src/execute/tests/fixtures.rs
  • crates/runvil-internal/runtime/src/execute/tests/full_id_calls.rs
  • crates/runvil-internal/runtime/src/execute/tests/gateway.rs
  • crates/runvil-internal/runtime/src/execute/tests/happens_before-concurrency.rs
  • crates/runvil-internal/runtime/src/execute/tests/happens_before.rs
  • crates/runvil-internal/runtime/src/execute/tests/live_infer.rs
  • crates/runvil-internal/runtime/src/execute/tests/model_and_reply-globals.rs
  • crates/runvil-internal/runtime/src/execute/tests/model_and_reply-handles.rs
  • crates/runvil-internal/runtime/src/execute/tests/model_and_reply.rs
  • crates/runvil-internal/runtime/src/execute/tests/models_compact.rs
  • crates/runvil-internal/runtime/src/execute/tests/models_loop-arguments.rs
  • crates/runvil-internal/runtime/src/execute/tests/models_loop-author-shapes.rs
  • crates/runvil-internal/runtime/src/execute/tests/models_loop.rs
  • crates/runvil-internal/runtime/src/execute/tests/models_loop_compactors.rs
  • crates/runvil-internal/runtime/src/execute/tests/models_loop_contract-rounds.rs
  • crates/runvil-internal/runtime/src/execute/tests/models_loop_contract.rs
  • crates/runvil-internal/runtime/src/execute/tests/observations.rs
  • crates/runvil-internal/runtime/src/execute/tests/offering-packs.rs
  • crates/runvil-internal/runtime/src/execute/tests/offering-sets.rs
  • crates/runvil-internal/runtime/src/execute/tests/offering.rs
  • crates/runvil-internal/runtime/src/execute/tests/parallel_tool_calls-withdrawn.rs
  • crates/runvil-internal/runtime/src/execute/tests/parallel_tool_calls.rs
  • crates/runvil-internal/runtime/src/execute/tests/precheck_anchor-resend.rs
  • crates/runvil-internal/runtime/src/execute/tests/precheck_anchor.rs
  • crates/runvil-internal/runtime/src/execute/tests/preludes.rs
  • crates/runvil-internal/runtime/src/execute/tests/provenance.rs
  • crates/runvil-internal/runtime/src/execute/tests/render_effect.rs
  • crates/runvil-internal/runtime/src/execute/tests/rendered_tools.rs
  • crates/runvil-internal/runtime/src/execute/tests/rounds.rs
  • crates/runvil-internal/runtime/src/execute/tests/run_inputs.rs
  • crates/runvil-internal/runtime/src/execute/tests/run_termination.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/chain_model.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/concurrency-stepped.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/concurrency.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/failures-script-tools.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/failures.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/fanout.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/fanout/arms.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/fanout/failure_semantics.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/fanout/scheduling.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/fanout_model.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/h1.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/h1/control_flow.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/h1/pass.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/h1/returns_and_prose.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/walk.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/walk/chains.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/walk/child_levels.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/walk/core_rules.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/walk/driving.rs
  • crates/runvil-internal/runtime/src/execute/tests/scheduler/walk/jumps.rs
  • crates/runvil-internal/runtime/src/execute/tests/section_messages.rs
  • crates/runvil-internal/runtime/src/execute/tests/serial_driver.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/args_surface.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/chains.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/child_walks.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/fanout_arms.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/fanout_collections.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/globals.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/h1_control.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/prompt_blocks.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/prompt_reads.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/run_setup.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/exec_flow/store_failures.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/execution.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/fanout.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/global_metatable.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/lazy_prose.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/markdown.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/parsing.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/prepare-refusals.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/prepare.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require/effects.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require/environment.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require/failures.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require/loading.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require/prose.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require/reach.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/require/walk.rs
  • crates/runvil-internal/runtime/src/execute/tests/suite/vfs.rs
  • crates/runvil-internal/runtime/src/execute/tests/tasks-chain-end.rs
  • crates/runvil-internal/runtime/src/execute/tests/tasks.rs
  • crates/runvil-internal/runtime/src/execute/tests/timeouts.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_call_access.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_call_arm-adhoc-handlers.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_call_arm.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_call_origins.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_listings.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_loop-scope-gate.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_loop.rs
  • crates/runvil-internal/runtime/src/execute/tests/tool_scoping.rs
  • crates/runvil-internal/runtime/src/execute/tests/unified_pipeline.rs
  • crates/runvil-internal/runtime/src/execute/tests/waits.rs
  • crates/runvil-internal/runtime/src/execute/turn-tests.rs
  • crates/runvil-internal/runtime/src/execute/turn.rs
  • crates/runvil-internal/runtime/src/execute/walk_target-tests.rs
  • crates/runvil-internal/runtime/src/execute/walk_target.rs
  • crates/runvil-internal/runtime/src/lib.rs
  • crates/runvil-internal/runtime/src/lua.rs
  • crates/runvil-internal/runtime/src/lua/tests.rs
  • crates/runvil-internal/runtime/src/lua/tests/coroutine.rs
  • crates/runvil-internal/runtime/src/lua/tests/errors-tables.rs
  • crates/runvil-internal/runtime/src/lua/tests/errors.rs
  • crates/runvil-internal/runtime/src/lua/tests/globals.rs
  • crates/runvil-internal/runtime/src/lua/tests/models_loop_contract.rs
  • crates/runvil-internal/runtime/src/lua/tests/quota.rs
  • crates/runvil-internal/runtime/src/lua/tests/shims.rs
  • crates/runvil-internal/runtime/src/model.rs
  • crates/runvil-internal/runtime/src/model/tests-always.rs
  • crates/runvil-internal/runtime/src/model/tests-integration.rs
  • crates/runvil-internal/runtime/src/model/tests.rs
  • crates/runvil-internal/runtime/src/prompt.rs
  • crates/runvil-internal/runtime/src/section_path-tests.rs
  • crates/runvil-internal/runtime/src/section_path.rs
  • crates/runvil-internal/runtime/src/section_pos.rs
  • crates/runvil-internal/runtime/src/subst-tests.rs
  • crates/runvil-internal/runtime/src/subst.rs
  • crates/runvil-internal/runtime/src/test_support.rs
  • crates/runvil-internal/runtime/src/test_support/recording.rs
  • crates/runvil-internal/runtime/src/test_support/recording/forward-tests-variants.rs
  • crates/runvil-internal/runtime/src/test_support/recording/forward-tests.rs
  • crates/runvil-internal/runtime/src/test_support/recording/forward.rs
  • crates/runvil-internal/runtime/src/test_support/recording/observation.rs
  • crates/runvil-internal/runtime/src/test_support/rig.rs
  • crates/runvil-internal/runtime/src/test_support/scenario.rs
  • crates/runvil-internal/runtime/src/test_support/scenario_serial.rs
  • crates/runvil-internal/runtime/src/test_support/scripted_chat.rs
  • crates/runvil-internal/runtime/src/test_support/seeded.rs
  • crates/runvil-internal/runtime/src/test_support/temp_root.rs
  • crates/runvil-internal/runtime/src/test_support/tools.rs
  • crates/runvil-internal/runtime/tests/prompts/execution/fanout-arm-failure.md
  • crates/runvil-internal/runtime/tests/prompts/execution/fanout-basic.md
  • crates/runvil-internal/runtime/tests/prompts/execution/fanout-cross-arm-append.md
  • crates/runvil-internal/runtime/tests/prompts/execution/fanout-epilog.md
  • crates/runvil-internal/runtime/tests/prompts/execution/fanout-store-writes.md
  • crates/runvil-internal/runtime/tests/prompts/execution/log-checkpoints.md
  • crates/runvil-internal/runtime/tests/prompts/execution/prologue-return.md
  • crates/runvil-internal/runtime/tests/prompts/execution/store-fallthrough.md
  • crates/runvil-internal/runtime/tests/prompts/execution/store-triad.md
  • crates/runvil-internal/runtime/tests/prompts/invalid/item-outside-fanout.md
  • crates/runvil-internal/runtime/tests/prompts/invalid/reply-substitution-nil.md
  • crates/runvil-internal/runtime/tests/prompts/valid/minimal.md
  • crates/runvil-internal/runtime/tests/prompts/valid/prologue-prose-epilog.md
  • crates/runvil-internal/runtime/tests/prompts/valid/require-library.md
  • crates/runvil-internal/types/AGENTS.md
  • crates/runvil-internal/types/Cargo.toml
  • crates/runvil-internal/types/README.md
  • crates/runvil-internal/types/src/cancel-tests.rs
  • crates/runvil-internal/types/src/cancel.rs
  • crates/runvil-internal/types/src/emitter.rs
  • crates/runvil-internal/types/src/error-tests.rs
  • crates/runvil-internal/types/src/error.rs
  • crates/runvil-internal/types/src/event-tests-library.rs
  • crates/runvil-internal/types/src/event-tests.rs
  • crates/runvil-internal/types/src/event.rs
  • crates/runvil-internal/types/src/event_lifecycle.rs
  • crates/runvil-internal/types/src/future.rs
  • crates/runvil-internal/types/src/ids.rs
  • crates/runvil-internal/types/src/lib.rs
  • crates/runvil-internal/types/src/metrics.rs
  • crates/runvil-internal/types/src/models.rs
  • crates/runvil-internal/types/src/names-tests.rs
  • crates/runvil-internal/types/src/names.rs
  • crates/runvil-internal/types/src/packs.rs
  • crates/runvil-internal/types/src/seed.rs
  • crates/runvil-internal/types/src/test_support.rs
  • crates/runvil-internal/types/src/timestamp.rs
  • crates/runvil-internal/types/src/tools-tests.rs
  • crates/runvil-internal/types/src/tools.rs
  • crates/runvil-internal/types/src/tools/ids.rs
  • crates/runvil-internal/types/src/tools/info.rs
  • crates/runvil-internal/types/src/tools/origin.rs
  • crates/runvil-internal/types/src/tools/output.rs
  • crates/runvil-internal/types/src/tools/registry.rs
  • crates/runvil-internal/types/src/untrusted-tests.rs
  • crates/runvil-internal/types/src/untrusted.rs
  • crates/runvil-internal/types/src/untrusted_inventory.rs
  • crates/runvil-internal/vfs/AGENTS.md
  • crates/runvil-internal/vfs/Cargo.toml
  • crates/runvil-internal/vfs/README.md
  • crates/runvil-internal/vfs/src/error.rs
  • crates/runvil-internal/vfs/src/glob.rs
  • crates/runvil-internal/vfs/src/handle.rs
  • crates/runvil-internal/vfs/src/handle/access.rs
  • crates/runvil-internal/vfs/src/handle/case_fold.rs
  • crates/runvil-internal/vfs/src/handle/claims.rs
  • crates/runvil-internal/vfs/src/handle/claims_tree.rs
  • crates/runvil-internal/vfs/src/handle/forward.rs
  • crates/runvil-internal/vfs/src/handle/operations.rs
  • crates/runvil-internal/vfs/src/handle/prune.rs
  • crates/runvil-internal/vfs/src/handle/region.rs
  • crates/runvil-internal/vfs/src/handle/scope.rs
  • crates/runvil-internal/vfs/src/handle/scope_handle-tests.rs
  • crates/runvil-internal/vfs/src/handle/scope_handle.rs
  • crates/runvil-internal/vfs/src/handle/store_view.rs
  • crates/runvil-internal/vfs/src/handle/tests.rs
  • crates/runvil-internal/vfs/src/handle/tests/claims.rs
  • crates/runvil-internal/vfs/src/handle/tests/happens_before.rs
  • crates/runvil-internal/vfs/src/handle/tests/operations.rs
  • crates/runvil-internal/vfs/src/handle/tests/read_range.rs
  • crates/runvil-internal/vfs/src/handle/tests/refusals.rs
  • crates/runvil-internal/vfs/src/handle/tests/regions.rs
  • crates/runvil-internal/vfs/src/handle/tests/semantics.rs
  • crates/runvil-internal/vfs/src/handle/tests/sink.rs
  • crates/runvil-internal/vfs/src/lib.rs
  • crates/runvil-internal/vfs/src/memory-tests.rs
  • crates/runvil-internal/vfs/src/memory.rs
  • crates/runvil-internal/vfs/src/observe.rs
  • crates/runvil-internal/vfs/src/path.rs
  • crates/runvil-internal/vfs/src/real.rs
  • crates/runvil-internal/vfs/src/real/fallback.rs
  • crates/runvil-internal/vfs/src/real/files.rs
  • crates/runvil-internal/vfs/src/real/resolve.rs
  • crates/runvil-internal/vfs/src/real/tests.rs
  • crates/runvil-internal/vfs/src/real/tests/atomicity.rs
  • crates/runvil-internal/vfs/src/real/tests/links.rs
  • crates/runvil-internal/vfs/src/real/tests/semantics.rs
  • crates/runvil-internal/vfs/src/real/unix.rs
  • crates/runvil-internal/vfs/src/real/windows.rs
  • crates/runvil-internal/vfs/src/router-tests.rs
  • crates/runvil-internal/vfs/src/router.rs
  • crates/runvil-internal/vfs/src/stat.rs
  • crates/runvil-internal/vfs/src/test_support.rs
  • crates/runvil-internal/vfs/src/traits-tests.rs
  • crates/runvil-internal/vfs/src/traits.rs
  • crates/runvil-internal/vfs/src/traits/backend.rs
  • crates/runvil-internal/vfs/src/traits/identity.rs
  • crates/runvil-internal/vfs/src/traits/policy.rs
  • crates/runvil-plugin/Cargo.toml
  • crates/runvil-plugin/clippy.toml
  • crates/runvil-plugin/src/context.rs
  • crates/runvil-plugin/src/lib.rs
  • crates/runvil-plugin/src/pack.rs
  • crates/runvil-plugin/src/registry-tests.rs
  • crates/runvil-plugin/src/registry.rs
  • crates/runvil-plugin/src/service.rs
  • crates/runvil-plugin/src/testing.rs
  • crates/runvil-plugin/tests/it/main.rs
  • crates/runvil-plugin/tests/it/pack_info.rs
  • crates/runvil-plugin/tests/it/test_call.rs
  • crates/runvil/Cargo.toml
  • crates/runvil/examples/run-prompt.rs
  • crates/runvil/public-api.txt
  • crates/runvil/src/lib.rs
  • crates/runvil/tests/suite/broker.rs
  • crates/runvil/tests/suite/host.rs
  • crates/runvil/tests/suite/launch.rs
  • crates/runvil/tests/suite/main.rs
  • crates/runvil/tests/suite/support.rs
  • crates/runvil/tests/suite/vfs.rs
  • crates/workshop/ui/test/docs-claims.mjs
  • deny.toml
  • prompts/analyst-example.md
  • prompts/echo.md
  • prompts/greet.md
  • prompts/hello.md
  • prompts/research-person.md
  • vibelight.toml

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@greptile-apps

greptile-apps Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] The PR changes how Workshop builds and updates its Engine and Harness dependencies.

The PR appears safe to merge, with a non-blocking gap in the new pin check.

Findings

  1. P2 Moving revisions pass the check ▶
Fix with agent prompt
### Issue 1
crates/build-xtask/src/harness_pin.rs:89-91
`harness_pin` accepts any string in `rev`, so setting all four entries to `rev = "master"` passes. Git branch and tag names are valid revision values, but they can move. A later lockfile update could therefore change the Engine and Harness without a manifest change.

Require a full commit hash and add a fixture that rejects a branch name supplied through `rev`.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Summary

Workshop now takes the Engine and Harness from one pinned runvil-harness commit instead of keeping their source here.

  • Workshop gets its Engine and Harness crates from one pinned commit.
  • A workspace check keeps Harness dependencies on the four public crates and one revision.
  • The Engine, Harness, and prompt sources leave the Workshop repository.
  • The workspace and its checks now build and document Workshop as the remaining product.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  W[Workshop crates] --> D[Root workspace dependencies]
  D --> P[Four public crates at one revision]
  P --> H[runvil-harness repository]
  T[build-xtask] --> G[harness_pin]
  G --> D
  G --> M[Member manifests]
Loading

Reviews (1) · Last reviewed commit: "Check that only four crates come from ru..." · Reviewed by Greptile

Comment on lines +89 to +91
match entry.get("rev").and_then(toml::Value::as_str) {
Some(rev) => {
revs.insert(rev);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Moving revisions pass the check

harness_pin accepts any string in rev, so setting all four entries to rev = "master" passes. Git branch and tag names are valid revision values, but they can move. A later lockfile update could therefore change the Engine and Harness without a manifest change.

Require a full commit hash and add a fixture that rejects a branch name supplied through rev.

Prompt To Fix With AI
This is a comment left during a code review.
Path: crates/build-xtask/src/harness_pin.rs
Line: 89-91

Comment:
**Moving revisions pass the check**

`harness_pin` accepts any string in `rev`, so setting all four entries to `rev = "master"` passes. Git branch and tag names are valid revision values, but they can move. A later lockfile update could therefore change the Engine and Harness without a manifest change.

Require a full commit hash and add a fixture that rejects a branch name supplied through `rev`.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

@vinniefalco
vinniefalco merged commit df857f4 into cppalliance:master Nov 12, 2026
32 checks passed

This branch was previously deployed

1 inactive deployment
github-pages — df857f4b Deployed Nov 12, 2026 by vinniefalco via deploy #187
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant