Skip to content

Releases: sgtworkman/workman-fleet

Workman Fleet v0.12.0

Choose a tag to compare

@sgtworkman sgtworkman released this 31 Oct 03:43

Workman Fleet now retains sustained incidents and events while browsers are closed, with one owner for existing device collection. It exposes shared health, history and integration APIs, selected-service checks, deeper cached SparkDash health/RDMA and collector provenance, optional bearer reads, measured energy, shared ordering/panels, a shell-only PWA, kiosk display and local volume/I/O details.

Legacy configuration paths and sender identities remain compatible. Private snapshots, inventory, credentials and SQLite data are excluded from the source archive.

Validation: 128 Python tests, 67 JavaScript tests, all GitHub checks including full-history Gitleaks, archive privacy validation, desktop/phone rendered flows, preference persistence/conflict protection, kiosk and PWA cache checks.

History and energy begin with installation and show missing coverage. The dashboard observes OS/version changes; existing update operations still own maintenance. Enrolled devices without current reports remain stale. Unfinished enrollment and unknown identities remain pending rather than counted healthy.

Workman Fleet v0.11.1

Choose a tag to compare

@sgtworkman sgtworkman released this 31 Oct 03:00

Workman Fleet is the new name for the existing fleet dashboard. Mac, Linux, Windows, server and range-computer views share one inventory.

Existing configuration filenames, snapshot contracts and installed sender identifiers remain compatible. This source release contains no operator inventory or live telemetry.

Validation: 116 Python tests, 67 JavaScript tests, focused release checks, local-runner policy verification and actual desktop/phone browser interaction checks on the served local dashboard. The source archive passed the public-file privacy check.

Device enrollment and naturally scheduled reporting are tracked separately from this application release.

MacFleet Dash v0.10.0 — SparkDash insights

Choose a tag to compare

@sgtworkman sgtworkman released this 20 Oct 05:43

MacFleet Dash v0.10.0

Optional read-only SparkDash insights, plus the previously prepared 0.9.5
coverage and saved-profile improvements.

New

  • AI engine cards: reported model/backend, decode and prefill rate, running
    and queued requests, occupied/total slots, and explicit unavailable values.
  • Engine token windows: 1h, 6h and 24h, grouped by machine and model. These
    are hourly UTC buckets with a partial current hour, not exact trailing-minute
    windows. Prompt includes cached tokens; cache is not added a second time.
  • Resource and AI history: 1h, 6h, 24h, 7d and 30d, fixed-scale CPU/GPU
    averages/peaks, missing-data gaps and inspectable headroom/network/AI rates.
  • Coverage & repairs and per-computer/saved-profile Hermes counter selection.
    Copied or migrated computer histories are never combined into a fleet total.

Reliability and privacy

  • Read only existing SparkDash cached metrics, token ledgers and history.
    No extra engine polling, prompts, benchmarks, model/settings changes,
    notifications, pricing downloads or new background services.
  • Reuse SparkDash's reconnect-aware rates and durable ledger. Failed reads
    preserve the last successful receipt and show retained values as unverified.
  • Bound browser snapshot reads to avoid connection resets when optional
    sources arrive together. Preserve partial-profile usage coverage.
  • Keep engine-side traffic separate from Hermes/cloud client counters and
    billing. Cached-metrics receipt time is not an individual probe timestamp.
  • Explicit address-checked links do not add duplicate computers. Worker
    hardware is not treated as a second token-producing engine.
  • Public downloads contain source and examples only: no operator inventory,
    private source URLs, mappings, credentials or runtime readings.

Installation

Refresh the viewer after updating source. SparkDash remains optional; configure
your own existing private source using the README. Use your existing snapshot
refresh for the optional publisher. History must already be enabled in SparkDash.
No Tailscale enrollment or network-policy changes are included.

Collector source v0.6.2 is included. An already-running health collector retains
its actual loaded version until its normal service reload; viewer and optional
publisher updates do not restart AI services or the private telemetry receiver.

Verification

116 Python tests, 67 viewer tests and 33 collector checks passed locally.
Desktop/mobile browser checks exercised machine filters, all three token
windows, all five history windows, failure recovery, existing usage controls
and a clean extracted installation. The actual 60-file source archive passed
privacy checks and secret scanning.

Rollback

Restore v0.9.4 source while preserving private configuration and runtime state,
then refresh the browser. Disable the optional connector with enabled = false
in your own SparkDash configuration section if needed. Reload only your existing
MacFleet collector through your normal service manager when adopting collector
source changes; no AI-service restart is required.

