—— what’s new ——

change log.

current release  0.4.4.1

Launch hotfix

Fresh installs no longer quit while the router checks its packaged resources. An optional router head was allowed to be absent, but SwiftPM’s fallback lookup treated the missing file as a fatal missing-bundle error.

Fixed

  • Packaged apps resolve the HakuKit bundle from its signed location under Contents/Resources.
  • A missing optional router head now uses the existing fallback path instead of terminating the process.
  • SwiftPM executables and tests retain their normal Bundle.module behavior.
Verified: build 16 launched through RouterLoader to session_ready, was accepted by Apple’s notary service, and passed Gatekeeper assessment from the mounted DMG. The separate CoreML embedder remains degraded to the slower 1.7B fallback.

Fresh-install launch repair

macagent now finds its router resources correctly in a packaged app. A fresh install could quit a few seconds after launch when an optional router file was absent. The file was allowed to be absent; the fallback lookup was not.

Fixed

  • The app resolves Swift package resources from their signed location inside Contents/Resources.
  • An optional, unavailable router head now stays optional instead of triggering a fatal Swift assertion.
  • The packaged router tagger, adapter head, actuator head, and MLX Metal library are checked before the DMG is created.
Verified: Apple notarized, ticket stapled, and accepted by Gatekeeper as a Notarized Developer ID app.

MLX launch repair

The generated MLX Metal resource library is included again. Version 0.4.2 could exit during the first model initialization because its package omitted default.metallib.

Fixed

  • The app package includes mlx-swift_Cmlx.bundle.
  • The release build refuses to continue when that bundle is missing.
Withdrawn: superseded by 0.4.4 because fresh installs could still fail while loading router resources.

Grounded personal retrieval

Tier 1 can retrieve from Mail, Notes, and Messages. These are read-only lookups over local stores. Multi-step requests yield to a deeper path rather than quietly completing only their final clause.

Fixed

  • Early-morning “tomorrow” resolves against the user’s local calendar instead of UTC.
  • Mail, Notes, and Messages questions route to the correct retrieval tools instead of EventKit.

Known limitations

  • An uncued request such as an OTP lookup can still miss the Messages surface.
  • Messages content requires Full Disk Access.
Withdrawn: this package omitted MLX’s Metal resource bundle and was not usable as a fresh install.

Apps, truthful time, and truthful writes

You can open and close apps by name. macagent checks what is actually installed and running, asks when a name is ambiguous, and only uses the normal quit behavior—never force quit.

Fixed

  • Personal lookups no longer wait behind the startup indexer; one measured question dropped from 36.9 seconds to 2.6 seconds.
  • When indexing is incomplete, macagent says so instead of claiming your data contained no answer.
  • After an approved write, the confirmation is generated from what was actually written.
  • “What’s on my calendar Friday?” now answers in milliseconds instead of being mistaken for a notes lookup.

Known limitations

Changing or deleting existing reminders remained unreliable in this release. The confirmation box was the source of truth, and nothing was written without approval.

The tier-1 release

You can cancel, complete, and move things by name. macagent resolves the real item first, asks when multiple things match, and shows the real title and time before you approve anything.

What’s new

  • Recall answers are grounded and decline weak matches instead of inventing an answer.
  • Natural dates behave more like people expect: “tonight” means 8 PM and “next Friday” means the coming Friday.
  • A time without AM or PM becomes a question, not a silent guess.

Fixed

  • “Tomorrow at 4 PM” no longer lands on today.
  • “Cancel X” no longer creates an event named “cancel X.”
  • Displayed times use the user’s timezone instead of UTC.
  • Timed reminders such as “tonight” keep their time.