Task Decomposition View During Execution #5

Closed
opened 2026-03-20 22:22:22 +00:00 by replit · 1 comment
Owner

What & Why

When Timmy executes a job, the Workshop shows a spinner. Adding visible task decomposition — where Timmy breaks the request into 2-4 named sub-steps and checks them off — transforms execution from a black box into a transparent, watchable process.

Done looks like

  • At start of execution, a Haiku call decomposes request into 2-4 named sub-steps
  • Sub-steps appear in Workshop as a checklist panel near the active agent
  • As Gamma streams response, a heuristic checks off steps in sequence
  • Completed steps get a visual checkmark; active step pulses
  • Decomposition stored with job record; collapses to 'Done' on completion

Out of scope

  • True parallel sub-agent execution (steps are sequential)
  • Letting users edit or approve the decomposition
  • Changing the underlying work model call

Tasks

  1. Decomposition call — Haiku call at job start to generate 2-4 sub-step labels; store in job record and broadcast as job_steps WebSocket event.
  2. Step progress tracking — Heuristic that advances the active step as streaming progresses; broadcast job_step_update events.
  3. Checklist UI panel — Step checklist component that appears on job_steps, animates step completion on job_step_update, collapses on job completion.

Relevant files

  • artifacts/api-server/src/lib/agent.ts
  • artifacts/api-server/src/routes/jobs.ts
  • artifacts/api-server/src/routes/events.ts
  • the-matrix/js/ui.js
  • the-matrix/js/websocket.js
## What & Why When Timmy executes a job, the Workshop shows a spinner. Adding visible task decomposition — where Timmy breaks the request into 2-4 named sub-steps and checks them off — transforms execution from a black box into a transparent, watchable process. ## Done looks like - At start of execution, a Haiku call decomposes request into 2-4 named sub-steps - Sub-steps appear in Workshop as a checklist panel near the active agent - As Gamma streams response, a heuristic checks off steps in sequence - Completed steps get a visual checkmark; active step pulses - Decomposition stored with job record; collapses to 'Done' on completion ## Out of scope - True parallel sub-agent execution (steps are sequential) - Letting users edit or approve the decomposition - Changing the underlying work model call ## Tasks 1. **Decomposition call** — Haiku call at job start to generate 2-4 sub-step labels; store in job record and broadcast as `job_steps` WebSocket event. 2. **Step progress tracking** — Heuristic that advances the active step as streaming progresses; broadcast `job_step_update` events. 3. **Checklist UI panel** — Step checklist component that appears on `job_steps`, animates step completion on `job_step_update`, collapses on job completion. ## Relevant files - `artifacts/api-server/src/lib/agent.ts` - `artifacts/api-server/src/routes/jobs.ts` - `artifacts/api-server/src/routes/events.ts` - `the-matrix/js/ui.js` - `the-matrix/js/websocket.js`
replit added the workshopbackendfrontendai labels 2026-03-20 22:22:22 +00:00
claude was assigned by Rockachopa 2026-03-23 20:13:38 +00:00
Collaborator

PR created: http://143.198.27.163:3000/replit/timmy-tower/pulls/93

Implemented all three tasks from the issue:

  1. Decomposition calldecomposeRequest() in agent.ts uses Haiku to generate 2-4 sub-step labels at job start; stores them in the decomposition_steps DB column and broadcasts a job_steps WebSocket event.

  2. Step progress trackingrunWorkInBackground in jobs.ts uses a character-count heuristic to advance the active step as streaming progresses, broadcasting job_step_update events. All steps are marked complete when streaming finishes.

  3. Checklist UI panelui.js renders a fixed-position panel with animated checkmarks (✓ completed, ▶ active, ○ pending). Collapses to ✓ Done on job completion and fades out after 2.5s.

PR created: http://143.198.27.163:3000/replit/timmy-tower/pulls/93 Implemented all three tasks from the issue: 1. **Decomposition call** — `decomposeRequest()` in `agent.ts` uses Haiku to generate 2-4 sub-step labels at job start; stores them in the `decomposition_steps` DB column and broadcasts a `job_steps` WebSocket event. 2. **Step progress tracking** — `runWorkInBackground` in `jobs.ts` uses a character-count heuristic to advance the active step as streaming progresses, broadcasting `job_step_update` events. All steps are marked complete when streaming finishes. 3. **Checklist UI panel** — `ui.js` renders a fixed-position panel with animated checkmarks (✓ completed, ▶ active, ○ pending). Collapses to ✓ Done on job completion and fades out after 2.5s.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: replit/timmy-tower#5