MacFleet Dash v0.9.4 — Verified current model

Choose a tag to compare

@sgtworkman sgtworkman released this 16 Oct 04:34

Current model, not an old computer label

  • Computer cards and details now show Current model with its own check time, separately from the saved computer role and historical benchmark model.
  • For explicitly configured private llama.cpp endpoints, show the reported model ID, artifact filename, quantization, model parameters and active context per slot. Full private paths are discarded.
  • A changed model appears on the next snapshot refresh. Stale, failed, future-dated, catalog-only and multiple-model results remain unverified, never a guessed active model.
  • Model checks use bounded read-only metadata GETs through the existing optional snapshot helper. No prompts, completions, model loads, AI-service restarts, credentials, discovery or new background services.
  • Private registry role corrections can replace stale saved descriptions without reloading the health collector. Health readings and fleet totals remain independent of model metadata.

Updating

Preserve your private configuration, registry, runtime snapshots and state; update application source and refresh your browser. Health collector/probe remain v0.6.0 and do not need a restart for this viewer update.

Current-model reporting is optional. Configure your own existing private model_url and invoke collector/publish_token_usage.py from your established refresh schedule. Standalone users can specify --viewer-port and --config; see the README's Current model section. A model catalog from an unsupported engine is not treated as proof of a loaded model.

Verification

  • 95 Python tests, 53 viewer tests and 33 collector self-checks passed locally, including Python 3.9.
  • Clean exported source: 95 Python tests, 52 viewer tests plus the expected Git-index-only skip, and 33 collector self-checks passed.
  • Desktop/mobile live readout, overview-to-details navigation, model replacement, failed snapshot retention, stale metadata and multiple-model behavior verified in a browser.
  • Actual source archive checked for private runtime files and scanned for secrets. Downloads contain the app and generic examples, not the operator's inventory or live model settings.

Rollback: restore v0.9.3 application source while preserving private configuration and runtime data, then refresh your browser. Restore a private configuration backup separately if you intentionally changed your own settings.

SHA256SUMS verifies the attached source archive. This is a source release, not a bundled native macOS installer.

MacFleet Dash v0.9.3 — Setup, locations & recent activity

Choose a tag to compare

@sgtworkman sgtworkman released this 16 Oct 03:36

MacFleet Dash v0.9.3

Prepared October 15, 2026 by Codex.

  • First-computer setup, a local-only starter configuration download, and a published-snapshot connection check.
  • Direct Edit location actions, multi-select location drafts, and clearer browser-only versus shared save instructions.
  • Private recent activity for observed monitoring, alert, and saved-location changes, plus timestamped application notes identifying the version and author/agent.
  • Correct failed-check timestamps: an unsuccessful attempt is never shown as a successful reading. Unknown last success stays unknown.
  • Versioned module URLs prevent an upgraded interface from retaining an older cached model.
  • Actual source-archive privacy checks and additional regression coverage.

Install or update

The download contains application source and generic examples, not an operator's computers, locations, credentials, or telemetry. Follow README.md to connect your own authorized computers.

Existing users: update viewer source and refresh the browser. Preserve your private configuration, snapshots, state, and registry. The health collector and probe remain v0.6.0; no service restart, VPN enrollment, credential change, or network access change is required by this viewer release.

Activity is retained only in the current browser while the app is open, not a complete unattended or cross-browser audit log. A source note is not proof of installation or a repaired endpoint.

Validation

82 Python tests, 45 JavaScript tests, and 33 collector self-checks passed locally. Desktop/mobile interactions, malformed-data handling, retained timestamps, and recovery activity were checked in the rendered app. The attached 45-file source archive passed privacy inspection and secret scanning. Hosted CI status is separate from this local verification.

Source commit: f7cb32b.

Rollback: restore v0.9.2 viewer source while preserving private configuration and runtime data, then refresh the browser. The previous release remains available.

v0.9.2 — configurable computer locations

Choose a tag to compare

@sgtworkman sgtworkman released this 15 Oct 04:51

Configurable computer locations

  • New Locations screen for your own Home, Office, store or other location labels.
  • Save overrides in this browser, with persistence after reload and a clear reset option.
  • Download a small shared configuration and apply it on the MacFleet host to use the same locations across browsers. The standard-library command changes location fields only, retains other inventory and saves a private rollback backup.
  • Shared locations now apply consistently to Mac, Linux, Windows and pending inventory entries. Labels do not change telemetry, identity, enrollment, freshness or resource totals.
  • Includes generic examples and setup instructions. No private computer inventory, credentials or runtime telemetry is shipped.

