- Draft PR via forge (apps/worker/src/git/pr.ts) push branch + createPullRequest draft with echodo-convoy marker, expose prUrl in Mission Control (convoy-service, convoys router, detail panel) - Operator notes mid-build: convoy_operator_messages (0016), tRPC post/list, worker poll between tool rounds (queued) and before generateText (direct), detail panel thread for in_progress - Doc-writer: harness doc-writer examples (docs/examples/research-pipeline.md), SOP template (docs/templates/doc-sop.md), role-doc-writer wiring Convoy: .convoys/worker-closeout-docwriter Co-authored-by: orchestrator
2.6 KiB
2.6 KiB
Live E2E Dogfood Checklist — Task-worker-live-e2e-dogfood.md (A1 verify)
This is the operator checklist for plans/Plan-automation-foundation/Epic-apps-worker-v1/Task-worker-live-e2e-dogfood.md. Mark the Task done only when every box below is true on your deploy (Coolify or local Redis).
Env (document names only, no secrets)
ORCHESTRATOR_DRY_RUN=0on orchestrator serviceWORKER_DRY_RUN=0on worker serviceREDIS_URLset on both (sameechodo:orchestrator:jobsqueue)DATABASE_URLechodoon both + web (migrations 0015+ applied)- Workspace has
model_providersalias +role_model_routes role-implementer → qwen-coderandharness_providers alias: minimal(ordoc-writerfor doc)
Steps
- Connected repo reachable from worker:
apps/workercangit clone/git pushtherepo_linksURL (or monorepo root whenWORKER_REPO_ROOTunset). - Create or reconcile convoy with implementer brief: either
Plans → Start → Convoyon areadyTask orcreate_convoy+create_briefvia MCPreconcile_from_files. - Advance to
ready(Gate 1human-gate-1approve ifconvoy_review). - Worker logs show
dequeuing job→claimed backlog=... run=...→tools=...→complete_task→role_completeconvoy_events.metadata.harnessAliaspresent. - Settings → Runs (
/[workspaceSlug]/settings/runs) shows row withmodel_alias+tokensTotalfor thatrunId. - Mission Control detail
apps/web/app/(app)/[workspaceSlug]/mission-control/page.tsx:12showsrole_completeevent within 5s (SSE/api/fleet/eventsor poll fallback). - (Preferred, after
Task-worker-draft-pr) Draft PR exists with markerechodo-convoy: <convoyId>consumable by Epic 8 webhook; for doc tasksdoc_review → publishedwithout PR butpublishedvisible.
Record
- Convoy slug:
- Run id (
agent_runs.id): harnessAlias/modelAlias:- PR url (if code):
Dry-run fallback still works
- With
DATABASE_URLmissing orREDIS_URLunset,pnpm --filter @tasks/worker devlogsDRY-RUN mode — dequeue loop idleand exits 0;ORCHESTRATOR_DRY_RUN=1logs dispatch without enqueue.
Not this task
- Forge webhooks (Epic 8) — verified separately
- New worker features — use sibling tasks
Links
- Task:
plans/Plan-automation-foundation/Epic-apps-worker-v1/Task-worker-live-e2e-dogfood.md - Convoy:
.convoys/worker-closeout-docwriter.md - Worker closeout context:
.convoys/worker-closeout-docwriter/brief-1-draft-pr-forge.md
Fill convoy slug + run id above, then flip Task status ready → done and exportBacklogItemToMarkdown will persist it.