# 에이전트 작업 패킷·판정 기록 양식 > [`AGENTS.md`](../../AGENTS.md) **B절(오케스트레이션 바이블)** B.5·B.6의 실행 양식이다. > 오케스트레이터(Codex Astra/Sol, Claude Code Fable 5.1/Opus 5)는 워커를 스폰할 때 §1 패킷을 채워 넘기고, > 워커가 끝나면 §2 판정을 기록한다. **패킷 없이 스폰하지 않고, 판정 없이 수용하지 않는다.** ## 1. 작업 패킷 (오케스트레이터 → 워커) ```text [작업 패킷] <제목> 워커: researcher | explorer | implementer(worker) | verifier (모델은 항상 하위 티어) 1. 목표: 비목표: 2. 확정 설계·계약·불변량 (바꾸면 안 되는 것): 3. 건드릴 파일·모듈 경계: 건드리면 안 되는 영역: 4. 완료 기준(DoD): 검증 명령 (AGENTS.md B.10 표준 세트에서 선택): 5. 보고 형식: 변경 파일 / diff 요약 / 실행 명령과 결과 원문(통과·실패 수) / 미해결·의문점 / 설계 변경 요청 여부 6. 제약: - 다른 에이전트 스폰 금지 · 설계 변경 금지(필요하면 멈추고 보고) - fallback · silent catch · mock · 테스트 스킵 · 조건 완화로 통과 위장 금지 - 임시 주석 · 디버그 출력 · TODO 금지 - 커밋/push: 금지 | 허용 범위: <...> - 병렬 워커 경계: <다른 워커가 맡은 영역>. 그 변경을 되돌리지 말 것 7. 저장소 공통: AGENTS.md §0(OS·PowerShell 5.1) · §2(검증 기준) · §3(한글·커밋 문구) 준수 ``` 조사(researcher) 패킷은 2·3 대신 **조사 질문 목록, 출처 우선순위, 확인 날짜 표기 요구, "미확인" 표기 규칙**을 넣는다. 검증(verifier) 패킷은 **실행할 명령 그대로, 작업 디렉터리, 기대 산출물(로그 경로)**만 넣고 판정을 요구하지 않는다. ## 2. 판정 기록 (오케스트레이터) ```text [판정] <패킷 제목> — 수용 | 반려 후 재작업 | 폐기 후 재배정/직접 수행 (a) 패킷·확정 설계 준수 / 범위 이탈: (b) 정확성·회귀 위험 (diff를 직접 읽었는가): (c) 검증 증거 진위 (명령·결과 원문 확인, 스킵·우회·fallback·삼킨 오류 여부, verifier 재실행 여부): (d) 노이즈 (임시 주석·디버그·TODO·무관 변경): (e) 워커 의문점·설계 변경 요청에 대한 답: 반려 시 수정 지시 (패킷에 추가): SSOT 반영: dev_dashboard.html / TODO.md / 핸드오프 중 갱신한 곳과 check-dev-dashboard-ssot 결과: ``` ## 3. 병렬 스폰 체크리스트 - 조사는 주제·출처·기간별로 나눠 researcher 여러 개를 **한 번에** 스폰한다. 순서대로 하나씩 돌리지 않는다. - 구현은 파일·모듈 경계가 겹치지 않게 나눈다(기본: `apps/api` ↔ `apps/web` ↔ `docs`/`scripts`). 겹치면 순차로. - 구현 워커의 검증 보고가 의심되면 verifier에게 같은 명령을 다시 실행시켜 원문을 받는다. - 오케스트레이터 모델(Astra/Sol/Fable/Opus)을 워커로 쓰지 않는다. Claude Code `fork`는 부모 모델을 상속하므로 대량 작업에 쓰지 않는다. - 같은 워커가 같은 이유로 2회 실패하면 워커가 아니라 패킷(설계·지시·완료 기준)을 먼저 의심한다. ## 4. 짧은 예시 ```text [작업 패킷] 회기 종료 API 409 응답에 active_session_id 필드 추가 워커: implementer 1. 목표: POST /sessions 409 `active_session_exists` 응답 본문에 `active_session_id`(UUID) 포함. 비목표: 409 조건 자체·row lock 순서·프론트 UI 변경. 2. 불변량: 응답 코드·에러 코드 문자열 유지. 기존 필드 삭제·이름 변경 금지. migration 없음. 3. 경계: apps/api/app/routers/sessions.py, apps/api/app/test_sessions*.py 만. apps/web 금지. 4. DoD: 신규 테스트 1건 이상 추가, `cd apps/api && python -m pytest app/ -q` 전체 통과. 5. 보고: 변경 파일 / diff 요약 / pytest 결과 원문(passed·failed 수) / 의문점. 6. 제약: 스폰 금지 · 설계 변경 금지 · 스킵/완화 금지 · 커밋 금지 · 병렬 워커 없음. 7. AGENTS.md §0·§2·§3 준수. ``` ```text [판정] 회기 종료 API 409 응답 필드 추가 — 수용 (a) 경계 내 2파일만 변경, 범위 이탈 없음. (b) diff 확인: 응답 dict에 필드 1개 추가, 기존 경로 영향 없음. (c) pytest 원문 1075 passed / 1 skipped 확인, 스킵은 기존 1건과 동일. (d) 노이즈 없음. (e) 의문점 없음. SSOT 반영: TODO REQ-007 행에 필드 추가 사실 1줄, check-dev-dashboard-ssot 통과. ```