Skip to content

lever v0.6.0

Choose a tag to compare

@stevegeek stevegeek released this 17 Jul 12:06

Changed

  • Agent images are now tagged by architecture (scionlocal/lever-claude:arm64
    / :amd64) instead of a shared :latest, and a tagless manager.image (or
    worker image:) auto-resolves to the jail's arch at apply time. A host that
    cross-builds both arches — an arm64 laptop producing an amd64 server image — no
    longer clobbers one arch's image with the other's under :latest, the failure
    mode where the jail loads a wrong-arch image that dies at boot with exec format error. make lever-image LEVER_IMAGE_ARCH=<arch> builds FROM scion-claude:<arch>
    and tags the output :<arch>; an explicitly-tagged or digest-pinned image ref is
    left untouched (the escape hatch). Instances that pinned …:latest should drop
    the tag to opt into arch-resolution.

Fixed

  • The capability-minting sidecar (lever-agent serve-capability) now re-reads
    the rotating agent leaf per broker handshake instead of freezing the boot
    cert. It built its mTLS client once via the static Identity.Client(), so
    after the leaf's 24h TTL every capability mint failed the broker handshake
    (certificate has expired) — taking down every brokered tool (each mints a
    capability first) while the broker itself stayed healthy, recurring roughly
    daily. The 2026-07-13 gateway fix covered Claude's proxied MCP/LLM traffic but
    not this second, direct-to-broker client. A new agent.NewReloadingClient
    (reusing the gateway's per-handshake clientCertSource) closes it, and
    Identity.Client() is now documented short-lived-only so no future long-lived
    holder reintroduces the trap.