feat: the narrowing — public surface + hotato lab (Wave R) - #51
Merged
Conversation
… docs loop index (Wave R)
- hotato --help now lists only the durable public surface: autopsy, scan,
pin, prove, connect, the five <stack> health commands, start, demo,
doctor, console, production, serve, contract, describe.
- Every other command moves under `hotato lab`. One registration layer
(_SurfaceRouter) decides visibility: lab commands register under their
pre-1.17 names without a parent help line (argparse lists a subparser
only when add_parser got help=), so every old spelling keeps working
byte-identically; the `lab` prefix is pure argv dispatch onto the same
parser. `hotato lab --help` lists the lab commands with one-line
descriptions.
- Stability statement (public durable; lab evolves faster; old spellings
keep working) in the --help epilog tail, hotato lab --help, README's
Go-deeper section, and CONTRIBUTING (with the monthly-stable release
cadence).
- `hotato describe` records surface/canonical/compat_alias per top-level
command plus a manifest-level stability field; text rendering shows the
canonical lab spelling with the alias beside it. Command set, args, and
exit codes unchanged; MCP server untouched.
- docs/EVIDENCE-CONTRACT.md: the four-tier evidence policy stated once
(dual-channel deterministic / mono+provider-metadata attributable with
declared authority / raw mixed mono symptom-detection with measured
confidence / insufficient refused with remediation); README, AUTOPSY,
TRUST docs, and the docs index link to it; lockstep test added.
- Superlative sweep: measured framing in README ("a bug that fires
actions the caller canceled") and docs/STARTER.md.
- docs/README.md restructured: the loop first (autopsy -> scan -> pin ->
prove -> <stack> health), continuous use, then a Lab section; every doc
stays listed.
- CHANGELOG [Unreleased] entries; README.pypi.md + llms-full.txt
regenerated; ruff clean; full suite green (4925 passed, 35 skipped).
Claude-Session: https://claude.ai/code/session_01QrnfLJsa2v2LKDNtA8fXx5
hotato turn-taking eval8 of 8 scenarios pass. 0 fail. No regression.
RegressionsNone. Reproducible timing measured locally from call audio. Swap the bundled self-test step for your own captured recordings to gate on your agent. github.com/attenlabs/hotato |
quantumCF
added a commit
that referenced
this pull request
Jul 29, 2026
… docs loop index (Wave R) (#51) - hotato --help now lists only the durable public surface: autopsy, scan, pin, prove, connect, the five <stack> health commands, start, demo, doctor, console, production, serve, contract, describe. - Every other command moves under `hotato lab`. One registration layer (_SurfaceRouter) decides visibility: lab commands register under their pre-1.17 names without a parent help line (argparse lists a subparser only when add_parser got help=), so every old spelling keeps working byte-identically; the `lab` prefix is pure argv dispatch onto the same parser. `hotato lab --help` lists the lab commands with one-line descriptions. - Stability statement (public durable; lab evolves faster; old spellings keep working) in the --help epilog tail, hotato lab --help, README's Go-deeper section, and CONTRIBUTING (with the monthly-stable release cadence). - `hotato describe` records surface/canonical/compat_alias per top-level command plus a manifest-level stability field; text rendering shows the canonical lab spelling with the alias beside it. Command set, args, and exit codes unchanged; MCP server untouched. - docs/EVIDENCE-CONTRACT.md: the four-tier evidence policy stated once (dual-channel deterministic / mono+provider-metadata attributable with declared authority / raw mixed mono symptom-detection with measured confidence / insufficient refused with remediation); README, AUTOPSY, TRUST docs, and the docs index link to it; lockstep test added. - Superlative sweep: measured framing in README ("a bug that fires actions the caller canceled") and docs/STARTER.md. - docs/README.md restructured: the loop first (autopsy -> scan -> pin -> prove -> <stack> health), continuous use, then a Lab section; every doc stays listed. - CHANGELOG [Unreleased] entries; README.pypi.md + llms-full.txt regenerated; ruff clean; full suite green (4925 passed, 35 skipped).
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.
The public-surface narrowing (rides main unreleased; ships as 1.17.0 at the next monthly window).
--help= the 18-command public surface (autopsy · scan · pin · prove · connect · stack health · onboarding · continuous use · contract · describe · lab); 53 commands move underhotato labwith every old top-level invocation preserved byte-identically as a hidden compat alias.describemanifest carries surface/canonical/compat_alias per command — agent surface stays complete and truthful.Independently verified (fresh agent, own worktree): 12 moved commands byte-compared across main/top-level/lab forms incl. real invocations; help-truth by set equality; 64/64 registry tests; full suite 4,924 passed / 0 failed run twice (system + isolated venv); llms-full + PyPI readme regen zero-diff; ruff CI-pin clean.