Appearance
Calendar Evolution
owner: trunks + jimmy-neutron + hinata
first_touched: 2026-05-26
last_touched: 2026-05-26
2026-05-26 Post-Wrap Night Sweep — v2, v3, v3.1
source: documentation/activities/calendar-evolution-2026-05-26-night.md
v2 (commit 558e205) — View-mode toggle + accept/decline tray + Dashboard streak
View-mode state (day/week/month) persisted to localStorage; default week = -1d through +7d (9 columns)
loadLive() rewritten as single range fetch via hinata-cal.py's ISO..ISO syntax, bucket client-side
New CalendarMonthGrid.tsx — Mon-first 7x6 cells, day number + up to 3 event chips + overflow
Accept/decline tray with localStorage-backed seenUids + declinedUids
Dashboard mounts QuitAnchorRow between header + MaturityTimeline
v3 (commit 7d1e6a7) — Sidebar reframe + auto-accept rules + Squidward slot
Michael's reframe: "calendar inbox should be on the left hand side where pending is... below inbox is upcoming schedule with colour coding indicating severity or opportunity".
Reminder panel retired; replaced with Calendar Inbox (top, 60% when events pending) + UpcomingSchedule (bottom, opportunity-cost colour-coded)
src/lib/eventAutoAccept.ts— 6 rule classes: bank-holiday, birthday, delivery, interview, medical, travel-confirmationsrc/lib/opportunityScore.ts— pure scorer over tag x time x sleep-window x smoking-risk-window. Returns star/high/neutral/risksrc/components/UpcomingSchedule.tsx— events grouped by day, colour-coded with STAR/HIGH-OPP/NEUTRAL/RISK labelsTwelveStepSlot stripped to render null in awaiting state
Squidward bot slot prepped — COMMANDER_MAP entry + hinata-bots.json PLACEHOLDER
v3.1 (commit 4271fbc) — TopNav arrows
New TopNav order: < > logo menu. All 34x34px. Arrows wrap-around through TAB_ORDER. Tooltip names the target tab.
Vision scope captured (3 project docs, 3 tasks)
* **#840060** — 7 Commanders x per-bot pull-{commander}.py + snapshot.json + bot-poller live-context. 4-wave sequencing.
* **#840061** — UX polish: viewport-fit grid height, horizontal scroll on Week, outer border, right-click context menu, keyboard shortcuts
* **#840062** — Optimiser engine: end-state YAML at naruto-dreams/end-state.yaml, scheduleOptimiser.ts pure function, "Hinata proposes" panel. Gated on #840060.
Notable patterns
1. Sidebar reframe was the right call. The pending-reminder panel had become decorative; inbox-first / opportunity-cost-second matches the actual decision Michael makes at morning open.
2. Opportunity-cost over time-block as the calendar's organising principle: a calendar that ranks events by end-state alignment is a planning tool; one that just lists times is a viewer.
3. Auto-accept rule library should generalise — same pattern (rule.test(event) to reason) could surface for inbox routing, task auto-assignment, etc.
4. Project docs as deferral mechanism worked — captured scope in projects/.../overview.md + emitted numbered tasks without losing fidelity.
◆ hinata · calendar-evolution · folded from documentation/activities/ phase-19