Repository navigation
Open
Labels
epicMeta-issue grouping multiple items (org Project Type=Epic)Meta-issue grouping multiple items (org Project Type=Epic)source/creatorFiled by the new-issue-creator jobFiled by the new-issue-creator jobtask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Description
Long-term tracker: migrate the pm stack into Supabase and refactor its parts into schemas for central management
Drew asked for this as the long-term tracking issue (2026-10-31). The pm stack (aggregator, fleet feed, dashboard, orchestration, dispatch, usage hub) grew up as local files and laptop-local stores. The direction, proven piece by piece on 2026-10-31, is: state lives in Supabase (muse-dev2) in domain-appropriate schemas, components read/write the database, and local files become caches or exports — never the only copy.
Where things stand (verified 2026-10-31)
Already Supabase-backed:
- Repo-queue backend (recovered onto muse-dev2 in the 2026-10-30 cutover; see Fleet queue unreachable: Supabase PostgREST 503 PGRST002 (schema cache) + 522, 2026-10-30 ~09:19 CDT #2767/fleet(queue): queue control plane down - PostgREST 400 then 503 PGRST002 / 521, verbs after claim blocked #2768).
- Session mirror (agent schema mirror tables).
- Usage snapshots / usage hub collectors (feat(usage-hub): v2 Supabase usage collector — Management API scope + muse-dev metrics #1050, feat(usage-hub): v2 collectors — Modal credits (monthly read) + Bitwarden SM counts #1111).
- Domain event streams: ainventory, engineering, finance, research, automation, home — tasks append typed events; orchestration-pass began appending material changes to automation.events on 2026-10-31.
Still local-only:
- Orchestrator working state: orchestration.json / orchestrator-state.json / orchestrator-log.md (goal workspace hidden_files) — the dashboard reads these files.
- Aggregator actions store + comments store (laptop-local) — Drew's dashboard triage actions and comments.
- Fleet-feed JSON pipeline (collector -> scp -> laptop aggregator serving JSON files).
- Backlog markdown files the orchestrator reads (backlog-*.md in the goal workspace).
Scope (phased, each phase its own implementation issue)
- Orchestration state: move tier/classification state + run log to Supabase tables (automation schema or a dedicated pm schema); orchestration.json becomes a generated export for the dashboard contract (impl(aggregator): slice 2 — mobile, needs-Drew/needs-orchestrator tiers, time-granular roadmap, session clarity #898 shape preserved).
- Aggregator stores: actions + comments into Supabase with the same apply/result semantics (design+impl(aggregator): triage actions on /attention - acknowledge, snooze, escalate, answer - orchestrator-mediated #1152/impl(aggregator): 'request status change' action on project/board cards - orchestrator applies it as single writer #1154/impl(aggregator): session actions from /sessions and /attention - poke, answer, stop - keeper/orchestrator-mediated #1156 contracts preserved); the laptop aggregator reads/writes the DB.
- Feed pipeline: fleet-feed snapshots land as DB rows first; the served JSON is derived, not transported.
- Backlogs/queues: backlog state derived from DB + GitHub instead of hand-maintained markdown (markdown becomes a view).
- Central management: one schema map (pm-stack/SHARED-SCHEMA-MAP.md, with the migration plan at pm-stack/SHARED-SCHEMA-MIGRATION-PLAN.md), one place to inspect/pause/repair every component's state.
Non-goals / constraints
- No big-bang rewrite: each phase keeps the current file-based path working until the DB path is verified, then flips.
- Dashboard contracts (impl(aggregator): slice 2 — mobile, needs-Drew/needs-orchestrator tiers, time-granular roadmap, session clarity #898 orchestration shape, actions/comments semantics) do not change shape — only their backing store.
- Single-writer rules stay: orchestrator is the only writer to the GitHub Project; the same discipline applies per table.
- Secrets by name only; muse-dev2 is canonical (old muse-dev is dead; pointer audit tracked in Fleet tooling hardcoded the old Supabase project ref/URL — audit for remaining hardcodes #2796).
Related: #2767, #2768, #2796, #898, #899, #910, #2155.
Phase implementation issues (filed 2026-11-03, task 8438):
- Phase 1 (orchestration state): pm stack → Supabase phase 1 (#3142): orchestration state into Supabase tables, orchestration.json becomes a generated export #5005
- Phase 2 (aggregator stores / shared tables): pm stack: centralize all service data as shared tables in one database schema #1744 (pilot area aggregator(dashboard): comment API accepts self-asserted author identities — anyone can post as Drew into the orchestrator/GitHub flow (PR #920) #941)
- Phase 3 (feed pipeline DB-first): pm stack → Supabase phase 3 (#3142): fleet-feed snapshots land as DB rows first, served JSON derived #5006
- Phase 4 (backlogs as a view): pm stack → Supabase phase 4 (#3142): backlog state derived from DB + GitHub, markdown becomes a view #5007
- Phase 5 (central management surface): pm stack → Supabase phase 5 (#3142): central management surface — inspect / pause / repair every component's state #5008
Metadata
Metadata
Assignees
Labels
epicMeta-issue grouping multiple items (org Project Type=Epic)Meta-issue grouping multiple items (org Project Type=Epic)source/creatorFiled by the new-issue-creator jobFiled by the new-issue-creator jobtask/triageQueue packet kind: verify, reproduce, and route this itemQueue packet kind: verify, reproduce, and route this item
Activity
dezren39 commentedon Oct 31, 2026
Direction from Drew (2026-10-31, main chat, deciding #941): this migration starts NOW and starts in Supabase. Order of work:
No big-bang change; this note only fixes the starting point and the order: Supabase first, comments/actions + identity first, rest of the tables after.
1 remaining item
dezren39 commentedon Nov 3, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 3, 2026
🤖 Agent note · done
developing-today commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 30 (priority/none). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 4, 2026
🤖 Agent note · triaged
epic— Drew's long-term tracker (2026-10-31) for migrating the pm stack into Supabase. Task 8438 (lane code-e, today) already filed the phase implementation issues and indexed them in this issue's body: Phase 1 (orchestration state) pm stack → Supabase phase 1 (#3142): orchestration state into Supabase tables, orchestration.json becomes a generated export #5005, Phase 2 (aggregator stores) pm stack: centralize all service data as shared tables in one database schema #1744 with the aggregator(dashboard): comment API accepts self-asserted author identities — anyone can post as Drew into the orchestrator/GitHub flow (PR #920) #941 pilot area, Phase 3 (feed pipeline DB-first) pm stack → Supabase phase 3 (#3142): fleet-feed snapshots land as DB rows first, served JSON derived #5006, Phase 4 (backlogs as a view) pm stack → Supabase phase 4 (#3142): backlog state derived from DB + GitHub, markdown becomes a view #5007, Phase 5 (central management surface) pm stack → Supabase phase 5 (#3142): central management surface — inspect / pause / repair every component's state #5008. All five are OPEN (verified fresh this pass), each carrying its blocked-by/ordering notes and the migration-plan preconditions.