---
title: "action. diagnostics"
description: "Owner: the runtime spec (defs/runtime.ts). The status is the code's own; the exit comes from its category (CATEGORIES). A warning or info code never sets the status or the exit."
order: 1
---

# `action.*` diagnostics

Owner: the runtime spec (`defs/runtime.ts`). The status is the code's own; the exit comes from its category (`CATEGORIES`). A warning or info code never sets the status or the exit.

| Code | Category | Severity | Status | Exit | Retry | Fix | Args |
|---|---|---|---|---|---|---|---|
| <a id="action.allocate_invalid"></a>`action.allocate_invalid` | schema | error | 400 | 2 | no | — | `action`, `path`, `reason` |
| <a id="action.call_cycle"></a>`action.call_cycle` | schema | error | 400 | 2 | no | — | `cycle` |
| <a id="action.cost_exceeded"></a>`action.cost_exceeded` | schema | error | 400 | 2 | no | — | `action`, `path`, `class`, `allowed` |
| <a id="action.emit_input_mismatch"></a>`action.emit_input_mismatch` | schema | error | 400 | 2 | no | — | `target`, `unknown`, `missing` |
| <a id="action.emit_not_delivery"></a>`action.emit_not_delivery` | reference | error | 400 | 2 | no | yes | `action`, `to`, `near` |
| <a id="action.emit_reads_secret"></a>`action.emit_reads_secret` | schema | error | 400 | 2 | no | — | `action`, `to` |
| <a id="action.foreach_unbounded"></a>`action.foreach_unbounded` | schema | error | 400 | 2 | no | — | `action`, `path`, `bound`, `max` |
| <a id="action.input_prop_unknown"></a>`action.input_prop_unknown` | reference | error | 400 | 2 | no | yes | `action`, `input`, `prop`, `near` |
| <a id="action.lifecycle_invalid"></a>`action.lifecycle_invalid` | schema | error | 400 | 2 | no | — | `lifecycle`, `reason`, `names` |
| <a id="action.natural_key_retired"></a>`action.natural_key_retired` | schema | error | 400 | 2 | no | — | `action` |
| <a id="action.offer_reads_elevated"></a>`action.offer_reads_elevated` | schema | error | 400 | 2 | no | — | `action`, `precondition` |
| <a id="action.offer_reads_input"></a>`action.offer_reads_input` | schema | error | 400 | 2 | no | — | `action`, `precondition` |
| <a id="action.reads_own_write"></a>`action.reads_own_write` | schema | warning | — | 2 | no | — | `action`, `use`, `name`, `type`, `prop`, `change` |
| <a id="action.replaces_generated"></a>`action.replaces_generated` | schema | info | — | 2 | no | — | `action` |
| <a id="action.state_write"></a>`action.state_write` | schema | error | 400 | 2 | no | — | `action`, `path`, `prop` |
| <a id="action.subject_missing"></a>`action.subject_missing` | schema | error | 400 | 2 | no | — | `action`, `path` |
| <a id="action.write_bound_exceeded"></a>`action.write_bound_exceeded` | schema | error | 400 | 2 | no | — | `action`, `path`, `bound`, `max` |
