- MCP create-backlog-item for natural language Plan/Epic/Task authoring - Worker non-code: optional worktree + per-harness allowlist + doc_review→published - Harness registry: harness_providers/role_harness_routes, WorkerAdapter (minimal|crewai|langgraph|remote-ag-ui), AG-UI POST /api/ag-ui, Settings → Harnesses with Test - Plans tree: backlog.listTree + createPlan/Epic/Task + Start→Convoy, web CRUD without CLI - Fleet: /fleet rollup across workspaces + SSE /api/fleet/events Decision: docs/decisions/2026-08-25-second-brain-os-pivot.md Convoy: .convoys/second-brain-os-v01 Co-authored-by: orchestrator
2 KiB
2 KiB
| brief | convoy | role | title | status | priority | slice_dependencies | recommended_model | model_tier |
|---|---|---|---|---|---|---|---|---|
| 2 | second-brain-os-v01 | role-implementer | Worker non-code — optional worktree + per-harness allowlist + doc_review→published | ready | P0 | qwen-coder | local |
Brief 2 — Worker non-code (1d)
Goal
book/course/research/SOPs docs don't need git worktree or pnpm. Worker must handle doc tasks writing straight to docs//plans/ no branch, with allowlist per harness.
Files
apps/worker/src/git/worktree.ts:1— addneedsWorktree: booleanparam; when false skipensureWorktree, usemonorepoRootdirectly. Keep existing path for code briefsjob.briefIdpresent.apps/worker/src/tools/allowlist.ts:1— makeallowlistconfigurable per harnessharness.config.allowedCommands(orminimal: [read,write,grep]only). PassallowedCommandsintorunCommandTool.packages/shared/src/convoy-lifecycle/state-machine.ts:1— adddoc_review → publishedtransition (mirrorpr_review → merged), allowhuman-gate-2analoguedoc-approver.apps/worker/src/handle-job.ts:40— threadharness.needsWorktree+harness.allowlistthrough; logharnessAliastoconvoy_events.docs/worker.md:1document optional worktree.
Acceptance
Task-write-manifesto.md(doc task) withharness: doc-writercreatesdocs/manifesto.mdviawrite_filetool without worktree directory under/tmp/echodo-worker-worktrees.- Code task
Task-fix-lintstill creates worktree per prior behavior. transition_convoy_statusdoc_review → publishedsucceeds; existingpr_review → mergedstill works.pnpm lint && pnpm type-check && pnpm --filter @tasks/worker testpass.
Prompt
You are role-implementer brief 2. Read docs/convoy-lifecycle.md, packages/shared/src/convoy-lifecycle/state-machine.ts, apps/worker/src/handle-job.ts, docs/decisions/2026-08-25-second-brain-os-pivot.md. Implement small, gated.
Depends
None — can run in parallel with brief 1.