system-prompts-and-models-o.../salesflow-saas/backend/app/models/evidence_pack.py
Claude a319feb6d7
feat(dealix): complete Tier-1 Sovereign Enterprise Growth OS
Governance layer (14 docs):
- MASTER_OPERATING_PROMPT.md — operating constitution (five planes, six tracks, policy classes)
- docs/ai-operating-model.md — five-plane architecture (Decision/Execution/Trust/Data/Operating)
- docs/dealix-six-tracks.md — six strategic tracks (Revenue/Intelligence/Compliance/Expansion/Operations/Trust)
- docs/governance/execution-fabric.md — OpenClaw execution plane deep dive
- docs/governance/trust-fabric.md — trust plane with contradiction engine + evidence packs
- docs/governance/saudi-compliance-and-ai-governance.md — PDPL/ZATCA/SDAIA/NCA live controls
- docs/governance/technology-radar-tier1.md — Core/Strong/Pilot/Watch/Hold classification
- docs/governance/partnership-os.md — alliance lifecycle management
- docs/governance/ma-os.md — M&A corporate development lifecycle
- docs/governance/expansion-os.md — geographic and vertical growth
- docs/governance/pmi-os.md — post-merger integration framework
- docs/governance/executive-board-os.md — executive decision surfaces
- docs/execution-matrix-90d-tier1.md — 90-day sprint execution plan
- docs/adr/0001-tier1-execution-policy-spikes.md — 8 architectural decisions

Backend (3 models, 6 services, 8 API routes):
- Contradiction Engine — detect/track system conflicts
- Evidence Pack System — tamper-evident audit proof with SHA256
- Saudi Compliance Matrix — live PDPL/ZATCA/SDAIA/NCA controls
- Executive Room — unified executive decision surface
- Connector Governance — integration health monitoring
- Model Routing Dashboard — LLM provider metrics
- Forecast Control Center — actual vs forecast across tracks
- Approval Center — enhanced approval queue with SLA

Frontend (9 components):
- Executive Room, Evidence Pack Viewer, Approval Center
- Connector Governance Board, Saudi Compliance Dashboard
- Actual vs Forecast Dashboard, Risk Heatmap
- Policy Violations Board, Partner Pipeline Board

Tooling:
- scripts/architecture_brief.py — preflight validation (40/40 checks pass)
- Updated CLAUDE.md and AGENTS.md with governance references

https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
2026-04-16 12:48:13 +00:00

47 lines
1.7 KiB
Python

"""Evidence Pack — assembled proof for audit, board review, and compliance."""
from __future__ import annotations
import enum
from sqlalchemy import Column, DateTime, Enum, ForeignKey, String, Text
from sqlalchemy.dialects.postgresql import JSONB, UUID
from sqlalchemy.orm import relationship
from app.models.base import TenantModel
class EvidencePackType(str, enum.Enum):
DEAL_CLOSURE = "deal_closure"
COMPLIANCE_AUDIT = "compliance_audit"
QUARTERLY_REVIEW = "quarterly_review"
INCIDENT_RESPONSE = "incident_response"
BOARD_REPORT = "board_report"
class EvidencePackStatus(str, enum.Enum):
ASSEMBLING = "assembling"
READY = "ready"
REVIEWED = "reviewed"
ARCHIVED = "archived"
class EvidencePack(TenantModel):
__tablename__ = "evidence_packs"
title = Column(String(255), nullable=False)
title_ar = Column(String(255), nullable=True)
pack_type = Column(Enum(EvidencePackType), nullable=False)
entity_type = Column(String(80), nullable=True) # deal, lead, tenant, etc.
entity_id = Column(UUID(as_uuid=True), nullable=True)
assembled_by_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), nullable=True)
status = Column(Enum(EvidencePackStatus), nullable=False, default=EvidencePackStatus.ASSEMBLING)
contents = Column(JSONB, default=list) # list of evidence items
metadata_ = Column("metadata", JSONB, default=dict)
reviewed_by_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), nullable=True)
reviewed_at = Column(DateTime(timezone=True), nullable=True)
hash_signature = Column(String(64), nullable=True) # SHA256 of contents
assembled_by = relationship("User", foreign_keys=[assembled_by_id])
reviewed_by = relationship("User", foreign_keys=[reviewed_by_id])