Skip to content

fix: make Maven operational help successful and bounded - #214

Draft
seonghobae wants to merge 55 commits into
mainfrom
fix/cli-help-maven-batch-v1
Draft

fix: make Maven operational help successful and bounded#214
seonghobae wants to merge 55 commits into
mainfrom
fix/cli-help-maven-batch-v1

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Purpose

Keep the Maven operational audit/prune CLIs bounded while preserving valid native filesystem paths. Sole --help / -h remains a successful terminal action; invalid or mixed input remains non-zero without reflecting arbitrary payloads; native repository/output paths are not coerced through UTF-8 protocol parsing.

Exact current state

  • protected main: 79067c1160ddedf7fc962cbf8067ce7e83c4564a
  • exact source head: fa8aec82d703eb4dece79189dc637739932f02eb
  • open / Ready for review / mergeable
  • semantic delta remains the two Maven operational binaries plus five focused executable regressions
  • all current inline review threads are resolved; no qualifying independent approval is claimed

Exact-head evidence

For unchanged head fa8aec82d703eb4dece79189dc637739932f02eb:

  • Test 32953397855 — success;
  • Security Scan 32953397860 — success;
  • SAST Semgrep 32953397875 — success;
  • Release 32953397881 — failure only in the shared release-artifact verifier path after platform build/artifact materialization, owned by canonical verifier PR fix: verify Windows release artifact namespace #264.

The Release dependency is not permission for a Maven-local verifier workaround. Ready-for-review means independent review can proceed while #264 is integrated; it is not merge authorization.

Native-path and resource-bound repairs

The Unix black-box contracts launch the real Maven audit/prune binaries against native filesystem paths, including non-UTF-8 absolute repository paths, and preserve bounded non-reflecting diagnostics for option/protocol fields. --repository-root and --output remain native OsString/PathBuf; numeric options and the candidate-set fingerprint remain textual.

Resource authority is bounded before repository work: --max-entries is limited to 1..=2,000,000, and --max-candidates / --max-issues are limited to 0..=10,000. Duplicate singleton options, unknown input, mixed help, invalid numbers, and non-UTF-8 option-shaped input remain fail-closed.

Private output uses the shared private_evidence::write_private_json_create_new boundary rather than a weaker per-binary writer. On Unix this enforces create-new/private-parent authority and mode 0600; on unsupported platforms private publication fails closed rather than silently weakening the evidence contract.

Required before merge

Do not merge unless one unchanged exact head satisfies every applicable native and central required workflow, the #264 verifier dependency is integrated or otherwise proven on the exact integration lineage, zero valid current findings remain, fresh live-main ancestry is preserved, live review/ruleset requirements are satisfied, and repository-wide exact non-vacuous 100% owned-production statement/region-equivalent, branch, function, and line coverage is proven without exclusions or threshold weakening. Pending, queued, skipped-required, failed, stale, predecessor, synthetic, diagnostic-only, status-only, model-only, no-source, or infrastructure-only evidence is non-passing.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5bd19e72-4330-42a0-aeb5-d8195a65e4ee

📥 Commits

Reviewing files that changed from the base of the PR and between f23fca0 and 8f9b6d3.

📒 Files selected for processing (3)
  • src-tauri/src/bin/disksage-maven-cache-audit.rs
  • src-tauri/src/bin/disksage-maven-cache-prune.rs
  • src-tauri/tests/cli_help_maven_exit.rs
🚧 Files skipped from review as they are similar to previous changes (1)
  • src-tauri/src/bin/disksage-maven-cache-audit.rs

📝 Walkthrough

Walkthrough

Maven cache audit 및 prune CLI가 단독 --help-h를 정상 처리합니다. 알 수 없는 인자와 비 UTF-8 인자 오류를 안정적으로 처리합니다. 블랙박스 테스트가 출력, 종료 상태, 인자 반향 여부를 검증합니다.

Changes

Maven CLI 계약

Layer / File(s) Summary
도움말 및 오류 처리
src-tauri/src/bin/disksage-maven-cache-audit.rs, src-tauri/src/bin/disksage-maven-cache-prune.rs
단독 --help-h는 사용법을 출력하고 정상 종료합니다. 알 수 없는 인자와 비 UTF-8 인자는 고정된 알 수 없는 인자 오류로 처리합니다.
CLI 계약 검증
src-tauri/tests/cli_help_maven_exit.rs
두 바이너리의 도움말 출력, 종료 상태, stdout 및 stderr, 인자 반향 여부, 비 UTF-8 인자 처리를 검증합니다. 도움말과 잘못된 인자의 혼합 호출도 검증합니다.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: 🔵 Low · up to 8f9b6

The Maven help behavior is localized and the applicable checks pass, but the focused process test does not fully assert the required stable stdout usage contract. The PR is mergeable with explicit owner awareness and follow-up to strengthen that assertion.

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 22.22% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목은 Maven 운영용 CLI의 도움말 동작을 성공 상태로 변경하고 출력을 제한하는 핵심 변경을 간결하게 설명합니다.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/cli-help-maven-batch-v1

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.

@seonghobae
seonghobae marked this pull request as ready for review August 13, 2026 20:07

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

coderabbitai[bot]

This comment was marked as resolved.

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before 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 head 8f9b6d3ac151a876f94b4526eafbe079259cf67b.

  • Head SHA: 8f9b6d3ac151a876f94b4526eafbe079259cf67b

  • Workflow run: 32148577155

  • 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["Changed file (3 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (3 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 8f9b6d3ac151a876f94b4526eafbe079259cf67b
  • Workflow run: 32148577155
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

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 success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before 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 head 8f9b6d3ac151a876f94b4526eafbe079259cf67b.

  • Head SHA: 8f9b6d3ac151a876f94b4526eafbe079259cf67b

  • Workflow run: 32148577155

  • 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["Changed file (3 files)"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file (3 files)"]
  R1 --> V1["required checks"]
Loading

@opencode-agent
opencode-agent Bot disabled auto-merge August 18, 2026 16:58
@seonghobae
seonghobae force-pushed the fix/cli-help-maven-batch-v1 branch from 8f9b6d3 to 3fec2f3 Compare August 20, 2026 16:38
auto-merge was automatically disabled August 26, 2026 07:06

Pull request was converted to draft

@seonghobae
seonghobae marked this pull request as ready for review August 26, 2026 23:08
@seonghobae
seonghobae marked this pull request as draft August 27, 2026 05:33
@seonghobae
seonghobae marked this pull request as ready for review August 27, 2026 06:39
@seonghobae
seonghobae marked this pull request as draft August 27, 2026 11:38
@seonghobae
seonghobae marked this pull request as ready for review August 29, 2026 15:37
seonghobae and others added 4 commits August 29, 2026 22:21
…r sidecar pin fix

The previous noema/strix/opencode-review failures used the pre-fix sidecar pin (b2164511). .github main now vendors the fixed commit, so re-running should populate the review verdicts.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@seonghobae
seonghobae marked this pull request as draft August 30, 2026 13:49
@seonghobae seonghobae added the bug Something isn't working label Sep 7, 2026 — with ChatGPT Codex Connector
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: operations Operability, observability, readiness, SLO, backup, or retention bug Something isn't working priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant