- 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.1 KiB
2.1 KiB
| brief | convoy | role | title | status | priority | slice_dependencies | recommended_model | model_tier | workspace_id |
|---|---|---|---|---|---|---|---|---|---|
| 1 | second-brain-os-v01 | role-implementer | MCP create-backlog-item tool for natural language Plan/Epic/Task authoring | ready | P0 | qwen-coder | local | global |
Brief 1 — MCP create-backlog-item (0.5d)
Goal
Any agent (OpenCode/Cursor/Codex) via MCP can say "create an Epic for offline mode with 3 tasks" and it writes plans/Plan-*/Epic-*/Task-*.md + re-imports to markdown_backlog_items packages/database/src/markdown-backlog/sync.ts:38.
Files
apps/mcp-server/src/tools/create-backlog-item.tsNEW — zod schemakind: plan|epic|task,slug,title,planSlug,epicSlug,status,priority,bodyMarkdown,agent_prompt; validates frontmatter perdocs/templates/, writes file viaexportBacklogItemToMarkdowninverse, callssyncMarkdownBacklogScanor direct DB insert +contentHashpackages/database/src/markdown-backlog/parse.ts:1.apps/mcp-server/src/tools/index.tsregisterpackages/database/src/markdown-backlog/parse.test.tsadd case
Acceptance
mcp call create-backlog-item {workspace:"maya-workspace", kind:"task", slug:"research-prompt", planSlug:"clarity", epicSlug:"ai-tags", title:"Research prompt", bodyMarkdown:"..."}createsplans/Plan-clarity/Epic-ai-tags/Task-research-prompt.mdwith YAML frontmatter + body, row appears inmarkdown_backlog_itemswithout manualpnpm import.- Duplicate slug under same epic → error
CONFLICT. pnpm lint && pnpm type-check && pnpm --filter @tasks/mcp-server test(if exists) pass;apps/mcp-serverstill builds Docker.
Prompt for implementer
You are role-implementer for second-brain-os-v01 brief 1. Read docs/decisions/2026-08-25-second-brain-os-pivot.md, packages/database/src/markdown-backlog/parse.ts, apps/mcp-server/src/tools/claim-task.ts:1 as reference. Implement exactly this brief, keep changes small, run pnpm lint && pnpm type-check.
Dogfood
claim_task on the matching plans/Plan-automation-foundation/.../Task-*.md if exists (or ad-hoc) → complete_task outcome:succeeded tokensTotal:... modelAlias:qwen-coder.