Skip to content

fix: every pointer to --spec is complete and runnable - #258

Merged
Max17190 merged 3 commits into
mainfrom
spec-pointers-complete-and-runnable
Aug 29, 2026
Merged

fix: every pointer to --spec is complete and runnable#258
Max17190 merged 3 commits into
mainfrom
spec-pointers-complete-and-runnable

Conversation

@Max17190

@Max17190 Max17190 commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Why

Round-7 contract audit (F4, F7), both reproduced on a built binary. --spec settings exists and is load-bearing: every --check settings row ends with (openmax --spec settings) and --spec providers cross-references it. But --help listed ten surfaces without it, so a model confirming the spelling concluded the surface does not exist. Separately, the misplaced-file warning said see openmax --spec for where each surface lives, and bare --spec is a parse error that dumps the full help block into context.

Summary

  • --help lists all eleven surfaces; help_names_every_spec_surface iterates spec::SURFACES against the --spec option block (scoped, since "settings" also appears in unrelated help prose), so surface twelve cannot repeat this.
  • The frozen prompt's pointer stays a deliberate subset (it pays per byte; settings/recall/usage carry their own pointers at the moments that need them). the_guide_pointer_names_only_real_surfaces enforces 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.
  • The misplaced-file warning names a runnable command: 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_healthy extended to require openmax --spec tools in the warning: red against the old text (verified).
  • the_guide_pointer_names_only_real_surfaces: tripwires surface twelve.
  • Full workspace green (exit 0), clippy zero warnings.

Greptile Summary

The --spec help text now lists settings, 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 settings successfully renders the Settings contract. The earlier test-order and help-list parsing concerns are fixed in the current code.

T-Rex T-Rex Logs

What T-Rex did

  • Built the current openmax binary and verified that the help surface list matches the spec surfaces.
  • Ran the openmax --spec settings command and confirmed it exited successfully and rendered the Settings contract.
  • Executed the focused test help_names_every_spec_surface and it passed.
  • Identified where the surface list is published, dispatched, and where the source contract is defined in the codebase.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (3): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile

--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.
Comment thread crates/core/src/prompt.rs Outdated
Comment thread crates/tui/src/main.rs Outdated
…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
@Max17190
Max17190 merged commit 72f6a1c into main Aug 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant