요건사실론 파이프라인 산출물·사양 문서 일괄 반영 (배치 1~11)
여러 머신에서 Dropbox로 동기화되며 누적된 작업을 한 번에 반영한다. ## 산출물 - 사건종류_요건사실론문서/ 90건. 게이트 v4.0 기준 64건 PASS(71.1%). 남은 26건은 골격 v2·v3 세대 산출물로 골격 11.5가 개정 불요로 정한 것들이다. - 사건종류_요건사실론문서자료/ 96건, 청구취지작성규칙 문서 110건. ## 사양 문서 - 요건사실론_문서_공통골격_v4.md — v4-r5. §4.2·§6 항변 템플릿의 `주장책임 / 증명책임`에 「슬래시 하나로 나눈 두 값」 규칙 신설. 이 필드에 문장을 쓰면 §7 총괄표의 두 열에 같은 값이 복제되는데 게이트가 잡지 못한다. - 요건사실론_1차드래프트_생성_프롬프트_opus_v.5.txt — v.5-r4. 같은 규칙 반영, `<efficiency_rules>` 4 (a)의 예산 60/80 자기모순 제거, 법령 검색 응답의 <법령명한글>도 CDATA임을 `<external_lookup_conventions>` 0에 추가. - 보존본 10건의 파일명을 `_r<n>_outdated` 기본형으로 정리했다. 정리 전에는 `_orig`·`_old`·`_9_4_outdated`·`_r`·`_r2`가 섞여 있었고 `..._v4_r.md`가 v4-r2를, `..._v4_r2.md`가 v4-r4를 담아 숫자가 실제와 어긋났다. 이동 전후 해시를 대조해 내용 변형이 없음을 확인했다. ## 검증 자산 - tmp/rf_draft/_shared/ — 게이트 표준 구현체(rf_gate.py, RF_GATE_VERSION v4.0), 배치별 preflight, 패치 후보, targets. tmp/rf_draft/leaf_id.py. - MEMORY.md — 사건종류별 누적 교훈. ## .gitignore - *.pdf 제외. 교재·자료 스캔 합계 1.7GB이고 여러 파일이 100MB를 넘어 호스트가 거부한다. - tmp/ 스크래치 제외(_shared·leaf_id.py는 유지). law.go.kr XML 캐시 3,449개와 페이지 추출 이미지·텍스트가 대부분이며 전부 재생성 가능하다. - 그 결과 이 커밋은 497개 파일 32MB이고 2MB를 넘는 파일이 없다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# 요건사실론 1차 드래프트 배치 4 — 10개 사건종류 병렬 생성
|
||||
|
||||
## Objective
|
||||
`요건사실론_1차드래프트_생성_프롬프트_opus_v.3.txt`를 주입 프롬프트로 삼아,
|
||||
지정된 10개 사건종류 각각에 대해 요건사실론 문서 1차 드래프트를 독립 병렬로 생성한다.
|
||||
|
||||
## Deliverables
|
||||
사건종류_요건사실론문서/ 아래 10개 파일:
|
||||
요건사실론_분양대금청구_v1.md / 요건사실론_사용료청구_v1.md /
|
||||
요건사실론_선급금선수금청구_v1.md / 요건사실론_소유권이외의권리설정등기및이전등기청구_v1.md /
|
||||
요건사실론_소유물방해제거방해예방청구_v1.md / 요건사실론_약속어음금청구_v1.md /
|
||||
요건사실론_약정금청구_v1.md / 요건사실론_양도약정담보계약해지이관을원인으로한소유권이전등기_v1.md /
|
||||
요건사실론_양도채권금양수금청구_v1.md / 요건사실론_예금예치금예탁금인출금청구_v1.md
|
||||
부수: MEMORY.md 사건별 교훈 10건 추가, tmp/rf_draft/<slug>/ 스크래치.
|
||||
|
||||
## Scope and Non-Scope
|
||||
- Scope: 파이프라인 2단계(1차 드래프트)만. 10개 사건종류만.
|
||||
- Non-Scope: 자료조사(1단계) 재수행, 평가(3단계), 2차 드래프트(4단계),
|
||||
case_kinds.md의 나머지 127개 leaf, 기존 30개 문서의 개정.
|
||||
|
||||
## Known Inputs (preflight 실측)
|
||||
| 사건종류 | case_kind_id | 자료 파일 | 청구취지작성규칙 |
|
||||
|---|---|---|---|
|
||||
| 분양대금 청구 | PROV-022 | _1 | 있음 |
|
||||
| 사용료 청구 | PROV-023 | _1 | 있음 |
|
||||
| 선급금・선수금 청구 | PROV-024 | _1 | 있음 |
|
||||
| 소유권 이외의 권리 설정등기 및 이전등기 청구 | PROV-079 | _1 | 있음 |
|
||||
| 소유물방해제거·방해예방청구 | PROV-097 | _1 | 있음 |
|
||||
| 약속어음금 청구 | PROV-040 | _1 | 있음 |
|
||||
| 약정금 청구 | PROV-041 | _1 | 있음 |
|
||||
| 양도약정・담보계약해지・이관을 원인으로 한 소유권이전등기 | PROV-073 | _1 | 있음 |
|
||||
| 양도채권금・양수금 청구 | PROV-042 | _1 | 있음 |
|
||||
| 예금(예치금・예탁금・인출금) 청구 | PROV-043 | _1 | 있음 |
|
||||
10건 모두 leaf 137 assert·서수 검산 5건 통과, 매칭 1건 유일.
|
||||
10건 모두 자료 파일은 _1(gpt) 단일 출처 → v.3 <failure_handling> "자료 파일 부분 존재" 경로.
|
||||
|
||||
## Material Assumptions
|
||||
- 세션 cwd = prompt_updates_sequential/요건사실론/.
|
||||
- tmp/rf_draft/leaf_id.py는 v.3 <case_type> 코드블록에서 그대로 추출해 배치 시작 전에 배치했다.
|
||||
각 에이전트는 이 파일을 덮어쓰지 않고 실행만 한다(동시 쓰기 경합 제거).
|
||||
- 사건종류_요건사실론문서/ 는 이미 존재한다(기존 30개 문서 보유).
|
||||
|
||||
## Questions That Could Change the Outcome
|
||||
- 단일 출처(_1) 자료만 있으므로 앙상블 병합 검증이 약하다 → 채택 근거를 decisions.md에 남기고
|
||||
§12.7에 단일 출처 사실을 기록한다.
|
||||
- 외부 조회 상한 (a)60/(b)20에 닿으면 미확정분은 UNKNOWN/UNVERIFIED로 남긴다. 라운드를 늘리지 않는다.
|
||||
|
||||
## Workstreams and Dependencies
|
||||
10개 워크스트림 전부 상호 독립. 스테이지 간 배리어 없음.
|
||||
공유 자원: MEMORY.md(append-only), tmp/rf_draft/leaf_id.py(읽기 전용),
|
||||
13판 PDF·골격 v2·case_kinds.md(읽기 전용).
|
||||
|
||||
## Source and Tool Plan
|
||||
Workflow tool로 10개 에이전트 동시 기동. 각 에이전트는 v.3 전문을 읽고 실행한다.
|
||||
각 에이전트의 하위 에이전트 spawn은 금지(v.3 <execution_architecture> 2).
|
||||
|
||||
## Validation Plan
|
||||
- 배치 전: leaf ID 10건 검산, 자료·규칙 파일 실재 확인 (완료).
|
||||
- 배치 후: 파일 10개 존재·크기, front matter `---` 짝, §0~§12 절 존재,
|
||||
verification_status 값, MEMORY.md 항목 10건 반영 여부를 오케스트레이터가 직접 확인.
|
||||
- 에이전트 자체 검증: 게이트 S1~S14 + 린트 스크립트, R1~R6 blind 자기심사, 최대 2라운드.
|
||||
|
||||
## Approval Boundaries
|
||||
파일 생성은 사건종류_요건사실론문서/ 와 tmp/rf_draft/ 로 한정.
|
||||
MEMORY.md는 append만. 기존 문서·프롬프트·골격 v2는 수정하지 않는다.
|
||||
|
||||
## Progress
|
||||
- [x] v.3 존재 확인, 섹션 구조 파악
|
||||
- [x] leaf ID·slug 10건 도출·검산
|
||||
- [x] 자료·규칙 파일 실재 확인 10/10
|
||||
- [x] ExecPlan 작성
|
||||
- [x] 10개 에이전트 병렬 실행 (10/10 완료, 에러 0, 약 56분)
|
||||
- [x] 산출물 검증 (파일 10/10, §1~§12 누락 0, MEMORY.md 10/10)
|
||||
- [x] 사용자 보고
|
||||
|
||||
## Decision Log
|
||||
| Date/Stage | Decision | Basis | Consequence |
|
||||
| 2026-09-02 / preflight | leaf_id.py를 배치 전에 1회 생성하고 에이전트는 실행만 | 10개 동시 쓰기 시 파일 truncate 경합 | Stage 0.4(1) 의도(assert 검산)는 유지 |
|
||||
| 2026-09-02 / preflight | MEMORY.md는 `>>` append만 허용, Write/Edit 금지 | Edit는 read-modify-write라 동시 실행 시 유실 | 에이전트가 사본을 tmp에 남겨 사후 복구 가능 |
|
||||
| 2026-09-02 / preflight | worktree isolation 미사용 | 리포에 700MB+ PDF, worktree 10개면 디스크·경로 파탄 | 동일 트리에서 병렬, 충돌은 경로 분리로 회피 |
|
||||
| 2026-09-02 / preflight | 배치 ExecPlan 1개만 작성 | docs/PLANS.md "subagents will be used" 트리거는 오케스트레이터에 걸림. v.3 제약 20은 실행 에이전트에만 적용 | plans/에 사건종류별 문서를 만들지 않음 |
|
||||
|
||||
## Evidence Ledger
|
||||
| Claim/Issue | Source or Test | Status | Notes |
|
||||
| leaf ID 10건 유일 매칭 | tmp/rf_draft/leaf_id.py 10회 실행 | 확인 | 전건 assert 통과 |
|
||||
| 자료 파일 10/10 존재 | 사건종류_요건사실론문서자료/ NFC 정규화 대조 | 확인 | 전건 _1 단일 |
|
||||
| 규칙 문서 10/10 존재 | 같은 폴더 NFC 정규화 대조 | 확인 | special_modes 7 미발동 |
|
||||
|
||||
## Risks and Failure Modes
|
||||
- MEMORY.md 동시 append 유실 → append-only + tmp 사본 이중화, 사후 대조.
|
||||
- 13판 PDF 동시 pdftotext로 I/O 포화 → 동시 실행 슬롯이 하드웨어 코어 수로 제한되므로 수용.
|
||||
- 에이전트가 하위 에이전트를 spawn → 프롬프트에 하드 금지 명시, 보고에 준수 여부 기재.
|
||||
- 상한 도달로 UNVERIFIED 잔여 → 정상 종료 경로. §12.7에 집계되고 보고에 드러난다.
|
||||
|
||||
## Outcome (2026-09-02)
|
||||
10/10 completed=true, verification_status 전건 QUALIFIED, 수정 라운드 전건 1회(2라운드 미발동),
|
||||
하위 에이전트 spawn 0건. 산출물 116~187KB, 청구경로 4~7, §6 항변 블록 11~15,
|
||||
권위 레지스트리 T1 17~63 / T2 13~32, 13판 정독 55~200 표시면(상한 200).
|
||||
오케스트레이터 직접 검증: 파일 10/10 존재, §1~§12 누락 0, front matter `---` 짝 정상,
|
||||
코드펜스 짝 정상, MEMORY.md 항목 10/10 반영(111KB→161KB), plans/ 오염 0, leaf_id.py 무변경.
|
||||
|
||||
### 상한 초과 2건 (에이전트 자진 보고)
|
||||
- 약속어음금 청구: 일반 조회 61/60 (판례 일련번호 일괄 조회 배치에서 1회 초과)
|
||||
- 양도약정・담보계약해지・이관: 일반 조회 약 66/60 (사건번호 46건 조회에 검색 API 55회)
|
||||
둘 다 도달 후 조회를 중단하고 잔여를 UNKNOWN으로 §12.7에 남겨 처리 규칙 자체는 준수.
|
||||
|
||||
### 교차 수렴 결함 — 골격 v2·게이트 정의 패치 후보
|
||||
독립 실행된 에이전트 다수가 같은 것을 발견했으므로 우연이 아니다. 남은 97개 사건종류에서 반복된다.
|
||||
|
||||
1. **10/10** 골격 v2 제1부 원칙 8(59행)의 "학설 대립은 §12.5에 격리한다"가
|
||||
제2부 §12 목록(12.5=웹 자료, 12.6=학설)과 모순. 전건이 제2부를 적용.
|
||||
→ 원칙 8의 "§12.5"를 "§12.6"으로 정정.
|
||||
2. **6/10** S9 사건번호 정규식이 조문 표기를 오탐(제202조의2, 제39조의2, 100분의 40).
|
||||
→ 한글부가 조·항·호·분·년인 토큰의 배제 규칙을 명문화.
|
||||
3. **5/10** S10 상호참조 괄호 제목 검사가 헤딩 줄과 §7 총괄표 '소속 절' 셀을 계수.
|
||||
→ 헤딩 줄 제외 + 총괄표 셀을 처음부터 '§5(경로별 분기 요건사실)' 형태로 찍는 규약.
|
||||
4. **4/10** L-c의 13판 표제 대조가 골격 고정 항 제목(3.1 당사자적격, 3.2 확인의 이익)과
|
||||
H1 문서 제목을 오탐. → 고정 절·항 제목과 H1을 예외 처리.
|
||||
5. **3/10** S3 빈 항 판정이 하위 헤딩만 가진 컨테이너 항을 빈 항으로 오판.
|
||||
→ 다음 헤딩이 하위 레벨이면 내용 있음으로 처리.
|
||||
6. **2/10** L-b의 이율 검사가 §4.4 기계판독 문언 줄에 걸려 S11(§2.2와 바이트 동일 요구)과 충돌.
|
||||
→ 문언 줄을 L-b 대상에서 빼거나, 문언 줄에 이율 수치 대신 법적 명칭 슬롯만 쓰도록 명문화.
|
||||
7. **S2 사양 모호**: front matter만으로 §0을 만족하는지, `## §0.` 헤딩이 별도로 필요한지 v2가 정하지 않음.
|
||||
실제로 분양대금청구 1건이 H1+`## §0.` 뒤에 front matter를 두어 `---`가 5행에서 시작(나머지 9건은 1행).
|
||||
기존 30개 문서에도 같은 변이가 9건 있어 코퍼스 전체(40건 중 10건)에 걸친 문제다.
|
||||
Weaviate 적재(v2 제5부)는 `---`가 파일 첫 바이트일 것을 요구하므로 v2가 위치를 못박아야 한다.
|
||||
|
||||
### 각 에이전트가 게이트 스크립트를 매번 새로 고쳐 쓴 사실
|
||||
10건 모두 초회 게이트 실행에서 다수 FAIL이 났고 그 대부분이 위 2~6의 오탐이었다.
|
||||
에이전트가 스크립트를 고쳐 재실행하는 데 라운드 1의 상당 부분이 소모됐다.
|
||||
게이트 스크립트를 v.4에 표준본으로 박아 넣으면 사건종류당 런타임이 눈에 띄게 줄어든다.
|
||||
Reference in New Issue
Block a user