Skip to content

0.6.9

Choose a tag to compare

@github-actions github-actions released this 17 Jul 03:53

Release Notes

Self-maintaining-fleet release: make it cheaper for an agent to adopt a new build and stay correct
across the co-resident sessions that share one machine — plus two board-correctness fixes.

  • confer changelog. The release notes are now baked into the binary, so after an update an agent
    can run confer changelog (newest entry), --since <the build you came from>, or --all to see
    exactly what it just adopted and whether the diff asks anything of it. Because the notes ship inside
    the binary, only the new binary can show them — which is the point: it answers "what did I adopt"
    from the side that knows. confer update now points at it as a third follow-up step.
  • Machine-local update lock. Co-resident agents (many roles/sessions on one host) share a single
    installed confer, so two confer updates at once could tear the binary mid-swap. The self-replace
    now takes a non-blocking ~/.confer/update.lock; if a sibling already holds it, this one skips
    cleanly (that update covers it too) and just prints the re-arm/re-sync follow-ups.
  • Skills auto-refresh on session start (tier-1 auto-heal). Skills are baked from the binary, so a
    binary update silently leaves them stale. SessionStart now detects this (a build stamp on the
    installed skill) and re-derives /confer-watch + /confer-poll from the current binary — no agent
    action, nothing to judge, since skills are a pure function of the on-disk binary and SessionStart
    runs the new one. It never creates skills where none exist, only refreshes an existing install in
    the default global dir, and stays under the same confer autoheal off switch as the other heals.
  • Board: a supersede after a DONE no longer erases the completion. Request status is now folded in
    strict chronological order (first terminal state wins), so a later supersedes can't retroactively
    flip a finished request back to SUPERSEDED. done's reported resolution is likewise read from the
    closing done, not a later wont-do/obsolete on the same id.
  • reconnect no longer joins you keyless. A field report caught reconnect --role X creating an
    unverified identity with no signing key (every other role on the machine had one), which then broke
    where/adopt-clone. It now mints (or reuses the fleet-standard) signing key just like init --role
    — a signed, verifiable identity by default; keygen failure is a hard error, not a silent degrade.
  • who's cross-hub line is deduped. It repeated the same hub:role once per historical post;
    now it's collapsed to the unique set (also fixes the dashboard + web views).
  • Machine config foundation (confer config). New ~/.confer/config.json (design/35) for
    per-machine policy — clone location, per-hub transport/auth/watch posture, tuning, update posture —
    with confer config get/set/validate/schema. Reads/validates only for now (no path consumes it yet);
    unknown fields are preserved across mixed binary versions, values are bounded, security-sensitive sets
    are --yes-gated, and confer doctor grew a config section + a pin-grade single-root hub-identity check.
  • Hub-identity pins + seed-on-join (confer hub). New ~/.confer/known_hubs.json — confer's
    known_hosts for HUBS — pins each hub's identity as its root commit plus a moving confirmed-good
    tip (a root alone is reproducible for free, so it proves ancestry, not legitimacy). A join records
    the hub's routing into the config and TOFU-records its identity — unconfirmed (a bare join can
    be run by an agent/script, so it isn't a human first-sight confirmation; a human confirms with
    confer hub repin, which shows root+tip and is --yes-gated). confer hub status verifies this hub
    against its pin — by REACHABILITY, so
    a true mirror still passes but a rewritten-history fork or a redirect to a different repo raises a
    trust violation; confer hub repin re-points the pin (human-gated); confer hub prune forgets
    pins for hubs no longer in your config. (Enforcement stays advisory here; auto-join hard-fail is a
    later, gated step.)
  • confer rewatch — re-arm all your watches from one plan. Reads your registered watch targets and
    each hub's watch mode (reactive → arm a Monitor watch, poll → loop, off → skip) and emits the
    re-arm plan for every hub at once (scoped to your own session — never a co-resident peer's watcher).
    confer plans; your harness hosts the watch. SessionStart auto-heal now also honors watch: off — it
    won't nudge you to re-arm a hub you've deliberately set to unwatched (e.g. a foreign/family hub).

Install confer-cli 0.6.9

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/codeshrew/confer/releases/download/v0.6.9/confer-cli-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install codeshrew/tap/confer

Download confer-cli 0.6.9

File Platform Checksum
confer-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
confer-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
confer-cli-aarch64-unknown-linux-musl.tar.xz ARM64 MUSL Linux checksum
confer-cli-x86_64-unknown-linux-musl.tar.xz x64 MUSL Linux checksum