feat(progress): progress-driven task pipeline#90
Merged
Conversation
Adds a `roles` field to WorkflowTeamSchema so templates can specify which agent role slugs are eligible for a run. Wires a new `workflow-engine.listAgentDefs` IPC channel that reads .claude/agents/*.md and parses name/description from markdown headings. Exposes a `useAgentDefinitions()` TanStack Query hook and a multi-select checkbox UI in TemplateEditorPanel's TeamSection. Default templates updated with sensible role presets. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Creates ProgressService (CRUD + agent session spawning + FS watching), task-file-io (minimal YAML frontmatter read/write), and barrel index. Local ProgressTask types included with TODO to migrate to @shared once Task 1 merges. Also adds .gitignore negation to allow src/**/progress/ source files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Fix method-signature-style, unused imports, promise/always-return, no-unnecessary-condition, return-await, require-await, no-base-to-string, and no-unnecessary-type-assertion violations. Zero ESLint errors. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removes the temporary local ProgressStatus, ProgressPriority, and ProgressTask definitions from progress-service.ts and replaces them with an import from @shared/types/progress (added by Task 1). Updates the barrel index.ts to re-export the types from the shared module rather than re-exporting from progress-service. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Creates the Zustand store, hydrator component, and mounts the hydrator in RootLayout so all components have immediate access to progress tasks. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…IPC contract Add PrStatus, SessionSummary, FilteredLogEntry types to progress.ts. Create agent-session-detail.ts with AgentSessionDetail, ToolCallSummary, AgentError. Add runLogCleanup IPC channel and sessionSummarySchema to progress contract. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Creates ProgressTaskGrid (8-column TanStack Table) backed by useProgressContext. Includes toolbar with search, status filter, New Task dialog and Run Workflow button. Swaps tasks route to use ProgressTaskGrid. Adds progress-context-store stub so Task 5 compiles while Task 4 runs in parallel. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds the expanded row component that renders the full Research → Plan → Team execution pipeline for a ProgressTask, along with a minimal stub for the progress-context-store (full implementation in Task 4). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Session writer: filtered JSONL append with event classification, truncation, and periodic summary file updates. Log cleanup: scans progress/*/sessions/*.jsonl, deletes files older than 7 days when summary.json sibling exists. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add runLogCleanup method to ProgressService interface and implementation. Add progress.runLogCleanup IPC handler. Export session-writer and log-cleanup from progress barrel. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…r progress domain - FEATURES-INDEX.md: add ProgressService entry (service + renderer feature + IPC handler + types + IPC domain folder), update Quick Stats counts - CLAUDE.md: add Progress Task Pipeline section documenting all 13 invoke channels, 7 event channels, directory structure, and status flow - AI-AGENT-ROUTING-INDEX.md: add progress row to Quick Lookup Table and full vertical slice with invoke/event/agent session data flow traces Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion refactor (Waves 4-6) Add getSessionsForTask, getSessionLog, getGitDiff channels to agent-dashboard contract with placeholder handlers. Expand agent context store with agentSessions, recentMessages, recentToolCalls, errors, taskAgentMap fields and IPC-backed actions. Refactor visualization agent-teams to read from progress/ instead of tracking/. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… of tracking/ - buildAgentTeamsData() now scans progress/ (non-archived dirs) for features - Reads root md file frontmatter for title/status/branch per feature - Gets live agent status from AgentManagerService.listSessions() instead of JSONL parsing - Maps ProgressStatus to visualization node types (researching/planning/research_done/plan_ready/executing/done) - createVisualizationService() now accepts AgentManagerService dependency - Removes all tracking/ directory reads, JSONL event parsing, and manifest reading - Updates test suite to match new progress/-based implementation - Removes TrackingEvent import from agent-teams.ts (no longer needed) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
TeamActivityPanel shows per-agent table with name, role, status, tokens, duration. AgentDetailExpander provides expandable detail with messages, tool calls, errors, and on-demand git diff. Wired into ProgressTaskDetailRow for executing/review task states. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add progress service entry to FEATURES-INDEX.md. Add progress IPC channels table and agent naming convention to CLAUDE.md. Update team-leader.md with naming convention. Include implementation plan and spec documents. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
progress/directory, reads YAML frontmatter, reconciles status from directory contents, and spawns agent sessions viaAgentManagerServicesrc/shared/ipc/progress/(Zod-validated, thin handlers, no business logic)useProgressContextZustand store +ProgressContextHydratormounted inRootLayout; all 7 event channels subscribedProgressTaskGrid(TanStack Table) reads fromprogress/store with search, status filter, expandable rowsProgressTaskDetailRowwith Research → Plan → Team vertical pipeline, live session indicator, react-markdown content renderingagent-teams.tsnow readsprogress/instead oftracking/; usesAgentManagerService.listSessions()for live status; maps all 5ProgressStatusstages to visualization node typesFEATURES-INDEX.md,AI-AGENT-ROUTING-INDEX.md, andCLAUDE.mdupdatedChanges
Key files added:
src/shared/types/progress.tssrc/shared/ipc/progress/contract.ts,schemas.ts,index.tssrc/main/services/progress/progress-service.ts,task-file-io.ts,index.tssrc/main/ipc/handlers/progress-handlers.tssrc/renderer/shared/stores/progress-context-store.ts,ProgressContextHydrator.tsxsrc/renderer/features/tasks/components/grid/ProgressTaskGrid.tsxsrc/renderer/features/tasks/components/detail/ProgressTaskDetailRow.tsxKey files modified:
src/shared/ipc/index.ts— spread progress channelssrc/main/ipc/index.ts— register progress handlerssrc/main/bootstrap/service-registry.ts— create progress servicesrc/main/services/visualization/agent-teams.ts— refactored to progress/src/main/services/visualization/index.ts— accept AgentManagerService dependencysrc/renderer/app/layouts/RootLayout.tsx— mount ProgressContextHydratorsrc/renderer/features/tasks/index.ts— export ProgressTaskGriddocs/routing/FEATURES-INDEX.md,docs/routing/AI-AGENT-ROUTING-INDEX.md,CLAUDE.mdTest plan
npm run typecheck— 0 errorsnpm run lint— 0 errors (180 pre-existing warnings in @ui primitives)npm run build— succeedsprogress/instead oftracking/🤖 Generated with Claude Code