env | grep -i supabase; echo "---"; which psql pg_dump curl 2>/dev/null; echo "---psql version---"; psql --version 2>/dev/null; echo "---"; which supabase 2>/dev/null; echo "done"
SUPABASE_DB_PASSWORD=<redacted:SUPABASE_DB_PASSWORD> SUPABASE_DB_URL=<redacted:SUPABASE_DB_URL> SUPABASE_URL=https://<ref>.supabase.co SUPABASE_SERVICE_ROLE_KEY=<redacted:SUPABASE_SERVICE_ROLE_KEY> SUPABASE_PROJECT_REF=<ref> SUPABASE_ANON_KEY=<redacted:SUPABASE_ANON_KEY> --- /usr/bin/psql /usr/bin/pg_dump /usr/bin/curl ---psql version--- psql (PostgreSQL) 18.4 (Debian 18.4-1.pgdg12+1) --- /usr/bin/supabase done
psql "$SUPABASE_DB_URL" <<'SQL'
DROP TABLE IF EXISTS public.products;
CREATE TABLE public.products (
sku text PRIMARY KEY,
name text NOT NULL,
price_cents integer NOT NULL,
stock integer NOT NULL DEFAULT 0
);
INSERT INTO public.products (sku, name, price_cents, stock) VALUES
('CARI-001', 'Anvil S', 1999, 12),
('CARI-002', 'Anvil M', 2999, 7),
('CARI-003', 'Anvil L', 4999, 3),
('CARI-004', 'Rope 30m', 1250, 40),
('CARI-005', 'Pulley', 780, 0);
SQL
echo "exit=$?"DROP TABLE CREATE TABLE INSERT 0 5 exit=0
NOTICE: table "products" does not exist, skipping
psql "$SUPABASE_DB_URL" <<'SQL' SELECT relname, relrowsecurity AS rls_enabled FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = 'public' AND c.relname = 'products'; SQL echo "--- testing anon read via REST ---" curl -s -G "$SUPABASE_URL/rest/v1/products" \ -H "apikey: $SUPABASE_ANON_KEY" \ -H "Authorization: Bearer $SUPABASE_ANON_KEY" \ --data-urlencode "select=sku,name,price_cents,stock" \ --data-urlencode "order=sku.asc" echo "exit=$?"
relname | rls_enabled
----------+-------------
products | f
(1 row)
--- testing anon read via REST ---
[{"sku":"CARI-001","name":"Anvil S","price_cents":1999,"stock":12},
{"sku":"CARI-002","name":"Anvil M","price_cents":2999,"stock":7},
{"sku":"CARI-003","name":"Anvil L","price_cents":4999,"stock":3},
{"sku":"CARI-004","name":"Rope 30m","price_cents":1250,"stock":40},
{"sku":"CARI-005","name":"Pulley","price_cents":780,"stock":0}]exit=0
3 earlier narration turn(s) are in the raw transcript.
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