# `failure.kind_runtime_only`

Failure kind is raised only by the runtime.

Area 4, [Failures](../topics/failures.md); not declinable; the next step is usually the agent's.

```jadpo
type Broken = Failure {
    kind: FailureKind.internal_fault
}
```

```text
error: `Broken` can't have the kind `internal_fault`
 --> main.jadpo:2:11
  |
2 |     kind: FailureKind.internal_fault
  |           ^^^^^^^^^^^^^^^^^^^^^^^^^^ raised only by the runtime
  reason: The runtime raises `internal_fault` itself; an application declares `invalid_value`, `not_found`, `not_permitted`, `conflict`, `rejected`, `rate_limited` and `unavailable`, so a client's status always means the same thing.
  next: Use the kind an application declares that fits this outcome (agent)
  rule: failure.kind_runtime_only
  help: https://jadpo.dev/docs/errors/failure.kind_runtime_only

check failed: 1 error, 1 file
```
