Repository navigation
ProcLease v0.1.3 experimental preview
Pre-releaseProcLease v0.1.3 is an experimental corrective prerelease. It fixes four
startup and retry defects found by an independent review of v0.1.2. Command-line
usage, state layout and the JSON schema are unchanged.
Fixes
- Retry identity: a keyed retry fingerprint no longer treats argv
[/usr/bin/true, A, value]as the same request as argv[/usr/bin/true]with
environmentA=value. Records retained from v0.1.2 keep matching their exact
original argv and directory; colliding or changed contexts are rejected. - Overdue startup: a lease whose deadline passes before startup completes now
finishesexpiredwithout running the command. Previously, a very short lease
could still run the command after the persisted deadline. - Guardian setup failure: a failure such as a denied control-socket bind is
now reported as afailedlaunch with a nonzero exit. It was reported as an
interruptedlaunch with exit 0. - Keeper spawn failure: the launch and its same-key retries now return a
failedrecord with exit 1, and prune collects it by age. Previously a
startingrecord remained, retries reused it asunknown, and prune skipped it.
The startup and retry corrections
describe each regression test.
Test reliability
Test teardown could remove a fixture directory while a job's keeper was still
writing its final record, which left partial fixture directories. The test
fixtures now wait for their own supervisors before deleting state. This change is
test-only; production lifecycle code is unchanged. See
fixture teardown residue.
The lease-extension test now uses a 60-second lease, because a 10-second lease
could expire under load before the test extended it; its assertions are
unchanged. The release archive smoke check applies the same teardown rule. It also confirms that the
packaged command started before it accepts the service's expiry.
Website sources
The website refresh adds a lease-ring logo and favicons, a balanced responsive
type scale, em-dash-free copy, clearer product answers and factual search/social
metadata. It is prepared separately from deployment. See the
website verification for checks
and the subsequent narrow-screen enlarged-text selector correction.
Install
Download install.sh from this release, review it, then run:
sh install.sh --skills both
proclease --versionThe installer selects your native binary, verifies its SHA-256 checksum and
installs to ~/.local/bin, without sudo or Rust. Add that directory to PATH if
needed. Existing unrelated skill folders are preserved. Omit --skills both
to install the CLI without linking agent skills.
Alternatively, download your platform's .tar.gz, verify it against
SHA256SUMS, and put its proclease executable on PATH. Each archive includes
the shared skill, README and MIT license.
Compatibility and limits
The release workflow builds and tests each archive natively on GitHub's macOS
Apple Silicon and macOS 15 Intel runners and on Ubuntu 22.04 ARM64/x64 (glibc).
Both macOS binaries target macOS 15.0; an older Apple Silicon OS is not separately
runtime-tested. macOS binaries are not Developer ID signed or notarized. Linux
musl/Alpine and Windows binaries are not provided. The CLI source was published
to crates.io after this binary prerelease; source builds
require Rust 1.89 or newer. Current stable Rust/Cargo is recommended. See the
registry verification
for the macOS Rust/Cargo 1.89 stripping caveat.
ProcLease manages only services launched through it. It is a supervisor, not a
sandbox: descendants that create a new process group can escape cleanup. Use
native storage for state inside a VM, not a host-shared directory. Reading status,
logs or resource usage never renews a lease. See the README for support limits.
Created by Jared Chu, with Codex and Claude contributions. See the README for credits.