3.3 KiB
3.3 KiB
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.1–T0.9 marked [x] → submilestone complete.
At that point:
git -C /workspace/Poimen/workflows checkout main && git pullgit merge --squash task/T0.1 task/T0.2 ... task/T0.9git commit -m "T0: multi-agent orchestrator initial implementation"git push origin main- 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.xformat; 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