Design Ava Telegram interface for task orchestration

t-280.2·Epic·
·
·
·Omni/Ava.hs
Parent:t-280·Created1 month ago·Updated1 month ago

Dependencies

Execution Summary

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

Design

Edit

Design the Telegram conversation interface for Ava to orchestrate coding tasks.

User Stories

Start Work on Existing Task

User: "work on t-123" Ava: "Starting t-123: Add --help flag..." [spawns pi-code] Ava: "Coder finished. Running review..." [spawns pi-review] Ava: "✅ Approved and committed" or "❌ Rejected: <feedback>"

Create and Work on New Task

User: "I need a function to parse config files" Ava: "I'll create a task for that. What namespace? Any details?" User: "Omni/Config, should support JSON and YAML" Ava: "Created t-284: Parse config files (JSON/YAML). Start work now?" User: "yes" [proceeds as above]

Check Status

User: "status" Ava: "Working on t-123 (iteration 2 of 3). Coder running..."

Intervene

User: "stop" Ava: "Stopped. Changes uncommitted. Resume, review, or discard?"

User: "the config parser should also handle TOML" Ava: "Added to task description. Resuming coder..."

Telegram UI Elements

  • Inline keyboards for quick actions (Start/Stop/Status)
  • Progress updates (typing indicator while working?)
  • Code snippets in messages (use markdown)
  • Task links

State Machine

  • Idle: waiting for command
  • Creating: discussing new task with user
  • Coding: pi-code subprocess running
  • Reviewing: pi-review subprocess running
  • WaitingFeedback: REQUEST_CHANGES, waiting for user input
  • NeedsHelp: REJECT, task marked needs-help

Questions

  • How verbose should progress updates be?
  • Should Ava send the diff before asking to review?
  • How to handle long-running tasks (timeout?)
  • Multiple concurrent tasks?

Deliverable

Document in this task or create Omni/Ava/Orchestrator.md with:

  • State machine diagram
  • Message templates
  • Keyboard layouts
  • Error handling

Child Tasks

  • t-280.2.2 - Add 'status' command to show current work [Done]
  • t-280.2.3 - Add 'stop' command to cancel current work [Done]
  • t-280.2.5 - Add 'show ready' command to list available tasks [Done]
  • t-280.2.6 - Design pattern: Button actions that inform Ava's context [Done]
  • t-280.2.1 - Add 'work on <task-id>' command to Ava [Done]
  • t-280.2.8 - Refactor existing Telegram callbacks to type-safe Action system [Done]
  • t-280.2.7 - Design type-safe action system with mandatory context logging [Done]
  • t-280.2.4 - Add natural language task creation via Ava [Done]

Timeline (1)

🔄[human]Open → Done1 month ago