From decd3280bc3ef65fb6db24032d012a088523799c Mon Sep 17 00:00:00 2001 From: jhogyu Date: Sat, 29 Aug 2026 23:42:51 +0900 Subject: [PATCH] docs(stage2): add S2_00 asset inventory --- .../YAML_Prompts/2. Stage_2/S2_00_assets.md | 379 ++++++++++++++++++ 1 file changed, 379 insertions(+) create mode 100644 Case_02_Comparison_Research/YAML_Prompts/2. Stage_2/S2_00_assets.md diff --git a/Case_02_Comparison_Research/YAML_Prompts/2. Stage_2/S2_00_assets.md b/Case_02_Comparison_Research/YAML_Prompts/2. Stage_2/S2_00_assets.md new file mode 100644 index 00000000..ea98b147 --- /dev/null +++ b/Case_02_Comparison_Research/YAML_Prompts/2. Stage_2/S2_00_assets.md @@ -0,0 +1,379 @@ +# S2_00 고정 자산·계약·source inventory + +> 기준 문서: `S_00_SOW.md` 978행, SHA-256 `a1a20207480d63ee90d61f83fa88848d1936f318d0ce8ab8f5b34b5cf1ca11c4` +> +> 기준일: 2026-08-29 (Asia/Seoul) +> +> 문서 목적: S2_00을 구현·시험·배포·실행할 때 필요한 고정 파일과 고정 locator를 누락 없이 구분한다. + +## 0. 판독 기준 + +요청문에 적힌 `S2_00_SOW.md`는 현재 존재하지 않는다. 이 문서는 실제 정본인 `S_00_SOW.md`를 기준으로 작성했다. + +```text +P = Case_02_Comparison_Research/ +M = P/YAML_Prompts/2. Stage_2/ +R = P/Default_Agent/Stage_2_Clean/ +U = / +D = /Default_Agent/ +O = P/stage2_runs// +``` + +2026-08-29 현재 `R`은 존재하지 않는다. 따라서 아래 `R/...` 항목은 기존 구현 완료 파일이 아니라 **신규 생성 또는 공유 자산 개정 대상**이다. + +이 문서에서 구분하는 물리 성격은 다음과 같다. + +| 성격 | 의미 | +|---|---| +| `EXACT-OWNED` | S2_00이 직접 소유하는 고정 파일 | +| `EXACT-SHARED` | 다른 task/release owner가 소유하지만 S2_00 때문에 생성·개정해야 하는 고정 파일 | +| `FIXED-RELEASE` | 사건과 무관하게 미리 작성되며, release가 활성 subset의 exact path/hash를 봉인하는 파일 | +| `FIXED-FAMILY` | 파일명 개수는 release에 따라 달라지지만 각 물리 파일은 실행 전에 생성·검수·봉인되는 family | +| `UPSTREAM-DEPLOYMENT` | Stage 1 배포본의 read-only 고정 계약 파일 | +| `RUNTIME-LOCATOR` | 경로·producer 계약은 고정이나 내용은 사건마다 Stage 1이 생성하는 입력 파일 | +| `CONDITIONAL` | 기본 배포에는 없고 명시된 조건에서만 release가 exact path/hash를 제공하는 파일 | + +### 0.1 수량 요약 + +| 범주 | exact file | family | 비고 | +|---|---:|---:|---| +| S2_00 직접 소유 core | 4 | 0 | workflow 1, runtime 1, schema 2 | +| S2_00 명명 test source | 6 | 0 | 시험축은 6개 고정; 파일 통합 시 manifest와 이 inventory를 함께 개정 | +| S2_00 fixture | 0 | 2 | case fixture와 mutation fixture | +| 공유 계약·loader·handoff | 10 | 0 | SOW §2.2의 10개 exact file | +| S2_10 direct bundle 전체 planned catalog | 49 | 1 | P00/P10 2, profile 45, authority registry/release 2, capture family 1; 사건별로는 active subset만 결속 | +| authority closure 조건부 law-value | 2 | 0 | authority release가 참조할 때만 exact closure에 포함; bundle 전체-row 복제 금지 | +| 후단 availability manifest | 2 | 0 | S2_00은 내용 ingest 없이 digest/availability만 확인 | +| Stage 1 배포 계약 현행 closure | 55 | 0 | anchor 3 + domain config 26 + platform schema 9 + signal-support schema 17 | +| Stage 1 사건별 입력 | 16 | 1 | direct allowlist 16 + signal payload family; optional JSON Pointer 2개는 파일 아님 | +| 조건부 relocation 계약 | 0 | 1 | 기본 배포에는 요구하지 않음 | + +서로 성격이 다른 범주를 합산한 단일 “총 파일 수”는 사용하지 않는다. 특히 runtime input과 run output은 신규 S2_00 고정 자산 수에 포함하지 않는다. + +## 1. S2_00 전담 생성 파일 + +### 1.1 core 4개 + +| 번호 | 파일·배포 위치 | 성격 | brief 역할 | 조치 | +|---:|---|---|---|---| +| 1 | `R/workflows/S2_00_stage1_ingress_normalize_and_bundle_compile.yml` | `EXACT-OWNED` | `C00 → C05 → C10 → C15` 순서, IO, release binding, retry, route, 금지조건을 선언하는 NON-LLM workflow | 신규 생성 | +| 2 | `R/runtime/s2_00_ingress.py` | `EXACT-OWNED` | exact ingress, bounded snapshot, 보존검사, context/crosswalk, cluster/slice/bundle 및 whole-tree atomic publish를 수행하는 단일 fixed Python | 신규 생성 | +| 3 | `R/schemas/ingress.schema.json` | `EXACT-OWNED` | source contract row, input manifest, intake, conservation, review receipt, diagnostic, route barrier와 run binding을 검증 | 신규 생성 | +| 4 | `R/schemas/context.schema.json` | `EXACT-OWNED` | case/evidence/object/party-title/slot context, occurrence ID, cluster, slice와 bundle plan을 검증 | 신규 생성 | + +### 1.2 명명된 test source 6개 + +| 번호 | 파일·배포 위치 | 성격 | brief 역할 | 조치 | +|---:|---|---|---|---| +| 5 | `R/tests/s2_00/test_resolver_source_lock.py` | `EXACT-OWNED` | allowlist path, root containment, one-read snapshot, strict parser와 source lock 시험 | 신규 생성 | +| 6 | `R/tests/s2_00/test_schema_hash_and_signals.py` | `EXACT-OWNED` | schema/hash, signal file·record 이중 보존식, routing/signal dual SG-01 시험 | 신규 생성 | +| 7 | `R/tests/s2_00/test_conservation.py` | `EXACT-OWNED` | BO·Fact Ledger·LES·evidence·event·signal·review multiset과 join 보존 시험 | 신규 생성 | +| 8 | `R/tests/s2_00/test_canonical_ids.py` | `EXACT-OWNED` | Stage 1 ID 보존, party/object occurrence ID, review ID, Unicode와 collision 시험 | 신규 생성 | +| 9 | `R/tests/s2_00/test_cluster_bundle_compile.py` | `EXACT-OWNED` | explicit-relation cluster, SCC/DAG, slice, cache prefix와 executable cohort 시험 | 신규 생성 | +| 10 | `R/tests/s2_00/test_failure_and_atomic_publish.py` | `EXACT-OWNED` | affected-scope route, retry/idempotence, TOCTOU와 whole-tree atomic rename 시험 | 신규 생성 | + +SOW는 여섯 **시험축**을 고정하면서 구현 시 test file 통합은 허용한다. 현재는 위 여섯 경로를 canonical default로 사용하며, 통합하려면 `module_manifest.json`, `regression_manifest.json`과 본 inventory를 동시에 개정해야 한다. + +### 1.3 fixture family + +| 파일·배포 위치 | 성격 | brief 역할 | exact set 결정 방식 | +|---|---|---|---| +| `R/tests/fixtures/cases/.json` | `FIXED-FAMILY` | 정상·경계 사건의 source locator, raw hash, expected artifact·issue·route·digest를 제공 | `regression_manifest.json`이 path/hash를 전수 봉인 | +| `R/tests/fixtures/mutations/.json` | `FIXED-FAMILY` | 단일 결함을 주입하여 invariant와 expected reason code를 검증 | `regression_manifest.json`이 path/hash를 전수 봉인 | + +## 2. 공유 계약·loader·handoff 고정 파일 10개 + +| 번호 | 파일·배포 위치 | 성격 | brief 역할 | owner·S2_00 경계 | +|---:|---|---|---|---| +| 1 | `R/manifest/module_manifest.json` | `EXACT-SHARED` | workflow/runtime/schema/test/profile의 path·hash·IO·owner row를 봉인 | release build owner; S2_00 row 추가 | +| 2 | `R/manifest/stage2_release.json` | `EXACT-SHARED` | Stage 1 dependency lock, module/authority/corpus/coverage digest, admission과 release evidence를 묶는 유일 release oracle | release operator | +| 3 | `R/release_ops/stage2_loader.py` | `EXACT-SHARED` | signed release·binding·workflow/runtime/schema hash와 workspace root를 검증한 뒤 fixed argv로 S2_00을 호출하는 유일 host trust boundary | loader owner; S2_00 직접 우회 호출 금지 | +| 4 | `R/deployment/stage2_loader_binding.yml` | `EXACT-SHARED` | `S2_00 → workflow → runtime` exact binding과 legacy fallback 0을 선언 | host loader owner | +| 5 | `R/schemas/deployment.schema.json` | `EXACT-SHARED` | workflow binding, source lock, release/admission row와 loader receipt를 검증 | deployment schema owner | +| 6 | `R/schemas/review_status.schema.json` | `EXACT-SHARED` | `issue_ledger.base`, review normalization, impact scope와 downstream action을 검증 | review schema owner | +| 7 | `R/registry/cache/prompt_cache_policy.yml` | `EXACT-SHARED` | PII-free static prefix, canonical hash, key, cache miss와 release-integrity failure를 구분 | cache policy owner | +| 8 | `R/tests/fixtures/regression_manifest.json` | `EXACT-SHARED` | case/mutation fixture의 exact path/hash/seed/expected digest를 봉인 | regression owner | +| 9 | `R/workflows/S2_10_domain_relief_resolution_map.yml` | `EXACT-SHARED` | `executable_cluster_ids[]`가 지정한 immutable slice/bundle만 소비하도록 handoff를 고정 | S2_10 owner; raw Stage 1 재탐색 금지 | +| 10 | `R/workflows/S2_40_final_review_render_and_commit.yml` | `EXACT-SHARED` | diagnostic branch에서 S2_00의 정확한 5개 artifact만 받는 status-only entry를 제공 | S2_40 owner; final status single writer | + +## 3. S2_10 bundle을 위해 S2_00이 검증할 고정 자산 + +S2_00은 아래 자산으로 법률판단을 수행하지 않는다. canary/production bundle의 static prefix와 active context subset을 선정하고 path/hash/PII/release closure만 검증한다. + +따라서 아래 49개는 물리적 planned catalog 수이지 사건별 bundle 수가 아니다. 사건별 closure는 `P00 + P10 + authority registry/release + N_active_profiles + N_selected_captures`이며, release가 선택하지 않은 profile·capture를 bundle에 넣지 않는다. + +### 3.1 static prompt·authority 4개와 capture family + +| 번호 | 파일·배포 위치 | 성격 | brief 역할 | S2_00 처리 | +|---:|---|---|---|---| +| 1 | `R/prompts/P00_system_and_safety_contract.md` | `FIXED-RELEASE` | 공통 role, source hierarchy, provenance, security와 금지규칙 static prefix | canonical hash·PII 검사 후 bundle ref만 작성 | +| 2 | `R/prompts/P10_legal_resolution_contract.md` | `FIXED-RELEASE` | S2_10 판단 순서, typed output contract와 self-check static prefix | canonical hash·PII 검사 후 bundle ref만 작성 | +| 3 | `R/registry/authority/authority_registry.yml` | `FIXED-RELEASE` | 승인된 proposition, temporal scope, official locator와 후속 취급의 정본 | active common-authority row만 선택·봉인 | +| 4 | `R/manifest/authority_release.json` | `FIXED-RELEASE` | authority registry, capture와 law-value dependency의 exact set/hash seal | signed release와 cross-hash 검사 | +| family | `R/authority/source_captures/.json` | `FIXED-FAMILY` | 공식 원문 locator, 원문/발췌 hash, 시행·선고일과 temporal metadata | authority release가 선정한 capture만 검증; glob 금지 | + +`P00` 또는 `P10`이 없는 단계에서는 사건 run을 executable로 표시하지 않고 `STRUCTURAL_FIXTURE`만 허용한다. + +다음 두 law-value 파일은 모든 사건 bundle에 일괄 삽입하는 자산이 아니다. `authority_release.json`이 해당 사건의 approved common-authority ref가 사용하는 token을 exact dependency로 열거할 때만 hash closure를 검증하고 필요한 row ref만 bundle에 결속한다. + +| 파일·배포 위치 | 성격 | brief 역할 | S2_00 처리 | +|---|---|---|---| +| `R/law_values/general_law_values.yml` | `CONDITIONAL` | 이율·기간·상한 등 output-affecting authority-bound token | authority release에 참조된 exact token/file hash만 검증; 전체 row ingest 금지 | +| `R/law_values/court_fee_values.yml` | `CONDITIONAL` | 소가·인지·송달비용의 시점별 authority-bound token | S2_10 static bundle이 참조할 때만 결속; 후단 전용이면 availability 범위에 머묾 | + +### 3.2 substantive profile 22개 + +| 번호 | 파일·배포 위치 | brief 역할 | +|---:|---|---| +| 1 | `R/registry/substantive/EC-00_contract_general.yml` | 계약 공통 성립·효력·이행·해제·손해배상 context | +| 2 | `R/registry/substantive/E-01_juristic_act_validity.yml` | 법률행위 무효·취소·추인·원상회복 context | +| 3 | `R/registry/substantive/E-02_contract_money_claim.yml` | 대금·대여금 등 계약상 금전채권 context | +| 4 | `R/registry/substantive/E-03_parties_liability_succession.yml` | 보증·연대·승계·상호속용 등 책임주체 context | +| 5 | `R/registry/substantive/E-04_unjust_enrichment.yml` | 부당이득 유형·법률상 원인·반환범위 context | +| 6 | `R/registry/substantive/E-05_tort_general.yml` | 일반 불법행위·인과관계·손해·과실상계 context | +| 7 | `R/registry/substantive/E-06_professional_liability.yml` | 전문직 위임·주의의무·손해 context | +| 8 | `R/registry/substantive/E-07_construction_defect.yml` | 공사대금·추가공사·하자·감액 context | +| 9 | `R/registry/substantive/E-08_lease_deposit.yml` | 임대차보증금·명도·공제·동시이행 context | +| 10 | `R/registry/substantive/E-09_registry_transfer_claims.yml` | 소유권이전·말소·회복·경정 등기 context | +| 11 | `R/registry/substantive/E-10_secured_registry.yml` | 근저당·전세권·담보권 등기·말소 context | +| 12 | `R/registry/substantive/E-11_possession_vindication.yml` | 인도·명도·방해배제·점유 context | +| 13 | `R/registry/substantive/E-12_co_ownership_boundary.yml` | 공유물분할·경계·지분 관계 context | +| 14 | `R/registry/substantive/E-13_creditor_preservation.yml` | 채권자대위·사해행위취소·보전 context | +| 15 | `R/registry/substantive/E-14_execution_linked_claims.yml` | 배당·청구이의·집행 관련 본안 context | +| 16 | `R/registry/substantive/E-15_succession_family_property.yml` | 상속·유류분·상속재산 귀속 context | +| 17 | `R/registry/substantive/E-16_negotiable_instruments.yml` | 어음·수표 권리·항변 context | +| 18 | `R/registry/substantive/E-17_labor_wage_claims.yml` | 임금·수당·퇴직금 context | +| 19 | `R/registry/substantive/E-18_org_resolution_status.yml` | 회사·조합 결의·지위·청산 context | +| 20 | `R/registry/substantive/E-19_insurance_claims.yml` | 보험금·면책·대위·중복보험 context | +| 21 | `R/registry/substantive/E-20_ip_claims.yml` | 지식재산 침해·금지·손해배상 context | +| 22 | `R/registry/substantive/E-21_media_personality_rights.yml` | 명예·인격권·보도 관련 구제 context | + +### 3.3 crosscut profile 5개 + +| 번호 | 파일·배포 위치 | brief 역할 | +|---:|---|---| +| 1 | `R/profiles/crosscut/E-00_residual_unrouted.yml` | 기존 profile로 routing되지 않는 이슈를 보존하고 review로 전달 | +| 2 | `R/profiles/crosscut/X1_notice_lifecycle.yml` | 최고·통지·해제·송달의 actor·도달·효과 lifecycle | +| 3 | `R/profiles/crosscut/X2_asset_identity_lineage.yml` | 목적물 동일성·변동·등기·점유 lineage | +| 4 | `R/profiles/crosscut/X3_procedure_standing_relief.yml` | 당사자적격·소의 이익·필수당사자·구제 적합성 | +| 5 | `R/profiles/crosscut/X4_response_admission_defense.yml` | 항변·재항변·불리한 사실·자백위험·선진술 | + +### 3.4 special-law profile 13개 + +| 번호 | 파일·배포 위치 | brief 역할 | +|---:|---|---| +| 1 | `R/profiles/special_law/SL-AUTO_motor_vehicle.yml` | 자동차손해 책임·보험·과실 context | +| 2 | `R/profiles/special_law/SL-INDUSTRIAL_ACCIDENT.yml` | 산업재해·보상·손해 조정 context | +| 3 | `R/profiles/special_law/SL-PRODUCT_LIABILITY.yml` | 제조물책임 요건·면책·손해 context | +| 4 | `R/profiles/special_law/SL-RESIDENTIAL_LEASE.yml` | 주택임대차 대항력·우선변제·승계 context | +| 5 | `R/profiles/special_law/SL-COMMERCIAL_LEASE.yml` | 상가임대차 대항력·갱신·권리금 context | +| 6 | `R/profiles/special_law/SL-LABOR.yml` | 노동관계 강행규정·지위·기간 context | +| 7 | `R/profiles/special_law/SL-STATE_LIABILITY.yml` | 국가배상 특별요건·공법경계·review trigger | +| 8 | `R/profiles/special_law/SL-IP-PATENT.yml` | 특허·실용신안 권리범위·침해·구제 context | +| 9 | `R/profiles/special_law/SL-IP-COPYRIGHT.yml` | 저작권·저작인격권 침해·구제 context | +| 10 | `R/profiles/special_law/SL-IP-OTHER.yml` | 상표·디자인·부정경쟁·영업비밀 context | +| 11 | `R/profiles/special_law/SL-MEDIA.yml` | 정정·반론·추후보도와 명예구제 context | +| 12 | `R/profiles/special_law/SL-TRANSPORT_MARITIME.yml` | 운송·해상 책임기간·면책·책임제한 context | +| 13 | `R/profiles/special_law/SL-CONSUMER_CONTRACT.yml` | 소비자성·거래방식·철회·무효·환급 context | + +### 3.5 ACTIO overlay 5개 + +| 번호 | 파일·배포 위치 | brief 역할 | +|---:|---|---| +| 1 | `R/profiles/overlays/ACTIO-MORTGAGE.yml` | 기존 담보부 목적물 양도·실채무·공동담보 overlay | +| 2 | `R/profiles/overlays/ACTIO-MORTGAGE-CREATION.yml` | 사해적 담보권 설정·배당 route overlay | +| 3 | `R/profiles/overlays/ACTIO-ENCUMBERED-TRANSFER.yml` | 부담부 소유권이전·가액배상 overlay | +| 4 | `R/profiles/overlays/ACTIO-PRESERVED-CLAIM-BUNDLE.yml` | 복수 피보전채권·이자·변제·담보부족 overlay | +| 5 | `R/profiles/overlays/ACTIO-DEFENSE-MAP.yml` | 충분담보·상계·수익자·전득자 선의·재항변 overlay | + +45개 profile은 모두 `FIXED-RELEASE`·`LLM-CONTEXT` 자산이다. S2_00은 전체를 사건 bundle에 넣지 않고 Stage 1 activation·release manifest가 지정한 active subset만 exact path/hash로 결속한다. + +### 3.6 후단 availability만 확인할 manifest 2개 + +| 파일·배포 위치 | 성격 | brief 역할 | S2_00 경계 | +|---|---|---|---| +| `R/manifest/case_type_coverage.json` | `EXACT-SHARED` | 137 row별 rule·renderer·corpus·profile·계산·review coverage와 sign-off | digest/availability만 확인; catalog·rule 본문 ingest 금지 | +| `R/manifest/corpus_release.json` | `EXACT-SHARED` | Weaviate collection/schema/snapshot/chunk/crosswalk의 exact set/hash seal | digest/availability만 확인; raw corpus ingest 금지 | + +## 4. Stage 1 배포 계약 source + +### 4.1 exact deployment file 3개 + +| 번호 | 파일·배포 위치 | 성격 | brief 역할 | 처리 | +|---:|---|---|---|---| +| 1 | `D/runtime_manifest.json` | `UPSTREAM-DEPLOYMENT` | Stage 1 배포 asset의 path/hash integrity closure | referenced closure만 read-only 검증; historical status를 사건 상태로 복사 금지 | +| 2 | `D/domains/_registry_index.json` | `UPSTREAM-DEPLOYMENT` | domain ID, config path와 config hash의 정본 index | expected/active set과 비교 | +| 3 | `D/signals/signal_registry.v2.json` | `UPSTREAM-DEPLOYMENT` | SG-01~SG-13 filename, schema와 consumer registry | signal manifest coverage와 비교 | + +### 4.2 현행 domain config closure 26개 + +아래는 현재 `_registry_index.json`이 열거하는 concrete path다. 모두 `UPSTREAM-DEPLOYMENT`이며, element/opposing/defense slot, calculation binding와 emitted signal 계약을 제공한다. + +| 번호 | 파일·배포 위치 | brief 역할 | +|---:|---|---| +| 1 | `D/domains/E-00/domain_config.json` | residual/unrouted domain slot·signal 계약 | +| 2 | `D/domains/E-01/domain_config.json` | 법률행위 유효성 domain 계약 | +| 3 | `D/domains/E-02/domain_config.json` | 계약상 금전채권 domain 계약 | +| 4 | `D/domains/E-03/domain_config.json` | 당사자 책임·승계 domain 계약 | +| 5 | `D/domains/E-04/domain_config.json` | 부당이득 domain 계약 | +| 6 | `D/domains/E-05/domain_config.json` | 일반 불법행위 domain 계약 | +| 7 | `D/domains/E-06/domain_config.json` | 전문직 책임 domain 계약 | +| 8 | `D/domains/E-07/domain_config.json` | 공사·하자 domain 계약 | +| 9 | `D/domains/E-08/domain_config.json` | 임대차·보증금 domain 계약 | +| 10 | `D/domains/E-09/domain_config.json` | 소유권·등기 domain 계약 | +| 11 | `D/domains/E-10/domain_config.json` | 담보·제한물권 등기 domain 계약 | +| 12 | `D/domains/E-11/domain_config.json` | 점유·인도·명도 domain 계약 | +| 13 | `D/domains/E-12/domain_config.json` | 공유·경계 domain 계약 | +| 14 | `D/domains/E-13/domain_config.json` | 채권자 보전·사해행위취소 domain 계약 | +| 15 | `D/domains/E-14/domain_config.json` | 집행 연계 domain 계약 | +| 16 | `D/domains/E-15/domain_config.json` | 상속·가족재산 domain 계약 | +| 17 | `D/domains/E-16/domain_config.json` | 어음·수표 domain 계약 | +| 18 | `D/domains/E-17/domain_config.json` | 임금·퇴직금 domain 계약 | +| 19 | `D/domains/E-18/domain_config.json` | 회사·조합 결의·지위 domain 계약 | +| 20 | `D/domains/E-19/domain_config.json` | 보험 domain 계약 | +| 21 | `D/domains/E-20/domain_config.json` | 지식재산 domain 계약 | +| 22 | `D/domains/E-21/domain_config.json` | 언론·인격권 domain 계약 | +| 23 | `D/domains/EC-00/domain_config.json` | 계약 공통 lifecycle domain 계약 | +| 24 | `D/domains/X1/domain_config.json` | 통지·최고 lifecycle crosscut 계약 | +| 25 | `D/domains/X2/domain_config.json` | 목적물 identity/lineage crosscut 계약 | +| 26 | `D/domains/X3/domain_config.json` | 절차·당사자적격·구제 crosscut 계약 | + +### 4.3 현행 platform schema closure 9개 + +| 번호 | 파일·배포 위치 | S2_00 관련성 | brief 역할 | +|---:|---|---|---| +| 1 | `D/platform/schemas/client_goal_domain_profiles.schema.json` | direct projection anchor | `client_goal.json` 중 domain-profile projection shape; 전체 client-goal schema로 오인 금지 | +| 2 | `D/platform/schemas/domain_fanout_plan.schema.json` | build/adapter evidence | activation 이후 domain fanout plan shape | +| 3 | `D/platform/schemas/domain_seed_output.schema.v3.json` | build/adapter evidence | domain별 seed output v3 shape | +| 4 | `D/platform/schemas/domain_slice.schema.v2.json` | build/adapter evidence | domain slice v2 shape와 source linkage | +| 5 | `D/platform/schemas/fact_exception_pack.schema.json` | review/adapter evidence | fact exception·review pack shape | +| 6 | `D/platform/schemas/fact_ledger_base.schema.json` | direct input anchor | `Fact_Ledger_base.json`의 typed fact·domain effect·calculation request shape | +| 7 | `D/platform/schemas/fact_ledger_candidate_bundle.schema.json` | build/adapter evidence | final ledger 전 candidate bundle shape | +| 8 | `D/platform/schemas/legal_effect_structures.schema.json` | direct input anchor | `legal_effect_structures.json`의 route·BO reverse index·calculation request shape | +| 9 | `D/platform/schemas/structure_seed_bundle.schema.json` | build/adapter evidence | LES 생성 전 structure-seed bundle shape | + +`build/adapter evidence` schema는 사건별 파일을 별도로 allowlist에 추가한다는 뜻이 아니다. direct input의 현행 producer lineage와 adapter를 검증하기 위한 배포 closure다. + +### 4.4 현행 signal-support schema closure 17개 + +| 번호 | 파일·배포 위치 | brief 역할 | +|---:|---|---| +| 1 | `D/signals/_common/evidence_slot_status.schema.json` | signal evidence-slot status 공통 enum·shape | +| 2 | `D/signals/_common/signal_item.schema.json` | SG record 공통 identity·source·detail shape | +| 3 | `D/signals/schemas/domain_activation_manifest.schema.json` | SG-01 activation compatibility payload shape | +| 4 | `D/signals/schemas/procedural_posture_relief_signals.schema.json` | SG-02 절차·구제 signal shape | +| 5 | `D/signals/schemas/party_capacity_standing_signals.schema.json` | SG-03 당사자능력·적격 signal shape | +| 6 | `D/signals/schemas/governing_law_version_signals.schema.json` | SG-04 준거법·법령버전 signal shape | +| 7 | `D/signals/schemas/legal_relation_lifecycle_signals.schema.json` | SG-05 법률관계 lifecycle signal shape | +| 8 | `D/signals/schemas/timeline_notice_condition_signals.schema.json` | SG-06 기한·최고·통지·조건 signal shape | +| 9 | `D/signals/schemas/asset_right_state_signals.schema.json` | SG-07 자산·권리상태 signal shape | +| 10 | `D/signals/schemas/liability_causation_damage_signals.schema.json` | SG-08 책임·인과관계·손해 signal shape | +| 11 | `D/signals/schemas/defense_exception_signals.schema.json` | SG-09 항변·예외 signal shape | +| 12 | `D/signals/schemas/evidence_proof_conflict_signals.schema.json` | SG-10 증거·증명·충돌 signal shape | +| 13 | `D/signals/schemas/calculation_requirements.schema.json` | SG-11 계산 필요사항 signal shape | +| 14 | `D/signals/schemas/remedy_enforcement_signals.schema.json` | SG-12 구제·집행 signal shape | +| 15 | `D/signals/schemas/legal_effect_routes.schema.json` | SG-13 법률효과 route signal shape | +| 16 | `D/signals/schemas/domain_signal_envelope.schema.v2.json` | active domain별 signal envelope v2 shape | +| 17 | `D/signals/schemas/signal_manifest.schema.json` | signal transaction, `files[]`, downstream read-set shape | + +§4.2~§4.4의 52개 path와 §4.1의 3개 anchor가 현행 55-file closure다. 이는 2026-08-29 snapshot의 명시적 inventory이며 영구적인 glob 계약이 아니다. Phase S00-0에서 `_registry_index.json`, `runtime_manifest.json`, `signal_registry.v2.json`이 지정하는 각 path/hash/schema ID를 `stage2_release.json` dependency lock에 다시 materialize한다. release에서 빠진 파일을 directory scan으로 보충하거나 `*.json` glob으로 읽어서는 안 된다. + +## 5. Stage 1 runtime input allowlist + +아래 파일은 S2_00이 새로 생성하는 고정 자산이 아니다. 다만 logical path와 producer contract가 고정되어 있으므로 구현 allowlist에 반드시 포함한다. + +| 번호 | logical 파일·위치 | 성격 | producer | brief 역할·처분 경계 | +|---:|---|---|---|---| +| 1 | `U/evidence_indexed.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 | evidence universe와 provenance; gap은 affected scope로 보존 | +| 2 | `U/evidence_event_candidates.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 | 이행기·최고·도달·해제·제공·거절 event 후보 | +| 3 | `U/client_goal.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 Task A | 의뢰인 목표·제약·당사자·회수정보; 부재를 청구권 부존재로 해석 금지 | +| 4 | `U/routing/domain_screening.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 | screening hash와 activation lineage anchor | +| 5 | `U/routing/domain_activation_manifest.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 D0 | canonical expected/active domain과 config refs | +| 6 | `U/quality_gates/B1_evidence_indexed_gate.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 | evidence-index gate와 assertion 제한 근거 | +| 7 | `U/quality_gates/B2_event_candidates_gate.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 | event-candidate gate와 assertion 제한 근거 | +| 8 | `U/quality_gates/stage1_part1_soft_gate_handoff.json` | `RUNTIME-LOCATOR` | Stage 1 Part 1 | flat seven-key digest guard와 review handoff | +| 9 | `U/BO.json` | `RUNTIME-LOCATOR` | Stage 1 Part 2 | BO identity backbone과 source occurrence | +| 10 | `U/signals/signal_manifest.json` | `RUNTIME-LOCATOR` | Stage 1 Part 2 | signal transaction, `files[]`와 Stage 2 `ALL` read-set 정본 | +| 11 | `U/quality_gates/stage1_part2_review_handoff.json` | `RUNTIME-LOCATOR` | Stage 1 Part 2 | flat review universe; 존재하지 않는 공통 count field 요구 금지 | +| 12 | `U/legal_effect_structures.json` | `RUNTIME-LOCATOR` | Stage 1 Part 3 | LES domain/type/route, BO reverse index와 calculation request | +| 13 | `U/quality_gates/stage1_part3_review_handoff.json` | `RUNTIME-LOCATOR` | Stage 1 Part 3 | wrapper-aware LES review handoff | +| 14 | `U/Fact_Ledger_base.json` | `RUNTIME-LOCATOR` | Stage 1 Part 4 | `fact_id`·`source_bo_id` anchor; current-v8 row의 `domain_effects`·`calculation_requests` 필수 | +| 15 | `U/stage1_tmp/fact_ledger/fact_ledger_writer_report.json` | `RUNTIME-LOCATOR` | Stage 1 Part 4 | ledger hash, conservation, gate firing와 calculation readiness receipt | +| 16 | `U/quality_gates/stage1_part4_review_handoff.json` | `RUNTIME-LOCATOR` | Stage 1 Part 4 | wrapper-aware final review handoff | +| family | `U/signals/` | `RUNTIME-LOCATOR` | Stage 1 Part 2 signal compiler | manifest가 열거한 canonical/domain/compatibility payload; `U/signals/` prefix를 붙여 읽음 | + +signal family에는 `U/signals/domain_activation_manifest.json` SG-01이 포함된다. 이는 `U/routing/domain_activation_manifest.json`과 raw-byte 동일 파일이 아니므로 각각의 raw hash를 보존하고 승인된 semantic projection만 비교한다. + +다음 둘은 별도 파일이 아니라 `client_goal.json` 내부 optional field다. + +| JSON Pointer | brief 역할 | 금지사항 | +|---|---|---| +| `U/client_goal.json#/defendant_target_matrix` | 피고별 제소 유지·제외 의사와 현재 회수위험을 분리 | `defendant_target_matrix.json` 생성·탐색 금지 | +| `U/client_goal.json#/parties/defendants/*/asset_status` | 피고별 현재 재산·집행 관련 사실을 보존 | `asset_status.json` 생성·탐색 금지 | + +## 6. 조건부 relocation 계약 + +| 파일·ref | 성격 | brief 역할 | 사용 조건 | +|---|---|---|---| +| `stage2_release.json#/dependency_locks/stage1/contract_manifest_ref → /stage1_contract_manifest.json` | `CONDITIONAL` | 승인된 logical input의 logical→physical path·schema·producer·raw hash mapping | 기본 exact path와 다른 배포에서만 release operator가 제공 | + +이 파일은 Stage 1 제5 production task의 산출물이 아니며 기본 run input도 아니다. 새 logical artifact kind를 추가하거나 directory scan·basename fallback을 허용할 수 없다. + +## 7. 별도 파일 경로가 아직 닫히지 않은 고정 계약 + +아래 항목은 SOW가 구현 전에 고정하도록 요구하지만 독립 physical file을 새로 만들라고 지시하지 않는다. 기존 named file의 row·`$defs`·runtime adapter로 귀속해야 하며, 별도 파일이 필요하면 먼저 SOW와 inventory를 개정한다. + +| 계약 | 우선 귀속할 기존 파일 | brief 역할·미결사항 | +|---|---|---| +| `ALL` expansion·dual SG-01 projection rule | `ingress.schema.json`, `s2_00_ingress.py`, `stage2_release.json` | exact field set과 adapter version을 Phase S00-0에서 봉인 | +| P1~P4 review normalization mapping | `review_status.schema.json`, `s2_00_ingress.py` | source status→normalized status의 closed mapping과 `UNMAPPED` 처리 | +| BO/evidence/event producer adapter | `ingress.schema.json`, `s2_00_ingress.py` | accepted wrapper/shape와 schema gap을 versioned adapter로 고정 | +| domain config v1/v2 adapter | `ingress.schema.json`, `context.schema.json`, `s2_00_ingress.py` | undeclared slot과 config-version 처리 | +| Fact Ledger current-v8/legacy 경계 | `ingress.schema.json`, `s2_00_ingress.py` | current-v8 두 확장키는 필수; legacy는 별도 adapter가 있을 때만 지원 | +| `retry_policy_id` closed policy | S2_00 workflow row와 `stage2_release.json` | 허용 횟수·backoff·retryable code의 canonical owner/JSON Pointer 확정 필요 | +| approved producer-alias table | `module_manifest.json` 또는 `stage2_release.json` | schema writer const와 orchestration producer label의 signed closed mapping 필요 | +| canary/production signed admission | `stage2_release.json#/release_evidence[]` | release class·scope·signer·input digest를 봉인 | +| host invocation syntax·receipt | `stage2_loader.py`, `stage2_loader_binding.yml`, `deployment.schema.json` | AgentBackend가 loader만 호출한다는 integration evidence 필요 | +| Stage 1 completion/snapshot seal ref | `stage2_release.json` dependency lock와 `ingress.schema.json` | one-read snapshot 전후 비교에 사용할 exact producer/path 결정 필요 | + +## 8. 설계·감사용 고정 provenance + +아래 파일은 S2_00 계약의 근거를 확인하거나 구현을 감사할 때 사용한다. 배포 runtime이 import·실행·prompt/context로 소비하는 의존성은 아니다. + +| 파일·위치 | brief 역할 | runtime 경계 | +|---|---|---| +| `M/S_00_SOW.md` | S2_00 범위·IO·불변식·처분·시험의 직접 작업명세 | build/audit only; runtime read 금지 | +| `M/stage_2_optimal_update_strategy_v.4.md` | Stage 2 전체 DAG와 S2_00의 상·하류 경계 | design only | +| `M/stage_2_optimal_update_strategy_v.4_workflow.svg` | v.4 UML workflow의 사람이 읽는 시각화 | documentation only | +| `M/assets_for_stage_2_v.4.md` | 전체 Stage 2 자산/source 계획과 소유권 위치 | planning/audit only | +| `P/YAML_Prompts/1. Stage_1/v.8/stage_1_part_1_v.8.yml` | Part 1 producer·logical path·handoff 계약 조사 근거 | runtime prompt/context로 사용 금지 | +| `P/YAML_Prompts/1. Stage_1/v.8/stage_1_part_2_v.8.yml` | Part 2 BO·signal producer 계약 조사 근거 | runtime prompt/context로 사용 금지 | +| `P/YAML_Prompts/1. Stage_1/v.8/stage_1_part_3_v.8.yml` | Part 3 LES producer·wrapper 계약 조사 근거 | runtime prompt/context로 사용 금지 | +| `P/YAML_Prompts/1. Stage_1/v.8/stage_1_part_4_v.8.yml` | Part 4 Fact Ledger·writer receipt 계약 조사 근거 | runtime prompt/context로 사용 금지 | +| `P/YAML_Prompts/1. Stage_1/v.7/extension_research/Default_Agent/signals/compiler/signal_compiler.py` | `ALL`, SG-01, payload path와 manifest 보존식의 구현 조사 근거 | 신규 Stage 2 runtime이 import·호출 금지 | + +## 9. 고정 자산 목록에서 제외할 항목 + +| 제외 대상 | 이유 | +|---|---| +| `O/ingress/*.json`, `O/context/*.json`, `O/review/issue_ledger.base.json` | 사건별 S2_00 run output이며 고정 배포 파일이 아님 | +| `O/context/cluster_slices/.json` | 사건별 cluster 수에 따라 생기는 동적 output family | +| `P/stage2_runs/.staging/./` | publish 전 transient staging tree | +| `O/control/run_status.json` | S2_40이 단독 작성하는 사건별 상태 파일 | +| `R/prompts/P30_joint_drafting_contract.md` | S2_30 전용 prompt이며 S2_00 bundle 직접 의존이 아님 | +| `R/rules/relief/.md`, raw corpus 전체 | S2_20/S2_30 후단 자산; S2_00이 직접 ingest하거나 bundle에 복제하는 것이 금지됨 | +| calculation·renderer·relief-rule 본문 | S2_00은 `stage2_release`를 통한 downstream availability만 확인 | +| §8의 Stage 1 v.8 Part 1~4 YAML 본문 | producer/path/shape 조사용 design provenance이며 사건 runtime context가 아님 | +| §8의 Stage 1 signal compiler source | `ALL`·SG-01 계약 감사용 provenance이며 신규 runtime이 import·실행하지 않음 | +| 구 Stage 2 v.0~v.3 YAML·prompt·loader·중간산출물 | runtime dependency와 fallback이 명시적으로 금지됨 | + +## 10. 생성·결속 순서 + +1. §1 core schema와 fixture golden shape를 먼저 작성한다. +2. §4~§6의 Stage 1 exact producer/path/schema contract를 실측하고 §7의 미결 계약을 기존 named file에 귀속한다. +3. `s2_00_ingress.py`와 test 6축을 구현한다. +4. S2_00 workflow, loader binding, module/release manifest와 regression manifest를 exact hash로 결속한다. +5. P00/P10·active profile·authority closure가 있는 signed canary에서만 executable bundle handoff를 시험한다. +6. S2_10 immutable-slice handoff와 S2_40 diagnostic 5-input handoff를 각각 검증한다. + +이 순서가 끝나기 전에는 파일이 directory에 존재한다는 사실만으로 S2_00을 implementation-complete, executable 또는 production-ready라고 선언하지 않는다.