All checks were successful
CI/CD / go-lint (push) Has been skipped
CI/CD / python-lint (push) Has been skipped
CI/CD / nodejs-lint (push) Has been skipped
CI/CD / test-go-ai-compliance (push) Successful in 33s
CI/CD / test-python-backend-compliance (push) Successful in 35s
CI/CD / test-python-document-crawler (push) Successful in 30s
CI/CD / test-python-dsms-gateway (push) Successful in 20s
CI/CD / validate-canonical-controls (push) Successful in 13s
CI/CD / Deploy (push) Successful in 3s
Neue Endpunkte POST /obligations/dedup und GET /obligations/dedup-stats. Pro candidate_id wird der aelteste Eintrag behalten, alle weiteren erhalten release_state='duplicate' mit merged_into_id + quality_flags fuer Traceability. Detail-View filtert Duplikate aus. MKDocs aktualisiert. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
12 lines
530 B
SQL
12 lines
530 B
SQL
-- Migration 081: Add 'duplicate' release_state for obligation deduplication
|
|
--
|
|
-- Allows marking duplicate obligation_candidates as 'duplicate' instead of
|
|
-- deleting them, preserving traceability via merged_into_id.
|
|
|
|
ALTER TABLE obligation_candidates
|
|
DROP CONSTRAINT IF EXISTS obligation_candidates_release_state_check;
|
|
|
|
ALTER TABLE obligation_candidates
|
|
ADD CONSTRAINT obligation_candidates_release_state_check
|
|
CHECK (release_state IN ('extracted', 'validated', 'rejected', 'composed', 'merged', 'duplicate'));
|