fix: every pointer to --spec is complete and runnable - #258
Merged
Conversation
--help's --spec list omitted settings, the one surface --check sends readers to (every settings row ends "openmax --spec settings") and the only place the launch-read boundary and the model-switch recipe live. The frozen prompt's pointer stays a deliberate subset (the prompt pays per byte; settings, recall, and usage carry their own pointers at the moments that need them), and a test now enforces that every pointed surface exists and the omission list is exact, replacing a comment that falsely claimed the pointer names every surface. The misplaced-file warning's "see openmax --spec" was not runnable as printed (bare --spec errors with the help dump); it now names openmax --spec tools and the sibling surfaces.
…free The help assertion scanned a fixed 300-byte window with substring checks, which a reflow could defeat and unrelated prose could mask; it now parses the parenthesized list and compares set equality with spec::SURFACES. The pointer test's omission list no longer depends on SURFACES declaration order.
# Conflicts: # crates/core/src/prompt.rs # crates/tui/src/main.rs
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.
Why
Round-7 contract audit (F4, F7), both reproduced on a built binary.
--spec settingsexists and is load-bearing: every--checksettings row ends with(openmax --spec settings)and--spec providerscross-references it. But--helplisted ten surfaces without it, so a model confirming the spelling concluded the surface does not exist. Separately, the misplaced-file warning saidsee openmax --spec for where each surface lives, and bare--specis a parse error that dumps the full help block into context.Summary
--helplists all eleven surfaces;help_names_every_spec_surfaceiteratesspec::SURFACESagainst the--specoption block (scoped, since "settings" also appears in unrelated help prose), so surface twelve cannot repeat this.the_guide_pointer_names_only_real_surfacesenforces both directions: every pointed surface exists, and the omission list is exactly {settings, recall, usage}, so a new surface must consciously join one list. The test comment that falsely claimed the pointer "names every surface" is corrected.run openmax --spec tools (or skills, prompts, hooks, permissions, memory). Its two sibling warnings already name exact target paths; this was the one row answering "where does this live?" with "go look it up".Test Plan
help_names_every_spec_surface: red with settings removed from the list (verified; the first unscoped version stayed green off unrelated prose, so the assertion is scoped to the option block).misplaced_files_are_reported_instead_of_looking_healthyextended to requireopenmax --spec toolsin the warning: red against the old text (verified).the_guide_pointer_names_only_real_surfaces: tripwires surface twelve.Greptile Summary
The
--spechelp text now listssettings, diagnostics point to runnable surface-specific commands, and regression tests preserve the intended surface lists.Confidence Score: 5/5
No blocking failure remains.
Runtime validation confirmed that the help enumeration matches the accepted spec surfaces and that
openmax --spec settingssuccessfully renders the Settings contract. The earlier test-order and help-list parsing concerns are fixed in the current code.What T-Rex did
Reviews (3): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile