획득 실패와 업무 실패를 분리하고 미획득 경로에서 unlock하지 않습니다.
초기
획득 시 true
TIMEOUT 반환
업무 실행
if acquired → unlock
핵심: timeout은 완료가 아니라 미수행 결과이므로 호출자에게 명시적으로 전달합니다.