Files
hyungi_document_server/migrations/153_analyze_events_shadow.sql
T
Hyungi Ahn 301867d0ee feat(db): migration 153 — analyze_events shadow 컬럼
ALTER TABLE analyze_events ADD COLUMN IF NOT EXISTS 로 10개 shadow 컬럼:
subject_domain, risk_flags[], high_impact_task, escalated_to_26b,
escalation_reasons[], confidence, policy_violation, policy_violation_ids[],
shadow_would_route_to, policy_version.

+ 2 partial index:
- idx_analyze_events_shadow_ts (shadow_would_route_to IS NOT NULL)
- idx_analyze_events_policy_violation (policy_violation=true)

전부 nullable, 기본값 NULL. 아무도 쓰지 않음 — PR-B 의 DBShadowLogger 가
writer 추가 예정.

번호 153: 152 는 `feat(category): law` 가 점유 (e88640d).

BEGIN/COMMIT 없음 (CLAUDE.md: _run_migrations 단일 outer 트랜잭션).

answerability / new_facts_count 는 PR-B 의 migration 154+ 가 소유.

plan: ~/.claude/plans/wise-gliding-hippo.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 09:34:49 +09:00

30 lines
1.3 KiB
SQL

-- 153_analyze_events_shadow.sql
-- AI Policy Layer (PR-A) — shadow 관측용 컬럼만 추가. 아무도 쓰지 않음.
-- PR-B 가 DBShadowLogger 구현 후 writer 추가 예정.
--
-- plan: ~/.claude/plans/wise-gliding-hippo.md
-- axis 원칙: feedback_category_vs_ai_domain_axis.md (subject_domain 은 정책 축,
-- documents.category 매칭 키로 쓰지 않음)
--
-- 주의: _run_migrations 는 단일 outer 트랜잭션으로 실행됨 — BEGIN/COMMIT 금지.
ALTER TABLE analyze_events
ADD COLUMN IF NOT EXISTS subject_domain TEXT,
ADD COLUMN IF NOT EXISTS risk_flags TEXT[],
ADD COLUMN IF NOT EXISTS high_impact_task BOOLEAN,
ADD COLUMN IF NOT EXISTS escalated_to_26b BOOLEAN,
ADD COLUMN IF NOT EXISTS escalation_reasons TEXT[],
ADD COLUMN IF NOT EXISTS confidence REAL,
ADD COLUMN IF NOT EXISTS policy_violation BOOLEAN,
ADD COLUMN IF NOT EXISTS policy_violation_ids TEXT[],
ADD COLUMN IF NOT EXISTS shadow_would_route_to TEXT,
ADD COLUMN IF NOT EXISTS policy_version TEXT;
CREATE INDEX IF NOT EXISTS idx_analyze_events_shadow_ts
ON analyze_events (created_at)
WHERE shadow_would_route_to IS NOT NULL;
CREATE INDEX IF NOT EXISTS idx_analyze_events_policy_violation
ON analyze_events (created_at)
WHERE policy_violation = true;