Skip to content

Releases: CerebralCoding/Latch

Latch 0.20.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 10:48

Latch 0.20.0 introduces a native Swift terminal dashboard for monitoring workloads and managing the operator queue.

  • Added latch tui [--file PATH] [--interval SECONDS], with wide and compact layouts, incremental rendering, and NO_COLOR support. The dashboard reads cached scheduler observations without collecting extra sensor samples.
  • Added an overview showing queue and checkpoint counts, pressure warnings, and a navigable jobs list with running work first. Reservations, CPU/GPU/ANE watts, and available memory/disk readings appear in that order above the list; the selected job exposes its admission blocker.
  • Fixed shared sensor collection at once per second, whether idle or running jobs, including exclusive measurements and draining, so the TUI and MCP diagnostics show current activity. Running-job observations do not count toward idle calibration or measurement readiness. The TUI does not start a separate sampler.
  • Added CPU and GPU power readings before ANE power on the overview, using the existing native sensor subscription. The shared sensor snapshot and detailed diagnostics include all three power readings; unavailable readings remain explicit.
  • Added session charts for CPU, GPU, and ANE activity, memory use, and CPU/GPU temperatures. Filled history bars use fixed scales, preserve captured colors, and leave gaps for paused or unavailable readings. Paused or stale readings are explicitly labeled as historical instead of showing a cached idle value as current utilization.
  • Added native ANE activity readings from compute histograms and cluster residency, with a labeled power/bandwidth-state estimate when direct counters are unavailable. Sensor diagnostics retain the source of each reading; empty or invalid counters are not reported as zero utilization.
  • Integrated ANE activity into measurement admission, idle calibration, and idle cooldown credit. Direct counters catch activity that watts alone can miss; power-floor estimates tighten the allowance above idle and require corroborating power before blocking admission. Fluctuating floor estimates alone do not restart the quiet window. MCP wait explanations, admission snapshots, CLI diagnostics, and the dashboard expose the same evidence and effective limits. Ordinary jobs retain shared admission.
  • Integrated job navigation, filtering, sorting, retained history, and confirmed job actions into the overview. Enter or Tab opens a near-full-screen detail overlay with commands, reservations, admission conditions, and retained output; Tab or Esc closes it while preserving selection. Open details stay pinned when a job finishes, retaining the command, requirements, and scroll position while final status and output update. Sensors and help open as separate modals with i and ?.
  • Added confirmed operator actions to prioritize or cancel a selected job, clear never-started work, or stop outstanding jobs. Confirmation captures specific job IDs so new arrivals are excluded; admission guards remain in force.
  • Persisted the last refresh interval, including changes through +/- and explicit --interval overrides. Refresh defaults to one second and supports 0.5–60 seconds. Preferences use $XDG_CONFIG_HOME/latch/tui.json, defaulting to ~/.config/latch/tui.json.
  • Added a Total jobs count covering current work and retained history, with dot-separated thousands from 10.000 onward. History counts and pagination use the same formatting.
  • Added display freezing, scrolling dialogs, terminal resize and suspend/resume handling, and restoration of terminal settings on exit. Pasted input cannot trigger queue controls, and displayed job names and output escape terminal control sequences.
  • Included MIT notices for the graph and sensor references from mlxtop, macmon, SiliconScope, and mactop.

Reconnect MCP clients after updating. Existing job IDs and retry keys remain valid.

Latch 0.19.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 20:21

Latch 0.19.0 improves admission responsiveness and makes it clearer when agents should share the machine and when they should wait.

  • Clarified workload classification across MCP discovery and agent instructions. Independent builds, CPU/GPU correctness checks, numerical parity, and model-quality evaluations should explicitly use ordinary admission. Sensitive work requires a concrete exclusivity need; performance measurements remain exclusive.
  • Pending MCP results now confirm acceptance, explain the current blocker, and direct agents to keep waiting on the same job or MCP task instead of resubmitting, reclassifying, or repeatedly announcing unchanged waits.
  • Long-wait explanations identify running jobs and earlier FIFO tickets. Measurement blockers include CPU baseline, effective limits, excess activity, and quiet-window progress. Queue age is distinguished from time spent on the current blocker.
  • Progress and task-status notifications follow meaningful state or blocker changes rather than every sensor fluctuation or passing second, including after reconnecting.
  • Sensor collection now accounts for collection time when scheduling the next admission sample, reducing avoidable gaps between observations.
  • Measurements can credit recent, sufficiently cold idle history toward cooldowns. History is short-lived and kept in memory; fresh sensors and the full quiet window remain mandatory, and waiting never relaxes admission limits.

Reconnect MCP clients after updating to load the revised guidance. Existing job IDs and retry keys remain valid.

Latch 0.18.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 12:47
  • Standardized human commands as list, prioritize JOB_ID, clear, and stop, replacing the previous action flags and duplicate job-listing command.
  • Added consistent --option=value parsing, duplicate-option checks, missing-value errors, and -- handling that preserves child command arguments.
  • Improved command-specific help and service option validation.
  • Refined the README’s structure, sponsorship footer, and feedback guidance.

Latch 0.17.0

Choose a tag to compare

@github-actions github-actions released this 04 Oct 11:12

Latch is a local workload scheduler for autonomous agents sharing an Apple Silicon Mac.

  • Agents submit finite work through MCP; Latch owns queue order, admission, resource reservations, and thermal guards.
  • Ordinary jobs can overlap when capacity allows. Sensitive work runs exclusively; measurements also wait for suitable idle and thermal conditions.
  • Durable jobs, retry keys, submission scopes, cancellation, and cooperative benchmark checkpoints support work across reconnects.

Requirements: Apple Silicon and macOS 26+. The binary is Developer ID signed and notarized by Apple. No Swift toolchain, Xcode, or administrator access is required.

Install

Run these commands separately as your normal macOS login user:

curl --fail --location --proto '=https' --proto-redir '=https' https://github.com/CerebralCoding/Latch/releases/download/v0.17.0/install.sh --output latch-install.sh
sh latch-install.sh

The installer verifies the downloaded binary and installs or updates the per-user scheduler service. Do not overwrite an existing latch-install.sh.

For agent setup, give your agent the installation instructions.

Feedback on installation, scheduling, and MCP integration is welcome. See the changelog for development history.