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_proposed for next retry. On failure after 5 tries, cancels the given cancellable so the whole request stops (no way to carry on).
| cancellable |
optional; cancelled on unrecoverable failure |