3aebb191

Check the code review standards with hopinion in CI

Turns on [hopinion](https://github.com/NorfairKing/hopinion) as a flake check, so the comment, style and testing guides are enforced mechanically instead of by eye in review.

`checks.x86_64-linux.hopinion-check` runs over the same package list the weeder check already uses, so a new package is covered by both without a second place to remember.

The first commit fixes the eight findings hopinion had on the tree as it stood, so that each commit is green on its own:

- Four string literals concatenated with `<>` or `++`, replaced by `concat`/`unwords` over a list of pieces.
- Two bare `-- TODO prompt` comments in `Bevel.CLI.Env`, dropped. Nothing pointed at them, and the neighbouring `die "No server configured."` has no such comment.
- Missing `genValidSpec` for `SyncRequest` and `Username`. Both are already generated in tests, so neither had coverage that its generator only produces valid values. `Username`'s spec is a new `bevel-api-server-data-gen/test/Bevel/API/Server/Data/UsernameSpec.hs`.

`nix flake check` passes (53 checks).

Not done here: `Username` has `ToJSON`/`FromJSON` and no `jsonSpec`. hopinion does not flag it, and adding one needs a new `genvalidity-sydtest-aeson` dependency on `bevel-api-server-data-gen`, so it seemed better kept out of this change.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 2m24s 1s 1s 2m25s 2m24s
Eval 3m58s 16s 16s 4m15s 1m33s
Build 4m14s 0s 0s 4m14s 0s
Suite 2m24s 17s 1m50s 4m15s 3m57s

Timeline

0s4m4m10s