사람 승인 게이트를 명시화

This commit is contained in:
Yun Chan 2026-08-29 23:59:29 +09:00
parent 707dba4f8f
commit 3a7b6f7760
5 changed files with 133 additions and 3 deletions

View file

@ -491,7 +491,12 @@ BEGIN
AND qualified THEN
RETURN NEW;
END IF;
IF NEW.decision NOT IN ('reject', expected_decision)
-- reject와 keep_quarantine는 부작용 없이 감사 이벤트만 남기는 fail-closed 선택이다.
-- 카탈로그·승격·롤백 효과를 만드는 긍정 결정만 계산된 게이트와 일치해야 한다.
IF NEW.decision IN ('reject', 'keep_quarantine') THEN
RETURN NEW;
END IF;
IF NEW.decision <> expected_decision
OR (NEW.decision = expected_decision AND NOT qualified) THEN
RAISE EXCEPTION 'human decision cannot bypass computed fail-closed gate' USING ERRCODE = '23514';
END IF;