{# T18 / Phase 2.5: per-section retry button. Rendered when `synthesis_section_failed(report, section_name)` returns True. The button POSTs to /scans/{scan_id}/rerun-prompt with the given prompt name and lets the user re-attempt that single section without paying a credit -- failures of the synthesis prompts are our responsibility, not the user's. Required context: * `section_name` -- "synthesis" | "notes" | "difficulty_drivers" * `section_label` -- human-readable label for the section ("the scraping plan", "synthesis notes", "difficulty drivers") * `report.scan_id` -- the scan UUID; the JS reads it via `data-scan-id` and POSTs there. The data-section-target attribute names the DOM element the JS should swap on success (so e.g. starter_code can be re-rendered without a full page reload). The default JS implementation simply reloads the page after a successful POST -- the target attribute is a forward-compat hook for a future swap-in implementation. #}
Section unavailable

{% if download_mode %} This section couldn’t be generated. Open the report on the server to retry — the retry button isn’t available in the saved offline copy. {% else %} This section couldn’t be generated. Click to retry — uses no credits. {% endif %}

{% if not download_mode %} {% endif %}