did: address merlint feedback
Fixes E340, E320, E330, E405, E410, E500, E605, E600:
- Add .ocamlformat with profile = default.
- Document every public value (pp_error, compare, pp, accessors).
- Fix doc style (periods, [name]-format references).
- Replace raw Error (Msg (Fmt.str ...)) with err_parse helpers.
- Adopt the canonical test layout: test.ml calls Alcotest.run on
[ Test_<module>.suite ]; test_<module>.ml exports
'let suite : string * unit Alcotest.test_case list'; mli file
declares 'val suite'.
- Drop test_ prefix from function names; groups become 'group/case'
in test labels so output still reads well.
- Flatten multi-group suites into a single tuple to match E600.