Supabase reliability validation

Stop having your customer
find your bugs.

Tomosu Engineering·July 2026·8 min read

Tomosu produced 114 reliability findings on a snapshot of the open-source Supabase repository. Fifty-nine of those corresponded to defect classes and code areas already represented by public GitHub issues — evidence that standing-code analysis can expose reliability risk before the next pull request happens.

What Tomosu is. Tomosu is the Production Reliability Governance layer: it evaluates standing code, weighs findings by blast radius, and applies risk-based policy at the merge gate.

Method
Whole-tree scan + issue correspondence
Baseline PRI
31 / 100
Status
Validation complete

What we tested

What we validated: Do Tomosu's reliability findings correspond to independently documented issues in Supabase's public issue history?

We scanned a fixed snapshot of the supabase/supabase repository, then compared each finding with public issues in the review dataset drawn from the project's GitHub issue tracker. A match required the same defect class in the same code area. That definition matters: we did not count similar user symptoms alone as proof of a match.

Unit scanned
One fixed repository snapshot
Unit compared
Finding ↔ public issue correspondence
Match rule
Same defect class and code area
Validated result
59 findings → 48 public issues
Production Reliability Governance

Continuously assess the standing codebase, measure the reach and criticality of each finding, and apply the right evidence and policy before a change reaches production.

What the validation produced

The scan returned 114 reliability findings. Fifty-nine corresponded to at least one public issue in the reviewed history. Because findings and issues form a many-to-many relationship, those 59 findings mapped to 48 distinct issues through 101 finding-to-issue links.

114
Scan output
reliability findings
59
Correspondence
findings matched to ≥1 public issue
48
Public record
distinct matched issues
34
Issue disposition
matched issues closed or resolved
Evidence pipeline from findings to resolved public issues One hundred fourteen findings split into fifty-nine with a public issue correspondence and fifty-five with no match found. The fifty-nine map to forty-eight distinct issues, thirty-four of which were closed or resolved. 114 FINDINGS 59 PUBLIC-ISSUE MATCH 55 NO MATCH FOUND 101 LINKS 48 DISTINCT ISSUES 34 71% CLOSED / RESOLVED
Figure 1. The 71% denominator is the 48 matched public issues: 34 were closed or resolved.
Do not overread the 55 unmatched findings

"No public match found" is not evidence that a finding is a new defect, nor that it is a false positive. Those candidates need independent engineering adjudication. The unmatched set cannot support a precision or recall claim.

The Tomosu dashboard: PRI 31 → 86

The baseline scan recorded a Production Reliability Index of 31/100 with all 114 recommendations pending. The second captured state shows all 114 recommendations accepted and a PRI of 86/100.

Repo description

A Supabase TypeScript/React monorepo containing Studio observability, realtime, storage, AI cron generation, common auth utilities, and PostgreSQL metadata tooling. It serves dashboard users and support teams who need reliable project operations, secure metadata access, and diagnosable failures across browser, Next.js, TanStack Router, and pg-meta packages.

Production Reliability Index before and after governance Baseline Production Reliability Index of 31 out of 100 with 114 recommendations pending, compared with a governed state of 86 out of 100 with all 114 recommendations accepted. BASELINE STATE 31 / 100 FI GC CV 29 29 40 114 recommendations pending ACCEPTED STATE 86 / 100 FI GC CV 81 100 40 all 114 recommendations accepted
Baseline PRI 31/100 (FI 29 · GC 29 · CV 40) moves to 86/100 (FI 81 · GC 100 · CV 40) once the 114 recommendations are accepted.
Recommendations by categoryTotalBaselineGoverned
Support Agent Readiness4545 pendingDone
Data Integrity3434 pendingDone
Exception Handling2525 pendingDone
Maintainability2121 pendingDone
Logging1919 pendingDone
User Facing Diagnostics1919 pendingDone
Reliability1818 pendingDone
Total114114 pending114 accepted

Critical finding: blast radius changes the engineering decision

Two three-line defects are not equivalent when one sits behind a shared SQL boundary and the other is isolated to a leaf component.

The Supabase analysis measured one SQL formatting/escaping boundary — the pg-format layer — as referenced across 372 files, with 822 raw SQL or escaping call sites in the scanned snapshot. A separate command-menu boundary had one consumer.

Comparison of a high-reach SQL boundary and a low-reach leaf boundary A shared SQL boundary on the left connects to many services and call sites. A leaf component on the right connects to one consumer. SHARED BOUNDARY pg-format SQL boundary 372 files · 822 call sites LEAF BOUNDARY command-menu boundary 1 consumer
Figure 2. Reach is not severity by itself, but it changes the amount of evidence and review a change should require.

The local code may look similar. The governance response should not. A change under a shared query or escaping boundary may warrant stronger tests, domain review, or a temporary block. A leaf change may pass with normal evidence.

The lines of code may look similar. The production risk does not.

Why findings and issue reports do not map one-to-one

A public issue describes an observed symptom. A standing-code finding describes a code-level condition. The mapping between them is often many-to-many.

One swallowed error can surface as a frozen interface, a rejected token, or a blocked sign-in. In the other direction, one broad report such as "failed to fetch permissions" can cover several independent validation, lookup, and error-propagation failures.

Many-to-many mapping between code findings and user-visible symptoms The left side shows one code condition connected to three symptoms. The right side shows several code conditions connected to one issue report. ONE CONDITION → MULTIPLE SYMPTOMS swallowed auth error code-level condition silent freeze token rejection blocked sign-in MULTIPLE CONDITIONS → ONE REPORT public issue broad symptom description
Figure 3. Matching should occur at defect class and code area — not by treating similar prose in two issue descriptions as proof.

