> ## Documentation Index
> Fetch the complete documentation index at: https://docs.narrative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Invalid Stored Field

> A persisted JSONB field on agent_conversations or agent_runs failed to decode.

**HTTP status:** 500

## Error message

The detail is generic — the actual field name and decode failure are in the server log,
correlated via `log_id`.

## When this error occurs

A `GET` on a conversation, run, or message list found a row whose JSONB column doesn't decode
into the expected case class. Concretely:

* `agent_conversations.defaults` doesn't decode as `ConversationDefaults`.
* `agent_runs.effective_config` doesn't decode as `ConversationDefaults`.
* `agent_runs.tool_choice` doesn't decode as a workflow `ToolChoice`.
* `agent_runs.pending_tool_calls` / `submitted_inference_job_ids` / `usage` shape drift.
* `agent_conversation_messages.content_blocks` doesn't decode as `List[ContentBlock]`.

This is almost always a **schema-drift bug** introduced by a deploy that changed the case-class
shape without a migration, or by a hand-edited row.

## How to fix

This is a server-side error — there's nothing the caller can do besides report the `log_id` to
support. Repeat-readers can `GET /agents/conversations/{id}/messages?since=N` to skip past the
broken row if only a single message is affected.
