=== task-2463 라이브 차단 로그 #3: PR open 상태 .done 생성 → 차단 === timestamp: 2026-05-05T20:34:15+09:00 차단 레이어: scripts/finish-task.sh:done-pr-gate (TASK2463_PR_STATE_OVERRIDE=OPEN 강제) ## 실행 시나리오 TASK2463_PR_STATE_OVERRIDE=OPEN로 PR이 open 상태임을 강제 주입. PROJECT_PATH=/home/jay/workspace (실제 .git 디렉토리)에서 finish-task.sh의 .done 차단 블록 라이브 실행. ## 실행 명령어 PROJECT_PATH=/home/jay/workspace TASK_ID=task-2463-mock-log3 EVENTS_DIR=/tmp/task-2463-events-log3 TASK2463_PR_STATE_OVERRIDE=OPEN bash /tmp/log3-block-test.sh ## stdout [INFO] task-2463 test override: PR_STATE=OPEN ## stderr [HARD-GATE] .done 생성 차단: PR still open (state=OPEN) — .done 생성 금지. .done.blocked 생성: /tmp/task-2463-events-log3/task-2463-mock-log3.done.blocked ## exit code: 1 ## EVENTS_DIR 내용 total 1836 drwxrwxr-x 2 jay jay 4096 May 5 20:34 . drwxrwxrwt 640 root root 1863680 May 5 20:34 .. -rw-rw-r-- 1 jay jay 253 May 5 20:34 task-2463-mock-log3.done.blocked ## .done.blocked 5필드 JSON { "task_id": "task-2463-mock-log3", "reason": "PR still open (state=OPEN) — .done 생성 금지", "pr_state": "OPEN", "pr_merge_commit": "", "timestamp": "2026-05-05T20:34:15+09:00", "blocked_layer": "scripts/finish-task.sh:done-pr-gate" } ## 5필드 정리 1) 실행 명령어: PROJECT_PATH=/home/jay/workspace TASK_ID=task-2463-mock-log3 EVENTS_DIR=/tmp/task-2463-events-log3 TASK2463_PR_STATE_OVERRIDE=OPEN bash /tmp/log3-block-test.sh 2) stderr: [HARD-GATE] .done 생성 차단: PR still open (state=OPEN) — .done 생성 금지. .done.blocked 생성: /tmp/task-2463-events-log3/task-2463-mock-log3.done.blocked 3) exit code: 1 4) 차단 레이어: scripts/finish-task.sh:done-pr-gate (.done.blocked JSON.blocked_layer 참조) 5) timestamp: 2026-05-05T20:34:15+09:00 ## 검증 PASS: exit=1 + .done.blocked 5필드 JSON 생성 + .done 미생성