A tiny, zero-dependency JSON encoder — just enough to emit Firebreak's report as a CI artifact without pulling in a dependency. A CI gate should be boring and offline; that includes its own dependency footprint.
@spec encode_to_string(term()) :: String.t()