Alexander Whitestone ee7f37c5c7 feat: rewrite KimiClaw heartbeat — launchd, sovereignty fixes, dispatch cap
Rewrote kimi-heartbeat.sh with sovereignty-first design:
- Prefer Tailscale (100.x) over public IP for Gitea API calls
- Use $HOME instead of hardcoded /Users/apayne paths
- Remove token file paths from prompts sent to Kimi API
- Add MAX_DISPATCH=5 cap per heartbeat run
- Proper lockfile with stale detection (10min timeout)
- Correct identity separation: timmy-token for labels, kimi_gitea_token for comments
- Covers 4 repos: timmy-home, timmy-config, the-nexus, hermes-agent
- Label lifecycle: assigned-kimi -> kimi-in-progress -> kimi-done
- Failure handling: removes in-progress label so retry is possible

LaunchAgent: ai.timmy.kimi-heartbeat.plist (every 5 minutes)
Zero LLM cost for polling — bash/curl only. Kimi tokens only for actual work.

All Hermes cron jobs removed — they burned Anthropic tokens for polling.
KimiClaw dispatch is now pure infrastructure, no cloud LLM in the loop.
2026-03-30 17:59:43 -04:00
Description
Timmy sovereign home — operational workspace, morrowind agent, skills, training data, research, notes
7 MiB
Languages
Python 52.8%
TeX 42.2%
Shell 3%
HTML 1.7%
JavaScript 0.2%
Other 0.1%