71245fb85a
The natural-language skip dispatch in chat.web.turns.post_turn (intent="skip_elision") previously bypassed scene close detection entirely. User prose like "fade out, skip an hour" carries both a close signal and a skip directive — the close summary must capture the closing scene's final beat (and promote per-POV memories) before the time advances. Insert detect_scene_close + apply_scene_close_summary BEFORE the skip controller invocation in the skip_elision branch. Order: scene close -> skip narration -> time advance. When there's no active scene or the prose carries no close signal, detect_scene_close returns the safe should_close=False default and the flow drops straight to the skip controller — same behavior as today.