sbom, runc, cdm, irmin: follow Json.Error.t record shape and plain to_string
- sbom error_of_json_error: Loc.Error.t is now a record { ctx; meta; kind },
not a tuple. Destructure via e.meta.
- sbom, runc, cdm: Json.to_string returns plain string (not result);
collapse the stale 'match ... with | Ok s -> ... | Error _ -> ...' patterns.
- runc of_json: convert Json.Error.t -> string at the mli boundary with
Result.map_error Json.Error.to_string (drops the no-op '| Ok t -> Ok t |
Error e -> Error e' passthrough).
- cdm: wrap Json.Error.t with Json.Error.to_string at the Parse_error
constructor.
- irmin/toml: Toml.Value.Table / Array / String carry 'a Loc.node wrappers
now (tuple with Meta.t); reconstruct them explicitly.
- irmin/admin: Toml.Value matches use (values, meta) pairs and
(string * Meta.t) keys — introduce [assoc_unmeta] helper.