docs(stage2): v3 개정 전략 확정
v2-1 평가와 사건종류별 규칙·요건사실 검색 흐름을 5-task DAG에 통합한다. 사해행위 자산 10종은 migration source로만 보존하고 독립 검증 2회 기록을 포함한다.
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
# MEMORY — Stage 2 개정 작업 메모리
|
||||
|
||||
> 이 파일은 CLAUDE.md 혹은 AGENTS.md와 한 벌로 짝지어진 Memory System 이다. Task당 하나의 교훈, 상단 한 줄 요약.
|
||||
|
||||
## How to Write MEMORY.md
|
||||
|
||||
상단에 한 줄 요약이 있는 task당 하나의 교훈을 저장하라.
|
||||
수정 사항과 확인된 접근 방식을 모두 간략하게 기록하고, 왜 중요한지 포함하라.
|
||||
이미 저장소나 채팅 기록에 있는 정보는 저장하지 마라.
|
||||
중복을 생성하지 말고 기존 노트를 업데이트하라.
|
||||
잘못된 것으로 판명된 노트는 삭제하라.
|
||||
|
||||
중요한 작업 세션이 끝나면 다음으로 마무리하라:
|
||||
|
||||
- 우리가 가진 세션을 되돌아보라.
|
||||
- 하위 에이전트(subagents)를 사용하여 핵심 테마와 교훈을 식별하고 MEMORY.md에 섹션으로 저장하라.
|
||||
- 향후 세션 시작 시 MEMORY.md의 이전 섹션을 참조하라.
|
||||
|
||||
## 2026-08-28 — Stage 2 최적 개정 전략 v3
|
||||
|
||||
한 줄 요약: v2-1 평가의 M-1~M-5·m-1~m-13과 사건종류별 청구취지 규칙·요건사실 Weaviate workflow를 5-task clean-slate DAG에 통합하고, 사해행위 기존 자산 10종을 migration source로 전수 활용한 뒤 독립 검증 2회 findings를 모두 닫아 v3 전략을 확정했다.
|
||||
|
||||
- 최종 문서: `stage_2_optimal_update_strategy_v.3.md`; 1,201행/78,312 bytes; SHA-256 `fd2b39fbdf51e3f7123bcb377a1bb1f0a11549861bab93dc1aa1ea0213073347`.
|
||||
- 최적 흐름은 `S2_00 deterministic ingress → S2_10 dependency-wave 법률판단 → S2_20 ReliefPlan/C25/C27~C29 → S2_30 group 공동작성 → C45/S2_40 검증·조립·commit`이다. C25 규칙은 `RELIEF_ONLY`, 검수 요건사실 pack은 `CAUSE_AND_ELEMENT_CHECK`이며 검색자료가 사건 사실·증거·명령으로 승격되지 않는다.
|
||||
- 137종 full release는 `manifest/module_manifest.v3.json`, `manifest/case_kind_coverage.v3.json`, `manifest/stage2_release.v3.json`을 유일 판정축으로 삼는다. exact rule+contract, 승인 corpus, renderer 포함 physical dependency, `READY 137/137`, 제외 0을 모두 요구하며 subset canary를 full release로 보고하지 않는다.
|
||||
- M-3은 지정 사해행위 자산 10종을 모두 provenance가 있는 migration row로 사용하되 runtime 직접 load하지 않는다. ACTIO-01~04로 판결확정 다음 날·민법 법정이율·소촉법 배제, 수익자/전득자 피고와 채무자 non-party, 민법 제406조 제2항 두 기간, 피보전채권/공동담보/수익자 이익 3자 cap을 canonical contract·fixture에 결속했다.
|
||||
- 2차 검증에서 현행 대부업법상 `registered_lender` 2분법 오류를 발견하여 비영업 사인·등록 대부업자·불법사금융업자·여신금융기관과 반사회적 불법대부계약 trigger를 분리했다. 법정수치와 계약효력은 계약시점 authority/law-value로 versioning한다.
|
||||
- 독립 검증 기록: `evals/stage2_v3/round_1.md`는 MAJOR 3·MINOR 10의 13건, `round_2.md`는 MAJOR 2·MINOR 6의 8건을 기록했고 모두 `APPLIED`; 미처분 finding 0이다. Round 1 요약문의 MINOR 8 표기는 실제 finding 표 10행을 기준으로 정규화했다.
|
||||
- 최종 정적검사: UTF-8, Markdown fence 46, PlantUML start/end 1:1·if/endif 2:2·fork/fork-again/end 2:2:2, 지정 10개 자산 각 1회, 구 Stage 2 v.0~v.3 runtime import edge 0, `git diff --check` PASS.
|
||||
- 경계: 전략·정적 검증만 완료했다. 신규 YAML/Python/profile/manifest 구현, Weaviate 배포, live Stage 1→2·LLM·cache·E2E 실행, 137종 법률가 semantic sign-off는 미수행이다.
|
||||
|
||||
## 2026-08-27 — 사건종류별 요건사실론 Weaviate 결합 workflow
|
||||
|
||||
한 줄 요약: 기존 5-task DAG와 C25 exact 사건종류 binding을 유지하면서, `S2_20` 내부에 역할별 검색계획(C27)·Weaviate 필터 검색(C28)·검증된 최소 요건사실 pack 조립(C29)을 추가하여 S2_30의 청구원인 작성과 S2_40의 요건-사실-증거 추적 검증을 강화했다.
|
||||
|
||||
- 최종 문서: `v.2-1_workflow_change_2.md`; 291행/17,237 bytes; SHA-256 `eb5437936d4d69c4c1009aa91010c3905efffe1e6aa4cfa4b28fe7b4da498834`.
|
||||
- 반영 판단은 `예`다. 사건종류별 요건사실론은 요건·항변·재항변·증명책임·증거 gap 및 청구취지-청구원인 정합성 점검에 실질적으로 유용하다.
|
||||
- 최적 순서는 `C25 exact case_kind/subtype 확정 → C27 역할별 query plan → C28 metadata-filtered hybrid retrieval → C29 출처/hash/검수상태 검증 및 Stage 1 슬롯 대조 → S2_30 공동작성 → S2_40 추적 검증`이다. semantic search로 사건종류를 역추론하거나 유사 사건을 자동 대체하지 않는다.
|
||||
- 청구취지작성규칙은 `RELIEF_ONLY`, 검수된 요건사실 pack은 `CAUSE_AND_ELEMENT_CHECK` 범위로 제한한다. 어느 쪽도 Stage 1에 없는 사건 사실·증거를 만들거나 현행 법령·판례를 대체할 수 없다.
|
||||
- raw 요건사실론 문서는 현재 6개/3,559행/218,175 bytes의 seed corpus이며 137종 전체 coverage를 입증하지 않는다. production 전 canonical mapping, heading-aware chunk metadata, 법률가 검수, authority 연결, collection snapshot과 retrieval receipt가 필요하다.
|
||||
- 검색 누락·장애·법리 충돌은 해당 claim group을 `LAWYER_REVIEW_REQUIRED`로 분기하되 전체 사건을 자동 차단하지 않는다. 검색 결과는 동결된 pack으로 재생하고 무관 chunk·미검수 chunk·사실 창작을 금지한다.
|
||||
- 경계: workflow·IO·검색계약 설계만 작성했다. Weaviate collection 배포, 137종 corpus 완성, YAML/Python 구현, live retrieval 및 E2E 법률가 sign-off는 미수행이다.
|
||||
|
||||
## 2026-08-27 — 사건종류별 청구취지작성규칙 결합 workflow
|
||||
|
||||
한 줄 요약: 기존 5-task DAG를 유지하면서 `S2_20` 내부에 atomic claim별 137종 사건종류 판정과 exact 규칙문서 binding을 수행하는 deterministic `C25`를 추가하고, 선택된 청구취지작성규칙만 `S2_30`에 `RELIEF_ONLY` context로 공급하는 변경 전략을 확정했다.
|
||||
|
||||
- 최종 문서: `v.2-1_workflow_change_1.md`; 288행/26,384 bytes; SHA-256 `a18cd4f66b97846dbc30d1c2bb32bc5d706b6016a55671e01928c8655763593f`.
|
||||
- 최적 흐름은 `S2_10 청구권·구제수단 판단 → S2_20 preliminary group → atomic claim별 case-kind/rule binding → rule contract 정합성 검사 → S2_30 case-specific 청구취지 작성 → S2_40 binding/hash/clause 검증`이다. 사건종류는 청구권 식별·실체법 profile 선택키가 아니라 후단 drafting-rule selector다.
|
||||
- 복합 claim group에는 사건종류 하나를 강제하지 않고 atomic claim별 복수 binding을 허용한다. runtime directory scan·filename fuzzy match는 금지하고 registry의 exact path/version/hash만 사용한다.
|
||||
- 실물 inventory는 mapping table 22행, 최상위 `Default_Agent/`의 해당 이름 패턴 Markdown 19개, 예시 문서 5개다. 버전·중복·누락이 있으므로 현 자산은 137종 production coverage가 아니며 canonical registry, rule contract와 법률가 검증이 필요하다.
|
||||
- prompt caching은 S2_10에 compact 137-row classification index만 고정 segment로 넣고, S2_30에는 선택된 renderer와 rule document 조합만 넣어 cohort를 만든다. 규칙문서는 청구원인의 사실·authority 또는 frozen ReliefPlan 변경 근거로 사용할 수 없다.
|
||||
- mapping 누락·모호·충돌은 claim을 소거하거나 전체 run을 중단하지 않고 `LAWYER_REVIEW_REQUIRED`로 보존한다. nearest-name 자동 대체와 미검증 generic 문안의 READY 표시는 금지한다.
|
||||
- 경계: workflow·IO·자산계약 변경 전략만 작성했다. 137종 규칙문서 완성, registry/YAML/Python 구현, 법률가 sign-off와 live E2E는 미수행이다.
|
||||
|
||||
## 2026-08-27 — v2-1 전략 workflow와 기존 Stage 2 흐름 비교
|
||||
|
||||
한 줄 요약: v2-1은 `Stage 1 → 청구권·구제수단 판단 → 청구취지·청구원인`이라는 기존 업무 목적과 산출물 방향은 상당히 계승하지만, 사건종류 중심 runtime 라우팅을 폐기했으므로 실행 구조의 직접 합치는 부분적이다.
|
||||
|
||||
- 비교 문서: `v.2-1_strategy_workflow_overview.md`; 75행/7,642 bytes; SHA-256 `519de5163e1bda6e6b9d818e9784d356df84fe5d2cb014fe53f9dea8e1ea413b`.
|
||||
- v2-1의 큰 흐름을 `Stage 1 현행 산출물 → S2_00 deterministic 정규화·bundle compile → S2_10 LLM cluster별 법률판단 → S2_20 deterministic ReliefPlan·claim group 확정 → S2_30 LLM 청구취지·청구원인 작성 → S2_40 deterministic 검증·render·commit → 최종 package`의 ASCII art로 정리했다.
|
||||
- 사건종류 137종 catalog는 runtime 법리 선택키가 아니라 renderer/profile coverage와 회귀시험 기준이다. runtime은 Stage 1의 사실·증거·법률효과 구조·signal로 활성 claim cluster와 법리 profile을 선택한다.
|
||||
- 실제 v.0 YAML 세부 순서는 사용자가 제시한 개념도와 달리 `Task_B 청구권 식별 → Task_C 각 청구권의 사건종류 부여`다. 이후 `Stage_2_2`가 청구권별 정보를 만들고 `Stage_2_3`이 청구취지·청구원인을 생성한다.
|
||||
- 경계: 생성 문서는 v2-1 전략의 비교·시각화 자료이며, 신규 YAML/module 구현 또는 live E2E 검증 완료 증거가 아니다.
|
||||
|
||||
## 2026-08-26 — v2-1 엄격 검증 (eval 보고서 생성, 감사 3회전 SUFFICIENT)
|
||||
|
||||
한 줄 요약: `stage_2_optimal_update_strategy_v.2-1.md`를 7차원 직접 검증 + 독립 감사 sub-agent 3회전(NEEDS_MORE → NEEDS_MORE(정밀도) → SUFFICIENT)으로 검증하여 CRITICAL 0·MAJOR 5·MINOR 13으로 판정하고 `eval_stage_2_optimal_update_strategy_v.2-1.md`에 기록했다 — M-1~M-5(+선행 m-10) 반영 v2-2가 Phase 0 착수 기준.
|
||||
|
||||
- 최종 문서: `eval_stage_2_optimal_update_strategy_v.2-1.md`; 181행/47,252 bytes; SHA-256 `d72e14ed078747411d968c537ac6075b3a9e3fa9c21bb55d74fbf16e8f33bcb8`. 대상 v2-1 hash `72440425…`는 변경하지 않았다.
|
||||
- 두 restriction(상류 전제자산 삭제·법률 fail-closed 폐기) 이행을 diff·grep으로 실측 확인. 인용 법률사실(제1115조 가액지급·법률 제21454호 2026-03-17·부칙 제2·3조·2024다208261·제1112조 4호 삭제·84다카1194)은 law.go.kr 실증 허위 0. 상법 제45조·소촉법 12%는 law.go.kr 직접 fetch가 제목만 반환해 법원 공지·법률DB 검색으로만 교차확인.
|
||||
- MAJOR: ① Stage 1이 이미 산출하는 `element_slots`/`opposing_fact_slots`/`defense_map`/`evidence_slot_status[]` 요건사실 계약을 Stage 2가 읽지 않음 ② 소송비용·가집행 항과 문서 수준 청구취지 조립 규칙 부재(가집행은 atom 단위: 재산권 이행 ∧ ¬형성판결 종속 ∧ ¬R03/R05/R06) ③ 사해행위 특칙 4종(가액배상 이자 판결확정 다음날·민법이율, 피고적격 수익자·전득자, 제406조②, 3자 cap) 누락 ④ cluster 간 선결·부종 co-cluster 규칙·edge 부재(Stage 1 `depends_on`은 지식층 상속이라 실행순서 근거 불가) ⑤ READY 조건 loophole(미해결 review key·P1 `blocks_final_drafting`/P4 `blocked_review_items`·TECHNICAL_INCOMPLETE cluster·DEFER_TO_LAWYER·`review_policy` 미참조).
|
||||
- §9 Q&A(9.1 일반 invariant·9.2 fixture oracle) 실물 일치 확인. 보완 권고: fixture blocker code를 generic V-code에 매핑, §9 서두에 137종 일반성은 Phase 3 row fixture로 확보됨을 명시.
|
||||
- 교훈: (1) 감사자 지적도 반영 전 실물 grep 재확인이 필수 — 1차에서 검증자 자신의 오독 5건(v2 STOP 분기 수, `depends_on` 의미 등), 3차에서 감사자 인용 off-by-one(DR3:43→42)이 나왔다. (2) 모범답안(`improvement_report_1.md:1548-1550`, `discrepancy_report_3.md:42-47`)이 청구취지 tail·이자 특칙의 가장 강한 oracle이므로 전략서 fixture assertion에 그대로 실어야 한다. (3) Stage 1 `domains/*/domain_config.json`의 slot·defense·depends_on 계약은 Stage 2 설계 전에 먼저 inventory해야 한다.
|
||||
- 경계: eval은 정적 검증이다. 137종 법률가 sign-off, live Stage 1 산출물 대조, M-3·m-6·m-13 근거 판례·법정수치의 공식 원문 특정은 미수행(A00 재조회 대상).
|
||||
|
||||
## 2026-08-26 — Stage 2 최적 개정 전략 v2-1
|
||||
|
||||
한 줄 요약: v2의 신규 Stage 1 production 전제 자산 4종과 법률 불확실성 기반 전역 no-save를 제거하고, 현행 Part 1~4 산출물만으로 조건부·대안 draft와 변호사 검토 package를 계속 생성하는 v2-1 전략을 확정했다.
|
||||
|
||||
- 최종 문서: `stage_2_optimal_update_strategy_v.2-1.md`; 1,645행/141,942 bytes; SHA-256 `72440425617248d0cae727846948df3d24723cbb22ea2a16c0115144f686c553`. 원본 v2 hash `4d5cf5de...`는 변경되지 않았다.
|
||||
- 삭제대상 `stage1_program_release_manifest`, `stage1_independent_review_receipt`, `stage1_s7_behavioral_receipt`, `stage1_final_program_seal` 및 외부 filing-scope approval/failure/quarantine 계약은 runtime prerequisite에서 0이다. 기존 Stage 1 registry는 P1 digest의 optional integrity recheck일 뿐 부재가 실행을 막지 않는다.
|
||||
- 5-task DAG는 유지하되 법률판단을 `SUPPORTED|CONDITIONAL|UNRESOLVED|EXCLUDED`로 보존한다. 법률 미해결은 `LAWYER_REVIEW_REQUIRED` package로 저장하고, 기술적으로 일관된 파일을 만들 수 없는 affected scope만 `TECHNICAL_INCOMPLETE`다.
|
||||
- 독립 검증 1회는 초안 hash `336c7872...`에 `REVISE`(major 4, minor 5)를 판정했다. 전부 반영하여 S2_10/S2_30은 per-ID immutable patch·telemetry만 쓰고 S2_20/S2_40이 ID-sort single reducer가 되며, review packet은 package hash를 통해 5-file root에 전이 결속된다.
|
||||
- 자동화는 `READY_FOR_LAWYER_FILING_DECISION`까지만 선언한다. 사건별 `artifact_legal_readiness`, `artifact_technical_status`, 시스템 `deployment_validation_status`를 분리하고 최종 제출은 완전한 기록을 본 자격 있는 대한민국 변호사가 결정한다.
|
||||
- §6.0에 신규 workflow YAML 5개의 exact 배포경로·entrypoint·IO와 loader binding을 추가하고 `attorney_worknote`, map patch, telemetry part schema를 명시했다. 구 Stage 2 v.0~v.3 runtime dependency는 0이다.
|
||||
- 작성자 정적검사: Markdown fence 46 PASS, PlantUML start/end 1·if/endif 3·fork/end 2 PASS, CK-001~137 연속 137행, workflow/task 각 5, root catalog hash 일치. 독립 2차 PASS라고 주장하지 않는다.
|
||||
- 경계: 전략서 개정만 완료했다. 신규 workflow YAML·Python·profile 구현, loader 배포, live Stage 1→2 E2E/cache telemetry, 137종 법률가 semantic sign-off는 미수행이다.
|
||||
- 후속 재확인: 사용자의 재기입 요청에 따라 이 요약이 지정 경로 `YAML_Prompts/2. Stage_2/MEMORY.md`에 실제 저장되어 있음을 다시 확인하고 파일을 갱신했다.
|
||||
|
||||
## 2026-08-25 — Stage 2 실행 자산 inventory
|
||||
|
||||
한 줄 요약: v2 전략을 신규·상류 전제·직접 재사용·migration-only·run 산출물로 분리한 18개 자산 표로 전환하고, 독립 검증의 모든 지적을 반영해 최종 PASS를 받았다.
|
||||
|
||||
- 최종 문서: `assets_for_stage_2.md`; 373행/54,214 bytes; SHA-256 `2b4ef2ae4bd79477a24e3a63fdbea63adeefd4344ad1f503181ed56f50b5f78c`.
|
||||
- v.2 core execution-contract subtotal은 workflow 5, core/A00 8, prompt 3, renderer 6, substantive 22, crosscut 5, CE 17, SL 13, manifest 6, schema 18의 103개다. 이는 authority·fixture·test·loader/deployment/E2E/sign-off 보완군을 제외한 subtotal이지 grand total이 아니다.
|
||||
- Stage 1 공식 6개 입력과 감사·검토 무손실면, 신규 release 전제 4종을 별도 표로 두었다. 기존 Stage 2 v.0~v.3은 dependency 0이며, 기존 module은 실물 확인된 16개 closed migration allowlist만 신규 profile seed로 이관하고 runtime 직접 load하지 않는다.
|
||||
- 독립 검증에서 세계법제정보센터를 대한민국 국내법 controlling source에서 분리하고, 137종·profile fixture family, loader deployment receipt, live E2E evidence, 법률가 semantic sign-off와 검증 schema를 `TO_BE_FROZEN` missing piece로 추가했다. 최종 재검증은 BLOCKING/MAJOR/MINOR 0으로 PASS했다.
|
||||
- 경계: 이 inventory는 필요한 자산과 배포 위치의 설계 목록이다. 신규 103개 core 자산의 구현, Stage 1 release 4종 PASS, 실제 loader 배포, clean live E2E 및 137종 법률가 sign-off 완료를 증명하지 않는다.
|
||||
|
||||
## 2026-08-25 — Stage 2 최적 개정 전략 v2
|
||||
|
||||
한 줄 요약: 외부 평가 MAJOR 5·MINOR 12와 독립 적대적 재검증을 반영해 5-task clean-slate DAG를 유지하면서 현행법·scope·승인·구현완료·cache 계약을 보강한 v2를 정적 PASS로 확정했다.
|
||||
|
||||
- 최종 문서: `stage_2_optimal_update_strategy_v.2.md`; 1,608행/130,600 bytes; SHA-256 `4d5cf5de0394f34310f9cf96f11057fba69d1493e97d93830da45f301095a539`.
|
||||
- 원고 이익은 명목액 최대화가 아니라 합법성·입증·집행·회수·기한·비용을 순서화한 lawful remedy frontier와 supported claim-option conservation으로 정의했다.
|
||||
- 민법 법률 제21454호 제1115조 제1항·부칙 제3조를 반영해 상속개시일 2026-03-17 이후 유류분은 `VALUE_PAYMENT_ONLY`·R01, 청구일부터 이자, CE-08→CE-01로 고정하고 구법 사건과 권리자·상실·보상적 증여 전환축을 분리했다.
|
||||
- unresolved group 무승인 run은 S2_20의 구조화 plan candidate에서 멈춘다. 외부 변호사 승인은 parent run/candidate raw+binding hash, signer trust/signature/expiry, ingress/scope/group과 final seal에 결속한 새 run에서만 재사용한다.
|
||||
- production coverage는 단순 137행 귀속이 아니라 모든 row의 `implementation_gap_ids=[]`, dependency `IMPLEMENTED_AND_VERIFIED`, row별 fixture PASS를 요구한다. authority cache는 excerpt뿐 아니라 시행일·부칙·헌재효력·후속입법·negative treatment 등 의미 metadata 변경에도 무효화한다.
|
||||
- 정적 확인: CK-001~137 연속·source key 137개 유일, base 59/6/30/4/29/9, root catalog hash 일치, UML 1쌍·if 6쌍·fork 2쌍, Markdown fence 50개, UTF-8, 구 v.0~v.3 runtime dependency 0. 독립 sub-agent는 최종 hash 기준 `STATIC STRATEGY PASS`를 확인했다.
|
||||
- 경계: 이는 전략서 정적 검증이다. 신규 YAML/module 구현·배포, live Stage 1→2 E2E, provider cache 효과, 137종 법률가 semantic sign-off는 아직 증명되지 않았다.
|
||||
|
||||
## 2026-08-25 — Stage 2 Clean v1 개정 전략
|
||||
|
||||
한 줄 요약: Stage 2는 Stage 1 봉인본을 직접 소비하는 3 deterministic + 2 LLM의 5-task fail-closed DAG로 재구축하고, 구 v.0~v.3 runtime dependency는 0으로 유지한다.
|
||||
|
||||
- 기준일 연구기록의 Stage 1 snapshot은 `STAGE1_NOT_RELEASE_READY`, S7 `UNBOUND`, 독립검토/final seal 미완료였다. 이를 영구 상태로 가정하지 않고 매 run S2_00이 canonical release artifact를 재검증하며, 미완료 run만 production Stage 2를 hard block한다.
|
||||
- 137종은 6 renderer와 상시 X3, 22 substantive·crosscut·17 CE·SL registry로 보존하고 사건명은 runtime 법리 선택이 아닌 coverage oracle로만 쓴다.
|
||||
- 공식+감사 ingress, canonical signal `ALL` 확장, review/signal/domain conservation ledger를 먼저 닫고 LLM은 법률판단과 닫힌 atom/template JSON 생성에만 사용한다.
|
||||
- C45는 임시 Markdown만 만들며 C40이 독립 post-render byte 대조와 5-file commit root를 통과시킨 뒤에만 atomic 저장한다.
|
||||
- DR1~4·IR1~4·IM의 9-source finding과 네 gold/mutation fixture, task별 cache lane, authority freshness를 release gate로 삼는다.
|
||||
- v1의 72→94→100/100은 durable rubric/finding/receipt가 없는 역사적 자기보고이므로 release 증거로 재사용하지 않는다. 외부 eval은 별도로 CRITICAL 0·MAJOR 5·MINOR 12를 판정했고 v2에서 처리했다.
|
||||
- 상세 기준: 원안 `stage_2_optimal_update_strategy.md`, 개정안 `stage_2_optimal_update_strategy_v.2.md`.
|
||||
|
||||
## 2026-08-25 — 전략서 엄격 검증 (eval 보고서 생성, 감사 3회전 SUFFICIENT)
|
||||
|
||||
한 줄 요약: `stage_2_optimal_update_strategy.md`를 6차원 병렬 적대적 검증 + 독립 감사 루프 3회전으로 검증하여 CRITICAL 0·MAJOR 5·MINOR 12로 판정하고 `eval_stage_2_optimal_update_strategy.md`에 기록했다 — M-1~5 반영 개정판이 Phase 0 착수 기준.
|
||||
|
||||
- 인용 근거 무허위: catalog sha·인계면 6:6·분석서 앵커·전역 상태 4값·판례 3건(웹 실증)·caching 문서 3종 전부 실물 일치. 부록 A 137행 전수 일치. clean-slate grep 0건.
|
||||
- MAJOR: ① 성수동 175M은 보고서 미기재 산술 파생값(trace 불가) ② 헌재 결정 권위 채널 부재 ③ C10 식별자 module/invariant 이중 사용 ④ 부록 SL ID 표기 §6.5 canonical과 7건 불일치(Phase 0 hard fail 유발) ⑤ §16 자기 검증 기록(72→94→100) 재현 불가. 단, 평가 당시의 “유류분 개선입법 미확정” 전제는 기준일 현행 법률 제21454호와 2024다208261로 대체되었고, v2는 제1115조·부칙 제3조까지 별도 반영했다.
|
||||
- 교훈: 자기 검증 주장에는 산출물 경로·hash를 남겨야 한다(§16 비대칭이 MAJOR가 된 이유). 검증자 출력의 행번호 인용도 오프셋 오류가 날 수 있으니(차원⑤ +21) 후속 인용 전 재확인.
|
||||
+1201
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,44 @@
|
||||
# Stage 2 v3 전략 독립 검증 기록 — Round 1
|
||||
|
||||
## 1. 검증 식별정보
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 검증 대상 | `YAML_Prompts/2. Stage_2/stage_2_optimal_update_strategy_v.3.md` |
|
||||
| 검증 전 SHA-256 | `b89b2f277466967efa21cc65610df3602ea44ceb17379a325afff03ca79cf3b1` |
|
||||
| 검증 전 크기 | 58,320 bytes / 1,055 lines |
|
||||
| 독립 검증자 | `/root/validate_v3_round1` |
|
||||
| 검증 방식 | 대상 파일 비수정, finding·locator·개정 요구만 반환 |
|
||||
| 기준 자료 | v2-1 전략, v2-1 평가보고서, workflow change 1·2, 사용자 지정 사해행위취소 자산 10종, 루트 규칙과 Stage 2 MEMORY |
|
||||
| 최초 판정 | `REVISE` |
|
||||
|
||||
검증 결과 본문의 finding 표에는 `MAJOR` 3건과 `MINOR` 10건, 합계 13건이 열거되었다. 검증자 요약문에 적힌 `MINOR 8`은 표의 실제 행 수와 불일치하므로 이 기록에서는 표를 정본으로 삼아 `MINOR 10`으로 정규화한다.
|
||||
|
||||
## 2. Finding 처분표
|
||||
|
||||
| ID | 등급 | 검증 finding | 처분 | 수정 위치·내용 |
|
||||
|---|---|---|---|---|
|
||||
| R1 | MAJOR | `2018다203715` 선고일 오류 | `APPLIED` | §9.1 ACTIO-01에서 `2019. 4. 11.`로 바로잡고 공식 판례 식별자를 유지 |
|
||||
| R2 | MAJOR | scope 단위 기술상태와 run 집계 규칙 부재 | `APPLIED` | §2, §5, §10, §14에 `scope_technical_status`, `run_technical_status`, `run_status.json`과 집계식 추가 |
|
||||
| R3 | MAJOR | 137종 production gate가 선언적이며 계산 profile·소멸시효 module 완전성 불명확 | `APPLIED` | §11.3~§11.4에 CE-01~CE-13, CE-R1~R4, SL-01~SL-13 물리 자산·역할·상태 및 137/137 exact rule/corpus/READY gate 추가 |
|
||||
| R4 | MINOR | Stage 1 source schema 경로·필드 locator 미기재 | `APPLIED` | §1.3에 현행 Stage 1 schema의 정본 경로와 소비 필드 명시 |
|
||||
| R5 | MINOR | C28 검색 파라미터·동률해소·재현 receipt가 부족 | `APPLIED` | §7.3에 봉인된 retrieval config, exact filter, hybrid/rerank 값, tie-break, raw receipt replay 계약 추가 |
|
||||
| R6 | MINOR | S2_30 prompt caching의 두 breakpoint 및 권위자료 배치가 모호 | `APPLIED` | §7.5·§12.2에서 common prefix와 renderer/rule/pack cohort의 두 breakpoint 및 dynamic tail 순서 확정 |
|
||||
| R7 | MINOR | `rate_source`와 법정수치 ID 용어 불일치 | `APPLIED` | §9.1 ACTIO-01 및 계산 receipt를 `rate_law_value_id`로 통일 |
|
||||
| R8 | MINOR | 민법 제406조 인용 링크가 조문 전체를 직접 가리키지 않음 | `APPLIED` | §9.1 ACTIO-03에서 국가법령정보센터 제406조 전체 링크 사용 |
|
||||
| R9 | MINOR | 민사소송법 제213조·민사집행법 제263조의 권위자료와 fixture 부족 | `APPLIED` | §8.3·§12.1·§13.2에 공식 조문 ID·링크와 판결종류/집행가능성 fixture 연결 |
|
||||
| R10 | MINOR | m-1·m-8·m-13 경계 fixture가 이름과 oracle 수준으로 고정되지 않음 | `APPLIED` | §13.2에 `FX-COMM45-BEFORE/AFTER`, `FX-MERCH-RATE-SWITCH`, `FX-INTEREST-CAP-NONLENDER/LENDER` 추가 |
|
||||
| R11 | MINOR | 공통 envelope schema와 Markdown 산출물 경계 불명확 | `APPLIED` | §14.3에 필수 schema manifest를 확장하고 JSON/YAML envelope와 Markdown front matter 계약을 분리 |
|
||||
| R12 | MINOR | 근저당권 route의 migration 목적지 불일치 | `APPLIED` | §9.2를 `routing/actio_pauliana_mortgage_route.v3.yml`로 통일 |
|
||||
| R13 | MINOR | 검증 receipt 정본 경로·필드 계약 부재 | `APPLIED` | §14.3·§17.1에 `evals/stage2_v3/round_<n>.md`와 receipt 필수 필드·sidecar schema 계약 추가 |
|
||||
|
||||
## 3. 증분 개정 결과
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 수정 후 SHA-256 | `978ff8864c927a39feb5fb2bc8ee06a970f6ad88fb55f66e3b5a610f90fdaead` |
|
||||
| 수정 후 크기 | 70,843 bytes / 1,159 lines |
|
||||
| 미처분 finding | 0 |
|
||||
| 회차 결론 | Round 1 finding 전부 반영; Round 2 독립 폐쇄 검증 필요 |
|
||||
|
||||
이 회차는 전략 문서의 정적 설계 검증이다. YAML/Python 구현, Weaviate 배포, live LLM 호출, 137종 법률가 승인 또는 E2E 실행을 입증하지 않는다.
|
||||
@@ -0,0 +1,47 @@
|
||||
# Stage 2 v3 전략 독립 검증 기록 — Round 2
|
||||
|
||||
## 1. 검증 식별정보
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 검증 대상 | `YAML_Prompts/2. Stage_2/stage_2_optimal_update_strategy_v.3.md` |
|
||||
| 검증 전 SHA-256 | `978ff8864c927a39feb5fb2bc8ee06a970f6ad88fb55f66e3b5a610f90fdaead` |
|
||||
| 검증 전 크기 | 70,843 bytes / 1,159 lines |
|
||||
| 독립 검증자 | `/root/validate_v3_round2` |
|
||||
| 검증 방식 | Round 1 폐쇄 및 신규 법률·machine-contract 모순 검사; 대상 파일 비수정 |
|
||||
| 최초 판정 | `REVISE` |
|
||||
| finding 집계 | `CRITICAL 0 / MAJOR 2 / MINOR 6` |
|
||||
|
||||
## 2. Finding 처분표
|
||||
|
||||
| ID | 등급 | 검증 finding | 처분 | 수정 위치·내용 |
|
||||
|---|---|---|---|---|
|
||||
| R2-F01 | MAJOR | 137종 release를 판정할 physical manifest·schema 부재, renderer 누락, `EC-00/E-00` family 오분류 | `APPLIED` | §11.2~§11.4·§14.3·Phase 0/5에 `module_manifest.v3.json`, `case_kind_coverage.v3.json`, `stage2_release.v3.json`과 schema·유일 release-oracle 계약을 추가하고 family와 renderer 결속 교정 |
|
||||
| R2-F02 | MAJOR | m-13이 `registered_lender` 2분법이라 2025년 개정 대부업법상 불법사금융업자·반사회적 불법대부계약 효력을 오판 | `APPLIED` | §8.4·§13.2에 lender 4상태, 영업성·차주·계약일·위법 trigger, 대부업법 제8조·제8조의2·제11조·제15조별 fixture와 official link 추가 |
|
||||
| R2-F03 | MINOR | S2_00/S2_40의 `run_status.json` 이중 producer와 retrieval 오류의 기술상태 mapping 부재 | `APPLIED` | §2·§5·§10·§14에서 S2_00 `ingress_status.json`, S2_40 final `run_status.json`으로 분리하고 retrieval/error 상태표·허용 조합·single-writer seal 추가 |
|
||||
| R2-F04 | MINOR | Stage 1 schema locator가 root array와 candidate bundle 구조를 정확히 반영하지 않음 | `APPLIED` | §1.3에 실물 schema로 확인한 완전한 JSON Pointer 5개를 기재 |
|
||||
| R2-F05 | MINOR | retrieval chunk의 원문 위치·적용시점·party/procedure metadata와 prompt-injection 방어 부재 | `APPLIED` | §7·V12·mutation suite에 `source_doc_id`, section/char/as-of/party/procedure 필드, untrusted-data 규칙과 injection fixture 추가 |
|
||||
| R2-F06 | MINOR | 전면적 가격배상 공유물분할 authority 후보 미특정 | `APPLIED` | §8.4·§13.2에 `AUTH-SC-2023DA217916`, 대법원 2023다217916 공식 링크, 특별한 사정·실질적 공평·변론종결 근접 시가 fixture 추가 |
|
||||
| R2-F07 | MINOR | 정의되지 않은 계산 executor `C30` | `APPLIED` | §11.3에서 별도 C30을 폐기하고 S2_20이 `runtime/calculators/*.py` 고정 executor로 CE data를 해석하도록 교정 |
|
||||
| R2-F08 | MINOR | P12/P32 등 cache segment와 실제 breakpoint byte 계약 미정의 | `APPLIED` | §7.5·§12.2에 P00/P10/P11/P12/S10, P00/P30/P31/P32/S30 순서와 breakpoint hash·cohort key·serializer byte 검사를 명시 |
|
||||
|
||||
추가 정적검사에서 예시 binding의 비정본 ID `CK-000`을 발견하여 유효 예시 `CK-001`과 `CRR-CK001-001`로 교정했다. 이는 새 workflow를 추가하지 않는 문서 정합성 cleanup이다.
|
||||
|
||||
## 3. Round 1 폐쇄 재판정
|
||||
|
||||
Round 2가 `PARTIAL`로 남긴 Round 1의 R2·R3·R4·R6·R10은 각각 R2-F03·F01·F04·F08·F02 수정으로 폐쇄되었다. 나머지 R1·R5·R7·R8·R9·R11·R12·R13은 Round 2 검증에서 `PASS`였다. 따라서 Round 1 R1~R13과 Round 2 R2-F01~F08의 미처분 finding은 0건이다.
|
||||
|
||||
## 4. 증분 개정 결과
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 수정 후 SHA-256 | `fd2b39fbdf51e3f7123bcb377a1bb1f0a11549861bab93dc1aa1ea0213073347` |
|
||||
| 수정 후 크기 | 78,312 bytes / 1,201 lines |
|
||||
| 미처분 finding | 0 |
|
||||
| 회차 결론 | 지정된 두 번째 검증-개정 회차 종료; 최종 정적검사 대상으로 고정 |
|
||||
|
||||
법률 재확인은 [현행 대부업법](https://law.go.kr/LSW/lsInfoP.do?ancYnChk=0&chrClsCd=010202&efYd=20260102&lsiSeq=277259&urlMode=lsInfoP), [제8조의2](https://www.law.go.kr/lsLinkCommonInfo.do?chrClsCd=010202&lsJoLnkSeq=1028639157), [제11조](https://www.law.go.kr/LSW/lsLinkCommonInfo.do?chrClsCd=010202&lsJoLnkSeq=1031456885), [대법원 2023다217916](https://www.law.go.kr/LSW/precInfoP.do?mode=0&precSeq=237047) 공식 원문을 기준으로 했다.
|
||||
|
||||
이 기록 역시 전략 문서의 정적 설계 검증이다. 신규 YAML/Python 구현, Weaviate 배포, live LLM/E2E 실행 또는 137종 법률가 승인을 입증하지 않는다.
|
||||
|
||||
커밋 직전 Markdown 의미를 바꾸지 않는 trailing-whitespace 7 bytes를 제거하고 위 최종 hash·크기를 재계산했다.
|
||||
@@ -0,0 +1,113 @@
|
||||
# Stage 2 최적 개정 전략 v3 작성
|
||||
|
||||
## Objective
|
||||
|
||||
`stage_2_optimal_update_strategy_v.2-1.md`를 기준으로 평가보고서의 개선사항, `v.2-1_workflow_change_2.md`의 workflow, `change_1`의 사건종류별 청구취지 규칙 결합, 사해행위취소 기존 자산 10개의 유효 법리·계산 계약을 통합한 clean-slate `stage_2_optimal_update_strategy_v.3.md`를 작성한다.
|
||||
|
||||
## Deliverables
|
||||
|
||||
- `YAML_Prompts/2. Stage_2/stage_2_optimal_update_strategy_v.3.md`
|
||||
- sub-agent 검증 2회 및 각 회차 후 incremental revision
|
||||
- `YAML_Prompts/2. Stage_2/MEMORY.md` 압축 요약
|
||||
|
||||
## Scope and Non-Scope
|
||||
|
||||
- 범위: Stage 2 전략·DAG·작업 계약·IO·자산·검증·회귀시험·prompt caching 설계.
|
||||
- 비범위: 신규 YAML/Python 구현, Weaviate 실제 배포, live LLM/E2E 실행, 137종 법률가 sign-off.
|
||||
- 구 `v.0~v.3` YAML은 runtime dependency가 아니며, 사용자 지정 사해행위취소 자산 10개도 분석·이관 seed로만 사용한다.
|
||||
|
||||
## Known Inputs
|
||||
|
||||
- Stage 2 MEMORY와 루트 AGENTS/workflow/evidence 규칙
|
||||
- `stage_2_optimal_update_strategy_v.2-1.md`
|
||||
- `eval_stage_2_optimal_update_strategy_v.2-1.md`
|
||||
- `v.2-1_workflow_change_1.md`, `v.2-1_workflow_change_2.md`
|
||||
- `assets_for_stage_2_v.1.md`, `yml_assets_classification_v.1.md`
|
||||
- `사해행위취소소송관련기존자산/`의 사용자 지정 10개 파일
|
||||
|
||||
## Material Assumptions
|
||||
|
||||
- 대한민국 민사소송 및 관련 실체법을 대상으로 하며 전략서 기준일은 2026-08-28이다.
|
||||
- 평가보고서의 법률 명제는 전략에 반영하기 전 원문·기존 자산·필요 시 공식 권위자료와 대조한다.
|
||||
- `change_2`의 Weaviate corpus는 설계안이며 현재 6개 raw 문서는 137종 production coverage가 아니다.
|
||||
|
||||
## Questions That Could Change the Outcome
|
||||
|
||||
- 평가보고서 M-1~M-5와 선행 minor 항목의 정확한 acceptance criteria.
|
||||
- 사해행위취소 10개 자산 중 유지할 법리·계산·검증 계약과 폐기할 legacy workflow 의존성.
|
||||
- 사건종류별 규칙문서 및 요건사실 RAG를 어느 task 내부에 넣어 5-task 구조와 cache economy를 유지할지.
|
||||
|
||||
## Workstreams and Dependencies
|
||||
|
||||
1. 입력 inventory와 평가 finding matrix 작성.
|
||||
2. 10개 사해행위 자산의 계약·상수·분기·출처·중복 분석.
|
||||
3. v3 clean-slate DAG 및 작업/IO/자산/검증 전략 작성.
|
||||
4. sub-agent round 1 검증 → incremental revision.
|
||||
5. sub-agent round 2 검증 → incremental revision.
|
||||
6. 정적 검증·MEMORY 갱신.
|
||||
|
||||
## Source and Tool Plan
|
||||
|
||||
- 로컬 원문을 최우선으로 사용하며 `rg`, `sed`, `wc`, `shasum`으로 locator와 무결성을 확인한다.
|
||||
- 현행법 여부가 전략의 실질 명제를 좌우하는 경우 국가법령정보센터·대법원 등 공식 출처로 한정해 확인한다.
|
||||
- sub-agent에는 정해진 검증표와 대상 파일을 주고 finding·locator·개선문안만 반환하도록 한다.
|
||||
|
||||
## Validation Plan
|
||||
|
||||
- 평가보고서 finding 전수 추적표: ACCEPTED / MODIFIED / REJECTED 및 v3 locator.
|
||||
- change 2의 C25/C27/C28/C29, S2_30/S2_40 경계와 5-task DAG 보존 확인.
|
||||
- 사해행위취소 M-3 4종 및 지정 10개 자산 provenance/이관 경계 확인.
|
||||
- 구 YAML runtime dependency 문자열·경로 0 확인.
|
||||
- Markdown fence, heading, UTF-8, internal identifier, IO conservation, hash 검증.
|
||||
- 독립 sub-agent 검증 2회와 각 회차 후 incremental revision.
|
||||
|
||||
## Approval Boundaries
|
||||
|
||||
- 로컬 문서 생성·수정과 비파괴 검증만 수행한다.
|
||||
- 외부 배포·모델 실행·DB 변경·production 구현은 하지 않는다.
|
||||
|
||||
## Progress
|
||||
|
||||
- [x] MEMORY·AGENTS·필수 workflow 규칙 확인
|
||||
- [x] 입력 문서 및 자산 inventory 완료
|
||||
- [x] v3 초안 작성
|
||||
- [x] round 1 검증·수정
|
||||
- [x] round 2 검증·수정
|
||||
- [x] 최종 검증·MEMORY 갱신
|
||||
|
||||
## Decision Log
|
||||
|
||||
| Date/Stage | Decision | Basis | Consequence |
|
||||
|---|---|---|---|
|
||||
| 2026-08-28 / intake | 기존 5-task orchestration을 기본 골격으로 유지 | v2-1 및 change 2의 token economy·책임 경계 | 신규 기능은 S2_20 내부 deterministic substeps 중심으로 배치 |
|
||||
| 2026-08-28 / intake | legacy YAML과 사용자 지정 10개 자산을 구분 | 전자는 dependency 0, 후자는 M-3 해결에 반드시 활용하라는 명시 | 10개 자산의 유효 규칙만 신규 canonical profile로 재작성하고 runtime 직접 load 금지 |
|
||||
| 2026-08-28 / draft | change 1/2 기능을 새 top-level task 없이 C25·C27~C29로 흡수 | 5-task 단순성·cache economy와 exact-filter 원칙 | 사건종류 판정 후 rule/RAG 선택, S2_30에서 권한 분리 |
|
||||
| 2026-08-28 / draft | M-3의 네 특칙을 E-13·CE-01·CE-03·CE-10·R06 공동 계약으로 둠 | 민법 제406조 및 대법원 공식 판례, 10개 자산 전수 감사 | 기존 자산의 부분 규칙은 provenance를 붙여 정규화하고 고정 이율·2항 cap·legacy path 폐기 |
|
||||
| 2026-08-28 / draft | S2_40의 제한적 LLM 검토를 mandatory third call로 채택하지 않음 | LLM 2회 경계·결정론적 final commit·변호사 최종 판단 | 의미 검토는 S2_10/S2_30 contract, fixture, 인간 검토로 분리 |
|
||||
| 2026-08-28 / round 1 | 독립 검증의 13개 finding을 전부 증분 반영 | MAJOR 3, MINOR 10; 검증자 요약의 MINOR 수 오기는 finding 표를 기준으로 정규화 | 기술상태 집계, 137종 gate, retrieval 재현성, cache breakpoint, 법정수치 ID, schema·fixture·receipt 계약을 강화 |
|
||||
| 2026-08-28 / round 2 | 최종 독립 검증의 8개 finding을 전부 증분 반영 | MAJOR 2, MINOR 6; 현행 대부업법과 실제 Stage 1 schema 재검증 | canonical release manifest 3종, lender 4상태·계약효력 branch, single-writer status, provenance/injection, 공유물분할 authority, cache byte 계약을 보강 |
|
||||
|
||||
## Evidence Ledger
|
||||
|
||||
| Claim/Issue | Source or Test | Status | Notes |
|
||||
|---|---|---|---|
|
||||
| v2-1 평가 finding | `eval_stage_2_optimal_update_strategy_v.2-1.md` §3 | VERIFIED | M-1~M-5 및 m-1~m-13을 v3 §3~§16에 추적 |
|
||||
| change 2 workflow | `v.2-1_workflow_change_2.md` | VERIFIED | C25→C27→C28→C29→S2_30→S2_40 |
|
||||
| 사해행위취소 10개 자산 | 지정 폴더 inventory와 독립 asset audit | VERIFIED | 10종 모두 migration source; 네 특칙은 기존 자산만으로 불완전 |
|
||||
| M-3 공식 법리 | 민법 제406조, 대법원 2004다21923·2018다203715·2023다240311 | VERIFIED | 피고·기간·의무발생·cap/담보 법리 확인; 이율값은 law-value로 versioning |
|
||||
| round 1 독립 검증 | `Case_02_Comparison_Research/evals/stage2_v3/round_1.md` | CLOSED | 13건 전부 APPLIED; 수정본 SHA-256 `978ff886...` |
|
||||
| round 2 독립 검증 | `Case_02_Comparison_Research/evals/stage2_v3/round_2.md` | CLOSED | 8건 전부 APPLIED; 최종 전략 SHA-256 `fd2b39fb...` |
|
||||
| clean-slate dependency 0 | v3 exact text search | VERIFIED | 구 `v.0~v.3`은 §1.2 금지선언 1건만 존재; runtime import edge 0 |
|
||||
| 최종 문서 구조 | UTF-8, fence/UML/task/asset count, `git diff --check` | VERIFIED | fence 46; UML 1:1, if 2:2, fork 계열 2:2:2; 지정 자산 10종 각 1회 |
|
||||
|
||||
## Risks and Failure Modes
|
||||
|
||||
- 평가 finding 일부를 문장으로만 수용하고 executable contract·test oracle로 연결하지 못할 위험.
|
||||
- legacy 자산을 그대로 runtime dependency로 만들어 global constraint를 위반할 위험.
|
||||
- Weaviate 검색자료를 사건 사실·증거 또는 controlling authority로 오인할 위험.
|
||||
- 사해행위취소 특칙의 법정이율·기산일·피고적격·기간·cap을 서로 다른 모듈에 중복·불일치시킬 위험.
|
||||
- 정적 전략서를 구현·배포 완료로 과장할 위험.
|
||||
|
||||
## Results and Residual Uncertainty
|
||||
|
||||
`stage_2_optimal_update_strategy_v.3.md`를 1,201행/78,312 bytes, SHA-256 `fd2b39fbdf51e3f7123bcb377a1bb1f0a11549861bab93dc1aa1ea0213073347`로 확정했다. 독립 검증 2회에서 Round 1의 13건과 Round 2의 8건을 전부 증분 반영했고 회차별 receipt를 `evals/stage2_v3/`에 보존했다. 남은 불확실성은 설계 결함이 아니라 실제 YAML/Python/manifest/corpus 구현, live Stage 1→2 E2E·cache telemetry 및 137종 법률가 sign-off가 아직 수행되지 않았다는 구현·검증 경계다.
|
||||
Reference in New Issue
Block a user