Skip to content

v0.4.6-beta.4

Pre-release
Pre-release

Choose a tag to compare

@armanas armanas released this 27 Sep 22:00
Immutable release. Only release title and notes can be modified.
49f4753

Recover saved service invocations after provider unpublish or shutdown, and release identity custody locks reliably.

  • Unix identity custody explicitly releases its lock when the operation ends, even if a concurrently spawned child still holds an inherited descriptor. Active operations remain exclusive. The regression failed before the correction; all 25 custody tests and the full Rust suite pass. The beta.3 candidate remains unpublished after its release gate exposed this race.

  • Native CLI and MCP consult the authenticated requester ledger before fetching current service metadata. Reusing the original idempotency key, service/provider and input recovers the saved result and verifies its signed receipt without a new execution or invitation credential.

  • Conflicting requests fail closed. Pending work still needs the provider to refresh its status. Native MCP now honors FROGLET_DAEMON_URL consistently with CLI publication and invocation.

  • Upgrade both the native caller and its requester runtime to beta.4 for offline recovery, retaining the requester data directory. Older runtimes retain their existing fallback behavior.

Verification: 685 local public Rust tests with warnings denied and Clippy; native CLI/MCP restart and offline regressions. The real production invitation test's saved receipt was recovered by share URL after unpublish with a new requester process and no invitation file. Production invitation admission used zero execution allowance; one invited call and revoked replay used only one deal.

Payment rails remain deferred. Clean-machine agent/platform and first-time human qualification remain open; this is a beta, not a stable-release qualification. No Kernel signing, hashing, artifact, database or payment changes.