Submatter/.convoys/second-brain-os-v01/brief-5-fleet-rollup.md
Randall Stillwell 6ccb060bea feat(second-brain): open self-hosted Obsidian for crews — harness-agnostic v0.1
- 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
2026-08-25 16:20:53 -05:00

2.1 KiB
Raw Permalink Blame History

brief convoy role title status priority slice_dependencies recommended_model model_tier
5 second-brain-os-v01 role-implementer Fleet rollup /fleet + SSE convoy_events feed ready P1
3
qwen-coder local

Brief 5 — Fleet rollup /fleet + SSE (3-4d) — Epic 9

Goal

echodo.stillwell.cloud/fleet shows all workspaces + connected_repos projects needing you — the "land and see everything" you asked for. Live convoy_events tail without refresh.

Files

  • apps/web/server/routers/convoys.ts:119 — add fleet procedure (no workspace arg, uses ctx.session.user.id to gather all workspaceMembers workspaces → listConvoyProjects across them, return byWorkspace, byStatus, gateInboxAcross). Reuse GATE_INBOX_STATUSES.
  • apps/web/app/(app)/fleet/page.tsx NEW — top Needs you list, grid byWorkspace cards, reuse ConvoyKanban apps/web/app/(app)/[workspaceSlug]/mission-control/page.tsx:12 + ConvoyDetailPanel but workspace-agnostic.
  • apps/web/app/api/fleet/events/route.ts NEW — SSE text/event-stream tailing convoy_events packages/database/src/schema/convoy_events.ts:1 filtered to user's workspaces, occurredAt desc 30 rows + live publish via pg_notify or polling 5s fallback (reuse orchestrator poll).
  • apps/web/components/fleet/fleet-activity-feed.tsx NEW — auto-append without refresh.

Acceptance

  • /fleet lists convoys from maya-workspace + studio-internal + bakery-coop together; Needs you shows × pr_review 2d count.
  • Clicking fleet card opens detail with correct workspaceSlug context for gateAction.
  • SSE feed shows role_complete event within 5s of worker logConvoyEvent apps/mcp-server/src/tools/log-convoy-event.ts.

Prompt

You are role-implementer brief 5. Read apps/web/server/routers/convoys.ts:173, apps/web/server/lib/convoy/convoy-service.ts, plans/Plan-automation-foundation/Epic-fleet-dashboard/Epic-fleet-dashboard.md, docs/decisions/2026-08-25-second-brain-os-pivot.md. Keep polling fallback simple, no Redis pubsub v1.

Depends

Brief 3 — needs harness field in events for display.