set -eu
command -v psql
[ -n "${SUPABASE_DB_URL:-}" ] && echo DB_URL_SET || echo DB_URL_MISSING
[ -n "${SUPABASE_URL:-}" ] && echo URL_SET || echo URL_MISSING
[ -n "${SUPABASE_ANON_KEY:-}" ] && echo ANON_SET || echo ANON_MISSING/usr/bin/psql DB_URL_SET URL_SET ANON_SET
psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 -Atc "select tablename from pg_tables where schemaname='public' order by 1;"
cat > /tmp/schema.sql <<'SQL'
BEGIN;
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE TABLE public.authors (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
name text NOT NULL,
email text NOT NULL UNIQUE
);
CREATE TABLE public.courses (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
author_id uuid NOT NULL REFERENCES public.authors(id),
title text NOT NULL,
price_cents integer NOT NULL CHECK (price_cents >= 0),
published boolean NOT NULL DEFAULT false,
created_at timestamptz NOT NULL DEFAULT now()
);
CREATE TABLE public.enrollments (
id bigint GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
course_id uuid NOT NULL REFERENCES public.courses(id) ON DELETE CASCADE,
student_email text NOT NULL,
enrolled_at timestamptz NOT NULL DEFAULT now(),
UNIQUE (course_id, student_email)
);
CREATE INDEX courses_author_id_idx ON public.courses (author_id);
CREATE INDEX enrollments_student_email_idx ON public.enrollments (student_email);
GRANT USAGE ON SCHEMA public TO anon, authenticated;
GRANT SELECT ON public.authors, public.courses, public.enrollments TO anon, authenticated;
GRANT ALL ON public.authors, public.courses, public.enrollments TO service_role;
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO service_role;
-- Ask PostgREST to refresh its schema cache immediately.
NOTIFY pgrst, 'reload schema';
COMMIT;
SQL
psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 -f /tmp/schema.sql
sleep 2
curl -fsS -D /tmp/headers -o /tmp/body "$SUPABASE_URL/rest/v1/courses?select=*" -H "apikey: $SUPABASE_ANON_KEY" -H "Authorization: Bearer $SUPABASE_ANON_KEY"
printf '\nHTTP: '; awk 'NR==1{print $2}' /tmp/headers
cat /tmp/body
BEGIN CREATE EXTENSION CREATE TABLE CREATE TABLE CREATE TABLE CREATE INDEX CREATE INDEX GRANT GRANT GRANT GRANT NOTIFY COMMIT HTTP: 200 []
psql:/tmp/schema.sql:2: NOTICE: extension "pgcrypto" already exists, skipping
psql "$SUPABASE_DB_URL" -v ON_ERROR_STOP=1 -x <<'SQL' SELECT c.relname AS table_name FROM pg_class c JOIN pg_namespace n ON n.oid=c.relnamespace WHERE n.nspname='public' AND c.relkind='r' ORDER BY c.relname; SELECT indexname, tablename, indexdef FROM pg_indexes WHERE schemaname='public' ORDER BY tablename,indexname; SQL
-[ RECORD 1 ]----------- table_name | authors -[ RECORD 2 ]----------- table_name | courses -[ RECORD 3 ]----------- table_name | enrollments -[ RECORD 1 ]----------------------------------------------------------------------------------------------------------------------- indexname | authors_email_key tablename | authors indexdef | CREATE UNIQUE INDEX authors_email_key ON public.authors USING btree (email) -[ RECORD 2 ]----------------------------------------------------------------------------------------------------------------------- indexname | authors_pkey tablename | authors indexdef | CREATE UNIQUE INDEX authors_pkey ON public.authors USING btree (id) -[ RECORD 3 ]----------------------------------------------------------------------------------------------------------------------- indexname | courses_author_id_idx tablename | courses indexdef | CREATE INDEX courses_author_id_idx ON public.courses USING btree (author_id) -[ RECORD 4 ]----------------------------------------------------------------------------------------------------------------------- indexname | courses_pkey tablename | courses indexdef | CREATE UNIQUE INDEX courses_pkey ON public.courses USING btree (id) -[ RECORD 5 ]----------------------------------------------------------------------------------------------------------------------- indexname | enrollments_course_id_student_email_key tablename | enrollments indexdef | CREATE UNIQUE INDEX enrollments_course_id_student_email_key ON public.enrollments USING btree (course_id, student_email) -[ RECORD 6 ]----------------------------------------------------------------------------------------------------------------------- indexname | enrollments_pkey tablename | enrollments indexdef | CREATE UNIQUE INDEX enrollments_pkey ON public.enrollments USING btree (id) -[ RECORD 7 ]----------------------------------------------------------------------------------------------------------------------- indexname | enrollments_student_email_idx tablename | enrollments indexdef | CREATE INDEX enrollments_student_email_idx ON public.enrollments USING btree (student_email)
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