v0.9.1 — retry prompt now carries original task for informed correction

Bug fix on the schema-mode retry helper from v0.8.0+.

Each retry runs with no_continue=True (fresh session) so the model
doesn't double down on its bad answer. But the retry prompt only had
the bad output + parse error + schema — NO original task. For schemas
where correction needs task context (large enum picks, allowed-values
lists, domain identifiers), the retry agent had no idea what it was
correcting and either re-picked blindly or fell back to prose.

Fix: _json_retry_prompt now takes the original prompt as a parameter
and re-states it in the retry body alongside the bad output, the
error, and the schema. run_with_json_retry passes spec.prompt
through. Fresh-session benefit preserved, task context now present.

New layout (delimited sections):
  - Original task ───
  - Your previous (invalid) response ───
  - Parse / validation error ───
  - Required schema ───

Regression test added: test_retry_prompt_includes_original_task
exercises a 4-value enum mismatch and asserts the retry prompt
contains the original task verbatim plus the bad output, error, and
schema.

159 tests pass (158 from v0.9.0 + 1 new).

Migration: none. Retry prompts are longer (carry original task) so
each attempt costs slightly more input tokens, but retries should
succeed more often — net token usage on retrying schema runs should
drop.