Repository navigation
A menu bar, session goals, and a coach that stops loudly instead of failing quietly.
New
- Menu bar with live state: ◉ 23m while focused, ⏸ paused, "in a call", 🔇 muted. Pause 15 min, mute, edit your sites and stop, all from the menu.
- Session goal and length (25 / 50 / 90 min or no limit). Call-outs mention your goal; the classifier never sees it.
- Quiet during calls: Zoom, Teams, FaceTime, Webex and Meet tabs mean no screenshot and no voice.
- Praise is silent, and your persona is remembered.
Hardening
- Fixed a crash on first start: the app bundle was missing
control.py. A test now checks that every module the app imports is shipped. - Stops loudly when broken: after 6 failed or unreadable checks in a row it stops, shows ⚠︎ in the menu bar and tells you why, instead of counting the time as focus.
- One coach at a time, deadlines on every system call, a Screen Recording check that needs no developer tools, and frames left by a crash are swept at start.
- Pinned installs: the exact model snapshot and uv version CI tests with. A failed engine rebuild keeps your working one. Logs rotate at 1 MB.
Ceilings and the full gap list: HARDENING.md.
Install
Download ApexCompanion.zip, unzip, move it to Applications, then open it (right-click → Open the first time). Apple Silicon Mac, about 11 GB of memory at peak, so 24 GB is recommended. INSTALL.md
Upgrading? macOS treats this build as a new app, so turn Screen Recording on for ApexCompanion again when it asks.
Checksum: shasum -a 256 -c ApexCompanion.zip.sha256 in your Downloads folder.