mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-18 15:29:36 +00:00
Structured Output Producers (structured_output_producers.py): Wire ALL 17 Pydantic schemas to live code: - LeadScoreCard: from real Lead model (score, tier, signals) - QualificationMemo: from lead score + deal data - ProposalPack: from real Deal model (value, terms) - PricingDecisionRecord: with discount approval logic - HandoffChecklist: sales-to-onboarding transition - PartnerDossier, EconomicsModel, ApprovalPacket: (golden path) - TargetProfile, ValuationMemo, SynergyModel: M&A track - ExpansionPlan, StopLossPolicy: expansion track - ExecWeeklyPack, BoardPackDraft, ICMemo, PMIProgramPlan: (executive) All with Provenance (trace_id, confidence, freshness). Structured Outputs API (POST /api/v1/structured-outputs/...): 11 endpoints exposing schema-bound producers. Saudi Sensitive Workflow (POST /api/v1/saudi-workflow/share-partner-data): Live PDPL-controlled partner data sharing workflow: 1. Data classification (internal/confidential/restricted) 2. PDPL consent verification 3. Cross-border export rules check (GCC allowed) 4. Class B+ approval with 12h SLA 5. Audit trail via domain events 6. Evidence pack auto-assembly Blocks if no consent or export restricted. Release Readiness Matrix (scripts/release_readiness_matrix.py): 26 checks covering governance + services + APIs + trust + sales. SCORE: 100.0% (26/26) = RELEASE READY: YES https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
"""Saudi Sensitive Workflow API — partner data sharing with PDPL controls."""
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from pydantic import BaseModel as PydanticBase
|
|
from typing import Any, Dict, List
|
|
|
|
router = APIRouter(prefix="/saudi-workflow", tags=["Saudi Sensitive Workflow"])
|
|
|
|
|
|
class DataSharingRequest(PydanticBase):
|
|
partner_name: str
|
|
data_categories: List[str] = ["company_name", "contact_name", "contact_email"]
|
|
purpose: str = "partnership_evaluation"
|
|
requested_by: str = "00000000-0000-0000-0000-000000000000"
|
|
|
|
|
|
async def _get_db():
|
|
from app.database import get_db
|
|
async for session in get_db():
|
|
yield session
|
|
|
|
|
|
@router.post("/share-partner-data")
|
|
async def share_partner_data(
|
|
body: DataSharingRequest,
|
|
tenant_id: str = "00000000-0000-0000-0000-000000000000",
|
|
db=Depends(_get_db),
|
|
) -> Dict[str, Any]:
|
|
"""Execute Saudi-sensitive partner data sharing workflow.
|
|
|
|
Enforces: PDPL classification → consent check → export rules →
|
|
Class B+ approval → audit trail → evidence pack assembly.
|
|
"""
|
|
from app.services.saudi_sensitive_workflow import saudi_sensitive_workflow
|
|
return await saudi_sensitive_workflow.share_partner_data(
|
|
db, tenant_id=tenant_id, partner_name=body.partner_name,
|
|
data_categories=body.data_categories, purpose=body.purpose,
|
|
requested_by=body.requested_by,
|
|
)
|