Skip to main content
Only Nova, the read-only liaison, receives these tools. No model-accessible tool can approve, publish, retry a job, mutate credentials or budgets, delete data, or write Firestore. The deterministic workflow owns all effects. Every call returns exactly:
On failure, data is null, evidence is empty, and error contains only a stable code, category, safe message, and retryable boolean. Provider bodies, credentials, transcripts, drafts, and prompts are never returned. Mock-mode results explicitly carry provenance: mock and cannot be submission evidence. The Pydantic envelope rejects extra fields and impossible states: success requires data and forbids an error, while failure requires one typed error and forbids data or evidence. Nova preserves the final tool error’s exact code, category, safe message, and retryability. Runtime failures use declared stable codes rather than raw exception text. Skills require Nova to load exactly one matching skill first, call only its allow-listed read tools, use data only on success, and cite exact evidenceId values returned during that invocation. Deterministic callbacks record the actual sequence and envelopes; the output validator rejects unknown references, false no_data, hidden errors, invalid retries, and mutation or approval claims. Story and measured-post claims use record-level evidence; dataset evidence supports only aggregate claims.

MCP decision

MCP is deliberately deferred. The core slice has no measured capability gap that justifies another runtime and credential boundary. A future adoption must use an authenticated remote server, explicit tool allow-list/filter, tenant-scoped credentials, the same envelope, and a read-only first capability; its failure cannot block the content pipeline.
Last modified on August 28, 2026