Uh oh!
There was an error while loading. Please reload this page.
fix(hosted): stop duplicating usage errors and align the subcommand list - #428
Merged
Conversation
Cloud's parity suite caught two ways hosted mode drifted from local after #424/#427. Hosted still passed includeCapturedStderrForUnknownOption, so it replayed Commander's captured stderr on top of the line structuralErrorFromCommander now formats itself, printing `error: unknown option ...` twice. The `help:` subcommand list also differed: local used declaration order and included Commander's auto `help` entry, hosted used manifest order without it. Both are sorted and drop `help` now, leaving only commands hosted mode genuinely cannot run (LOCAL strategy) as a difference. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
🟠 Maintainer review suggested — low confidenceThe automated review could not reach a fully supported conclusion. Limitations
This review is advisory and does not block merging. |
Uh oh!
There was an error while loading. Please reload this page.
This was referenced Aug 23, 2026
Agnik47 added a commit
to Agnik47/webcmd
that referenced
this pull request
Aug 28, 2026
…gentrhq#317) `browser --help` listed its session commands and its adapter-authoring commands in one flat block, so the two unrelated surfaces read as one. Group them from the shared catalog: `tabs`, `bind`, `run`, `snapshot`, and `close` under "Browser session commands", `init` and `verify` under "Adapter authoring commands". Local and hosted help draw from the same catalog, so they stay aligned. `browser fork` is also removed here. It ran the same action as the adapter command and only existed as a hidden re-registration, which agentrhq#361 superseded; `adapter override` gains a `fork` alias so the local spelling survives. Rebased onto 0.7.10. Three upstream changes landed in the same lines and are kept: the structured-help imports from agentrhq#425/agentrhq#428, `BROWSER_RUN_HELP_TEXT`, and the `adapter override` description and hosted artifact-download paragraph. The alias is additive to that description rather than replacing it.
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 freeto 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.
The problem
webcmd-cloud's parity suite, run against this repo's
main, found two ways hosted mode drifted from local after #424/#427. Both are hosted-only; local was already correct.1. Hosted printed every unknown-option error twice.
src/hosted/runner.tsstill passedincludeCapturedStderrForUnknownOption: true. Since #424,structuralErrorFromCommanderformats theerror:line itself, so replaying Commander's captured stderr on top printed it a second time — the exact duplicate #424 removed on the local path.2. The
help:subcommand list was spelled differently on each side.Local used Commander's declaration order and included the auto-generated
helpentry; hosted built its list from the manifest and had neither. Two implementations of one sentence.What changed
includeCapturedStderrForUnknownOptionat bothsrc/hosted/runner.tscall sites (list,completion).visibleSubcommandNamesnow sorts, de-duplicates, and drops Commander'shelpentry.src/hosted/root-command-surface.test.tsupdated — they were pinning the duplicated line and thehelpentry as expected output.After this, the only difference left between the two lists is commands hosted mode genuinely cannot run (LOCAL strategy) — a real capability boundary, not drift.
Before / After
Tests
npm run typecheckclean.npx vitest run --project unit— 156 files, 2747 passed, 1 skipped, 0 failed.Cross-checked against webcmd-cloud by packing this branch and running its parity suite: the two duplicate-line failures are gone. What remains there is digest re-baselining plus the
local-onlycapability delta, handled in the companion cloud PR.🤖 Generated with Claude Code