• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / cli / 32831103028
62%
develop: 62%

Build:
Build:
LAST BUILD BRANCH: dependabot/docker/apps/cli-go/pkg/config/templates/docker-minor-e722515170
DEFAULT BRANCH: develop
Ran 25 Aug 2026 09:18AM UTC
Jobs 1
Files 95
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Aug 2026 09:16AM UTC coverage: 62.406%. Remained the same
32831103028

push

github

web-flow
docs(config): add ADR 0019 for raw API-response passthrough guardrails (#6310)

## What changed

Adds ADR 0019, recording the design guardrails for the `_apiResponse`
escape hatch on API-sourced config values in `@supabase/config` — the
raw `/v2/projects/{ref}/config` `data.attributes` object carried
alongside the typed mapping so package consumers can read API fields
added faster than the package publishes.

The five rules it records:

1. `_apiResponse?: Record<string, unknown>` — optional, present only on
API-sourced values; absence does not mean "fully mapped".
2. Lenient decode of the v2 attributes — unknown keys never fail; this
is the primary protection, `_apiResponse` is the access mechanism.
3. One metadata-key rule: `$`/`_`-prefixed keys are excluded from all
structural walks and encodes (extends the existing `$schema` precedent,
implemented once in the shared walk core from ADR 0018).
4. Never persisted — the raw response carries HMAC'd secret digests and
must not land in config files.
5. Fallback, not contract — typed fields win once a raw key graduates
into the mapping; unmapped-field discovery is a registry-derived helper,
not a second stored field.

## Why

Discussed 2026-08-24 in the context of publishing `@supabase/config` for
multiple consumers (CLI `config diff`/`pull`, Studio's config-drift work
in supabase/supabase#48906, which vendors a temporary schema mirror
explicitly awaiting this package). The Management API moves faster than
deliberate package releases; without a designed escape hatch the
package's cadence bottlenecks every service team's API velocity, and
without the guardrails a naive passthrough causes phantom drift in the
ADR 0018 subtraction walks and risks persisting secret digests.

Note: numbered 0019 because 0018 is taken by #6205 (currently in the
merge queue); the README index row may need a trivial rebase once
#6205's 0018 row lands.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

5571 of 8927 relevant lines covered (62.41%)

6.65 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32831103028.1 25 Aug 2026 09:18AM UTC 95
62.41
GitHub Action Run
Source Files on build 32831103028
  • Tree
  • List 95
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32831103028
  • 643b1828 on github
  • Prev Build on gh-readonly-queue/develop/pr-6203-12e8d11aba54e298173199a38f1ae251cb3ca782 (#32829842753)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc