| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- from __future__ import annotations
- from dataclasses import dataclass
- from sqlalchemy import text
- @dataclass(frozen=True)
- class AuditFinding:
- finding_type: str
- count: int
- severity: str
- def run_canonical_audit(session) -> tuple[AuditFinding, ...]:
- checks = {
- "active_document_without_chunks": """
- SELECT COUNT(*) FROM public.governance_documents d
- WHERE d.status = 'active' AND NOT EXISTS (
- SELECT 1 FROM public.governance_chunks c WHERE c.document_id = d.id
- )
- """,
- "active_chunk_without_embedding": """
- SELECT COUNT(*) FROM public.governance_chunks c
- JOIN public.governance_documents d ON d.id = c.document_id
- WHERE d.status = 'active' AND NOT EXISTS (
- SELECT 1 FROM public.knowledge_chunk_embeddings e
- JOIN public.knowledge_embedding_profiles p ON p.id = e.profile_id
- WHERE e.chunk_id = c.id AND p.status = 'active'
- )
- """,
- "active_point_without_document": """
- SELECT COUNT(*) FROM public.knowledge_points p
- WHERE p.status = 'active' AND NOT EXISTS (
- SELECT 1 FROM public.governance_documents d
- WHERE d.object_uid = p.source_uid AND d.status = 'active'
- )
- """,
- "ready_projection_hash_mismatch": """
- SELECT COUNT(*) FROM public.knowledge_index_projections projection
- JOIN public.governance_documents d ON d.id = projection.document_id
- WHERE projection.status = 'ready'
- AND projection.content_hash <> d.content_hash
- """,
- "expired_cache_dependency": """
- SELECT COUNT(*) FROM public.knowledge_cache_dependencies
- WHERE expires_at <= CURRENT_TIMESTAMP
- """,
- }
- findings = []
- for finding_type, statement in checks.items():
- count = int(session.execute(text(statement)).scalar_one())
- if count:
- findings.append(AuditFinding(finding_type, count, "error"))
- return tuple(findings)
|