Skip to content

fix: make incomplete-download execution help successful and bounded - #219

Closed
seonghobae wants to merge 1 commit into
mainfrom
fix/cli-help-materialize-exec-v1
Closed

fix: make incomplete-download execution help successful and bounded#219
seonghobae wants to merge 1 commit into
mainfrom
fix/cli-help-materialize-exec-v1

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Purpose

Advance #210 with one non-conflicting execution CLI: require disksage-incomplete-download-materialize to treat a sole --help / -h as a successful terminal action, while preserving fail-closed execution semantics and preventing opaque option payloads from being reflected in diagnostics.

Exact test-first state

  • Live protected main: be418bac9bfbdc8aa41b1a698713833e3dbccfdc.
  • Exact test-only head: 549c37ed508cfb3f2a6509a757744a0b382226c8.
  • Semantic delta is one black-box process regression: src-tauri/tests/cli_help_materialize_exec_exit.rs.
  • The feature-gated binary is explicitly built with --locked --features cloud-cli into an isolated target directory before process assertions.

The regression requires:

  • sole --help and -h => exit 0, stable usage on stdout, empty stderr;
  • an unknown opaque option => non-zero, empty stdout, visible bounded stderr that does not echo the payload;
  • --help mixed with that invalid option => still non-zero and bounded.

Protected main currently routes help through Err(usage()), projects it via stderr/exit 2, and interpolates unknown argument text. No production fix or GREEN result is claimed before this exact test-only head proves a realistic RED rather than setup/build failure.

Intended narrow remedy

Handle only a sole help flag as a successful terminal request before destination-plan, HOME/cloud-root, capacity, audit, recovery, approval, or materialization execution. Replace raw unknown-option reflection with a stable bounded diagnostic. Mixed help/invalid input must remain an error. Preserve explicit --execute, human attribution/rationale, fingerprint confirmation, capacity admission, create-new private receipts, path safety, recovery validation, and all existing limits.

Ownership / non-duplication

Fresh exact-path search found no open PR owning src-tauri/src/bin/disksage-incomplete-download-materialize.rs. #218 owns the distinct materialization-planning and recovery CLIs; #217 owns eviction and destination-plan CLIs; #156 owns repository-wide exact coverage; #149 owns canonical acquisition documentation. This line does not race those owners.

Required before Ready / merge

Keep Draft until realistic exact-head RED -> narrow GREEN is proven, every applicable native and live required workflow passes on the unchanged implementation head, every valid current-head finding is addressed, live-base ancestry remains current, and repository-wide exact 100% owned-production statement/branch/function/line coverage is satisfied without exclusions or threshold weakening. Pending, queued, skipped-required, neutral-required, failed, stale, predecessor, synthetic, diagnostic-only, status-only, model-only, rate-limited, or infrastructure-only evidence is not passing.

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ce68081f-2017-4e6e-a7f7-e35584327435

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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