This is why the study counts three different objects: findings, issues, and links. Collapsing them into a single "bug count" would make the result easier to market and less useful to engineers.

The harder failures are silent

The public reports that best explain the governance problem are not crashes. They are cases where the system continued to run while presenting or persisting the wrong result.

Supabase issue #46829

Cron editor corrupted headers containing commas or parentheses

Saving an edited job could silently rewrite the stored command even when only the schedule changed.

View on GitHub
Supabase issue #47015

Queue pagination hid messages sharing a timestamp

The interface stopped at 30 rows while additional messages still existed in the queue.

View on GitHub

These are reliability failures because the system violates an implicit guarantee without an obvious alarm. They are expensive in production: operators distrust the interface, support teams investigate inconsistent state, and engineers reconstruct the path from symptom back to code.

A system that keeps running can still be wrong. Production Reliability Governance must reason about violated guarantees, not only exceptions.

Public validation examples

The issue record independently documents the same affected code areas and defect classes surfaced by Tomosu.

The most unreliable feature

In the validated slice of Supabase issue history, cron was the most failure-concentrated feature.

6 of 15
Concentration
shipped fixes came from the cron subsystem
3
Repetition
merged fixes for one header-handling failure
3 months
Duration
before the repeated behavior held

Public reports included a cron editor that lost bodies and headers when values contained backslashes in issue #45674, followed by comma and parenthesis handling that silently rewrote stored headers in issue #46829.

Tomosu also found validation and recovery weaknesses in the same feature family at ai-commands/src/sql/cron.ts:8, pages/api/ai/sql/cron-v2.ts:30-34, and data/database-cron-jobs/database-cron-jobs.utils.ts:7-11. This is feature-level corroboration, not a claim that every finding shared the same root cause.

Repeated cron regressions raising the next merge decision Two cron regressions feed a policy update that increases cron criticality, which changes the requirements on the next change. REGRESSION 1 backslash values body + headers lost ISSUE #45674 REGRESSION 2 commas + parentheses stored headers rewritten ISSUE #46829 POLICY UPDATE cron criticality INCREASES repeat production evidence NEXT CHANGE named owner path test domain review REPEATED FAILURES CHANGE THE NEXT MERGE DECISION
Figure 4. The governance response to repeated production evidence is a higher future evidence bar, not a prescribed code patch.

After the second regression, cron should stop being treated as an ordinary feature.

Scope of the claim

"Most unreliable" describes the concentration observed in this validated issue slice. It is not a platform-wide ranking of every Supabase feature.

What the gate would have done

Tomosu governs the decision, not the code.

It would not tell Supabase how to rewrite the parser. It would turn the scan evidence and repeated production history into a higher bar while the next cron change was still holdable.

The published scan provides a repository PRI of 31/100, not a separate per-finding PRI. The defensible policy action is to raise cron's feature criticality after repeated regressions and require stronger evidence on the next change.

A recommendation resolved into a decision at the merge gate Scan evidence and repository PRI context feed a gate decision to hold the change, which determines whether risk is accepted or blocked before production. 1 · SCAN EVIDENCE cron.ts:8 cron-v2.ts:30-34 input validation family 2 · PRI CONTEXT 31 / 100 repository baseline repeat history raises criticality 3 · GATE DECISION HOLD named owner path regression test domain review · before merge 4 · WHAT CHANGES risk is accepted or blocked on purpose, before production A RECOMMENDATION IS A DECISION AT A CONTROL BOUNDARY
Figure 5. Tomosu's recommendation is the evidence and policy required at the gate, not instructions for rewriting Supabase code.
Why it matters

Every one of these was a deliberate decision that nobody got to make, because nothing surfaced the risk while the change was still holdable.

Why this is Production Reliability Governance — not another scanner

A pull-request reviewer evaluates a proposed change. A whole-tree scan evaluates standing code. Neither scope subsumes the other.

Latent reliability conditions can remain in already-merged code until a user hits a path, a dependency changes, or a later pull request changes the surrounding assumptions. This does not prove that a reviewer "missed" the condition. It may never have been inside the reviewed diff.

Diff-time review compared with whole-tree reliability analysis A timeline of merged changes contains several latent conditions. Diff review focuses on the current change, while whole-tree analysis covers the standing repository. CURRENT DIFF WHOLE STANDING TREE latent reliability condition
Figure 6. Diff review asks whether the current change is acceptable. Whole-tree analysis asks what risk already exists and how the current change alters it.

Production Reliability Governance starts when those signals change a decision. A finding is not a control. A score is not a control. Governance needs an explicit policy at a boundary where the organization can still request evidence, route review, or stop progression.

The Production Reliability Governance loop

The scan is useful because it creates a baseline. The control appears when that baseline follows every change from code through production.

Software reliability governance loop A repository baseline feeds change analysis, then a policy gate, deployment, and runtime evidence. Runtime evidence feeds back into the baseline. STANDING CODE baseline risk + reach PROPOSED CHANGE delta what moves? POLICY BOUNDARY merge gate allow · review evidence · block PRODUCTION runtime observed behavior RUNTIME EVIDENCE UPDATES THE NEXT DECISION
Figure 7. Governance connects a repository baseline, change-level analysis, an enforceable policy boundary, and runtime evidence.

The Production Reliability Index summarizes that posture for decision-making. It is not a bug count. It measures whether the standing codebase and the changes entering it satisfy the organization's production reliability expectations.

The question is not "Did the scanner find something?" It is "What evidence should this change require before it reaches production?"


Govern production reliability — not just a code diff. A reliability signal becomes valuable when it changes the evidence required at merge, and when production outcomes improve the next engineering decision. The full validation ran against the open-source supabase/supabase repository.

Discuss the validation →  ·  Questions: contact@tomosu.ai