Repository navigation
test: blank-Supabase venue driver with an expected-failures gate (GIT-83) - #34
Merged
1 commit merged intoSep 21, 2026
Merged
1 commit merged into
1 commit merged into
Conversation
…-83) Drives the built MCP server over stdio against a Supabase project that has schema/setup.sql and nothing else: no edge functions, which is what every customer project looks like. Pro tier, with an isolated HOME and GITMEM_DIR per run. - flow: session_start -> list_threads -> recall -> confirm_scars (with relevance) -> create_thread -> list_threads -> session_close -> health. Seeds scars, a prior session and remote threads, plus a local threads.json that deliberately differs from the remote table. - egress: bytes received on cold and warm starts and around two session_starts (GIT-98). --usage N seeds scar usage so refresh_scar_behavioral_scores() has work to do. - blank-supabase-netlog.mjs is preloaded into the server and logs every fetch (method, path, status, body bytes). No request bodies or headers are logged. - Gate: exits 1 on any 4xx/5xx from /rest/v1/ or /functions/v1/ that is not on EXPECTED_FAILURES. Each entry names the ticket that removes it: GIT-73, GIT-105, GIT-106, GIT-84, GIT-97. - Credentials come only from a VENUE_ENV file outside the repo. Config problems exit 2 with a plain message. Production (cjptxyezuxdiinufgrrm), or any URL that is not https://<VENUE_REF>.supabase.co, is refused before any request. - Embeddings come from a local fake Ollama endpoint, so no embedding API key is needed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2 tasks
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.
Linear: GIT-83. Related: https://linear.app/nteg-labs/issue/GIT-97, https://linear.app/nteg-labs/issue/GIT-98, https://linear.app/nteg-labs/issue/GIT-84, https://linear.app/nteg-labs/issue/GIT-104
What
Adds the blank-Supabase venue driver used to verify #30, #31, GIT-104 and GIT-84. It runs the built server over stdio (Pro tier, isolated
HOMEandGITMEM_DIR) against a Supabase project that hasschema/setup.sqland nothing else: no edge functions, which is what every customer project looks like.flow:session_start→list_threads→recall→confirm_scars(with relevance) →create_thread→list_threads→session_close→health. It seeds scars, a prior session and remote threads, plus a localthreads.jsonthat deliberately differs from the remote table.egress: bytes received on cold and warm starts and around twosession_starts (GIT-98).--usage Nseeds scar usage sorefresh_scar_behavioral_scores()has work to do.blank-supabase-netlog.mjsis preloaded into the server with--importand logs every fetch: method, path, status and body bytes. It never logs request bodies or headers.Gate: unexpected failures fail the run
Exit 1 on any 4xx/5xx from
/rest/v1/or/functions/v1/that isn't onEXPECTED_FAILURES. Each entry names the ticket that removes it, so the list shrinks as fixes merge:POST gitmem_query_metrics409: metrics/session_start FK race (intermittent)POST knowledge_triples400: thread id into a uuid columnGET scar_enforcement_variants400:.activedoes not existscar_usage404: remove once GIT-84 mergesPOST /functions/v1/ww-mcp404: remove once #30 merges. Added beyond the original list: main makes these calls today, so without the entry the gate fails on main.d47a625): exit 0, all 6 failure kinds matched.GET gitmem_scar_usage?select=…scar_title…400, the analytics column drift GIT-84 surfaces. That's the gate working as intended.Safety
VENUE_ENVfile outside the repo. Nothing secret is committed.VENUE_ENVunset or missing, keys missing, bad mode, or no build.cjptxyezuxdiinufgrrm) is refused before any request, as is any URL that isn't exactlyhttps://<VENUE_REF>.supabase.co. Both cases were tested.Usage
Tests
npx tsc --noEmit -p .: no errors.npm run test:unit: 74 files / 1213 tests, unchanged. The driver is.mjsundertests/e2e/and isn't collected by any vitest config.🤖 Generated with Claude Code