-- 347_legal_meta_table.sql -- 안전 자료실 A-1 (8/12) — 법령 문서 1건(=1버전 또는 1부속문서)당 1행. documents 1:0..1 위성, 최소형. -- plan: safety-library-1 0-2. supersedes 체인 컬럼은 미포함 (개정 이벤트 10건 관찰 후 승격). -- version_key: KR primary = MST / annex = 'MST|별표N' 합성 (같은 MST 별표 다건 UNIQUE 충돌 회피) -- / interpretation = 소스 native id. dedup 키도 이 합성형 그대로 (R3-M4 silent skip 차단). -- version_status 운영 계약 (B-1 PR② 일일 잡이 유일한 전이 지점, R2-B2·R3-M3): -- 전 버전 pending 적재 → 잡이 KST 기준 시행일 도래분 current 승격 + 직전 current 를 superseded -- + 구버전 청크 in_corpus=false 를 한 트랜잭션 처리. repeal 도 잡 경유. -- 입법예고 등 신호류 문서는 legal_meta 없음 (legal_meta 존재 = 법령 본문). CREATE TABLE IF NOT EXISTS legal_meta ( document_id BIGINT PRIMARY KEY REFERENCES documents(id) ON DELETE CASCADE, family_id TEXT NOT NULL REFERENCES legal_acts(family_id), law_doc_kind TEXT NOT NULL DEFAULT 'primary' CHECK (law_doc_kind IN ('primary', 'annex', 'interpretation')), version_key TEXT NOT NULL, promulgation_date DATE, effective_date DATE, version_status TEXT NOT NULL DEFAULT 'pending' CHECK (version_status IN ('pending', 'current', 'superseded', 'repealed')), created_at TIMESTAMPTZ NOT NULL DEFAULT now(), CONSTRAINT uq_legal_meta_version UNIQUE (family_id, law_doc_kind, version_key) );