AI
AI provider boundary
Ticket 107 keeps provider choice behind one interface so later AI features do not depend on vendor-specific code.
Only the mock provider is ready. Anthropic and OpenAI are intentionally not configured for live calls.
Every provider request must include tenant, feature, request, model policy, prompt version, and processing tier context.
Restricted messages are blocked from external providers at the provider boundary.
Provider outputs return hashes and usage metadata so Ticket 106 ledger rows can join to future runs.
No raw provider secret, SDK client, network transport, batch job, or file-retention path exists in this ticket.