Submatter/.convoys/owner-cockpit-v02/brief-2-completion-artifacts.md
Randall Stillwell 6f139d6af2 feat(owner-cockpit): forge webhooks + artifacts + copilot (Epic 8/11/12)
- 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
2026-08-25 17:49:38 -05:00

1.9 KiB

brief convoy role title status priority slice_dependencies recommended_model model_tier
2 owner-cockpit-v02 role-implementer Owner completion artifacts — summary + gallery ready P1
qwen-coder local

Brief 2 — Epic-owner-completion-artifacts (Epic 11)

Goal

When merged/published → released (human-gate-3), generate completion summary markdown + optional screenshot placeholder, list in gallery for owner review. No browser automation v1 — screenshot is upload placeholder.

Files

  • packages/database/src/schema/completion_artifacts.ts NEW — id uuid PK, workspace_id fk, convoy_id fk objects.id, summary_md text, screenshot_url text nullable, created_by fk users, created_at. Or reuse objects content.completionSummary — pick minimal table for gallery query.
  • apps/web/server/routers/convoys.ts — add complete mutation (doc_review→published→released or pr_review→merged→released) that writes artifact + transitions released as human-gate-3; listArtifacts query for gallery.
  • apps/web/app/(app)/[workspaceSlug]/artifacts/page.tsx NEW — gallery grid, click → detail with summary + PR link + convoy timeline (convoy_events).
  • packages/shared/src/worker — generate summary template: ## Summary\nConvoy ${slug} ${classification} — ${successMetric}\nBriefs: ...\nModel: ... Harness: ....

Acceptance

  • Completing doc_review→published→released creates artifact row visible in /artifacts; screenshot upload placeholder shows.
  • pnpm lint && pnpm type-check pass.

Prompt

You are role-implementer brief 2. Read plans/Plan-automation-foundation/Epic-owner-completion-artifacts/Epic-owner-completion-artifacts.md, packages/shared/src/convoy-lifecycle/state-machine.ts:122, apps/web/server/routers/convoys.ts:237. Keep artifact generation deterministic, no LLM call v1 (template only).

Depends

None — disjoint from webhooks.