rdmbair15m5-changelog-20260901-0212-agy-session-watch
rdmbair15m5 changelog — 2026-09-01 02:03–02:13 EDT
Session: monitor local agy sessions; resume them at quota reset. Host: rdmbair15m5 (macOS 27.0, arm64). Mode: prototype.
What changed on this Mac
Created ~/dev/fleet/agy-session-watch/:
agy-lib.sh, agy-monitor.sh,
agy-resume-at-reset.sh, theme-blocks.sh
(copied from the blocks-terminal-theme skill), README.md,
SESSION-STATE.md, ISSUES.md.
Two detached background jobs started:
- resume watcher —
~/Library/Logs/agy-resume/armed.pid, fires 05:18:06 EDT - continuous monitor —
~/Library/Logs/agy-monitor/watch.pid, samples every 2 min
No existing agy session was modified, signalled, or written to. No configuration file outside this project was changed.
Findings worth keeping
- agy CLI state lives in
~/.gemini/antigravity-cli/(not~/.antigravity, which is the IDE). Per-session:presence/<conv-uuid>.lockheld open,log/cli-<ts>.logon fd 1,crashes/crash_<pid>_<uuid>.log. - agy log files contain NUL bytes.
grepwithout-atreats them as binary and suppresses matches, so a quota-blocked session scans as clean. - Crash logs are pre-created at 0 bytes for every live session; only size > 0 means an actual crash.
- Log filename timestamps can differ from process start time by
seconds — pair session to log via
lsoffd 1, never by filename. - Terminal.app
do script "..." in tab 1 of (first window whose id is N)delivers text to the tab's FOREGROUND process stdin. Verified against a throwawaycat. Window ids are stable; window indices reorder on focus. - Quota block text carries its own countdown, so the reset instant is derivable exactly: five sessions agreed on 05:17:21 EDT.
Verification performed
- Monitor run against all 7 live sessions; classifications cross-checked against raw log tails.
- Send mechanism proven end-to-end on an isolated throwaway Terminal window.
- Drift guard tested in both directions: valid record passes; dead pid, wrong tty, wrong conversation and stale window id are each refused.
bash -nclean on all scripts.- caffeinate assertion confirmed present via
pmset -g assertions.
No secrets recorded.