render_report
Finalize a repository audit run: render the complete HTML report and write run-state.json, blocking incomplete verdicts to preserve integrity.
Instructions
Finish the run and render its report.
Requires a resolved configuration. Sets meta.finished to the given
ISO timestamp, renders the deterministic HTML report (which itself
refuses to render an incomplete run: a selected domain with no
recorded result, or a completed result missing a rule verdict, raises
rather than producing a report that looks clean over a gap), and
writes both report.html and run-state.json to the run's deliverables
directory: config.deliverables_dir if the configuration page (or a
preset AuditConfig) named one, otherwise the run's own output_dir,
unchanged from how every run before that choice existed behaved.
output_dir itself is never affected by this choice; it stays the
run's working directory for the crash-recovery progress file
regardless of where the finished deliverables land (issue #109).
Any issue URLs filed this run via file_issues, and any
feedback issue filed via submit_feedback, are carried on the
RunState itself, so the written run-state.json is self-sufficient:
it (and its schema_version) can be handed to
engineering-audit-render later to re-render the same report without
this server, this run tracker, or either URL, still in memory.
This call also stamps meta.server_finished from the server's own
clock, alongside the caller-supplied finished. See begin_run's
server_started for why the report keeps both this figure and the
caller's rather than trusting either one alone.
The finished run stays reachable for one last submit_feedback (the
order AUDIT.md documents), which rewrites both files to carry the
feedback issue's link. It stops being reachable at the next
begin_run.
Both files are written atomically, and the run's crash-recovery file
is removed once they are on disk: from here the run-state.json is the
record, and a later begin_run on this output directory starts clean
rather than offering to resume a run that is already finished.
The response also carries "rules_fetched": which domains had their
rule text fetched this run, which recorded verdicts without it, and
which were carried in from a saved run that never recorded it. Any
domain in the second list is named in the report and must be named to
the user as well: it says the verdicts for that domain were reached
without the rules they are verdicts on.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| finished | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||