type: meta

slug: session-limits-menu

topic: tray account session-limit progress rows

exec_mode: ship

scheduler: sequential

land_mode: pr

base_branch: origin/main

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 (the point is re-injecting intent into the main thread; a context-mode call keeps bytes OUT and silently kills the feature)

refresh_what: meta + every goal/methodology/intent/direction record + all WORKING and BLOCKED tasks (skip COMMITTED lines)

refresh_when:
wave/phase boundary
any task status change
after a compaction system-reminder
before calling advisor

update_rule: on status change, rewrite that task's single line in place; append new tasks/session_memory as new lines

report_rule: at session end emit brief: done / blocked / deferred / canceled — NO 'next action' (if you know it, do it)


type: goal

text: Show per-account 5h and 7d session-limit progress rows from the tray click menu, including remaining time only when server reset metadata exists.


type: methodology

text: Contract-first; preserve existing dirty worktree; use existing AccountSnapshot, health cache, Indicator menu, and pytest fake GTK patterns.


type: intent

text: Make account choice safer by exposing usage pressure before launching or switching Codex sessions.


type: direction

verbatim: If Codex does not expose exact reset/remaining timestamps for a limit window, show accurate progress bars and percentages; display time left only when server data exists.


type: task

desc: Extend AccountSnapshot and health cache with optional reset timestamps while preserving old cache compatibility.

status: COMMITTED


desc: Render session-limit progress rows in existing Indicator account labels.


desc: Run targeted tests and adjust routing/cache compatibility tests for extended snapshots.