Handle deterministic agents without LLM creds
All checks were successful
build / build (push) Successful in 11s

This commit is contained in:
robert
2026-06-08 10:39:50 -03:00
parent 8c0dda8405
commit 4cef2ef76f
4 changed files with 42 additions and 16 deletions

View File

@@ -30,14 +30,19 @@ Check these items:
arguments.
- The public schema is small and stable. No unbounded command strings, hidden
prompt fragments, or provider credentials as public inputs.
- The implementation reads `ctx.llm` for both `CALLER_PROVIDED` and
- LLM-backed implementations read `ctx.llm` for both `CALLER_PROVIDED` and
`PLATFORM` LLM provisioning. `PLATFORM_OR_CALLER_PROVIDED` is acceptable
only for trusted platform/meta agents and must also read `ctx.llm`.
- Hosted generated/user agents should default to
- Hosted generated/user agents that call an LLM should default to
`llm_provisioning = LLMProvisioning.PLATFORM` and
`Pricing(..., caller_pays_llm=True, ...)`. `LLMProvisioning.CALLER_PROVIDED`
is acceptable for explicit BYOK wording. In both modes, the code must use
`ctx.llm` and never read LiteLLM/provider keys directly.
- Deterministic/local-logic agents that do not call an LLM omit the concrete
`llm_provisioning` declaration, remove unused `LLMProvisioning` imports, do
not read `ctx.llm`, and use `Pricing(..., caller_pays_llm=False, ...)`.
Reject no-LLM agents that would require a user's LLM credential before
invoking deterministic skills.
- `Pricing` contains only `price_per_call_usd`, `caller_pays_llm`, and `notes`.
Reject `runtime.pricing.compute`, `runtime.pricing.total_usd`, `compute=`, or
`total_usd=` in `agent.py`; those are derived platform fields.