Skip to content

feat: 읽기 전용으로 열린 형제 트리 (readonly_roots) - #4

Merged
CocoRoF merged 1 commit into
mainfrom
feat/extra-root-modes
Aug 13, 2026
Merged

feat: 읽기 전용으로 열린 형제 트리 (readonly_roots)#4
CocoRoF merged 1 commit into
mainfrom
feat/extra-root-modes

Conversation

@CocoRoF

@CocoRoF CocoRoF commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

공유는 read/write 로 온다. 읽기로 공유받은 폴더는 읽을 수는 있지만 쓸 수 없어야 하는데, 경로 가드가 흑백이었다 — 허용이면 쓰기도 됐다.

readonly_roots 는 프로토콜의 선택적 확장이다. 없으면 빈 튜플이고 예전 동작 그대로다. sandbox_path(..., write=True) 가 이 목록을 본다.

보안 경계가 아니라 빠른 피드백이다. 셸은 파일시스템에 직접 쓰므로 이 검사를 지나간다 — 진짜 관문은 인덱스 커밋(xgen-workflow)이고 거기서 거부되면 원본에 반영되지 않는다.

그래도 여기서 막는 이유: 커밋은 턴이 끝날 때 일어난다. 그때 처음 알면 에이전트는 이미 그 파일을 고쳤다고 믿고 한참 더 일한 뒤다.

검증

3,660 passed (신규 6)

🤖 Generated with Claude Code

공유는 read/write 로 온다. 읽기로 공유받은 폴더는 읽을 수는 있지만 쓸 수 없어야
하는데, 경로 가드가 흑백이었다 — 허용이면 쓰기도 됐다.

`readonly_roots` 는 프로토콜의 **선택적 확장**이다. 없으면 빈 튜플이고 예전
동작 그대로다. `sandbox_path(..., write=True)` 가 이 목록을 본다.

⚠ **보안 경계가 아니라 빠른 피드백이다.** 셸은 파일시스템에 직접 쓰므로 이
검사를 지나간다 — 진짜 관문은 인덱스 커밋이고 거기서 거부되면 원본에 반영되지
않는다.

그래도 여기서 막는 이유: 커밋은 턴이 끝날 때 일어난다. 그때 처음 알면 에이전트는
이미 그 파일을 고쳤다고 믿고 한참 더 일한 뒤다. 쓰기 도구가 그 자리에서
"읽기 전용입니다"를 말해 주면 에이전트가 방향을 바꾼다.
@CocoRoF
CocoRoF merged commit fb0d15b into main Aug 13, 2026
4 of 5 checks passed
@CocoRoF
CocoRoF deleted the feat/extra-root-modes branch August 13, 2026 01:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant