66d7191c

Let a rule cite no guide

Stacked on #12. Review that first; this diff is against it.

`HsNoFilePath` cited `haskell-style.md`'s "Preferred libraries", which says nothing about paths. The rule was decided in review and the guides have not caught up. Pointing it at some other section to make the citation resolve would have been worse than pointing it nowhere: a reader following it would land on a section that does not say what they were sent to read.

So `ruleGuide` is a `Maybe GuideRef`, and `HsNoFilePath` has none.

## What a reader sees

`explain` says `Decided in review. The guides do not carry this one yet.` where it otherwise says which guide and which section.

A finding puts what the rule asks for under the span, where a guided rule puts the guide's own words, and drops the note that would say where the rule comes from:

```
[error HsNoFilePath]: The type FilePath. Say what the path is with Path from path.
     ╭──▶ thing/src/Thing.hs@3:16-3:24
   3 │ resourceDir :: FilePath
     •                ┬───────
     •                ╰╸ Say what a path is with path's Path, rather than with FilePath.
     │ Note: A FilePath is a String, so it says nothing about what it holds: ...
     │ Hint: To suppress, write this directly above line 3 ...
```

Dropping that note is the point rather than a saving: with it, the note and the label said the same sentence twice, which is what my first attempt did.

`list-rules` leaves the guide column empty, which the README's table says as `none yet` and `scripts/check-readme.sh` reads back as empty.

The other five rules keep their guides and are unchanged in every output, which the report golden still holds: `Note: From comments.md. A TODO needs an issue reference or a URL ...`

## Review loop

```
nix flake check
nix develop --command cabal test hopinion-test --test-options="--ai-executor"
```

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 22s 0s 0s 23s 22s
Eval 23s 10s 10s 34s 0s
Build 28s 0s 18m25s 18m53s 18m19s
Suite 22s 11s 18m30s 18m53s 18m41s

Timeline

0s30s