3.4 KiB
| name | classification | success_metric | skip | status | created | model_policy | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| worker-closeout-docwriter | server-only | Epic 7 closes — draft PR opens for code + doc_review→published for docs, operator notes work mid-build, doc-writer examples ship, live E2E checklist is runnable without Cursor |
|
merged | 2026-08-25 |
|
Worker closeout + doc writers — closing Epic 7 for second-brain v0.1
Why
Second-brain v0.1 shipped harness-agnostic, Plans tree, Fleet. Epic 7 remains in_progress per plans/Plan-automation-foundation/Epic-apps-worker-v1/Epic-apps-worker-v1.md:23 — tool loop + checkpoints are done, but no draft PR via forge adapter blocks Epic 8 dogfood, and live E2E Task-worker-live-e2e-dogfood.md needs operator proof. Doc writers were asked to be included — this convoy adds role-doc-writer for SOPs/book research pipelines (docs that use doc_review→published without worktree).
See docs/decisions/2026-08-25-second-brain-os-pivot.md.
Scope
- Draft PR via forge
Task-worker-draft-pr.md— push branch if needed,createPullRequest(draft)on GitHub/Forgejo from worktree, persist URL to convoy, skip for non-implementer roles, handle bothpr_reviewanddoc_review(doc tasks publish without PR but still log). - Operator notes mid-build
Task-worker-operator-notes.md—convoy_operator_messagestable (workspace-scoped,queued|direct), tRPCpostOperatorNote/listOperatorNotes, worker poll between tool rounds, Mission control chat thread forin_progressconvoys. - Doc-writer examples —
role-doc-writerrouted via harness (usesdoc-writerharnessneedsWorktree:false), writes book/course research example underdocs/examples/research-pipeline.md+docs/templates/doc-sop.md, updatesdocs/worker.mdwith doc harness section. - Live E2E dogfood
Task-worker-live-e2e-dogfood.md— operator checklist doc (not code), provesGo → workerwithout Cursor; done only when checklist true on real Redis/Coolify.
Roles invoked
Conductor → Architect (3 briefs map to 3 tasks + doc example) → Implementer per brief (disjoint: draft PR, operator notes, doc-writer) → Doc-writer (parallel) → Reviewer.
Todos
- Brief 1 draft PR
- Brief 2 operator notes
- Brief 3 doc-writer examples + routing
- Brief 4 live E2E verification (ops doc, no code)
IA
Skipped (ia in skip). No new entities beyond convoy_operator_messages; harness_providers already exists from v0.1.
UX
Skipped (ux in skip). Reuses Mission control detail panel thread section + Gate co-pilot separation.
Architecture
- State machine:
doc_review→publishedalready addedpackages/shared/src/convoy-lifecycle/state-machine.ts:9— reuse. - Worker:
apps/worker/src/handle-job.ts:40already optional worktree — add PR call after success before teardown, branch namingechodo/<convoy>-<brief8>, markerechodo-convoy: <uuid>in body for Epic 8 webhook. - Operator notes: poll
convoy_operator_messageswheredelivered_at IS NULLeachcheckpointEveryNSteps; injectQueued note: ...into system prompt tail or prependDirect message: ....