fix: Claude reviewer empty output, worktree isolation false positives, and input file access
- Add -p flag to _CLAUDE_REVIEW_ARGS so reviewer uses print mode (stdin→stdout) instead of interactive mode which conflicts with plan permission mode - Copy input files (plan, checklist) into worktree .cross-eval-inputs/ so agents in plan mode can access them without escaping the sandbox - Simplify _snapshot_repo_state to use only git diff HEAD + untracked hashes, eliminating false positives from staging state changes (git diff --cached) and git status index drift during long-running pipelines Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -434,6 +434,10 @@ def main(argv: list[str] | None = None) -> int:
|
||||
"--reviewer-model", default=None, metavar="MODEL",
|
||||
help="Reviewer 에이전트 모델만 변경",
|
||||
)
|
||||
agent_group.add_argument(
|
||||
"--senior-model", default=None, metavar="MODEL",
|
||||
help="Senior 에이전트 모델만 변경",
|
||||
)
|
||||
|
||||
# -- 파이프라인 --
|
||||
pipe_group = run_parser.add_argument_group("파이프라인")
|
||||
@@ -474,7 +478,7 @@ def main(argv: list[str] | None = None) -> int:
|
||||
)
|
||||
etc_group.add_argument(
|
||||
"--output-dir", type=Path, default=None,
|
||||
help="결과 저장 디렉토리 (기본: output/)",
|
||||
help="결과 저장 디렉토리 (기본: .cross-eval/output/)",
|
||||
)
|
||||
etc_group.add_argument(
|
||||
"--dry-run", action="store_true",
|
||||
@@ -953,13 +957,16 @@ def cmd_run(args: argparse.Namespace) -> int:
|
||||
if args.model is not None:
|
||||
for agent_name in config.agents:
|
||||
_apply_model_override(config, agent_name, args.model)
|
||||
# --coder-model / --reviewer-model: apply by role
|
||||
# --coder-model / --reviewer-model / --senior-model: apply by role
|
||||
if args.coder_model is not None:
|
||||
for coder_name in config.coders:
|
||||
_apply_model_override(config, coder_name, args.coder_model)
|
||||
if args.reviewer_model is not None:
|
||||
for reviewer_name in config.reviewers:
|
||||
_apply_model_override(config, reviewer_name, args.reviewer_model)
|
||||
if args.senior_model is not None:
|
||||
for senior_name in config.seniors:
|
||||
_apply_model_override(config, senior_name, args.senior_model)
|
||||
|
||||
# --plan / --checklist shortcuts
|
||||
for key, val in [("plan", args.plan), ("checklist", args.checklist)]:
|
||||
|
||||
Reference in New Issue
Block a user