fix: make archive-tree help a successful terminal action - #207
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review. 📝 WalkthroughWalkthrough
Changesarchive-tree CLI 동작
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This localized change makes sole --help and -h invocations exit successfully while preserving existing archive behavior; no actionable merge-blocking risk remains after normal checks and review. Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current headb6b997c1e021f2b6f82dbc39c0f973c8265edb60. -
Head SHA:
b6b997c1e021f2b6f82dbc39c0f973c8265edb60 -
Workflow run: 32132448709
-
Workflow attempt: 1
Coverage evidence
Coverage Decision
- Result: FAIL
- Test evidence: not proven passing
- Docstring evidence: not proven passing when configured
- Failure count: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: test.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: test.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (3 files)"]
R2 --> V2["required checks"]
OpenCode Review Overview
Pull request overviewOpenCode cannot approve yet because required coverage evidence did not pass. Review outcome1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
Coverage evidenceCoverage Decision
Changed-File Evidence Mapflowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: test.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: test.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (3 files)"]
R2 --> V2["required checks"]
|
There was a problem hiding this comment.
Pull request overview
OpenCode cannot approve yet because required coverage evidence did not pass.
Review outcome
1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence
-
Problem: The required coverage-evidence job result was
failure, so OpenCode cannot establish approval sufficiency for this head. -
Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.
-
Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports
successwith required evidence or explicit no-source not-applicable evidence. -
Regression test: Keep the approval branch checking
needs.coverage-evidence.result == successbefore posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present. -
Result: REQUEST_CHANGES
-
Reason: coverage-evidence result was
failure, so required test/docstring evidence was not proven for current headb6b997c1e021f2b6f82dbc39c0f973c8265edb60. -
Head SHA:
b6b997c1e021f2b6f82dbc39c0f973c8265edb60 -
Workflow run: 32138820899
-
Workflow attempt: 1
Coverage evidence
Coverage Decision
- Result: FAIL
- Test evidence: not proven passing
- Docstring evidence: not proven passing when configured
- Failure count: 1
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Workflow: test.yml"]
S1 --> I1["GitHub Actions review job"]
I1 --> R1["Review risk: Workflow: test.yml"]
R1 --> V1["actionlint plus required checks"]
Evidence --> S2["Changed file (3 files)"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Changed file (3 files)"]
R2 --> V2["required checks"]
Dismissing: this REQUEST_CHANGES was posted against commit b6b997c where coverage-evidence failed. The PR's current head has coverage-evidence passing (verified via gh pr checks). No unresolved review threads remain. Re-request review to re-validate.
Purpose
Make
disksage-archive-treetreat a sole--help/-has a successful terminal action while preserving ZIP inspection, extraction-free Git-tree proof, subset comparison, mismatch failure, argument validation, and filesystem-read authority.Exact current state
b6b997c1e021f2b6f82dbc39c0f973c8265edb60.main:be418bac9bfbdc8aa41b1a698713833e3dbccfdc..github/workflows/test.yml;src-tauri/Cargo.toml;src-tauri/src/bin/disksage-archive-tree.rs;src-tauri/tests/archive_tree_help_exit.rs.31879840750, Release31879840787, Security Scan31879840786, and SAST Semgrep31879840791all completedsuccess.Test-first history and implementation
The original test-only head
68d45e25309f5b66b751a9f79c9cb18fb2f16588established the real-binary process boundary while protected main routed help through the ordinary error path.The current implementation is deliberately narrow:
std::env::args_os();archive-tree-argument-invalidinstead of panicking;archive-tree-unknown-argument;The focused process regression is registered under the existing
archive-clifeature and verifies both help flags, unknown input, mixed help/invalid input in both orders, and Unix non-UTF-8 input.Archive reads, ZIP limits, Git-tree calculation, root stripping, top-level retention, expected-tree comparison, subset proof, JSON result contracts, and filesystem-read authority remain unchanged.
Remaining integration blockers
Feature-local/current-head native evidence is green, but repository-wide exact 100% owned-production region/statement-equivalent, branch, function, and line coverage remains owned by Draft #156 and is not yet proven on its exact current head. The live organization ruleset also requires a qualifying independent approval including last-push approval and resolved review threads. Ready-for-review status is not merge authorization.
Required before merge
Do not merge unless the unchanged exact head satisfies every applicable live required workflow and current finding, every review thread is resolved, fresh protected-main ancestry remains current, the live review ruleset is satisfied, and repository-wide exact coverage is satisfied without exclusions or threshold weakening. Pending, queued, skipped-required, neutral-required, failed, stale, predecessor, synthetic, diagnostic-only, status-only, model-only, author-only, rate-limited, no-source-scanner, or infrastructure-only evidence is not passing.