Swift engine runs in shadow mode; menu bar panel no longer closes on click
The engine that turns engineering sessions into the updates on this site has so far been written in Node. A Swift port of its four steps (capture, distill, write and judge) now runs inside the Mac app in shadow mode: it writes only to its own tables and publishes nothing. The decision was to compare it with the Node engine on the same chapters before anything switches over.
The distill step has two backends. The default is Apple's on-device model, which works on a session in chunks; on this Mac it took 3 to 57 seconds per group. The second is Claude, given the reference engine's exact schema so its output can be checked for parity. When Apple's model refuses a session, the engine falls back to Claude; that happened once, on a session containing Spanish and Korean.
The menu bar panel was closing right after it opened. The diagnosis: "The bug: your click made the app active, and the app's other open window took focus away from the panel, so the panel closed." SwiftUI's menu bar item was replaced with a custom status item and a non-activating floating panel that closes on an outside click or Escape. The fix is pushed and running, and in a test with the app activating itself while the panel was open, the panel stayed up. The main, Engine and Settings windows now open from the panel; ⌘, opens Settings and ⌘0 the main window.
Only one decision so far is a fair comparison with the Node engine, and it agrees. The other four grouped a whole day into one summary, so the Swift engine was changed to use the Node engine's chapter groups for a one-to-one comparison; those results are still to come. The panel fix is still waiting on a confirmation that it holds in everyday use.
- An iPhone companion app was only imagined; nothing was built
- Build the Swift engine in shadow mode and compare it with the Node engine before anything switches over
- Replace SwiftUI's menu bar item with a custom status item and a non-activating panel
- Fall back to Claude when Apple's on-device model refuses a session
- Confirmation that the menu bar panel stays open in everyday use
- Results of the comparison redone with the Node engine's chapter groups