All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 34s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 23s
CI / test-python-dsms-gateway (push) Successful in 18s
Part 1 — RAG Corpus Versioning: - New DB table compliance_corpus_versions (migration 017) - Go CorpusVersionStore with CRUD operations - Assessment struct extended with corpus_version_id - API endpoints: GET /rag/corpus-status, /rag/corpus-versions/:collection - RAG routes (search, regulations) now registered in main.go - Ingestion script registers corpus versions after each run - Frontend staleness badge in SDK sidebar Part 3 — Source Policy Backend: - New FastAPI router with CRUD for allowed sources, PII rules, operations matrix, audit trail, stats, and compliance report - SQLAlchemy models for all source policy tables (migration 001) - Frontend API base corrected from edu-search:8088/8089 to backend-compliance:8002/api Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
36 lines
1.6 KiB
SQL
36 lines
1.6 KiB
SQL
-- =============================================================================
|
|
-- Migration 017: RAG Corpus Versioning
|
|
--
|
|
-- Tracks versions of the RAG corpus so assessments can record which
|
|
-- corpus version they were evaluated against. Enables staleness detection
|
|
-- and re-evaluation recommendations.
|
|
-- =============================================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS compliance_corpus_versions (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
version VARCHAR(50) NOT NULL, -- "2026-03-02.1"
|
|
collection_name VARCHAR(100) NOT NULL, -- "bp_compliance_ce"
|
|
documents_count INT NOT NULL DEFAULT 0,
|
|
chunks_count INT NOT NULL DEFAULT 0,
|
|
regulations TEXT[], -- {"eu_2016_679", "eu_2024_1689"}
|
|
digest VARCHAR(128), -- SHA256 over all chunks
|
|
ingestion_source VARCHAR(200), -- "ingest-legal-corpus.sh"
|
|
notes TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
created_by VARCHAR(100)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_corpus_versions_collection
|
|
ON compliance_corpus_versions(collection_name);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_corpus_versions_latest
|
|
ON compliance_corpus_versions(collection_name, created_at DESC);
|
|
|
|
-- Add corpus_version_id to ucca_assessments
|
|
ALTER TABLE ucca_assessments
|
|
ADD COLUMN IF NOT EXISTS corpus_version_id UUID REFERENCES compliance_corpus_versions(id),
|
|
ADD COLUMN IF NOT EXISTS corpus_version VARCHAR(50);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_ucca_assessments_corpus_version
|
|
ON ucca_assessments(corpus_version_id);
|