{"type":"meta","schema":"session-state/v1","slug":"tray-popup-dashboard","topic":"tray-triggered graphical popup dashboard","created":"2026-07-01","exec_mode":"ship","scheduler":"sequential","land_mode":"merge-to-main","base_branch":"main","codex_impl_model":"gpt-5.3-codex-spark","codex_impl_effort":"high","codex_review_model":"gpt-5.4","codex_review_effort":"low","status_enum":["BLOCKED","PENDING","WORKING","WRITTEN","REVIEWED","COMMITTED"],"truth_rule":"this file is ground truth for INTENT (goals/directions/task list); git is ground truth for DONE-NESS — reconcile statuses against git, never trust a COMMITTED line with no commit","refresh_how":"native Read of THIS file — NEVER ctx_execute/ctx_search","refresh_what":"meta + every goal/methodology/intent/direction record + all WORKING and BLOCKED tasks (skip COMMITTED lines)","refresh_when":["wave boundary","any task status change","after compaction reminder"],"update_rule":"on status change, rewrite that task's single line in place; append new session_memory lines as needed","report_rule":"at session end emit brief: done / blocked / deferred / canceled — NO next action"}
{"type":"goal","text":"Ship a tray-triggered graphical popup dashboard with provider-aware account cards, native progress bars, reload controls, default/repair actions, timestamps, and configurable auto-close behavior."}
{"type":"methodology","text":"Contract-first, GTK fake-widget tests first, preserve the existing tray process and health-cache pipeline while moving rich presentation out of the tray menu and normalizing provider-specific account data into one UI contract."}
{"type":"intent","text":"Make account quota and health information readable and actionable without a warped scrolling tray menu, while keeping the UI ready for both Codex and Claude Code account data."}
{"type":"direction","verbatim":"Lazy update the currently working accounts limits. when i click the tray icon, should start the update, and update the data when received from api"}
{"type":"anchor","path":"docs/superpowers/specs/2026-07-01-tray-popup-dashboard-design.md","what":"spec"}
{"type":"anchor","path":"docs/plans/2026-07-01-tray-popup-dashboard.md","what":"plan"}
{"type":"task","id":"w1.p1.t1","wave":1,"phase":1,"desc":"Build popup window and account card widgets with auto-close-aware transient behavior and native progress presentation.","status":"COMMITTED","deps":[],"requires_decision":null,"files":["account_card.py","popup_window.py","tests/test_indicator.py"],"blocker":null}
{"type":"task","id":"w2.p1.t1","wave":2,"phase":1,"desc":"Integrate the popup dashboard into Indicator, including tray-click toggle, lazy refresh on open, Reload All, per-account reload, and popup state syncing.","status":"COMMITTED","deps":["w1.p1.t1"],"requires_decision":null,"files":["indicator.py","systray_codex_switcher.py","tests/test_indicator.py"],"blocker":null}
{"type":"task","id":"w3.p1.t1","wave":3,"phase":1,"desc":"Run focused verification and adjust persistence/startup coverage for the popup dashboard UX without regressing health cache or repair flows.","status":"COMMITTED","deps":["w1.p1.t1","w2.p1.t1"],"requires_decision":null,"files":["tests/test_indicator.py","tests/test_systray_codex_switcher.py"],"blocker":null}
