Repository navigation
Description
Recorded decision: DIY backup api transport deliberately omits the Supabase platform schemas
Filed by Lane E (2026-11-07) while killing the backup schema-list trap at the source (#5695 / #6619), so the partial list is a recorded decision rather than a silent gap a future audit can misread.
Facts (verified against the actual 2026-11-06T10:47:11Z pgdump, parsed directly)
The dump contains 16 schemas with COPY tables. The backup config schemas list (now 12) covers every fleet-owned schema: public, agent, ci, ideas, ainventory, engineering, automation, finance, home, research, alerts, cron.
The four schemas NOT in the list are Supabase platform schemas. In the dump, every user-facing table in them is empty; the only nonzero tables are platform bookkeeping:
| schema | nonzero tables in dump | user tables |
|---|---|---|
| auth | auth.schema_migrations (82) | all 0 rows (users, sessions, identities, ...) |
| storage | storage.migrations (80) | all 0 rows (buckets, objects, ...) |
| realtime | realtime.schema_migrations (91) | subscription 0 rows |
| vault | (vault.secrets 0) | 0 rows |
Semantics (the part that was misread before)
- The
pgdumptransport ignores theschemaslist entirely (pg_dumpruns with no--schemaflag; full-database dumps) — platform schemas ARE in every pgdump backup regardless of the list. - The
apitransport (sandbox) filters its DDL/row/sequence exports by the list, so api-transport backups do not carry these four schemas. That is deliberate: they are platform-managed, hold no fleet data, and are left behind at decommission per the migration program disposition.
Decision
Keep the exclusion. If a future change ever needs api-transport coverage of a platform schema, amend the list and this record in the same pass — do not infer coverage from the list for pgdump backups, and do not treat the api list as the backup-coverage statement for the fleet.
Acceptance criteria
- This recorded decision stays the reference for backup schema coverage: the
apitransport list (12 fleet-owned schemas) deliberately excludes the Supabase platform schemas auth/storage/realtime/vault. - Any future change that needs api-transport coverage of a platform schema amends the list and this record in the same pass.
- No code change is required by this issue itself; it closes when the decision record is acknowledged in the backup/migration documentation it informs.
Activity
developing-today commentedon Nov 7, 2026
CODE-2184
dezren39 commentedon Nov 7, 2026
Intake review
meta/enrichedapplied.developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
opencode(§1b); handed off to the claimant.developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 8, 2026
Agent note — handed off (task 11433)
102 remaining items
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
opencode- handed off to the opencode claimant, which launches the bound opencode session; this lane does not work it directly.developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
opencodedeveloping-today commentedon Nov 8, 2026
🤖 Agent note · handed off (second handoff)
opencodeagain, so this task is handed off to the laptop opencode claimant a second time (previous handoff: earlier lane code-l shift, note 6726505483 on issue DIY backup api transport: platform schemas (auth/storage/realtime/vault) deliberately excluded — recorded decision #6935; the park expired without a bound session driving it).dezren39 commentedon Nov 8, 2026
🤖 Agent note · handed off
opencodedezren39 commentedon Nov 8, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
opencodedezren39 commentedon Nov 8, 2026
agent-note:v1 - task 11433 (queue repo-health-code-pilot), lane code-t - stage: handed_off - #6935 revalidated fresh via REST: open, no hard-stop labels. Execution lane opencode; handed off to laptop opencode claimant and parked 1200s. Next: claimant works task 11433 to terminal state.
developing-today commentedon Nov 8, 2026
🤖 Agent note · handed off
opencodedezren39 commentedon Nov 9, 2026
agent-note:v1 - task 11433 (queue repo-health-code-pilot), lane code-t - stage: handed_off - #6935 revalidated fresh via REST: open, no hard-stop labels. Execution lane opencode; handed off to laptop opencode claimant and parked 1200s. Next: claimant works task 11433 to terminal state.
developing-today commentedon Nov 9, 2026
🤖 Agent note · handed off
opencodedeveloping-today commentedon Nov 9, 2026
🤖 Agent note · handed off
opencodedezren39 commentedon Nov 9, 2026
agent-note:v1
task: 11433
lane: code-b
state: handed_off
summary: Claimed by lane code-b 2026-11-09T01:26Z; execution lane assignment is opencode. Issue #6935 verified OPEN fresh, no hard-stop labels; existing branch queue/11433-6935-diy-backup-api-transport and worktree ~/git/fleet/11433 noted from prior progress. Handing off per runbook 1b; parked 1200s. This was the 20th and final task of lane code-b's bundle this shift.
next: opencode claimant launches bound session for task 11433 (triage of #6935 DIY backup api transport schemas).
dezren39 commentedon Nov 9, 2026
🤖 Agent note · handed off
opencode- handed off to the opencode claimant, which launches the bound opencode session; this lane does not work it directly.dezren39 commentedon Nov 9, 2026
Triage verdict: CONFIRMED
Re-verified against current �[1morigin/main�[0m (a97c23c, 2026-11-08): �[1mdoc/fleet/queue-turso-cutover.md:358-363�[0m still records the four Supabase platform schemas (41 tables) as RETIRE with no fleet consumer; �[1mdoc/2026-10-11_design_atlas_scaler_revision/...:631�[0m carries the same disposition. The issue thread's pgdump-vs-api transport distinction is consistent: no code change is warranted.
The acceptance acknowledgment is still outstanding: �[1mdoc/backups/�[0m is absent from current main, and issue #5976 remains open for the backup docs migration (task 10506). Keep #6935 open until that migration lands and its backup docs cite this decision; then close #6935 pointing to the canonical documentation. No small_fix packet is appropriate for this decision-only triage.