chore(scripts): delete a seed script aimed at a database we retired - #30
Merged
Merged
Conversation
scripts/seed-roli-project.ts hardcoded https://ckpynkpsfnuqndplaapc.supabase.co — the managed-cloud project this app left when the fleet moved to the self-hosted Supabase on bitbaum. Nothing references it: no package.json script, no docs, no workflow. Deleting rather than repointing, because repointing is the dangerous option. The script also creates its client with no `db: { schema }`, so aimed at the box with a working service-role key it would write Roli's project rows into `public` — which is orangecat's schema, not printcraft's. A one-off seeding script for one customer's project is not worth carrying with that edge on it; git remembers it if the figures are ever needed again. Found by a fleet-wide sweep for hosted-Supabase references, prompted by botsmann serving PGRST205 for months because its docs described a hosted project that no longer existed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018waGt1ieA9TjpscqrbrnGb
catomean
added a commit
to bitbaum/fleet
that referenced
this pull request
Aug 28, 2026
The fleet self-hosts Supabase on bitbaum. Two managed-cloud projects are dead —
orangecat's ohkueislstxomdjavyhs, retired 2026-06, and botsmann's
jkjmhtirxwhljpkcfxqe before it. The repos kept describing them in the present
tense.
botsmann's setup doc opened with "Completed Setup" for its dead project and
said to apply migrations by pasting SQL into a supabase.com dashboard. Two
scripts printed the same instruction, one handing out a psql string against
pooler.supabase.com, and the CLI's cache with the old project ref was committed
twice. Nobody pasted anything, its eleven migrations were never applied, and
/api/health served PGRST205 for months while every deploy went green. The docs
were not stale clutter; they were the outage. A wrong pointer to a real-looking
place is worse than no pointer: no pointer makes someone ask, a plausible one
makes them assume it was handled.
The first live sweep found one more of the same shape, which is the argument
for auditing rather than trusting the cleanup: printcraft's seed script
hardcoded the retired host AND omitted `db: { schema }`, so repointing it
naively at the box would have written one customer's rows into orangecat's
`public`. Deleted in bitbaum/printcraft#30.
Central, not a copy per repo — the rule this repo exists to keep. Three repos
use Supabase and thirty do not. botsmann additionally keeps a local
check:selfhost in its own verify, deliberately: it is the repo the outage
happened in, and blocking the commit beats finding it a week later.
Two judgements decide whether this is useful or merely loud, and both are
pinned by 28 tests. It allows supabase.com/docs, because the product
documentation is still correct for us, and your-project.supabase.co, because a
placeholder misleads nobody — a gate that fires on either gets muted. And
legitimate mentions, like a decommission runbook naming what it
decommissioned, live in the baseline WITH A REASON rather than widening the
pattern: a ratchet that may fall or hold, never rise.
Unlike verify-floor-audit.sh this reads local checkouts, because it is a
full-text sweep and GitHub code search returns nothing for these repos — even a
known-present token finds no hit. So the workflow shallow-clones the fleet and
runs the same script unchanged. When it sweeps nothing it says SKIPPED, loudly,
rather than printing a tick: a vacuous pass reads exactly like coverage, which
is the failure this audit exists to prevent.
Claude-Session: https://claude.ai/code/session_018waGt1ieA9TjpscqrbrnGb
Co-authored-by: Mao Nakamoto <41178744+maonakamoto@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
scripts/seed-roli-project.tshardcodedhttps://ckpynkpsfnuqndplaapc.supabase.co— the managed-cloud project this app left when the fleet moved to self-hosted Supabase on bitbaum. Nothing references it: nopackage.jsonscript, no docs, no workflow.Deleting rather than repointing, because repointing is the dangerous option. The script builds its client with no
db: { schema }, so aimed at the box with a working service-role key it would write Roli's project rows intopublic— orangecat's schema, not printcraft's. A one-off seeding script for one customer's project isn't worth carrying with that edge on it; git remembers it if the figures are ever needed.Found by a fleet-wide sweep for hosted-Supabase references, prompted by botsmann serving
PGRST205for months because its docs described a hosted project that no longer existed (bitbaum/botsmann#143).npm run verifygreen.