status'initializing' | 'expanding_niche' | 'planning_search' | 'discovering_signals' | 'clustering' | 'ranking' | 'cp1_awaiting_story' | 'extracting_signal' | 'generating_angles' | 'cp2_awaiting_angle' | 'applying_voice' | 'generating_content' | 'rendering_static' | 'rendering_video' | 'cp3_awaiting_review' | 'awaiting_forge' | 'complete' | 'failed' required
niche_inputstring required
target_platformsstring[] required
created_atstring date-time required
chat_thread_idstring uuid nullable
updated_atstring date-time required
filed_atstring date-time nullable
reel_renderobject nullable
niche_profileobject nullable
selected_storyobject nullable
selected_story_signalsobject[]
selected_story_idstring nullable
selected_angle_idstring nullable
recommended_story_idstring nullable
recommendation_reasonstring nullable
pool_thin_notestring nullable
pool_narrow_notestring nullable
credits_spentinteger nullable
error_messagestring nullable
outcomestring required
Finer ending than raw status (N1): complete / expired / interrupted /
cancelled / failed / running. Lets the archive show a walk-away (a slate
WAS produced) distinctly from a real error, instead of a blanket 'Failed'.