observe -> decide -> act loop: Timeline preflight, stuck detection, duplicate-action suppression, deck snapshot persistence. Appends one JSON line per decision and per rejected action to capture/decisions.jsonl for tail -f.