5c6cbbc1be
The goal judge now returns 'blocked' for unachievable goals, but the /loop --until gate only checked == 'done', so an impossible stop condition would re-fire every tick until loops.max_ticks. Pause the loop with the judge's reason instead. Also collapse the kanban gate callers' 'gate_verdict == "continue" or rejection is not None' to 'rejection is not None' (rejection is None iff verdict == done), drop the duplicate blocked-verdict goal test, and document the verdict.