orro --help must show the surface it actually has (0.2.25) - #145
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Fixes Moonweave-Systems/witnessd#228.
What happened to a real operator
An agent session followed the ORRO skill document, probed the installed CLI first, and saw this:
None of
setup,flow,shiporproofrunappeared, so it concluded the install was a legacy shim, declared ORRO not runnable on that machine, and fell back to calling Codex directly. The install was healthy — the wrapper auto-delegates any unknown first argument to the pinned engine, and every documented command worked.Reproduced from the published package:
pip install orro==0.2.24in a fresh venv gives exactly that. The tiered command list was present, but in the argparse epilog, more than twenty lines down past the whole options block. The first screen advertised a three-command surface.This is the claim-versus-reality drift this project exists to catch, aimed at itself. Nothing was broken except what the tool said about itself, and that was enough for a careful reader to walk away.
What changed
usage:now enumerates the delegated commands as real subcommands, and the line immediately after it states that they are delegated to the pinned engine and that the wrapper implements no engine logic. The surface is legible where a reader already looks, rather than further down.orro self-testgained a doc↔surface parity check: every public command named in the packaged skill documents must resolve through the wrapper's dispatch. Both lists come from their existing single sources rather than a new hardcoded copy. Verified in both directions — adding a reference to a non-existent command in the packaged skill document makes self-test fail withERR_ORRO_WRAPPER_SURFACE_PARITY, naming the offending command; removing it passes again. Drift is now a failing test rather than a support incident.Installation docs record that the console script is the only supported entrypoint.
uv run python3 -m orroresolves through ambient project-venv discovery to an unrelated environment and reportsNo module named orro, which reinforced the wrong conclusion in the reported session.Scope
No command added, removed or renamed; delegation behaviour unchanged; the wrapper remains a wrapper. Verified from a wheel in a fresh virtual environment rather than the checkout, because this defect is only visible in an installation:
orro flow,orro setupandorro shipall still delegate correctly.🤖 Generated with Claude Code