mollify-types
The shared, versioned data contract for Mollify. Every command emits a
JSON envelope with a discriminating top-level kind; downstream agents and
CI depend on this JSON shape, not on Mollify's internal Rust types.
Invariants (ported from fallow's design — see RESEARCH.md §2.11):
- Determinism: identical input → byte-identical output. All collections that reach output are sorted deterministically before serialization.
- Evidence, not decisions: every [
Finding] carries a stable [Finding::fingerprint], a [Confidence] tier, and a humanreason. - Candidate/verifier separation: [
Action]s are proposed; onlyauto_fixable+Confidence::Certainmay be applied without a human.