2fd98c79

Created Started Finished

Golden the colour along with the words

Every golden of something a person reads was of the plain rendering. The colour
was covered by two assertions that it exists at all: `renderReportColoured` puts
an escape sequence somewhere, and safe-coloured-text drops its colour when the
terminal has none. Neither says *which* words are picked out, so making the
marker green rather than red, or dropping the styling from the rule text under
it, passed the whole suite.

## What changed

The goldens are now of the coloured rendering:

| Golden | Renderer |
|---|---|
| `Rule/*.golden` | `renderReportColoured` |
| `Report/every-kind`, `Report/failure` | `renderReportColoured` |
| `Example/dirty` | `renderReportColoured` |
| `Annotation/misplaced`, `Annotation/self-weeding` | `renderReportColoured` |
| `Run/runs`, `Run/turned-off` | `renderChunksText With8BitColours` |

Unchanged: the JSON goldens, which have no colour, and the error paths that
render a rule-set error into an `expectationFailure`, which are messages rather
than output.

## The assertion that flips direction

`ReportSpec` used to say the coloured path exists. It now says the plain path
stays plain, which is the half nothing else would catch once every golden holds
escape sequences.

## The price

A golden full of escape sequences is harder to read in a diff viewer. `cat` and
`git diff` in a terminal interpret them; the GitHub diff on this PR will not, so
the review of the goldens themselves is best done locally. Two comments said the
plain rendering was the reviewable one, on purpose; they are rewritten rather
than deleted, because the reason they gave was true when they were written.

## Checks

`nix flake check` passes. 415 tests, no finding moved: this is the rendering of
the same reports.