Task system event/notification layer

t-627·WorkTask·
·
·
·Omni/Task.hs
Createdyesterday·Updated54 minutes ago

Description

Edit

Add an event/notification layer to the task system so it becomes the single source of truth for all work notifications.

What

  • Add a task_events table (timestamp, task_id, old_status, new_status, agent/user)
  • When tasks transition state, emit an event to this table
  • Ava checks task inbox on heartbeats for open loops (Review, NeedsHelp)
  • This replaces the pi notification sidecar (webhooks, pi_rpc.py, /pi/notifications)

Why

Consolidating around Pipeline + task system as the sole orchestration layer. Pi agents' only unique value was notifications back to Ava, which this subsumes.

Deprecate

  • pi_rpc.py webhook notification endpoint
  • /pi/notifications route
  • Pi notification sidecar infrastructure

Architecture

Pipeline → reads tasks, checks budget, dispatches to agentd Task system → single source of truth for work + notifications/events agentd → dumb process supervisor Ava → checks task inbox on heartbeats

Timeline (6)

🔄[system]Open → InProgress1 hour ago
💬[system]54 minutes ago

Pipeline: dev completed (run=dev-t-627-1771471099, cost=0.0c)

🔄[system]InProgress → Open54 minutes ago
💬[system]54 minutes ago

Pipeline: verification failed: Build failed for Omni/Task.hs (exit 1): [0m[38;5;1m[2Kfail: bild: /var/lib/omni/pipeline/t-627/Omni/Task.hs: could not get namespace [0m[0m [0m