Skip to content

feat(taskctl): Autonomous task pipeline — Composer + Pulse + developer loop (#201)#227

Merged
randomm merged 19 commits intodevfrom
feature/taskctl-pipeline
Feb 19, 2026
Merged

feat(taskctl): Autonomous task pipeline — Composer + Pulse + developer loop (#201)#227
randomm merged 19 commits intodevfrom
feature/taskctl-pipeline

Conversation

@randomm
Copy link
Owner

@randomm randomm commented Feb 19, 2026

Summary

Implements the full taskctl autonomous pipeline (EPIC #201, Phases #202#208).

PM calls taskctl start <issueNumber> and the pipeline handles decomposition, development, adversarial review, and committing — automatically.

What's included

New files

packages/opencode/src/tasks/
  types.ts          — Task, Job, AdversarialVerdict types
  store.ts          — Atomic file-based persistence
  scheduler.ts      — Dependency + conflict-aware scheduling
  validation.ts     — Cycle detection
  composer.ts       — LLM task decomposition
  pulse.ts          — Deterministic pipeline loop
  tool.ts           — taskctl CLI tool (19 commands)
  index.ts          — Module exports

packages/opencode/test/tasks/
  store.test.ts, scheduler.test.ts, validation.test.ts
  composer.test.ts, pulse.test.ts, pipeline.test.ts
  steering.test.ts, commands.test.ts

Key design decisions

  • Pulse is deterministic TypeScript (setInterval), not LLM — fast and predictable
  • Tasks stored as JSON files in ~/.local/share/opencode/tasks/<projectId>/
  • Singleton lock file prevents double-Pulse on restart
  • Adversarial writes structured JSON verdict via taskctl verdict (not text)
  • 3-strike escalation: APPROVED→commit, ISSUES_FOUND→retry (max 3), then PM notified
  • Steering evaluated every 15 min per task: continue / steer (send guidance) / replace

Testing

Open issues for follow-up

Closes #201 #202 #203 #204 #205 #206 #207 #208

@randomm randomm marked this pull request as draft February 19, 2026 13:18
@randomm randomm marked this pull request as ready for review February 19, 2026 13:18
@randomm
Copy link
Owner Author

randomm commented Feb 19, 2026

Reopening to trigger CI webhook

@randomm randomm closed this Feb 19, 2026
@randomm randomm reopened this Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(taskctl): [EPIC] Autonomous task pipeline — Composer + Pulse + developer loop

1 participant

Comments