Files
Theory_of_Requirement_Facts/plans/batch4-요건사실론-1차드래프트-병렬.md
jhogyuandClaude Opus 5 19a6fc234a 요건사실론 파이프라인 산출물·사양 문서 일괄 반영 (배치 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>
2026-09-05 13:10:29 +09:00

9.4 KiB

요건사실론 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// 스크래치.

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건 반영 여부를 오케스트레이터가 직접 확인.
  • 에이전트 자체 검증: 게이트 S1S14 + 린트 스크립트, R1R6 blind 자기심사, 최대 2라운드.

Approval Boundaries

파일 생성은 사건종류_요건사실론문서/ 와 tmp/rf_draft/ 로 한정. MEMORY.md는 append만. 기존 문서·프롬프트·골격 v2는 수정하지 않는다.

Progress

  • v.3 존재 확인, 섹션 구조 파악
  • leaf ID·slug 10건 도출·검산
  • 자료·규칙 파일 실재 확인 10/10
  • ExecPlan 작성
  • 10개 에이전트 병렬 실행 (10/10 완료, 에러 0, 약 56분)
  • 산출물 검증 (파일 10/10, §1~§12 누락 0, MEMORY.md 10/10)
  • 사용자 보고

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건. 산출물 116187KB, 청구경로 47, §6 항변 블록 1115, 권위 레지스트리 T1 1763 / T2 1332, 13판 정독 55200 표시면(상한 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에 표준본으로 박아 넣으면 사건종류당 런타임이 눈에 띄게 줄어든다.