- Forge webhook POST /api/webhooks/forge HMAC sha256 verify, marker echodo-convoy → pr_review→merged as automation - Completion artifacts table 0017, deterministic summary template, gallery /artifacts - Ops copilot tRPC copilot + context tools (fleet, convoy, backlog) + panel + Draft Task → backlog.createTask - Doc-writer SOPs: webhook rotation, copilot prompt, published flow examples - Allow pr_review→merged as automation for webhook Convoy: .convoys/owner-cockpit-v02 Co-authored-by: orchestrator
3.2 KiB
3.2 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. - (Epic 8 — forge webhook) Merge PR triggers
POST /api/webhooks/forgewithX-Hub-Signature-256/X-Forgejo-SignatureHMACFORGE_WEBHOOK_SECRET→ convoypr_review→merged(automation,convoy_eventsstatus_change) and Mission Control showsmergedwithin 5s; invalid signature returns 401, missing marker returns 200 no-op.
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
Docs
- Webhook rotation:
docs/operations/webhook-secret-rotation.md - Copilot prompts (gate + ops):
docs/copilot-prompt.md - SOP published flow:
docs/examples/sop-published-flow.md
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.