Skip to content

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-confirmation

  • src/lib/opportunityScore.ts — pure scorer over tag x time x sleep-window x smoking-risk-window. Returns star/high/neutral/risk

  • src/components/UpcomingSchedule.tsx — events grouped by day, colour-coded with STAR/HIGH-OPP/NEUTRAL/RISK labels

  • TwelveStepSlot 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