Repository navigation
Open
Labels
app/pm-stackpm-stack (Pad/Grist) in developing-today/codepm-stack (Pad/Grist) in developing-today/codeeffort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/enhancementmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)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
Phase 3 of epic #3142: fleet-feed pipeline DB-first
Part of epic #3142 (Long-term: migrate the pm stack into Supabase). This is the implementation issue for phase 3; phases 1, 4 and 5 are filed separately, and phase 2 already has implementation issues (#1744, with #941 in its area).
Scope
- Fleet-feed snapshots land as Supabase rows first; the JSON the aggregator serves is derived from the DB, not transported file-to-file (retire the collector -> scp -> laptop-aggregator JSON-file pipeline as the source of truth).
- Served JSON shape does not change — only its backing store.
- Keep the current file pipeline working until the DB path is verified, then flip (no big-bang).
Dependencies / blocked-by
- Blocked by the merged migration plan preconditions in
pm-stack/SHARED-SCHEMA-MIGRATION-PLAN.md(PR pm-stack: per-service migration plan for the shared schema (#1744 slice 2) #4881): P0 — pmp_links backup legs in place and P1 — target schema vetted againstpm-stack/SHARED-SCHEMA-MAP.md(PR docs(pm-stack): shared-schema inventory + schema map, slice 1 of #1744 #4692). - Ordering: follows the shared-table conventions established by phase 2 (pm stack: centralize all service data as shared tables in one database schema #1744); can proceed in parallel with phase 1 once P0/P1 hold, but the feed table design is reviewed against pm stack: centralize all service data as shared tables in one database schema #1744 first.
Done check
- A feed snapshot is written to Supabase by the collector and the aggregator serves JSON derived from those rows; removing the transported JSON files does not change what the dashboard shows.
Acceptance criteria
- The phase's "Done check" in the body above is met and demonstrated against live state (not just code-merged): the before/after behavior is shown on the running pm stack.
- The migration plan preconditions the body names (P0 — pmp_links backup legs in place; P1 — target schema vetted against
pm-stack/SHARED-SCHEMA-MAP.md) are verified in place before the flip, and the verification is recorded on this issue. - The file-based path keeps working until the DB path is verified; the flip is reversible and no big-bang cutover is required.
Metadata
Metadata
Assignees
Labels
app/pm-stackpm-stack (Pad/Grist) in developing-today/codepm-stack (Pad/Grist) in developing-today/codeeffort/lLarge: multi-day or open-ended; expect staged check-insLarge: multi-day or open-ended; expect staged check-inskind/enhancementmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedIntake review done: acceptance criteria, links, and normalized labels addedpriority/normalOrdinary priority (the default)Ordinary priority (the default)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
developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 8574 (triage, queued, priority 40) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
dezren39 commentedon Nov 3, 2026
Intake review
Fleet monitor intake (Duty 2), 2026-11-03. (Posted on a delayed retry: the original comment attempts were rejected by a GitHub secondary rate limit; the label/body enrichment itself landed during the run.)
pm-stack/SHARED-SCHEMA-MIGRATION-PLAN.md(PR pm-stack: per-service migration plan for the shared schema (#1744 slice 2) #4881) andpm-stack/SHARED-SCHEMA-MAP.md(PR docs(pm-stack): shared-schema inventory + schema map, slice 1 of #1744 #4692).6 remaining items
dezren39 commentedon Nov 4, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 4, 2026
agent-note:v1
state: picked_up (task 8574)
dezren39 commentedon Nov 4, 2026
agent-note:v1
state: triaged (task 8574)
pm-stack/SHARED-SCHEMA-MAP.mdsays the archive manifest omitsprojector.db/apmp_linksexport;nixos/home/pm-dashboard-backup.sh's explicit manifest lists aggregator files only. P1 is also unverified live: merged docs do not prove themuse-dev2table groups exist or settle the projectorpmp_*location.pmp_linksbackup export on local, R2, and Drive legs; verify the target schema/location; review feed-table design against phase 2 (pm stack: centralize all service data as shared tables in one database schema #1744); then migrate incrementally, keeping the file path until live behavior is proven and the flip is reversible. Keep pm stack → Supabase phase 3 (#3142): fleet-feed snapshots land as DB rows first, served JSON derived #5006 open; no competing PR or implementation started.dezren39 commentedon Nov 4, 2026
agent-note:v1
state: done (triaged; task 8574)