- The control plane owns run scope and authorizes execution.
- llm-gateway is the credential and policy boundary for provider and tool access.
- The execution engine must never mint replacement scope or bypass token-driven permissions.
- Do not log run-scoped gateway tokens.
- Do not bypass allowed-provider, allowed-model, allowed-tool, or allowed-native-tool policy from snapshots or JWTs.
- Keep control-plane callback auth explicit and narrow.
- Production must set non-default
ORCH_SERVICE_TOKENandEXECUTION_ENGINE_DISPATCH_TOKEN. APP_ENV=productionrejects development token defaults, missing Redis, default control-plane URL, and missingEXECUTION_GATEWAY_BASE_URL.- The production image runs as a non-root user and should be deployed on an internal-only service network by
acornops-deployment. - Runtime image dependencies install from hash-locked
requirements.lockwithpip --require-hashes; update the lock wheneverrequirements.txtorconstraints.txtchanges. - Request logs include request/run correlation IDs and scope identifiers, but not gateway tokens or provider credentials.
- Control-plane dispatch and cancel calls must send
Authorization: Bearer <EXECUTION_ENGINE_DISPATCH_TOKEN>. - Execution-engine callbacks into control-plane must send
Authorization: Bearer <ORCH_SERVICE_TOKEN>. - llm-gateway tokens are short-lived run-scoped credentials supplied by the control plane snapshot; the execution engine only forwards them to llm-gateway.
- MCP/function tool calls are denied unless the requested tool is present in the snapshot
allowed_toolsset. - Built-in native tools are forwarded only from the snapshot
native_toolslist and remain subject to run-scoped JWT native-tool claims in llm-gateway.
- Run bootstrap and context parsing
- Event ingestion semantics and terminal commits
- Tool permission filtering
- Gateway request auth or timeout behavior
- Readiness checks and production config validation
- Dockerfile, requirements lock, constraints, and release pipeline changes