[HEARTBEAT] Rewire heartbeat_tick to invoke Hermes sessions for training telemetry #20

Closed
opened 2026-03-26 19:57:09 +00:00 by perplexity · 9 comments
Member

Context

Per research spike the-nexus#576. The heartbeat tick in tasks.py currently does hand-rolled perception (reads Gitea API, reads health files, writes JSON ticks). None of this goes through Hermes Agent, so:

  1. No MCP tool calls — Timmy can't take screenshots, press keys, or query Steam
  2. No session logging — heartbeat cycles don't appear in ~/.hermes/sessions/
  3. No training telemetry — the DPO pipeline (session_export()) never sees heartbeat data
  4. No skill improvement — Hermes can't learn from heartbeat patterns

The whole point of running through Hermes is that every tool call, every reasoning chain, gets captured as training data for the LoRA pipeline.

Task

Rewire heartbeat_tick() to invoke a Hermes agent session instead of doing its own perception loop. The Huey task should:

  1. Start a Hermes session (via the API server at localhost:8642 or CLI invocation)
  2. Pass a heartbeat prompt: "Run one heartbeat cycle. Perceive your environment through MCP tools, decide if action is needed, act if so."
  3. Hermes handles MCP tool discovery, Ollama inference, tool call routing
  4. Session gets logged to ~/.hermes/sessions/ automatically
  5. session_export() picks it up for DPO training data

No custom perception code. The model should use take_screenshot, steam-recently-played, and any other MCP tools it discovers. If it needs Gitea context, that comes through the orchestration MCP server (already registered).

Acceptance criteria

  • heartbeat_tick() invokes Hermes instead of hand-rolling perception
  • Heartbeat sessions appear in ~/.hermes/sessions/
  • Tool calls (screenshot, steam query) visible in session logs
  • session_export() produces DPO pairs from heartbeat sessions

Depends on

  • timmy-config#14 (MCP servers registered in config.yaml)
  • the-nexus#9 / the-nexus#564 (Hermes 4 14B model available)

Pillar: Heartbeat + Harness (training telemetry)

Hard constraint

10 net lines max. This is a rewire, not a rebuild — the Huey task calls Hermes, Hermes does the work.

Research update — 2026-03-27

Critical constraint: heartbeat rewiring only counts if all telemetry still flows through Hermes session artifacts usable by the current training/export pipeline. Do not move agent work into sidecars if it breaks Hermes-native telemetry.

## Context Per research spike the-nexus#576. The heartbeat tick in `tasks.py` currently does hand-rolled perception (reads Gitea API, reads health files, writes JSON ticks). None of this goes through Hermes Agent, so: 1. **No MCP tool calls** — Timmy can't take screenshots, press keys, or query Steam 2. **No session logging** — heartbeat cycles don't appear in `~/.hermes/sessions/` 3. **No training telemetry** — the DPO pipeline (`session_export()`) never sees heartbeat data 4. **No skill improvement** — Hermes can't learn from heartbeat patterns The whole point of running through Hermes is that every tool call, every reasoning chain, gets captured as training data for the LoRA pipeline. ## Task Rewire `heartbeat_tick()` to invoke a Hermes agent session instead of doing its own perception loop. The Huey task should: 1. Start a Hermes session (via the API server at `localhost:8642` or CLI invocation) 2. Pass a heartbeat prompt: "Run one heartbeat cycle. Perceive your environment through MCP tools, decide if action is needed, act if so." 3. Hermes handles MCP tool discovery, Ollama inference, tool call routing 4. Session gets logged to `~/.hermes/sessions/` automatically 5. `session_export()` picks it up for DPO training data **No custom perception code.** The model should use `take_screenshot`, `steam-recently-played`, and any other MCP tools it discovers. If it needs Gitea context, that comes through the orchestration MCP server (already registered). ## Acceptance criteria - [ ] `heartbeat_tick()` invokes Hermes instead of hand-rolling perception - [ ] Heartbeat sessions appear in `~/.hermes/sessions/` - [ ] Tool calls (screenshot, steam query) visible in session logs - [ ] `session_export()` produces DPO pairs from heartbeat sessions ## Depends on - timmy-config#14 (MCP servers registered in config.yaml) - the-nexus#9 / the-nexus#564 (Hermes 4 14B model available) ## Pillar: Heartbeat + Harness (training telemetry) ## Hard constraint 10 net lines max. This is a rewire, not a rebuild — the Huey task calls Hermes, Hermes does the work. ## Research update — 2026-03-27 Critical constraint: heartbeat rewiring only counts if all telemetry still flows through Hermes session artifacts usable by the current training/export pipeline. Do not move agent work into sidecars if it breaks Hermes-native telemetry.
Timmy was assigned by perplexity 2026-03-26 19:57:09 +00:00
Owner

Dispatched to claude. Huey task queued.

⚡ Dispatched to `claude`. Huey task queued.
Owner

Dispatched to gemini. Huey task queued.

⚡ Dispatched to `gemini`. Huey task queued.
Owner

Dispatched to kimi. Huey task queued.

⚡ Dispatched to `kimi`. Huey task queued.
Owner

Dispatched to grok. Huey task queued.

⚡ Dispatched to `grok`. Huey task queued.
Owner

Dispatched to perplexity. Huey task queued.

⚡ Dispatched to `perplexity`. Huey task queued.
Member

🔧 gemini working on this via Huey. Branch: gemini/issue-20

🔧 `gemini` working on this via Huey. Branch: `gemini/issue-20`
Member

🔧 grok working on this via Huey. Branch: grok/issue-20

🔧 `grok` working on this via Huey. Branch: `grok/issue-20`
Member

⚠️ grok produced no changes for this issue. Skipping.

⚠️ `grok` produced no changes for this issue. Skipping.
Owner

Closing during the 2026-03-28 backlog burn-down.

Reason: this issue is being retired as part of a backlog reset toward the current final vision: Heartbeat, Harness, and Portal. If the work still matters after reset, it should return as a narrower, proof-oriented next-step issue rather than stay open as a broad legacy frontier.

Closing during the 2026-03-28 backlog burn-down. Reason: this issue is being retired as part of a backlog reset toward the current final vision: Heartbeat, Harness, and Portal. If the work still matters after reset, it should return as a narrower, proof-oriented next-step issue rather than stay open as a broad legacy frontier.
Timmy closed this issue 2026-03-28 04:53:07 +00:00
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-config#20