Task list iteration: send current list to LLM, parse response into this.pending. On parse/validation failure restores this.pending = existing_proposed; uses raw LLM response as previous_pry.