mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-18 15:29:36 +00:00
Golden Path — Partner Tier-1 verification flow:
POST /api/v1/golden-path/run — executes complete partner lifecycle:
1. PartnerDossier (structured output with Provenance)
2. EconomicsModel (revenue_upside, cost, payback, sensitivity)
3. ApprovalPacket (Class B enforcement, SLA, creates ApprovalRequest)
4. EvidencePack (auto-assembled from steps 1-3, SHA256 hash)
All steps linked by trace_id for end-to-end correlation.
This is the FIRST flow that actually uses structured_outputs.py
schemas in live code — PartnerDossier, EconomicsModel, ApprovalPacket
all enforced with Pydantic validation + Provenance fields.
correlation_id propagation:
OpenClaw gateway now generates/accepts correlation_id and injects
it into payload as _correlation_id. Returned in all responses.
This enables trace linking across decision → approval → execution.
NEXT_STEP_AND_STACK_RECOMMENDATIONS_AR.md:
Comprehensive next-step guide covering:
- 6 closure tests (truth, schema, workflow, trust, release, executive)
- Stack additions now (OTel, OIDC, attestations, OpenFGA)
- Stack additions next (Great Expectations, Unstructured, connectors)
- Backend/frontend/docs upgrade priorities
- 7-step optimal execution order
- Avoid-now list
https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
69 lines
2.3 KiB
Python
69 lines
2.3 KiB
Python
"""Golden Path API — Partner intake → evidence pack end-to-end.
|
|
|
|
This is the canonical Tier-1 verification path. It proves:
|
|
- Structured outputs (PartnerDossier, EconomicsModel, ApprovalPacket)
|
|
- Trust enforcement (Class B approval with SLA)
|
|
- Evidence assembly (SHA256 tamper-evident)
|
|
- Correlation (trace_id links all steps)
|
|
"""
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from pydantic import BaseModel as PydanticBase
|
|
from typing import Any, Dict, Optional
|
|
|
|
router = APIRouter(prefix="/golden-path", tags=["Golden Path"])
|
|
|
|
|
|
class GoldenPathRequest(PydanticBase):
|
|
partner_name: str
|
|
partner_name_ar: Optional[str] = None
|
|
partner_type: str = "partnership"
|
|
revenue_potential_sar: float = 100000
|
|
cost_sar: float = 20000
|
|
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("/run")
|
|
async def run_golden_path(
|
|
body: GoldenPathRequest,
|
|
tenant_id: str = "00000000-0000-0000-0000-000000000000",
|
|
db=Depends(_get_db),
|
|
) -> Dict[str, Any]:
|
|
"""Run the complete partner golden path end-to-end.
|
|
|
|
Creates: PartnerDossier → EconomicsModel → ApprovalPacket → EvidencePack
|
|
All with trace_id correlation and structured Provenance.
|
|
"""
|
|
from app.services.golden_path import golden_path_service
|
|
return await golden_path_service.run_full_path(
|
|
db,
|
|
tenant_id=tenant_id,
|
|
partner_name=body.partner_name,
|
|
partner_name_ar=body.partner_name_ar,
|
|
partner_type=body.partner_type,
|
|
revenue_potential_sar=body.revenue_potential_sar,
|
|
cost_sar=body.cost_sar,
|
|
requested_by=body.requested_by,
|
|
)
|
|
|
|
|
|
@router.post("/dossier")
|
|
async def create_dossier(
|
|
body: GoldenPathRequest,
|
|
tenant_id: str = "00000000-0000-0000-0000-000000000000",
|
|
db=Depends(_get_db),
|
|
) -> Dict[str, Any]:
|
|
"""Step 1: Create partner dossier with PartnerDossier schema."""
|
|
from app.services.golden_path import golden_path_service
|
|
return await golden_path_service.create_partner_dossier(
|
|
db, tenant_id=tenant_id, partner_name=body.partner_name,
|
|
partner_name_ar=body.partner_name_ar, partner_type=body.partner_type,
|
|
revenue_potential_sar=body.revenue_potential_sar,
|
|
)
|