Verification

32 JavaScript tests, 80 Python tests and 33 collector self-checks passed locally. GitHub CI passed all four jobs, including Python 3.9 and 3.13. Desktop and mobile checks verified saving, reload persistence, reset, download, shared application and filters against a clean source copy with synthetic computers. Source export secret scan found no leaks.

Viewer v0.9.2; health collector/probe remain v0.6.0. Existing installations only need a viewer refresh. No service restart, writable network endpoint, access-policy change or computer enrollment is included.

Browser saves apply to that browser only. For shared settings, follow README > Locations. Keep downloaded settings private. Previous release v0.9.1 remains available for source rollback; the shared-location command prints the private registry backup path for label rollback.

MacFleet Dash v0.9.1

Choose a tag to compare

@sgtworkman sgtworkman released this 15 Oct 02:11

MacFleet Dash v0.9.1

Prepared October 14, 2026 by Codex.

  • Put actionable health warnings ahead of computer cards and keep them inside the selected location/use filters.
  • Show each Windows drive's available space on its computer card. Combined storage no longer hides a low system drive.
  • Show the actual age of missed updates and whether a Windows clock is ahead or behind the cockpit.
  • Separate pilots from inventory without a connection. Neither is counted as verified automatic monitoring or included in resource totals.
  • Retry one timed-out OS listener scan in the optional Windows client. Empty, invalid or non-loopback bindings still fail verification immediately.
  • Improve navigation readability at intermediate desktop widths.

Verification

  • 27 JavaScript tests, 74 Python tests and 33 collector self-checks passed locally.
  • GitHub CI passed for commit 0364daaf92f1eba0cadefd582e9d153d9f110c00.
  • Desktop 1024px and mobile 390px browser checks passed for navigation, location/POS filters, totals, per-drive warnings and no horizontal overflow; no console warnings/errors were observed.
  • Public source export passed secret scanning. Runtime inventory, telemetry, access policy and credentials are excluded.

Compatibility and rollback

Viewer v0.9.1; the original collector/probe remains v0.6.0 and optional Windows components remain v0.1.0. The static viewer update requires no collector restart. The next scheduled optional Windows-client invocation loads the listener retry.

To roll back source, restore the previous v0.9.0 viewer and optional client files from its release in a separate clean checkout, preserving all private runtime configuration and state. This source release does not enroll computers, repair clocks, change access policy, reboot hosts, or assert per-host unattended/startup verification.

MacFleet v0.9.0 — private fleet telemetry

Choose a tag to compare

@sgtworkman sgtworkman released this 14 Oct 21:39

MacFleet v0.9.0

Prepared October 14, 2026 · Codex

  • Filter one fleet by CCW/classroom, POS or 4473 use, intersected with location and operating-system/role views.
  • Optional private, ingest-only Tailscale receiver pins both peer address and stable device identity. The reviewed Windows sender uses native local health counters only; no customer, checkout or 4473 records are collected.
  • Separate incoming telemetry from the existing WinRM writer. A unique-identity merge replaces matching pending records and rejects conflicting publishers or native names.
  • Pilot readings remain outside automatic-monitoring totals. Replayed, invalid or stale samples do not become a fresh healthy reading. Pending inventory is not a confirmed count of physical computers.
  • No automatic VPN enrollment, public exposure, script-policy bypass, remote-control port, reboot or existing-service change is performed by installing this source release.

Verification: 70 Python tests, 23 JavaScript tests and 33 original collector self-checks passed. All three Windows files passed the native PowerShell syntax parser. GitHub CI passed on this exact commit, including Python 3.9/3.13, viewer and secret scans.

The original health collector/probe remain v0.6.0. Persistent Windows installation, security-policy approval, native scheduled delivery and startup outcome still require per-host operational verification. This release does not claim that an operator's whole fleet has been enrolled.

Private runtime configuration, real fleet readings, credentials and operator screenshots are excluded from the public source archive.

MacFleet Dash v0.8.0 — fleet groups and Windows bridge

Choose a tag to compare

@sgtworkman sgtworkman released this 14 Oct 20:16

MacFleet Dash v0.8.0 — fleet groups and private Windows bridge

Prepared by Codex · October 14, 2026.

Changes

  • All computers, Mac/Linux, Windows, Servers and Range computers are views of one fleet.
  • Location filters intersect each view. Pending inventory is separate from monitored and resource totals.
  • Optional encrypted private WinRM reads execute the reviewed collector in memory; no Windows install, firewall opening, VPN enrollment, credential change or service restart is included.
  • Windows details show every fixed drive, separate network adapters, original source clock, authenticated receipt and latest attempt.
  • Source-clock warnings, retained readings, client route failures, partial data and not-enrolled entries remain explicit. Missing readings never become zero or healthy.
  • Duplicate native Windows identities are rejected. Changed targets lose prior metrics/history, and reboots invalidate cross-boot network rates.
  • Availability warnings honor only explicitly configured hours; no business schedule is guessed.

Verification

  • 58 Python unit tests; 19 JavaScript model/release tests; 33/33 original collector self-checks.
  • Desktop/mobile browser interaction checks, Windows retained-reading details, range location filters, history and token-filter regressions.
  • Staged-source secret scan passed. Private configuration, credentials, telemetry, machine inventory and verification screenshots are not release assets.
  • Exact-commit GitHub CI passed: https://github.com/sgtworkman/macfleet-dash/actions/runs/38630359417
  • Source archive SHA-256: 27c8cbbda8d828fdc07d7b782e1e62cca6a63ffd5aa307ea16ea9436217beff1

Deployment and coverage

  • Viewer v0.8.0; optional bridge v0.1.0. Original collector, probe and endpoint remain unchanged at v0.6.0.
  • Refresh the existing private viewer; the original collector needs no restart. Keep its existing private listener binding.
  • This is a source/UI release, not proof that unattended Windows monitoring or any range enrollment is complete. A successful manual poll, installed scheduler, or zero-exit snapshot publication does not prove scheduled host reads.
  • Existing access, a supported client scheduler, successful natural later polls and startup readback must be verified separately for each actual deployment.
  • For rollback, restore the retained previous viewer source or revert this release commit through normal Git history. Do not reset private runtime data or change Windows security settings.

MacFleet v0.7.0 — fleet panels and token usage

Choose a tag to compare

@sgtworkman sgtworkman released this 14 Oct 15:17

MacFleet v0.7.0 — clearer fleet health and token usage

What's new

  • A sparkDash-style overview with clear CPU, GPU, memory and storage bars, focused computer details, search navigation, three themes and a compact mobile menu. The overview's CPU squiggles are removed.
  • Optional 24-hour or 7-day hourly history, showing average/peak CPU, a consistent 0–100% scale and missing-hour coverage.
  • Separate local-model, cloud/subscription and unclassified Hermes token records. Recorded input, output, cache-read and cache-write counters remain separate; benchmarks are not treated as live traffic.
  • A read-only local token publisher and a prepared one-shot Windows pilot collector with an offline validator.

Accuracy fixes

  • Storage used is total capacity minus available space. Raw APFS filesystem-used is shown separately in Details.
  • Missing or malformed telemetry remains unknown/unverified, not healthy or zero. Running a backup does not imply a completed backup.
  • Token timestamps now sort correctly across whole-second and fractional timestamps. The Windows validator accepts native seven-digit .NET fractional timestamps.

Version and coverage

  • Viewer: v0.7.0. Health collector, probe and endpoint: v0.6.0, unchanged. This update does not require a collector, sampler or endpoint restart.
  • Token records cover retained Hermes sessions on the publishing computer, not all fleet computers, Codex desktop usage, daily allocations or provider invoices. No dollar cost or combined input/cache total is inferred.
  • The Windows pilot is prepared, not installed or enrolled. No Windows device is counted as healthy by this release.
  • Keep dashboards on their existing private loopback/tailnet address. Live telemetry, host configuration, credentials, prompts and session identifiers are not release assets. The source archive contains code and documentation only.

Verification

  • 48 Python unit tests passed on local Python 3.9 and the default Python runtime.
  • 33 collector self-checks and 11 JavaScript model/release tests passed.
  • Viewer syntax, staged-source secret scan, Git-history secret scan and source-archive privacy inventory passed.
  • Desktop/mobile smoke checks verified token filtering, history controls, search navigation, the mobile menu and guide-link copying, with no captured console errors or warnings.
  • GitHub CI passed for the release commit: viewer checks, Python 3.9/3.13 unit tests and self-checks, and secret scanning. JavaScript checks are now included alongside the existing Python matrix.

Upgrade

Update the checkout/source files and refresh open browser tabs to load the new viewer. Node.js 22 is needed only for development tests, not for running the viewer or health collector. Token publishing is an explicit local integration; the release does not install a new scheduler or enroll machines.

See the changelog and Windows pilot guide for details.