Epic: Unify pi-agent into agentd

t-739·Epic·
·
·
·Omni/Agentd
Created2 weeks ago·Updated1 week ago·pipeline runs →

Execution Summary

0/7
Tasks Completed
$0.00
Total Cost
0s
Total Time

Design

Edit

Replace the bash pi-agent script with typed Haskell commands in agentd. Agentd becomes the single CLI and daemon for managing Pi agents, delegating process lifecycle to systemd.

Design doc: ~/agentd-unification-design.md

Key principles:

  • Typed Haskell control plane, systemd process plane
  • CWD-based (no git worktree coupling)
  • FIFO for prompt delivery, SQLite for persistence
  • pi-agent-exec bash wrapper stays
  • Delete RunningAgent in-memory process tracking, git worktree code, OCI container code

Subtasks: t-740 through t-746

Child Tasks

  • t-744 - agentd: Convert system service to systemd user service [Verified]
  • t-746 - agentd: Prune old agents and delete pi-agent script [Verified]
  • t-740 - agentd: Add 'agent' CLI subcommand group with create/list/status [Verified]
  • t-741 - agentd: Implement agent start/stop/restart via systemd [Verified]
  • t-742 - agentd: Implement agent send/logs/rm commands [Verified]
  • t-745 - agentd: Update Omni.Agents.Client and web UI for unified API [Verified]
  • t-743 - agentd daemon: Replace Process.createProcess with systemd delegation [Verified]

Timeline (3)

💬[human]2 weeks ago

Completed unification sequence t-740..t-746 and moved all to Review. Key outcomes: new agentd agent CLI and persistent control-plane, daemon routes switched to create/list/status/send/stop/delete via systemd delegation, agentd service manifest now uses /home/ben/.local/share/omni/agentd.db and /home/ben/.local/state/agentd, client/web switched to remove semantics, Ava spawn payload now uses cwd and orchestrator cleanup now calls DELETE /agents/:id (with stop fallback). Verified with lint/typecheck/bild and live HTTP smoke tests against system service on :8400.

🔄[human]Review → Done1 week ago