Repository navigation
상태 폴더 권한 오류에 문제 경로와 수동 복구 안내 제공 - #137
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Unix 상태 폴더가 0775처럼 group/other 접근을 허용하면 새 Run은
internal_safety_failure, 기존 Run 조회는configuration_mismatch만 보여 원인을 알 수 없었다. 이제 해당 mode 검사 실패를state_directory_permissions/exit64로 전달하고 문제 폴더·현재 mode·chmod go-rwx -- PATH복구 안내를 표시한다.기존 검사 조건·symlink 거절·파일 접근 순서는 유지한다. 권한을 자동 변경하지 않는다. 경로는 명시적 로컬 진단에서만 escape해 표시하고 일반 Debug·Display에서는 가린다. 모델·journal·progress 계약 변경은 없다. CLI run/resume/usage/recover와 REPL, 상태·변경 내역 조회의 오류 전달에 적용한다. ADR-0080에 기존 경로 비노출 정책의 로컬 복구 진단 추가와 exit code 변경을 기록했다.
검증: Rust 전체 778 passed·4 ignored, Clippy·fmt·protocol·문서·배포 workflow 검사 통과. 설계 root0775/runs0755와 별도 run0770·symlink·space·개행/ESC·비UTF8 경로를 검사했다. 실제 REPL child와 usage/recover의 진단·빈 stdout·권한/DB 비변경, 사용자가 직접 수정한 뒤 다음 검사 진입을 확인했다. 외부 모델 호출은 없다. 비UTF8 진단 검사는 파일시스템의 해당 파일명 지원 여부에 의존하지 않는다.