# 요건사실론 1차 드래프트 생성 프롬프트 v.4 → v.5 패치안 작성일: 2026-09-02 근거: 배치 6(14개 사건종류, v.4/골격 v3 병렬 실행)의 워커 자기보고 68건과 오케스트레이터의 프롬프트 원문 직접 대조. 원칙: **결함만 고친다.** 명세 부족(underspecification)은 부록 B에 분리하고 v.5에 반영하지 않는다. --- ## 요약 | # | 결함 | 표수 | 절 | 성격 | |---|---|---:|---|---| | P1 | `` 5가 청구이의와 제3자이의에 같은 법리를 지시 | 2/14 | special_modes | **실체법 오류** | | P2 | 판례 전문 조회 관례가 실측과 다름 | 2/14 | external_lookup_conventions | 사실 오류 | | P3 | MST 취득 절차 불완전(필드명·파라미터·부분일치 함정) | 3/14 | external_lookup_conventions | 사실 누락 | | P4 | Stage 4 집필 순서와 즉시 append 규칙이 양립 불가 | 3/14 | method | 자기모순 | | P5 | 골격 v2 참조 잔재 9곳 (v2를 읽지 말라는 지시와 충돌) | 1/14 | 전역 | 자기모순 | | P6 | `` §11이 "v2의 13개 규칙" — 실제 v3는 15개 | 2/14 | section_generation_rules | 사실 오류 | | P7 | Stage 0.4 (2) 파일 대조가 말미 어절 누락을 못 잡음 | 1/14 | method | 규칙 결손 | | P8 | `` 5가 §5 요건 블록 레벨을 명시하지 않아 게이트가 침묵 통과 | 2/14 | skeleton_contract | **침묵 실패** | | P9 | `` 4의 조문 계수 단위가 (a) 상한을 조기 소진 | 5/14 | efficiency_rules | 자기모순 | | P10 | `` 절차 1이 요구하는 `RF_GATE_VERSION` 상수가 코드블록에 없음 | (지시 유도) | gate_script | 사양·구현 불일치 | | P11 | 레코드 태그 속성(``)과 조문 XML CDATA 처리 순서 누락 | 3/14 | external_lookup_conventions | 사실 누락 | P10의 14/14 보고는 오케스트레이터가 브리프에 적으라고 지시한 항목이므로 독립 수렴이 아니다. 실체는 프롬프트 576행과 코드블록의 불일치로 확인했다. --- ## P1. `` 5 — 청구이의와 제3자이의를 분리한다 **결함.** v.4 1413~1417행이 두 사건종류를 한 항목으로 묶고 세 지시를 공유시킨다. 세 가지가 모두 틀렸다. 1. **민법 제165조 10년을 두 사건 모두의 §6.4에 두라**는 지시. 제165조는 집행권원에 표시된 청구권의 시효로서 **채무자의 청구이의 사유**다. 제3자이의(민사집행법 제48조)의 이의원인은 목적물에 대한 제3자의 소유권·양도금지 권리이므로 집행채권의 시효는 이의원인이 될 수 없다. 2. **민사집행법 제44조 제2항(변론종결 후 발생)을 §4에 두라**는 지시. 제44조는 청구이의의 소 조항이므로 제3자이의에는 적용 자체가 없다. 청구이의에서도 이 제한은 기판력 있는 집행권원에만 걸리고 지급명령·집행증서·이행권고결정에서는 배제되므로(제58조 제3항·제59조 제3항, 소액사건심판법 제5조의8 제3항), §4로 올리면 골격의 「경로 전용 요건의 §4 승격 금지」와 충돌한다. 3. **청구이의 §6.4의 방향.** 소멸시효 완성은 원고의 이의사유(청구원인)이고, §6.4에 놓이는 것은 피고의 시효중단·시효이익 포기 항변이다. 지시대로 쓰면 §7 총괄표의 증명책임 값이 통째로 뒤집힌다. **패치.** 5를 5-A(공통) / 5-B(청구이의) / 5-C(제3자이의)로 나눈다. 5-B에서 제44조 제2항을 §4가 아니라 §5의 경로 요건으로 내리고 집행권원 종류별 경로 분기를 명시한다. 5-C에서 제165조 지시를 삭제하고 제48조 이의원인을 넣는다. 두 사건 모두 §6의 부담 방향을 한 줄로 못박는다. ## P2. `` 2 — 판례 전문 조회 관례 정정 **결함.** 1041행 "`lawService.do?target=prec`는 **메타데이터만** 반환한다. 전문(T2 확인)은 `precInfoP.do`다"가 실측과 다르다. 두 워커(PROV-137, PROV-075)가 각각 `lawService.do?OC=<키>&target=prec&type=XML&ID=<판례일련번호>`로 `<판례내용>` 전문을 받았고, T2 확인 16건·17건 **전건**을 이 하나의 엔드포인트로 끝냈다. `precInfoP.do` 우회도 `evtNo`→`precSeq` 재시도도 필요 없었다. 배치 4 실측이라고 명시한 관례가 오히려 불필요한 2단 우회를 유도한다. **패치.** 권장 경로를 `lawSearch.do?target=prec&nb=<사건번호>`로 일련번호 취득 → `lawService.do?target=prec&ID=<일련번호>`로 전문 취득의 2단으로 고쳐 적는다. `precInfoP.do`는 전문이 비어 올 때의 대체 경로로 강등한다. ## P3. `` 1 — MST 취득 절차 보완 **결함.** "`lawSearch.do`로 먼저 MST를 얻고"까지만 적혀 두 가지가 빠졌다. (가) 검색 응답의 필드명이 `<법령일련번호>`이고 그 값을 `lawService.do`에서는 `ID=`가 아니라 `MST=`에 넣어야 한다(PROV-072가 `ID=`로 시도해 "일치하는 법령이 없습니다"를 받았다). (나) 법령명 검색이 부분일치라 짧고 흔한 이름은 이 경로로 MST를 얻을 수 없다 (`query=민법`이 「난민법」을, 「상법」이 56건을 반환. PROV-132·PROV-137·PROV-102가 각각 걸렸다). **패치.** 필드명·파라미터명을 명시하고, 정확일치 필터 + `display=100` 재검색을 관례로 적는다. 조문 단위 조회 예시 `MST=<법령일련번호>&JO=<조 4자리+가지 2자리>`를 한 줄 넣는다. 실측 MST(상법 272919, 민사소송법 252393, 민법 284415)를 예시로 남긴다. ## P4. `` Stage 4 — 집필 순서와 append 순서를 분리한다 **결함.** 1278행이 "집필 순서(의존 순서다)"로 §1 → §3 → §4 → §2.1 → §5 → …를 지시하고 1291행이 "절을 쓴 즉시 출력 파일에 append한다"고 한다. `` 10도 같은 요구를 반복한다. §2가 파일에서 §4보다 앞이므로 두 규칙은 동시에 만족될 수 없다. 세 워커(PROV-132·PROV-059·PROV-076)가 각자 다른 방식으로 우회했다. **패치.** "**의존 순서로 내용을 확정하되, 디스크에는 절 번호 오름차순으로 append한다.** 아직 차례가 오지 않은 절의 확정된 내용은 `tmp/rf_draft//sections/§N.md`에 두고, 앞 절이 확정되는 즉시 번호 순으로 본 파일에 append한다"를 명문화한다. 60KB 일괄 생성 금지의 원래 취지(중단 시 부분 산출 보존)는 절별 파일로 유지된다. ## P5. 골격 v2 참조 잔재 제거 **결함.** ``와 `` 2가 "출력 사양은 v3 하나이며 구버전 공통골격_v2.md가 함께 있어도 읽지 않는다"고 못박았는데, 본문 9곳이 v2 원문을 상세 규범으로 삼으라고 지시한다: 21행(원칙 1), 185행(제5부), 1100행(원칙 8), 1235행(5.2 `RfAuthority`), 1274행(그 절의 v2 원문), 1329행(제2부 해당 절 원문이 상세 규범), 1365행(제3부 표), 1474행(제4부 서술규범), 1208행(v2를 함께 든 컨텍스트). 읽지 말라는 파일을 규범으로 삼으라는 자기모순이다. **패치.** 9곳을 전부 v3로 정정한다. 227행("골격 v2 이전 세대다")과 553~556행(오버라이드 흡수 이력)은 역사적 서술이므로 유지한다. ## P6. `` §11 — 규칙 수 정정 **결함.** 1359행 "11.2는 v2의 13개 규칙을 재기술(규칙 13은 오버라이드 4)". 골격 v3 §11.2는 **15개**다(직접 계수 확인: 14 `filing_deadline.kind`, 15 직권 참작사유가 신설). 또 "오버라이드 4"는 553행의 "오버라이드 6건은 골격 v3가 본문에 흡수했으므로 예외는 없다"와 어긋나는 잔재다. **패치.** "11.2는 골격 v3 §11.2의 15개 금지규칙을 이 사건종류 기준으로 재기술"로 고치고 오버라이드 언급을 삭제한다. Stage 4의 "11.2 금지규칙 13 재기술"도 15로 고친다. ## P7. `` Stage 0.4 (2) — 파일 대조 규칙 확장 **결함.** 대조 규칙이 "NFC 정규화 후 공백·`・`·`·`·`•` 제거 문자열로 대조"까지만 정해, 사건종류명 말미의 어절이 빠진 실재 파일을 부재로 판정한다. 실측: leaf `증여・유증・유류분반환을 원인으로 한 소유권이전 청구`의 규칙 문서 실제 파일명은 `청구취지작성규칙_증여유증유류분반환을원인으로한소유권이전_v1.md`로 말미 `청구`가 없다(36,957 bytes). 오케스트레이터의 프리플라이트도 같은 함정에 빠졌다. 이번엔 워커가 규칙 밖에서 재탐색해 찾았지만 그건 운이지 사양이 아니다. 덧붙여 이 폴더는 NFC/NFD가 혼재하며(`청구취지작성규칙_*` 34건 전부 NFD, `요건사실문서자료_*`는 NFC) 셸 `ls | grep`은 무력하다. **패치.** 3단 대조로 넓힌다. ① 정규화 완전일치 → ② 양방향 포함관계 → ③ 말미 어절(`청구`/`등`/`의 소`/`청구 등`)을 제거한 어간으로 재시도. 어느 단계든 1건이면 채택, 2건 이상이면 중단·보고. 「부재」 결론은 `test -f`에 준하는 실재 확인을 한 번 더 거친 뒤에만 내린다. 셸 `grep`으로 파일명을 찾지 말라는 금지를 명시한다. ## P8. `` 5 — §5 요건 블록의 헤딩 레벨과 침묵 실패 경고 **결함.** "요건 블록 헤딩은 §4·§5 모두 `####`로 통일한다(`#####`를 쓰지 않는다)"라고만 적혀, §5에서는 그 결과 요건 블록이 항 헤딩(`#### 5.P1.2`)과 **같은 레벨**이 된다는 점이 드러나지 않는다. 시각적 위계가 사라지므로 초회 작성에서 `#####`를 쓰기 쉬운데, 표준 게이트 구현체의 `req_blocks`는 level 4만 수집하므로 그 경우 §5 요건이 통째로 수집되지 않고 **S4·S5·S7이 아무것도 검사하지 않은 채 PASS한다.** 오작성이 실패가 아니라 침묵으로 넘어간다는 점에서 이 목록 중 가장 위험하다. PROV-132와 PROV-102가 독립적으로 지적했다. **패치.** 레벨 관계를 예시로 못박고, `#####`를 쓰면 게이트가 FAIL이 아니라 **침묵 통과**한다는 사실을 경고로 붙인다. 집필 후 §5 요건 블록 수를 육안으로 세어 §7 총괄표 행수와 대조하라는 자기점검 한 줄을 추가한다. ## P9. `` 4 — 조문 계수 단위 개정 **결함.** 계수 단위가 "법령 조문 1건"이라, 이미 내려받은 법령 XML 하나에서 읽은 조문이 전부 개별 대상으로 계수된다. 실측: 투자금반환은 HTTP 호출 **8회**로 조문 87건을 확인해 **89/60**으로 계수됐고, 청산금은 초과 11건 중 10건이 추가 네트워크 호출 없이 발생했다. 배치 6에서 5건이 초과했고 (61/67/71/61/89) **조사 범위를 넓혀서 초과한 건은 하나도 없다.** 더 나쁜 것은 삼자 충돌이다. 골격 v3가 §3.4·§3.5·§6.4·§8.4·§10.3에 특정 조문(민법 제168조· 제178조·제179조~제182조, 민사소송법 제202조의2 등)의 명시를 요구하고, `` 1이 본문의 모든 조문에 T1 검증을 요구하므로, **골격을 지키는 것만으로 상한이 소진된다.** 규정이 스스로 밝힌 취지("도구 사용 미숙을 조사 범위 축소로 갚지 않게 한다")를 계수 단위가 깨뜨린다. **패치.** 세 가지를 함께 적용한다. 1. **계수 단위를 「법령 1건」으로 바꾼다.** 한 번 확보한 법령에서 읽은 조문은 몇 개든 1대상이다. 판례는 종전대로 사건번호 1건 = 1대상. 2. **골격 v3가 조문번호까지 지정해 요구하는 항목은 상한 밖의 고정 목록으로 뺀다.** 골격 준수가 예산을 잡아먹지 않게 한다. 3. **(a) 60을 「법령 25 + 판례 35」로 분리한다.** 한쪽이 남아도 다른 쪽으로 넘기지 않는다. 확인의 소처럼 판례 의존도가 높은 사건(PROV-102가 판례만 35건)과 특별법이 여럿 걸리는 사건 (PROV-054가 조문만 47건)이 서로 다른 방향으로 상한을 소진하는 것이 실측됐다. ## P10. `` — `RF_GATE_VERSION` 상수를 코드블록에 넣는다 **결함.** 576행이 "`tmp/rf_draft/_shared/rf_gate.py`가 존재하고 첫머리의 `RF_GATE_VERSION`이 `v3.0`이면 그대로 쓴다"고 하는데, 같은 절의 코드블록에 그 상수가 없다. 그대로 두면 모든 세션이 「버전 다름」으로 판정해 같은 파일을 동시에 덮어쓴다 — 동시 쓰기 경합을 없애려고 만든 규정이 경합을 만드는 구조다. 배치 6에서는 오케스트레이터가 상수 1행을 부여해 막았다. **패치.** 코드블록의 `import` 직후에 `RF_GATE_VERSION = 'v3.0'`를 넣는다. 게이트 판정 로직은 한 글자도 바꾸지 않는다. ## P11. `` — 태그 속성과 CDATA 처리 순서 **결함.** (가) 레코드 태그가 ``처럼 **속성을 가진다**는 점이 없다. ``로만 잡는 정규식은 `totalCnt`가 1인데도 0건을 반환해 「판례 부존재」로 오판한다(PROV-051이 12건, PROV-132가 19건을 전건 재조회). 같은 함정이 법령 XML의 ``에도 있다. (나) 조문 XML의 CDATA 처리 순서. `<조문내용>` 안이 CDATA로 감싸이고 그 안에 `>`가 없으면 `<[^>]+>` 치환이 CDATA 블록 전체를 하나의 태그로 보아 조문 본문을 통째로 지운다. 결과가 빈 문자열이어서 「조문 없음」으로 오판한다(PROV-051·PROV-094·PROV-132). (다) 판례 전문 조회의 `IncompleteRead`가 관례에 없다(PROV-094가 5회, PROV-051이 2회 겪었다). (라) 헌법재판소 결정 조회 관례가 없다. `target=detc`이고 응답 태그가 대문자 ``여서 판례와 같은 소문자 가정 파서는 0건으로 읽는다(PROV-075). **패치.** 네 항목을 관례 절에 명문화한다. --- ## 부록 A. v.5에서 함께 손보는 부수 항목 - ``에 「오케스트레이터의 사전 확정 정보(파일 실재 여부 포함)」를 진입점의 예시로 명시한다. 배치 6에서 실제로 틀린 것이 이 유형이었다. - ``에 「사전 통지와 원문이 갈린 사실」 항목을 추가한다. 현재 스키마는 「자료 파일 부분 존재」 외의 사전 통지 오류를 보고할 자리가 없다(PROV-075 지적). - 자기 버전 표기를 v.5로 갱신하고, 배치 6 실측을 근거로 인용한다. ## 부록 B. v.5에 반영하지 않은 명세 부족 항목 (사용자 판단 필요) 결함이 아니라 명세 부족이므로 제외했다. 반영을 원하면 별도 지시가 필요하다. 1. `reading_plan.json` 필드 스펙 부재 — Stage 1.2가 산출을, Stage 0.5가 재사용을 요구하나 스펙이 없어 세션마다 형식이 갈린다. 재사용이 실제로는 작동하지 않는다(PROV-057). 2. `` 6 정독 200쪽 상한의 계수 기준 모호 — 추출 기준인지 실제 독서 기준인지. 조준 grep으로 일부만 읽은 블록도 전체 쪽수로 계수되어 과대 집계된다(PROV-054·PROV-057). 3. `count_registry_t1`/`t2`의 정의 모호 — 「T1 이상 전체」인지 「T1에 머문 것」인지 (PROV-094는 전자, PROV-055는 후자로 셌다). 4. `` 4 blind 심사의 실효성 — 같은 세션이 집필과 심사를 모두 하므로 집필 맥락이 컨텍스트에 남는다. 저장된 판례 전문 재독이 T2 상한에 계수되는지도 불명확 (PROV-072·PROV-057). 5. `` 5의 `주장책임 / 증명책임` 필드 값 형식(슬래시 구분)이 관례에만 의존 (PROV-053). 6. §4.4 기계판독 줄은 따옴표로 감싸고 §2.2 셀은 안쪽 문자열만 적는 비대칭이 미명시(PROV-054). 7. 13판 각주 분리 전처리 절차 부재 — 각주가 본문의 3배인 구간에서 300줄 상한 안에 명제가 거의 들어오지 않는다(PROV-072). 8. ``에 「§4가 해당 없음이면서 부수급부는 경로별로 실재하는 표지형」 지침 부재 (PROV-057). 9. §2.1 소송물 판례가 없거나 상한 안에서 특정되지 않는 경우의 처리 미명시(PROV-059). 10. Stage 1.5 블록별 노트 append가 총 정독량이 작을 때 낭비 — 통합 노트 예외 부재(PROV-055). ## 부록 C. 골격 v3 패치 후보 (이 패치안의 범위 밖) v.5는 골격 v3 파일을 수정하지 않는다(`` 15). 배치 6에서 수렴한 골격 결함: | 표수 | 내용 | |---:|---| | 5/14 | S11(a)가 §4.4 구간표 전 행에 이율 값을 요구. 장래 정기금처럼 이율 부존재가 정답인 행의 정규값 부재 | | 4/14 | S10b가 산문의 모든 `§N` 뒤에 제목 병기를 강제. 절 번호가 문장의 목적어인 경우까지 걸림 | | 3/14 | 린트 L-c의 대조 재료가 목차 txt 원문 줄(점선·쪽번호 포함)이라 사실상 무조건 PASS | | 2/14 | §4.2 `추정·전환` 필드에 설명 문장을 넣으면 §7 총괄표 붕괴. 열거값만 허용임을 명시 필요 | | 1/14 | 제2부 §0 YAML 예시가 `schema_version: "2.0.0"` — 제5부 스키마의 `const "3.0.0"`과 자기모순 | | 1/14 | §6 「주문에 미치는 영향」 열거값에 **소각하가 없음**. 소송요건 흠결 주장을 §6에 담을 자리 부재 |