Source correctionrc.8 writes a deterministic fallback before the optional LLM refinement. A failed refinement normally leaves a clipped first-prompt title, not an empty title record.

Read the title events, not the surface.

Current source

Inspect whether the latest session/title is fallback, provider, or user.

Exact route

Read provider, model, message seqs, and cap from session/title-llm-request.

Terminal reason

Separate max-tokens, timeout, empty text, and tool-call output.

Main turn

Keep its response budget separate from the title request.

One symptom, four branches.

max-tokensshared reasoning/text cap

Run one bounded larger-cap test.

SESSION_TITLE_TIMEOUTlatency or transport

Measure the auxiliary route before extending its deadline.

provider event existsprojection or client

Compare the durable fold with the UI update.

Do not disable reasoning for every Agent turn.

The rc.8 title-provider schema has no title-specific reasoning field. Raise only the existing auxiliary row for a bounded test, or explicitly route titles to an approved lightweight model.

Prove a bounded workaround.

- id: session-title-llm
  config:
    targetWords: 5
    targetCjkCharacters: 10
    maxInputBytes: 4096
    maxOutputTokens: 1024
    timeoutMs: 60000

Restart the Host and use a fresh Session. Require a new request event with the changed cap, a stop finish, and a later provider-sourced title event that survives reload. The larger cap creates room; it does not disable reasoning or guarantee success.

Primary evidence.

Keep the evidence with the title.

The complete runbook includes exact error signatures, event-level proof, inherited and explicit route behavior, privacy boundaries, alternate failure branches, twelve acceptance gates, and an incident bundle.

Read the complete guide