사람 승인 게이트를 명시화

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

@ -590,6 +590,31 @@ class ContinuousImprovementBoundaryTests(unittest.TestCase):
self.assertIn("executor_receipt_id", schema)
self.assertIn("executor_evidence_refs", schema)
def test_schema_keeps_reject_and_quarantine_fail_closed_for_every_target(self) -> None:
schema_path = (
Path(__file__).resolve().parents[3]
/ "infra"
/ "db"
/ "init"
/ "14_continuous_improvement.sql"
)
schema = schema_path.read_text(encoding="utf-8")
self.assertIn(
"IF NEW.decision IN ('reject', 'keep_quarantine') THEN",
schema,
)
self.assertIn("IF NEW.decision <> expected_decision", schema)
smoke = (
Path(__file__).resolve().parents[3]
/ "scripts"
/ "smoke-continuous-improvement-ledger.sql"
).read_text(encoding="utf-8")
self.assertIn("'content_qualification'", smoke)
self.assertIn("'keep_quarantine'", smoke)
self.assertIn("'release_gate'", smoke)
self.assertIn("'reject'", smoke)
self.assertIn("fail-closed human decision created a side effect", smoke)
def test_admin_projection_rejects_raw_transcript_claim(self) -> None:
payload = {
"content_qualifications": [],