Why: The parser also recognizes function_call as a tool finish, but cannot execute a legacy call when no deltas were collected. It must fail closed like tool_calls. Evidence: The function_call variant failed before this guard and passed afterward; full Agent-Native vet/test passed. Impact: Inconsistent legacy tool terminals fail with returned Usage preserved; valid streams are unchanged. Refs: U3 r0.4 independent review Important 2 closure