Monorepo for Aesthetic.Computer aesthetic.computer

menubar-fit: responsive negotiation bus across AC menu-bar apps master

DateWizard gains a rolling "Upcoming" agenda (no-day view) + a pals-pink countdown badge to the next appointment on the wand. That badge widened the wand ~3x, which crowded the bar on neo — motivating a shared fit system. New shared/menubar-fit/MenuBarFit.swift (copied into each app): a file- registry + DistributedNotification bus. Each app publishes {slug, pid, priority, clipped(screen==nil), rung, rung ladder} and heartbeats it. A leader-elected broker (broker.lock) commands the lowest-priority app that can still shrink to yield when anyone is clipped, and regrows the highest- priority shrunk app when there's slack (with anti-oscillation cooldown). - DateWizard: bare -> presence-dot -> full countdown badge ladder (prio 20); sheds the badge before Menu Band gives up keys. Ladder collapses to bare when there's no upcoming event so the broker's width model stays honest. - Menu Band: its DisplayLayout ladder (compact..full) becomes its rungs (prio 40); broker drives displayLayout instead of the solo adaptLayoutForAvailableSpace (still used when forceLayout pins the icon). Verified locally: self-shrink, broker election, priority-ordered cross-app commands, heartbeat freshness, and live shrink+regrow on the real installed Menu Band (rung 14->6 on command, back to 14 when slack). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>