Weft Status is a macOS menu bar companion for Weft. It displays current job, rental, and autopilot activity from Weft's local daemon subscription API. Weft remains the source of truth for job and instance state.
- A compact menu bar label summarizes running and queued jobs, completed results, and rental run rate.
- The menu bar popover shows failures and other states that need attention, followed by the relevant job and rental details.
- A floating HUD groups system, project, job, rental, and recent-transition activity in a larger TUI-style view.
- Job rows include project badges. Clicking a row copies its
wj...ID. - Completed and failed jobs remain visible while their results need attention.
- Rental rows show cost, uptime, GPU information, and job counts.
- Settings control menu bar identity, the HUD hotkey and grouping, and infrastructure alert thresholds.
On-prem hosts can run jobs without appearing in the rental section. The rental section describes cloud/rental launch records only.
flowchart LR
daemon["Weft daemon<br/>activity subscription"] --> models["Normalized app models<br/>Shared/"]
models --> menu["Menu bar"]
models --> popover["Popover"]
models --> hud["HUD"]
The daemon client subscribes to Weft's activity resource over
~/.cache/weft/daemon.sock. Code in Shared/ converts the daemon payload into
app-facing models before the SwiftUI surfaces render it.
The app never opens ~/.config/weft/jobs.db. SQLite is an internal Weft
implementation detail. Missing or unavailable daemon data appears as a loading,
disconnected, or error state instead of a set of live-looking counts.
The app is a SwiftPM project:
Shared/: app-facing models, fixture data, freshness rules, project selection, and priority signal selection.WeftStatusApp/: the daemon client, SwiftUI surfaces, settings, and documentation screenshot renderer.App/: macOS app bundle metadata and icon source.Checks/: lightweight model checks that run without XCTest.
Build the app:
swift buildRun from SwiftPM:
swift run WeftStatusOpen the HUD with example activity:
swift run WeftStatus --fixtures --hudRegenerate the README screenshots:
swift run WeftStatus --capture-screenshots docs/imagesBuild the macOS app bundle:
just appInstall the bundle in ~/Applications and launch it:
just installThe installer stops a running copy before replacing it. Local installs are
unsigned by default. Use just install-signed to add and verify an ad hoc
signature.
Rebuild, reinstall, and launch:
just launchjust install-user is an alias for just install.
Run the model checks and build:
just checkUse swift run WeftStatusSharedChecks to run only the model checks.
Settings open in a separate window from the menu bar popover:
- Menu bar identity: icon, name, or both.
- HUD hotkey and default HUD job grouping.
- Infrastructure alert thresholds for low credit runway and overnight runway.


