Skip to content

Move the Harness pin to 7147e709 and drop prompt titles - #2

Merged
vinniefalco merged 2 commits into
masterfrom
pin-harness-every-heading
Nov 13, 2026
Merged

vinniefalco merged 2 commits into
masterfrom
pin-harness-every-heading

Conversation

@vinniefalco

@vinniefalco vinniefalco commented Nov 13, 2026 •

Copy link
Copy Markdown
Member

Summary

Moves the runvil-harness pin from 5bca6f9f to 7147e709 and brings Workshop's prompts in line with the Engine's new heading rule.

At 7147e709 every heading starts a section, a prompt has no title, and the top level is the shallowest heading level in the file. A # line above ## sections makes them its children, so a run never enters them. That is why the title lines have to go in the same change as the pin.

What changed

  • The pin. The four runvil-harness entries in Cargo.toml name 7147e709f603b81786fb2d702bf50c4d9a88d62b. Cargo.lock changes only the 15 source lines of the crates that come from that repository.
  • chat.md. The # Chat line is gone. The paragraph at the top has no Lua block, so the run reads it as commentary and enters ## Conversation first.
  • Test prompts. The 17 prompts embedded in the tests have no title line.
  • lifecycle.rs. The run_ended event carries the frontmatter name, so the test expects "section": "echo" where it had the title Echo.
  • conversation.rs. The completed-run fixture returns finished in place of done. A run with no text also ends as done, so the old value did not show that the Lua ran.
  • One comment in the chat gate tests that named the H1.

No Rust code outside the tests changes.

Also in this pin move

The pin moves across four Harness commits. Besides the heading rule and a read-only argv, the two earlier ones change what a return ends and what call returns for a chain with no text. No prompt or test here needed a change for those.

Second commit: quinn-udp 0.5.16

cargo audit started to fail today, on master as well as here, when RUSTSEC-2026-0538 for quinn-udp 0.5.15 reached the advisory database. The second commit changes the version and checksum lines of that one lock entry to 0.5.16. No crate of this workspace builds quinn-udp for any target, so the build output is the same. It is a separate commit so that it can be taken or dropped on its own.

Verification

Run locally on Windows against the new pin, all passing:

  • cargo nextest run --locked -p workshop -p workshop-server -p workshop-server-api (347 tests)
  • cargo nextest run --locked --workspace --exclude workshop --exclude workshop-server --exclude workshop-server-api --all-features (703 tests)
  • both cargo clippy commands with CARGO_BUILD_WARNINGS=deny
  • cargo fmt --all --check
  • cargo doc with RUSTDOCFLAGS="-D warnings"
  • cargo dylint --all
  • cargo test -p build-xtask
  • node --test crates/workshop/ui/test/docs-claims.mjs
  • cargo deny check
  • cargo audit, after the second commit

Not done: the desktop app was not launched by hand. The built-in chat prompt is covered by the server's chat gate tests, which drive chat.md through model rounds.

Plan: runvil-harness/plan/2026-11-13-2-every-heading-is-a-section.plan.md

The Engine at `7147e709f603b81786fb2d702bf50c4d9a88d62b` makes every heading a section, so a `# ` line above the `## ` sections makes them its children, and a run never enters them. The four `runvil-harness` entries in `Cargo.toml` name that commit, and `chat.md` and the 17 prompts in the tests have no title line.

- `Cargo.lock` changes only the 15 source lines of the crates that come from `runvil-harness`.
- The paragraph at the top of `chat.md` has no Lua block, so the run reads it as commentary and enters `## Conversation` first.
- `a_program_that_returns_frames_run_ended_and_a_later_message_is_refused` expects `"section": "echo"` on `run_ended`. That is the frontmatter `name`, where the event had the title `Echo`.
- `a_completed_report_reports_nothing_and_ends_the_conversation` returns `finished` in place of `done`. A run with no text also ends as `done`, so the old value did not show that the Lua ran.
- The fixture with the unclosed frontmatter in `conversation.rs` ends in `## Only`. It fails the parse on its frontmatter as before.
- The comment on `gate_a_conversation_round_advertises_the_web_tools` names an offer above the heading, where it named the H1.
- The pin moves across four commits of `runvil-harness`. The two before the heading rule change what a `return` ends and what `call` returns for a chain with no text, and no prompt or test here changed for them.
- No Rust code outside the tests changes. The files outside the tests are `Cargo.toml`, `Cargo.lock`, and `chat.md`.

Plan: runvil-harness/plan/2026-11-13-2-every-heading-is-a-section.plan.md
@coderabbitai

