회기 무발화 0턴 분리, 자기예측 락 불변식 및 TDD 회귀 검증 완료
Some checks failed
API contract / OpenAPI type drift (push) Failing after 3m27s
Some checks failed
API contract / OpenAPI type drift (push) Failing after 3m27s
This commit is contained in:
parent
a479db7a5a
commit
a0311c5957
100 changed files with 4884 additions and 11210 deletions
77
docs/ops/agent-work-packet-template.md
Normal file
77
docs/ops/agent-work-packet-template.md
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
# 에이전트 작업 패킷·판정 기록 양식
|
||||
|
||||
> [`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 통과.
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue