Release facts authority:
.github/release-manifest.json(schemadocs/schemas/release-manifest.schema.json). Published:v1.4.5(version1.4.5, build13),arm64only, minimum macOS15.0. Runtime identities: apptech.reidar.vifty, daemontech.reidar.vifty.daemon, helpertech.reidar.vifty.helper, CLItech.reidar.vifty.ctl. Canonical artifact:Vifty-v1.4.5.zipwith checksum assetVifty-v1.4.5.zip.sha256and SHA-25613fa763cbfdca3e77fcf6f657df6d51b32e19a4d25dd17a79614635fe844b0d5. Public artifact trust:passed/developer-id-notarizedfor TeamIDX88J3853S2; source174dcd28a343de7f797d682d02c0f70e26b72c2e, CI run31283125895, Release run31284620552. Tag policy:v1.4.5remains recorded assigned-verifiedevidence; signed tags are mandatory from version1.3.3onward. Separate exact-build claims: installed release reviewpending; manual Fixed/Curve/Auto compatibilitypending.
Vifty's product thesis is narrow on purpose: Vifty should be the open-source, auditable thermal-control layer for Apple Silicon MacBook Pro developer workloads.
Do not compete as a general-purpose system monitor yet. Macs already have mature tools for broad sensor dashboards, polished menu-bar telemetry, battery management, and consumer fan control. Vifty earns its place by making privileged fan control inspectable, local, fail-closed, and useful for builds, tests, and local coding agents.
Plain-name comparison set: Macs Fan Control, TG Pro, iStat Menus, Stats, Hot and MacThrottle, Sensei, AlDente and coconutBattery.
- Macs Fan Control is the simple default many users know for fan RPM and temperature-sensor-linked control.
- TG Pro is a mature commercial thermal utility with broad UX, notifications, diagnostics, and support expectations.
- iStat Menus is the polished general menu-bar monitor, including fan controls as one part of a much larger system-monitoring suite.
- Stats is the major open-source menu-bar monitor, but Vifty should own the safer fan-control and agent-workload lane rather than clone every Stats widget.
- Hot and MacThrottle are thermal-throttling visibility tools, useful comparison points for observability but not direct fan-control workflow owners.
- Sensei competes on broader Mac maintenance and performance polish.
- AlDente and coconutBattery are battery-specialist comparison points; Vifty's power telemetry should support thermal decisions, not become a full charge-management product.
- Auditable SMC write boundaries: allowlisted fan mode and target keys, RPM clamping, daemon-first writes, and fail-closed behavior when the helper, hardware shape, or telemetry is uncertain.
- Developer workload cooling:
viftyctl diagnose --json, bounded leases, guardedrun, explicit restore behavior, and local audit evidence that agents can consume without parsing UI copy. - Evidence-gated release trust: source-first and unsigned-dev builds stay explicitly limited, while Developer ID candidates remain untrusted until the exact public artifact, checksum, notarization, Gatekeeper, and Homebrew checks pass.
- Report-backed compatibility: generated validation indexes and compatibility tables, not handwritten support claims.
- Helper repair clarity: every blocked write path should tell the user the next safe action and explain why fan writes remain blocked.
- Subtle in-memory trend sparklines are in scope when they help users judge build, test, or agent workload impact; full historical monitoring, cloud sync, analytics, and persistent telemetry remain out of scope without a separate privacy plan.
- A broad iStat-style dashboard that dilutes the fan-control trust story.
- Battery charge limiting, battery aging policy, cloud sync, analytics, full historical monitoring, or persistent telemetry without a separate privacy plan.
- Raw agent SMC writes, arbitrary fan-key access, or automation that prepares cooling before validating the child command.
- Public binary trust claims before Developer ID signing, notarization, stapling, checksum verification, and Homebrew alignment pass.
Priority order: trusted release story, hardware validation evidence, daemon safety, helper repair clarity, human UI polish, local observability, and developer/agent workflow proof.
The concrete execution plan for the next cycle is plans/2026-06-13-next-workplan.md. It starts with M1 Pro validation on available hardware, keeps untested model families as "Needs report," and sequences UI/helper/menu-bar/observability work before future trusted-binary updater work.
- Trusted release story: preserve the verified
v1.4.5Developer ID artifact and historicalv1.1.1source-first boundary; every future candidate must pass the manifest, signed-tag, checksum, verifier, and Homebrew handoff gates as a new immutable release. - Hardware validation evidence: publish only generated compatibility evidence from reviewed reports; keep unvalidated rows as "Needs report."
- Helper repair clarity: keep first-run, approval, unreachable, telemetry-only, repair, unsupported, and healthy states distinct in the app and support docs.
- Human UI polish: prioritize small-window scrolling, full-height operational panes, main-window settings, a compact/readiness-oriented menu-bar popover, compact power/history/temperature surfaces, and a better screenshot/demo.
- Local observability: keep optional local notifications for helper failure, sustained high thermal pressure, Auto restore failure, plugged-in battery drain, and agent cooling that needs attention; defaults should remain conservative and local-only.
- Trusted updater: add Sparkle auto-update only in the future trusted binary lane, after Developer ID signing, notarization, EdDSA appcast signing, and canonical artifact verification exist.
- Developer and agent workflow: make Swift, Xcode, npm, pnpm, Bun, Go, cargo, uv, pytest, local-model, and custom guarded-run examples easy to find; defer MCP and Shortcuts until real users prove the CLI contract.
- No breaking changes to existing
viftyctlJSON fields. - Menu-bar and notification preferences must be additive and local.
- Compatibility docs may add generated report views, but support claims must remain tied to reviewed evidence.
- Trusted releases must keep strict Developer ID, notarization, stapling, TeamID, checksum, verifier, and Homebrew checks.