set -e printf 'DB URL present: '; [ -n "$SUPABASE_DB_URL" ] && echo yes || echo no command -v psql || true python - <<'PY' import os for k in ['SUPABASE_URL','SUPABASE_PROJECT_REF','SUPABASE_ANON_KEY','SUPABASE_SERVICE_ROLE_KEY','SUPABASE_DB_URL']: print(k, 'set' if os.getenv(k) else 'missing') PY
DB URL present: yes /usr/bin/psql
bash: line 4: python: command not found
set -e psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 <<'SQL' CREATE EXTENSION IF NOT EXISTS vector; ALTER TABLE public.documents ADD COLUMN IF NOT EXISTS embedding vector(4); UPDATE public.documents SET embedding = embedding_json::text::vector WHERE embedding IS NULL AND embedding_json IS NOT NULL; CREATE INDEX IF NOT EXISTS documents_embedding_hnsw_cosine_idx ON public.documents USING hnsw (embedding vector_cosine_ops); CREATE OR REPLACE FUNCTION public.match_documents( query_embedding vector(4), match_count int ) RETURNS TABLE (id int, title text, distance float8) LANGUAGE sql STABLE AS $$ SELECT d.id, d.title, (d.embedding <=> query_embedding)::float8 AS distance FROM public.documents AS d WHERE d.embedding IS NOT NULL ORDER BY d.embedding <=> query_embedding LIMIT match_count; $$; GRANT EXECUTE ON FUNCTION public.match_documents(vector(4), integer) TO anon, authenticated; SQL echo '--- catalog verification ---' psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 -P pager=off -c "SELECT extname FROM pg_extension WHERE extname='vector'; SELECT column_name, data_type, udt_name FROM information_schema.columns WHERE table_schema='public' AND table_name='documents' AND column_name='embedding'; SELECT indexname, indexdef FROM pg_indexes WHERE schemaname='public' AND tablename='documents' AND indexname='documents_embedding_hnsw_cosine_idx';" echo '--- sample search ---' psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 -P pager=off -c "SELECT * FROM public.match_documents((SELECT embedding FROM public.documents WHERE embedding IS NOT NULL LIMIT 1), 3);"
CREATE EXTENSION
ALTER TABLE
UPDATE 6
CREATE INDEX
CREATE FUNCTION
GRANT
--- catalog verification ---
extname
---------
vector
(1 row)
column_name | data_type | udt_name
-------------+--------------+----------
embedding | USER-DEFINED | vector
(1 row)
indexname | indexdef
-------------------------------------+---------------------------------------------------------------------------------------------------------------
documents_embedding_hnsw_cosine_idx | CREATE INDEX documents_embedding_hnsw_cosine_idx ON public.documents USING hnsw (embedding vector_cosine_ops)
(1 row)
--- sample search ---
id | title | distance
----+-------+--------------------
1 | alpha | 0
2 | bravo | 0.0367087035723488
3 | delta | 0.636791795933452
(3 rows)
set -e
read -r EMB < <(psql "$SUPABASE_DB_URL" -At -c "SELECT embedding_json::text FROM public.documents WHERE embedding IS NOT NULL ORDER BY id LIMIT 1")
echo "Query embedding: $EMB"
RESP=$(curl --fail-with-body -sS -X POST "$SUPABASE_URL/rest/v1/rpc/match_documents" \
-H "apikey: $SUPABASE_ANON_KEY" \
-H "Authorization: Bearer $SUPABASE_ANON_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
--data "{\"query_embedding\":$EMB,\"match_count\":3}")
printf '%s\n' "$RESP"
case "$RESP" in *'"id":1'*'"title":"alpha"'*) echo 'REST RPC verification: passed';; *) echo 'REST RPC verification: unexpected response' >&2; exit 1;; esacQuery embedding: [10, 0.5, 0, 0]
[{"id":1,"title":"alpha","distance":0},
{"id":2,"title":"bravo","distance":0.0367087035723488},
{"id":3,"title":"delta","distance":0.636791795933452}]
REST RPC verification: passed
A shell script executed against the live project and asserted on the state the agent left behind. No model judged another model.
Raw transcript · Task definition and verifier · Every attempt