docs: AGENTS.md 를 스코프별로 분리하고 0.30.0 계약으로 갱신 - #181
Merged
Conversation
기존 root AGENTS.md 는 37줄/5,223B 로 임계값(250줄/12KiB) 아래였다. 그래서 크기 때문에 쪼갠 것이 아니다. 두 가지 실질적 이유가 있다. **내용이 낡았다.** argv 예외 조항이 advisory 에도 적용되는 것처럼 읽혔는데, 0.30.0 부터 내장 advisory 라우트 중 태스크를 argv 에 싣는 것은 없다. 세션 스코프 송신 동의, `task_stdin_encoding` 공개, 의회 병렬 실행, 그리고 라우트 argv 변경 시 `migrate-routes` 가 필요하다는 사실이 어디에도 없었다. **고위험 규칙이 정작 필요한 순간에 보이지 않았다.** `.weightclass/verify-review` 의 시드가 `file:line` 로 고정돼 있고 ±8줄 창으로 검사한다는 사실은 그 파일을 편집할 때 알아야 하는데, 그 규칙은 root 에만 있어서 그 디렉터리 스코프에서는 보이지 않았다. 이번 작업에서 실제로 겪은 실패 모드다. 분리 결과 (모두 임계값 이하, 링크 누락 0): - `AGENTS.md` 101줄 — 전역 규칙, 제품 방향, 스코프 인덱스, 문서 지도. - `src/weightclass/AGENTS.md` — V1 one-child 계약, V2 경계, 실행 전 검토, argv 예외를 **코어 네이티브 라우팅으로 한정**, 집계 usage store, 분류기를 이미 소진된 코퍼스로 튜닝하지 않는다는 규칙. - `src/weightclass/advisory/AGENTS.md` — 송신 동의 3종과 세션 승인이 standing· inheritable 하다는 사실, "확인을 건너뛰어도 공개는 건너뛰지 않는다" 불변식, argv 무사용 계약, 봉인 인구 마이그레이션, Skill 번들 원장 절차. - `tests/AGENTS.md` — 게이트는 `./.weightclass/verify` 이고 `pytest -q` 가 아니라는 것, 새 테스트가 증명해야 하는 것, **기존 단언을 고칠 때 먼저 그것이 무슨 계약을 지키던 것인지 답하라**는 규칙, vacuity 감사. - `.weightclass/AGENTS.md` — 사전 등록 검증기를 통과시키려고 고치지 말 것, 줄 앵커가 밀렸을 때의 재고정 절차, exit 42 계약. - `packaging/AGENTS.md` — 수식은 복사본이 아니라 원본이라는 것, tap 안에서만 검증이 유효하다는 것, 해시 URL, 정확한 엔트리포인트 확인. `CLAUDE.md` 는 계속 `AGENTS.md` 를 참조하며, 스코프 파일 목록을 추가했다. 누락 검증: 원본의 계약 표현 25개를 새 파일 집합에 대조해 전부 존재함을 확인했다. 초안에서 `patch-only handoff` 와 `cheap/advisor/retry/expensive` 두 지시문이 빠진 것을 이 대조로 잡아 복원했다. `tests/test_advisory_skill_installer.py` 의 문서 계약 테스트는 root AGENTS.md 에 문구가 있기를 요구했다. 그 테스트가 지키던 계약은 "이 예외가 에이전트 가이드에 문서화되어 있을 것" 이므로, 규칙이 사는 스코프 파일과 root 의 도달 가능성을 **둘 다** 확인하도록 강화했다. 단언을 조용히 뒤집지 않았다. 게이트: `.weightclass/verify` exit 0 (1,599 tests / 35 skips), Ruff check + format, strict mypy 206 files, `git diff --check`, 스킬 감사 6파일 전부 임계값 이하·링크 누락 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01P3dXGuZjrBWD669SgUuk65
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.
root
AGENTS.md를 갱신하고 경로별 규칙을 자식AGENTS.md로 옮긴다.CLAUDE.md는 계속AGENTS.md를 참조한다.왜 쪼갰는가
기존 root 는 37줄 / 5,223B 로 임계값(250줄 / 12KiB) 아래였다. 크기 때문이
아니라 두 가지 실질적 이유 때문이다.
1. 내용이 낡았다. argv 예외 조항이 advisory 에도 적용되는 것처럼 읽혔는데,
0.30.0 부터 내장 advisory 라우트 중 태스크를 argv 에 싣는 것은 없다. 세션 스코프
송신 동의,
task_stdin_encoding공개, 의회 병렬 실행, 라우트 argv 변경 시migrate-routes필요성이 어디에도 없었다.2. 고위험 규칙이 정작 필요한 순간에 안 보였다.
.weightclass/verify-review의 시드가
file:line로 고정되고 ±8줄 창으로 검사된다는 사실은 그 파일을 편집할때 알아야 하는데, root 에만 있어서 그 디렉터리 스코프에서는 보이지 않았다.
이번 0.30.0 작업에서 제가 실제로 겪은 실패 모드다.
결과
AGENTS.mdsrc/weightclass/AGENTS.mdsrc/weightclass/advisory/AGENTS.mdtests/AGENTS.md./.weightclass/verify(≠pytest -q), 새 테스트가 증명할 것, 기존 단언 수정 절차, vacuity 감사.weightclass/AGENTS.mdpackaging/AGENTS.md6개 파일 전부 임계값 이하, 링크 누락 0, marker block 없음.
누락 검증
원본의 계약 표현 25개를 새 파일 집합에 기계적으로 대조했다. 초안에서
patch-only handoff와cheap/advisor/retry/expensive두 지시문이 빠진 것을이 대조로 잡아 복원했다.
기존 테스트 1건 수정 (조용히 뒤집지 않음)
test_install_skill_is_the_documented_vendor_path_exception이 rootAGENTS.md에
sole vendor-recognized-path exception문구가 있기를 요구했다.그 테스트가 지키던 계약은 "이 예외가 에이전트 가이드에 문서화되어 있을 것"
이다. 이제 가이드가 여러 파일이므로, 규칙이 사는 스코프 파일과 root 에서의 도달
가능성을 둘 다 확인하도록 강화했다. 이전보다 엄격하다.
게이트
.weightclass/verifyexit 0 (1,599 tests / 35 skips) · Ruff check + format ·strict mypy 206 files ·
git diff --check· 스킬 감사 통과.🤖 Generated with Claude Code
https://claude.ai/code/session_01P3dXGuZjrBWD669SgUuk65