Skip to content

feat(cli): 리포트 파일 출력 옵션 추가 - #96

Merged
JeremyDev87 merged 1 commit into
masterfrom
codex/feat-94-cli-output-file
Apr 30, 2026
Merged

feat(cli): 리포트 파일 출력 옵션 추가#96
JeremyDev87 merged 1 commit into
masterfrom
codex/feat-94-cli-output-file

Conversation

@JeremyDev87

Copy link
Copy Markdown
Owner

배경

  • CLI-IO-1 (plan 040): report output file #94 CLI-IO-1의 리포트 파일 출력 구현입니다.
  • CI artifact나 별도 리포트 저장 흐름에서 shell redirection 없이 maximus가 직접 결과 파일을 만들 수 있게 합니다.

변경 사항

  • audit, doctor, fix에 공통 --output <path> 옵션을 추가했습니다.
  • --output -는 기존 stdout 출력과 동일하게 동작합니다.
  • 파일 출력 시 parent directory를 자동 생성합니다.
  • fix의 실제 파일 변경 전 output target을 선검증해, 리포트 쓰기 실패가 대상 프로젝트 변경 뒤에 발생하지 않게 했습니다.
  • CLI help와 output-file 회귀 테스트를 추가했습니다.

검증

  • cargo test -p maximus-cli --test output_file
  • cargo test -p maximus-cli --test cli_help
  • cargo test -p maximus-cli --test config_and_filtering
  • cargo test -p maximus-cli parse_args
  • git diff --check
  • rustfmt --check --config skip_children=true crates/maximus-cli/src/args.rs crates/maximus-cli/src/main.rs crates/maximus-core/src/fs.rs crates/maximus-core/src/lib.rs crates/maximus-cli/src/report_text.rs crates/maximus-cli/tests/cli_help.rs crates/maximus-cli/tests/output_file.rs

Devil's Advocate review loop

  • Round 1: Critical 0 / High 0 / Medium 1 / Low 0
    • Medium: --output help 노출 누락. 반영 완료.
  • Round 2: Critical 0 / High 1 / Medium 0 / Low 0
    • High: fix --output 쓰기 실패가 파일 변경 뒤에 발생. 반영 완료.
  • Round 3: Critical 0 / High 0 / Medium 0 / Low 0

브랜치 / 워크트리

  • Base: master
  • Branch: codex/feat-94-cli-output-file
  • Worktree: /private/tmp/maximus-wave1-20260430/issue-94-cli-output-file

이슈 연결

Closes #94

@JeremyDev87
JeremyDev87 force-pushed the codex/feat-94-cli-output-file branch from 8ce776a to 9215a7d Compare April 29, 2026 16:02
--output 경로로 audit/doctor/fix 리포트를 저장하고 기본 stdout 동작은 유지합니다.

비 dry-run fix는 output target을 먼저 검증해 리포트 쓰기 실패 전에 대상 파일을 변경하지 않도록 했습니다.

Closes #94
@JeremyDev87
JeremyDev87 force-pushed the codex/feat-94-cli-output-file branch from 9215a7d to b9a0450 Compare April 29, 2026 16:31
@JeremyDev87

Copy link
Copy Markdown
Owner Author

독립 fresh-session 리뷰 결과

  • Verdict: APPROVE
  • Severity Summary: Critical 0 / High 0 / Medium 0 / Low 1
  • Findings:
    • [Low] crates/maximus-cli/tests/output_file.rs에서 doctor --output 및 성공하는 non-dry-run fix --output 경로를 직접 고정하는 테스트는 아직 없어, 후속 보강 여지가 있습니다. 현재 수동/통합 검증으로 동작은 확인됐고 merge blocker는 아닙니다.
  • Rationale: PR head b9a045052d5fd0401ac8a8b1cda9d11ab48f4eaf 기준, --output이 JS fallback에서 조용히 무시되던 High blocker를 수정했습니다. 로컬 Rust/Node 검증과 GitHub checks가 모두 통과했고 Critical/High finding은 남아 있지 않습니다.
  • Note: PR 작성자와 현재 GitHub 인증 사용자가 같아 GitHub 정책상 공식 approve 대신 동일 verdict를 PR comment로 남깁니다.

@JeremyDev87 JeremyDev87 self-assigned this Apr 30, 2026
@JeremyDev87
JeremyDev87 marked this pull request as ready for review April 30, 2026 13:43
@JeremyDev87
JeremyDev87 merged commit 8915518 into master Apr 30, 2026
42 checks passed
@JeremyDev87
JeremyDev87 deleted the codex/feat-94-cli-output-file branch April 30, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CLI-IO-1 (plan 040): report output file

1 participant