feat(shell): classified runner output opens with a [clean] or [errors] verdict - #893
Open
santhreal wants to merge 20 commits into
Open
feat(shell): classified runner output opens with a [clean] or [errors] verdict#893santhreal wants to merge 20 commits into
santhreal wants to merge 20 commits into
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
|
/devin review |
santhreal
force-pushed
the
feat/result-contract
branch
5 times, most recently
from
August 23, 2026 11:29
5a91072 to
290bdee
Compare
…] verdict The minimizer already dropped passing noise, but the leftover blob still looked like something to grep or re-run. A shared result-contract header is now the verdict for cargo, bun, go, ctest, dotnet, clippy, golangci-lint, gradle, pytest, and tsc/eslint-family. The prompt names that header and tells the model not to search the command result.
CI rustfmt wraps long string literals. Keep the tests formatted so check:rs stays green.
A successful cargo build the filter empties is `[clean] cargo build`, not a synthetic OK. A failed cargo build the filter empties is `[errors] cargo build`, not a blank blob.
-D warnings wants `?` on the `[errors N]` parse, collapsible let-chains on cargo/lint/node_tests counts, unwrap_or_else on pytest, and is_ok_and on the live cargo probe.
Native CI still expected the pre-contract first line on biome, pytest, dotnet, and tsc captures. The body is unchanged; only the verdict prefix is now part of the settled text.
The newline-invariant suite still expected the old `ctest: ok` summary.
Classified runner output adds a [clean]/[errors] header to bash and the cached prefix. The tool-block ceiling and block-0 digest are the places that cost is written down, so they move with the prose rather than absorbing it as leftover slack.
The HUD polish on main draws pending tasks with status.shadowed, not the phase checkbox. This assertion was left on checkbox.unchecked and fails any GitHub merge that includes that polish.
santhreal
force-pushed
the
feat/result-contract
branch
from
August 23, 2026 12:24
f646e7a to
0609e0f
Compare
# Conflicts: # packages/coding-agent/test/interactive-mode-todo-clear.test.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Classified runner output now opens with a result-contract header:
[clean] <command>[errors] <command>[errors N] <command>The header is the verdict. The body contains only retained diagnostics and summaries. Unclassified commands and explicitly machine-readable output remain passthrough.
The grammar and replay checks are defined in
crates/veyyon-shell/src/minimizer/contract.rs. Cargo, bun checks and tests, Go test/build/vet, ctest/gtest, dotnet build/test/restore/format, clippy, golangci-lint, Gradle lint, pytest, and the tsc/eslint-family emit the contract on their classified paths.A conditional tool-policy statement tells models to trust the verdict, avoid searching a result blob, and avoid rerunning the same command to rediscover failures.
Correctness audit
The final audit tightened the contract at every boundary:
[clean]or a successful process into[errors]. Replayed minimizer output is accepted only when its status agrees with the process exit; direct contract application requires the complete computed verdict to match.[errors], never a qualified clean result.Unreleased.Verification
cargo test -p veyyon-shell --lib minimizer::— 793 passed.scripts/test-sandbox/run.sh— 66 passed.bun run checkpassed TypeScript and Rust checks.bun run check:toolspassed.CHANGELOG_BASE=origin/main bun run changelog:checkpassed.bun run changelog:root:checkpassed.The full
cargo test -p veyyon-shellrun reached 887 passing tests; its only unrelated failure was the host-sensitive CPU-budget test starting at kernel nice 19 with no remaining headroom. The complete minimizer unit suite and affected integration suites were then run separately and passed.