Start with the task contract
A publishing job should describe its inputs, expected output schema, tenant context and acceptance criteria. That contract lets a routing service choose a model without handing the model control of the platform. A generated paragraph is data; permission to publish remains an application decision.
Keep deterministic work outside the model
Slug creation, schedule checks, feed generation and approved-domain validation are stable operations. Use code for these tasks. The model can propose a narrative angle or explain an ambiguous source, while a detached service applies the repeatable rules. This also makes failures easier to reproduce.
Route by consequence, not just difficulty
A short factual claim may deserve more review than a long creative introduction. Routing should consider risk, source quality and the cost of being wrong, alongside context length and latency. A cheaper model is useful only when the resulting draft clears the same acceptance criteria.
Make failure observable
Record model and prompt versions, duration, token usage and validation outcomes with a trace ID. Use bounded retries and idempotency keys. When a provider is unavailable, hold the draft for review rather than silently reducing the quality standard.
The practical boundary
The AI worker receives the minimum source pack and returns a structured draft. A tenant-aware publication service validates, records a revision and asks an authorised reviewer for approval. This separation makes the system easier to test and the operational cost easier to explain.