coderabbitai Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The change updates four harness dependency revisions and revises agent prompt fixtures and related test expectations. The fixtures remove or replace top-level headings, while tests update completed-run results and a prompt-name expectation.

Changes: Harness and prompt updates

Layer / File(s) Summary
Harness revision and run tests
Cargo.toml, crates/workshop/agents/tests/it/conversation.rs
Four harness dependencies now use a different commit. Conversation tests use an updated heading and expect the completed-run result "finished".
Prompt fixtures and expectations
crates/workshop/agents/agents/chat.md, crates/workshop/agents/tests/it/support.rs, crates/workshop/server/src/agents/*, crates/workshop/server/src/routes/prompts-tests.rs, crates/workshop/server/tests/it/agents*, crates/workshop/server/tests/it/agents/*, crates/workshop/server/tests/it/chat_gate/canonical_sequence.rs
Prompt fixtures remove or replace top-level headings. A lifecycle test expects the prompt name echo, and a comment describes the web Pack offer above ## Conversation.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: Minimal · up to f3868

Merge Risk: ⚪ Minimal · up to f3868

This updates the Harness dependency and aligns the bundled prompt and tests with its heading rules. No concrete defect was found in the repository. User-authored prompt files that still begin with a # title may need that title removed, which is an upstream behavior change that the repository does not document.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the two main changes: moving the Harness pin to commit 7147e709 and removing prompt titles. The raw summary confirms the Cargo.toml pin update and the removal of # titles from chat.m…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Full details: Title check

Explanation

The title names the two main changes: moving the Harness pin to commit 7147e709 and removing prompt titles. The raw summary confirms the Cargo.toml pin update and the removal of # titles from chat.md and test prompt fixtures. The title is specific and concise, and it states the primary change from the developer's view.

Finishing Touches

Generate unit tests (beta)

  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

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: 7ed23570-b024-464c-94df-1b5c83256171
Commits

Reviewing files that changed from the base of the PR and between 1d6d269 and ba0f7e6.

Files ignored due to path filters: 1

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

  • Cargo.toml
  • crates/workshop/agents/agents/chat.md
  • crates/workshop/agents/tests/it/conversation.rs
  • crates/workshop/agents/tests/it/support.rs
  • crates/workshop/server/src/agents/language_guide/tests.rs
  • crates/workshop/server/src/agents/tests.rs
  • crates/workshop/server/src/routes/prompts-tests.rs
  • crates/workshop/server/tests/it/agents.rs
  • crates/workshop/server/tests/it/agents/lifecycle.rs
  • crates/workshop/server/tests/it/agents/revoke.rs
  • crates/workshop/server/tests/it/agents/turns.rs
  • crates/workshop/server/tests/it/chat_gate/canonical_sequence.rs
Files with no reviewable changes: 5

  • crates/workshop/agents/agents/chat.md
  • crates/workshop/server/src/agents/language_guide/tests.rs
  • crates/workshop/server/tests/it/agents.rs
  • crates/workshop/server/tests/it/agents/revoke.rs
  • crates/workshop/server/tests/it/agents/turns.rs

Included review availability: This review used your included allowance. 4 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.

@greptile-apps

greptile-apps Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge, with no outstanding findings identified.

Summary

Updates the Harness pin and removes prompt titles to match the new heading rules.

  • Workshop prompts start at their first section heading.
  • Workshop agents now use the updated Harness run contract.

Reviews (2) · Last reviewed commit: "Bump `quinn-udp` to 0.5.16 in `Cargo.loc..." · Reviewed by Greptile

`cargo audit` fails on `quinn-udp` 0.5.15 since RUSTSEC-2026-0538 reached the advisory database, and the advisory names 0.5.16 as the fix. The lock entry of `quinn-udp` now has that version and its checksum.

- Only the `version` and `checksum` lines of the entry change, and they were edited by hand. `cargo update -p quinn-udp --precise 0.5.16` gave the same two lines but also moved the `windows-sys` edge of 13 other crates to older versions.
- The entry keeps its `windows-sys 0.61.2` edge, which the range of 0.5.16 allows, and `cargo metadata --locked` accepts the file.
- `cargo tree --locked --workspace --all-features --target all -i quinn-udp` prints nothing, so no crate of this workspace builds `quinn-udp` and the build output is the same.
@vinniefalco
vinniefalco merged commit f386801 into master Nov 13, 2026
18 checks passed
@vinniefalco
vinniefalco deleted the pin-harness-every-heading branch November 13, 2026 19:34
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