v0.1.7
lean-rs-worker 0.1.7
Two information-loss regressions reported by the first downstream consumer migrating from in-process LeanSession to
the worker IPC boundary. Both restore behaviour that the host already implements; the worker now transports it.
LeanWorkerKernelResultnow carriessummary: Option<LeanWorkerKernelSummary>, populated from
LeanSession::summarize_evidenceon theCheckedarm. TheSome iff Checkedinvariant is part of the documented
contract. Restores the proof-summary surface in-process callers relied on before the worker boundary.LeanWorkerSession::infer_typeandwhnfnow attempt notation-aware rendering via the optionalmeta_pp_exprshim
(Lean.PrettyPrinter.ppExpr) and fall back toExpr.toStringwhen the shim is absent or reportsUnsupported. Both
returnLeanWorkerMetaResult<LeanWorkerRendered>so callers can see which path was taken via therendering
(LeanWorkerRendering::Pretty | Raw) field. Heartbeat budget is shared with the primary meta call — a slow
pretty-print on a deeply nested term can in principle starve the meta op (acceptable in practice;pp_expris cheap
relative to inference).- A failed
pp_exprpass (Failed/TimeoutOrHeartbeat) propagates as the meta call's failure rather than falling
back to raw. Matches the in-process behaviour the downstream MCP tool already implements. - Bumped the worker IPC
PROTOCOL_VERSIONfrom2to3. The addedsummaryfield onLeanWorkerKernelResultand
the changedMetaExprpayload (LeanWorkerMetaResult<LeanWorkerRendered>instead of<String>) are
wire-incompatible with 0.1.6 — a mismatched parent/child pair now fails the handshake with a clear
LeanWorkerError::Handshakerather than a cryptic deserialize error on the first request.
Pre-1.0; the changed return types on infer_type / whnf and the added field on LeanWorkerKernelResult break 0.1.6
callers at the call-site. No other crate in the workspace changes.
Docs
- Removed the stale post-publish step in
docs/release.mdreferencing nonexistentlean-rs-downstreamand
lean-rs-host-downstreamproof repos. No such repositories exist under the project; the line was aspirational.