Executive Summary

The offline LTI summary turns a retained acceptance release-gate JSON report into a short Markdown report for operators and directors. It shows status, planned/executed checks, failures, blocks, owner routing, evidence references and an optional comparable-run trend. It does not run scenarios, contact providers, query a database or alter release gates.

Generate A Report

python -m test_interface.run_summary report.json --output summary.md
python -m test_interface.run_summary report.json --previous previous.json --output summary.md
python -m unittest test_interface.tests_run_summary

Use the JSON retained by the existing sandbox regression workflow. Do not substitute a hand-edited report for the release gate. An optional reviewed failure_category annotation can be used in a separate triage copy while preserving the original evidence.

No Django settings or credentials are required to render a report. Exit 0 means the summary rendered, not that the test suite passed. Invalid/unreadable input or an existing output file returns exit 2 with a generic error. The command writes only a new output file and refuses to overwrite retained evidence.

Read The Result

For read-only-smoke, a pass is reachability only; 401/403/404/405 may be expected. For donation recovery, inspect correlated persistence and sandbox provider evidence separately. Missing evidence remains visible and cannot be converted into a pass.

Safety And Compatibility

Input is limited to 1 MB and 1,000 checks, with unique non-personal slugs and the version-1 acceptance release report contract. The legacy summary.failed includes blocked checks; this renderer checks that legacy total and displays failed and blocked separately without rewriting the schema. Inconsistent totals, outcome or decision are rejected.

Only allowlisted summary fields are rendered. Raw exception text, arbitrary URLs, provider objects and payloads are omitted. Do not place personal information even in scenario identifiers. Access to original reports remains governed by the retention policy.

Attach the summary to the existing controlled release record with source run URL, SHA and scenario version. This is an operator report option, not a new hosted dashboard, public endpoint or replacement for Ultra's promotion validator.