---
timestamp: "2026-02-10T18:10:51+0900"
status: complete
goal_id: "V1.2"
---

## Done
dry-run 모드가 dirty tree에서도 에러 없이 동작하도록 수정. run_auto()에서 dry_run일 때 _acquire_lock() 호출 전에 분기하여 프롬프트만 출력하고 리턴.

## Key Decisions
- dry_run 분기를 lock 취득 전으로 이동: dry-run은 읽기 전용이므로 lock도 dirty check도 불필요
- goal 로딩과 선택은 dry_run에서도 필요하므로 lock 밖으로 추출
- 기존 non-dry-run 경로는 변경 없음 (lock + dirty check 유지)

## Changed Files
 src/hast/core/auto.py | 19 +++++++++++--------
 tests/test_auto.py    | 37 +++++++++++++++++++++++++++++++++++++

## Next
V1.3 또는 다음 active goal 진행

## Context Files
- src/hast/core/auto.py
- tests/test_auto.py
