---
title: "catalog. diagnostics"
description: "Owner: the catalog spec (defs/catalog.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: 8
---

# `catalog.*` diagnostics

Owner: the catalog spec (`defs/catalog.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="catalog.approval_required"></a>`catalog.approval_required` | state | error | 409 | 5 | no | — | `proposal` |
| <a id="catalog.base_unknown"></a>`catalog.base_unknown` | conflict | error | 409 | 6 | no | — | `base` |
| <a id="catalog.behaviour_action_unchecked"></a>`catalog.behaviour_action_unchecked` | schema | warning | — | 2 | no | — | `action`, `cases` |
| <a id="catalog.behaviour_guard_unsatisfied"></a>`catalog.behaviour_guard_unsatisfied` | schema | warning | — | 2 | no | — | `action`, `guard`, `cases` |
| <a id="catalog.behaviour_invariant_broken"></a>`catalog.behaviour_invariant_broken` | data | error | 409 | 6 | no | — | `action`, `invariant`, `type`, `before`, `input` |
| <a id="catalog.behaviour_rule_masks_action"></a>`catalog.behaviour_rule_masks_action` | data | error | 409 | 6 | no | — | `action`, `invariant`, `type`, `cases` |
| <a id="catalog.behaviour_state_unreachable"></a>`catalog.behaviour_state_unreachable` | schema | warning | — | 2 | no | — | `lifecycle`, `state` |
| <a id="catalog.behaviour_transition_dead"></a>`catalog.behaviour_transition_dead` | schema | warning | — | 2 | no | — | `lifecycle`, `transition` |
| <a id="catalog.behaviour_unfinished"></a>`catalog.behaviour_unfinished` | limit | warning | — | 2 | no | — | `budget`, `checked`, `actions` |
| <a id="catalog.full_scan"></a>`catalog.full_scan` | data | warning | — | 6 | no | — | `kind`, `artifact`, `table`, `rows`, `threshold`, `column`, `fix` |
| <a id="catalog.head_incompatible"></a>`catalog.head_incompatible` | platform | error | 503 | 1 | no | — | `rev`, `compilerVersion`, `roots` |
| <a id="catalog.id_duplicate"></a>`catalog.id_duplicate` | schema | error | 400 | 2 | no | — | `id`, `paths` |
| <a id="catalog.label_defaulted"></a>`catalog.label_defaulted` | schema | info | — | 2 | no | — | `artifact`, `path`, `label` |
| <a id="catalog.locale_not_served"></a>`catalog.locale_not_served` | schema | error | 400 | 2 | no | — | `locale`, `locales` |
| <a id="catalog.measure_group_invalid"></a>`catalog.measure_group_invalid` | schema | error | 400 | 2 | no | — | `type`, `measure`, `prop`, `kind` |
| <a id="catalog.measure_not_aggregate"></a>`catalog.measure_not_aggregate` | schema | error | 400 | 2 | no | — | `type`, `measure`, `got` |
| <a id="catalog.moved"></a>`catalog.moved` | temporary | error | 503 | 1 | backoff | — | `expected`, `head`, `overlay?` |
| <a id="catalog.no_change"></a>`catalog.no_change` | conflict | info | — | 6 | no | — | — |
| <a id="catalog.proposal_expired"></a>`catalog.proposal_expired` | state | error | 409 | 5 | no | — | `proposal`, `expiredAt` |
| <a id="catalog.proposal_not_ready"></a>`catalog.proposal_not_ready` | state | error | 409 | 5 | no | — | `proposal`, `status`, `supersededBy` |
| <a id="catalog.proposal_refused"></a>`catalog.proposal_refused` | state | error | 409 | 5 | no | — | `proposal` |
| <a id="catalog.proposal_unknown"></a>`catalog.proposal_unknown` | not_found | error | 404 | 3 | no | — | `proposal` |
| <a id="catalog.provenance_conflict"></a>`catalog.provenance_conflict` | conflict | error | 409 | 6 | no | — | `artifact`, `managedBy` |
| <a id="catalog.rebased_needs_review"></a>`catalog.rebased_needs_review` | state | error | 409 | 5 | no | — | `proposal`, `rebased`, `status` |
| <a id="catalog.recorded_field_replaced"></a>`catalog.recorded_field_replaced` | schema | info | — | 2 | no | — | `artifact`, `field` |
| <a id="catalog.revision_unknown"></a>`catalog.revision_unknown` | conflict | error | 409 | 6 | no | — | `rev` |
| <a id="catalog.sequence_integer"></a>`catalog.sequence_integer` | schema | error | 400 | 2 | no | — | `prop`, `template` |
| <a id="catalog.sequence_type"></a>`catalog.sequence_type` | schema | error | 400 | 2 | no | — | `prop`, `type` |
| <a id="catalog.stale"></a>`catalog.stale` | conflict | error | 409 | 6 | backoff | — | `artifacts`, `head` |
| <a id="catalog.too_large"></a>`catalog.too_large` | limit | error | 413 | 2 | no | — | `row`, `bytes`, `limit` |
| <a id="catalog.type_too_wide"></a>`catalog.type_too_wide` | schema | error | 400 | 2 | no | — | `type`, `columns`, `max` |
| <a id="catalog.upgrade_over_budget"></a>`catalog.upgrade_over_budget` | platform | error | 500 | 1 | no | — | `org`, `table`, `rows`, `estimateMs`, `budgetMs` |
| <a id="catalog.upgrade_rows_lost"></a>`catalog.upgrade_rows_lost` | platform | error | 500 | 1 | no | — | `table`, `before`, `after` |
| <a id="catalog.upgrade_undeclared"></a>`catalog.upgrade_undeclared` | platform | error | 500 | 1 | no | — | `org`, `rev`, `from`, `running`, `drifts` |
| <a id="catalog.view_too_large"></a>`catalog.view_too_large` | schema | error | 400 | 2 | no | — | `view`, `bytes`, `max` |
| <a id="catalog.view_too_tall"></a>`catalog.view_too_tall` | schema | error | 400 | 2 | no | — | `view`, `depth`, `max` |
