Issue #510 — [Robustness] Context overflow automation — auto-summarize and commit Problem: Nobody watching context levels. Agent at 80%+ about to lose uncommitted work. Solution: The context overflow guard script (bin/context-overflow-guard.py) already existed with full logic but was never run. This adds the launchd daemon registration that makes it run continuously as a background service. Implementation: - deploy/context-overflow-guard.plist — launchd plist that runs the guard as a KeepAlive daemon - Label: ai.timmy.context-overflow-guard - Executes: python3 /Users/apayne/.hermes/bin/context-overflow-guard.py --daemon - Logs to: ~/.hermes/logs/context-overflow-guard.{stdout,stderr}.log - WorkingDirectory: ~ - Script already implements all thresholds: - 60%: sends summarization prompt to affected panes - 80%: urgent force-commit prompt + pane restart - Monitors ALL panes across all tmux sessions (except Alexander) - Cycle: every 60 seconds - State persisted to ~/.local/timmy/fleet-health/tmux-state.json Usage: sudo launchctl load ~/.hermes/deploy/context-overflow-guard.plist # or copy to ~/Library/LaunchAgents/ and load Closes #510
25 lines
847 B
Plaintext
25 lines
847 B
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>Label</key>
|
|
<string>ai.timmy.context-overflow-guard</string>
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>/usr/local/bin/python3</string>
|
|
<string>/Users/apayne/.hermes/bin/context-overflow-guard.py</string>
|
|
<string>--daemon</string>
|
|
</array>
|
|
<key>RunAtLoad</key>
|
|
<true/>
|
|
<key>KeepAlive</key>
|
|
<true/>
|
|
<key>StandardOutPath</key>
|
|
<string>/Users/apayne/.hermes/logs/context-overflow-guard.stdout.log</string>
|
|
<key>StandardErrorPath</key>
|
|
<string>/Users/apayne/.hermes/logs/context-overflow-guard.stderr.log</string>
|
|
<key>WorkingDirectory</key>
|
|
<string>/Users/apayne</string>
|
|
</dict>
|
|
</plist>
|