Skip to content

RCH v1.0.47

Latest

Choose a tag to compare

@Dicklesworthstone Dicklesworthstone released this 02 Jul 21:35

rch v1.0.47 — self-healing worker circuits + SSH connection reuse + managed build-artifact dirs

Fleet-targeted release built manually (GitHub Actions unavailable): x86_64-unknown-linux-gnu + aarch64-apple-darwin. Each tarball bundles rch, rchd, rch-wkr. rch update self-updates per-platform.

Workers stop falsely going DOWN and self-heal

Fixes the failure mode where the daemon's per-worker health checks intermittently failed SSH under connection load, tripping circuit breakers that latched open and needed a manual rch workers enable to recover.

  • Connection reuse (A1): the daemon's periodic SSH (health, telemetry, capability probe, cache-cleanup, stale-target-reap, reclaim, toolchain probe) now flows through one shared SshPool (warm ControlMaster, bounded ControlPersist=IdleFor(60), close_all() on shutdown, gated on connection_pooling), collapsing ~72 SSH handshakes/min to ~12 warm masters and eliminating the connection flood.
  • Resilient + unified circuits (A2): transient transport errors are retried before counting a circuit failure; the two circuit stores are unified so WorkerState.circuit (what selection reads) is the single source of truth via record_health_check + apply_health_outcome; enable() and a successful benchmark now actually reset/promote it; half-open recovery needs exactly success_threshold clean probes and a transient half-open failure no longer reopens/resets the cooldown.

Dispatched build artifacts land in the managed /data/tmp zone

build_remote_env_plan now unconditionally injects CARGO_TARGET_DIR, TMPDIR, GOCACHE/GOMODCACHE/GOPATH into the remote build prefix (env precedence overrides an absolute .cargo/config target-dir, covering wrapper/unclassified builds), and remote_base defaults to /data/tmp/rch. Stops out-of-scan-zone build junk (a 241G /root/cass-ft-target filled a worker).

Tests

Touched-crate suites green (rch-common / rchd / rch); new tests for transient retry, unified-circuit reset via enable, half-open 2-probe recovery, env injection incl. absolute-target-dir override, and SSH pool reuse/no-leak.

What's Changed

See the full changelog in the commit history.

Installation

Quick Install (Unix/macOS)

curl -fsSL https://github.com/Dicklesworthstone/remote_compilation_helper/releases/download/v1.0.47/install.sh | sh

Quick Install (Windows PowerShell)

iwr https://github.com/Dicklesworthstone/remote_compilation_helper/releases/download/v1.0.47/install.ps1 | iex

Manual Download

Download the appropriate archive for your platform:

Platform Architecture Download
Linux x86_64 (glibc) rch-v1.0.47-x86_64-unknown-linux-gnu.tar.gz
Linux x86_64 (musl/static) rch-v1.0.47-x86_64-unknown-linux-musl.tar.gz
Linux ARM64 rch-v1.0.47-aarch64-unknown-linux-gnu.tar.gz
macOS Intel rch-v1.0.47-x86_64-apple-darwin.tar.gz
macOS Apple Silicon rch-v1.0.47-aarch64-apple-darwin.tar.gz
Windows x86_64 rch-v1.0.47-x86_64-pc-windows-msvc.zip

Verify Downloads

All downloads include SHA256 checksums. Verify with:

sha256sum -c rch-v1.0.47-<target>.tar.gz.sha256

Or check against checksums.txt which contains all checksums.

Sigstore Verification

Artifacts are signed with Sigstore for enhanced supply chain security.
Verify with:

cosign verify-blob --bundle rch-v1.0.47-<target>.tar.gz.sigstore.json \
  --certificate-identity-regexp=".*" \
  --certificate-oidc-issuer-regexp=".*" \
  rch-v1.0.47-<target>.tar.gz

Claude Code Skill

The skill.tar.gz contains the RCH skill for Claude Code.
Install with:

mkdir -p ~/.claude/skills && tar -xzf skill.tar.gz -C ~/.claude/skills/

Full Changelog: v1.0.46...v1.0.47