Skip to content

History / Result Contract Stability

Revisions

  • ToolResult is non_exhaustive (v4.0.0): what it prevents and how to add a field Records the sealing, the builder requirement, and the latent-breakage it stops -- a public field added to a literal-constructed struct is breaking by Rust's rules and semantic-release publishes it as a minor. Also records why the guard reads the source and must not be simplified into a substring search: the doc comment names the attribute, so a substring match stayed green through a mutation that removed it.

    @kadyapam kadyapam committed Sep 8, 2026