Produce a ground-team-ready report from SAR triage findings. Use when the user asks for "the SAR report", "high-confidence hits", "what did the search turn up", "map the candidates", or "generate the report" — e.g. "render the report for incident013". Ranks findings by confidence tier (high / probable / possible / clear), surfaces blaze-orange Stage-1 hits prominently, writes a markdown report with embedded tile thumbnails and lat/lon map links, and writes a sibling GeoJSON for import into QGIS / Google Earth / ATAK.
Render the ground-team-ready SAR report.
incident013. Report reads runs/<incident_id>/manifest.json and runs/<incident_id>/findings.jsonl.If findings.jsonl is missing or empty, run sar-triage first.
Run the renderer:
python3 /home/sarocu/Projects/nova/.claude/skills/sar-report/scripts/render_report.py \
--incident-id <INCIDENT_ID>
It writes two files:
runs/<incident_id>/report.md — markdown reportruns/<incident_id>/report.geojson — points for mapping softwarereport.md and report.geojsonhigh_confidence or blaze_orange hits exist, enumerate them by frame and GPS — these are actionable leads for the ground team.Safe to re-render any time. findings.jsonl grows monotonically; re-running after more triage always reflects the latest state. The report is a view, not a source of truth.
rank_findings.py --incident-id ID — prints the ranked JSON document without writing the report (useful for piping into jq).render_geojson.py --incident-id ID — writes only the GeoJSON.