Files
poimen-workflows/tasks/board.md
T

3.3 KiB
Raw Blame History

Task Board — Milestone T0

Submilestone: T0 (Multi-Agent Dev Orchestrator Temporal system)

ID Scope Status Branch Verification Notes
T0.1 Repo scaffold: go.mod, statemachine/, action/, cmd/, prompts/, internal/, tests/ [x] task/T0.1 go build ./... succeeds; layout matches PLAN.md Foundation
T0.2 Shared types: ModelSpec, PromptSpec, OrchestratorConfig, ActivityTuning, PiRetryPolicy [x] task/T0.2 Unit test asserts all defaults (5m/2s/30s/2.0/30s stream/2m stream-max) Config data model
T0.3 Git & locking: CloneRepoActivity, worktrees, squash-merge, orchestrator.lock [x] task/T0.3 Test vs local scratch repo: clone-if-empty vs fetch, worktree lifecycle, squash-merge produces 1 commit Concurrency safety
T0.4 PrepareSkillsActivity, classifyPiErr (4xx/5xx/504), stream timeout learning [x] task/T0.4 Unit tests: all 3 error buckets against mocked pi HTTP client Pi integration
T0.5 Planner/Judge/Implementer activities, LLM client, prompt templates [x] task/T0.5 Unit test: PromptSpec renders with system prompt + template override + raw template LLM orchestration
T0.6 TaskUnitWorkflow: retry loops (timeout/judge-fail split), lessons injection, escalation [x] task/T0.6 Testsuite: pass-first-try, fail-then-pass-after-lesson, retries-exhausted, timeout-escalation Task execution core
T0.7 OrchestratorWorkflow: config state, signals, fan-out/fan-in, continue-as-new, 504 learning [x] task/T0.7 Testsuite: fan-out/fan-in, squash-merge on complete, continue-as-new carries config, signals mutate config, 504 doubles StreamTimeout Orchestration core
T0.8 cmd/worker, cmd/starter, internal/config (env/vsource loading) [x] task/T0.8 go run ./cmd/worker connects to temporal.riotpiao.com; go run ./cmd/starter --dry-run visible in Web UI CLI integration
T0.9 End-to-end: real temporal.riotpiao.com + disposable forgejo scratch repo, all 7 verification items [ ] task/T0.9 Clone bootstrap, full cycle, live signal updates, 5xx retry+exhaust, 504 stream-timeout learning, continue-as-new bounded, squash-merge result System validation

Submission Criteria

All T0.1T0.9 marked [x] → submilestone complete.

At that point:

  1. git -C /workspace/Poimen/workflows checkout main && git pull
  2. git merge --squash task/T0.1 task/T0.2 ... task/T0.9
  3. git commit -m "T0: multi-agent orchestrator initial implementation"
  4. git push origin main
  5. Delete all task/T0.* branches and worktrees

This merge is the first real dogfood of the system's own git workflow: squashing 9 subtask branches into main as a single milestone commit.


Notes

  • Lessons file location: tasks/.orchestrator/lessons/<TaskID>.jsonl (created on first failure, not committed until Planner's board commit)
  • Branch naming: Strict task/T0.x format; Orchestrator expects this pattern
  • Dry-run vs real: T0.8 tests with --dry-run (no real push); T0.9 removes flag (real remote operations)
  • Temporal Web UI: Monitor at http://temporal.riotpiao.com:8080 (adjust port/host as needed)
  • E2E fixture: Disposable forgejo repo (deleted post-run); confirm it's not a production repo before starting T0.9