# `semantic.ai_budget_missing`

Application's `ai:` sets no daily limit.

Area 21, [AI](../topics/ai.md); not declinable; the next step is usually the agent's.

Nothing an application asks a model is unlimited: `ai:` gives `limits: {
per_day: { tokens: } }`, the most its calls may use in a day, so a loop or
an injected "write ten thousand words" can't spend without end. `ai:`
without `limits:`, `limits:` without `per_day:`, and `per_day:` without
`tokens:` are each this error.


```jadpo
application {
    connections: {
        local_model: {
            driver: Driver.openai_compatible
            url: config.model_url
        }
    }
    ai: {
        connection: local_model
        models: {
            default: config.drafting_model
        }
    }
}
```

```text
error: `ai:` sets no daily limit
 --> app.jadpo:8:5
  |
8 |     ai: {
  |     ^^ no `limits:`
  reason: Nothing an application asks a model is unlimited: `per_day: { tokens: }` caps the day's tokens, so a loop, or a prompt an injection makes run on, can't spend without end.
  next: Add `limits: { per_day: { tokens: 2000000 } }` to `ai:` (agent)
  rule: semantic.ai_budget_missing
  help: https://jadpo.dev/docs/errors/semantic.ai_budget_missing

check failed: 1 error, 2 files
```
