Canonical defaults live in exact.json (UI fills empties without an LLM call); chat session overrides beat file defaults until clear/persona change. Co-authored-by: Cursor <cursoragent@cursor.com>