Purpose
-------
Render mutation results for humans without editorialising the numbers.
Responsibilities
----------------
- Render the enumeration-only listing used by ``--list``.
- Render totals, the kill rate, and one description per surviving mutant.
- Name the mutants that timed out, which no test run judged either way.
Diagnostics
-----------
Domain: OCT-MUTATION
Levels:
L2 - lifecycle
L3 - rendering details
L4 - deep tracing
Contracts
---------
- Output is ASCII only, so a cp1252 console cannot turn a report into a crash.
- v1 is report-only: the rendered text states no verdict and no threshold.
- A survivor is described by its id, its source line, and its before/after form.
Dependencies
------------
- oct.mutation.engine (mutant records)
- oct.mutation.runner (run results)