set -euo pipefail
umask 077
workdir=$(mktemp -d /tmp/payments-drill.XXXXXX)
printf '%s' "$workdir" > /tmp/payments_drill_workdir
export PGPASSWORD="$SUPABASE_DB_PASSWORD"
psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -Atc "SELECT current_database(), to_regclass('public.payments'), (SELECT count(*) FROM public.payments);"
pg_dump "$SUPABASE_DB_URL" --format=custom --file="$workdir/payments_preincident.dump" --table=public.payments --no-owner --no-privileges
pg_restore --list "$workdir/payments_preincident.dump" > "$workdir/archive.list"
test -s "$workdir/payments_preincident.dump"
grep -E 'TABLE DATA public payments|TABLE public payments' "$workdir/archive.list"
sha256sum "$workdir/payments_preincident.dump" | tee "$workdir/payments_preincident.dump.sha256"postgres|payments|80 275; 1259 21351 TABLE public payments postgres 3702; 0 21351 TABLE DATA public payments postgres 6ba0f762428208b2ff60a66af00fbd4e0807c0ad24fdb567533fa85525d08c3d /tmp/payments-drill.Kal9Op/payments_preincident.dump
set -euo pipefail export PGPASSWORD="$SUPABASE_DB_PASSWORD" workdir=$(cat /tmp/payments_drill_workdir) # Trigger the required incident only after the verified backup exists. psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -c "SELECT public.run_incident();" # Capture post-incident count for the drill record, without modifying anything. psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -Atc "SELECT count(*) FROM public.payments; SELECT count(*) FROM public.incident_log;" | tee "$workdir/post_incident_counts.txt" cat "$workdir/archive.list"
run_incident ------------------- incident executed (1 row) 54 1 ; ; Archive created at 2026-07-24 05:34:42 UTC ; dbname: postgres ; TOC Entries: 9 ; Compression: gzip ; Dump Version: 1.16-0 ; Format: CUSTOM ; Integer: 4 bytes ; Offset: 8 bytes ; Dumped from database version: 17.6 ; Dumped by pg_dump version: 18.4 (Debian 18.4-1.pgdg12+1) ; ; ; Selected TOC Entries: ; 275; 1259 21351 TABLE public payments postgres 3702; 0 21351 TABLE DATA public payments postgres 3552; 2606 21357 CONSTRAINT public payments payments_pkey postgres
set -euo pipefail
umask 077
export PGPASSWORD="$SUPABASE_DB_PASSWORD"
workdir=$(cat /tmp/payments_drill_workdir)
{
printf '%s\n' 'BEGIN;' 'TRUNCATE TABLE ONLY public.payments;'
pg_restore --data-only --table=public.payments --no-owner --no-privileges --file=- "$workdir/payments_preincident.dump"
printf '%s\n' 'COMMIT;'
} > "$workdir/restore_payments.sql"
psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -f "$workdir/restore_payments.sql"
psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -Atc "SELECT 'payments_rows=' || count(*) FROM public.payments; SELECT 'incident_log_rows=' || count(*) FROM public.incident_log;"BEGIN TRUNCATE TABLE SET SET SET SET SET SET set_config ------------ (1 row) SET SET SET SET COMMIT payments_rows=0 incident_log_rows=1
set -euo pipefail workdir=$(cat /tmp/payments_drill_workdir) wc -l -c "$workdir/restore_payments.sql" pg_restore --data-only --no-owner --no-privileges --file=- "$workdir/payments_preincident.dump" | sed -n '1,160p'
30 747 /tmp/payments-drill.Kal9Op/restore_payments.sql
--
-- PostgreSQL database dump
--
\restrict na3kJg1cD9n005dyuPTZZ9eXeTNsLBFlFa7lh4dAqduUpsoiNyQ78qnulEpMGSi
-- Dumped from database version 17.6
-- Dumped by pg_dump version 18.4 (Debian 18.4-1.pgdg12+1)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET transaction_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Data for Name: payments; Type: TABLE DATA; Schema: public; Owner: -
--
COPY public.payments (id, ref_code, payer, amount_cents, paid_at) FROM stdin;
1 6C8935605030 Payer-caffc0dc43 30036 2026-03-01 00:07:00+00
2 300351D74397 Payer-b964e8caa9 101426 2026-03-01 00:14:00+00
3 381DA59BBE42 Payer-77e253b14e 484618 2026-03-01 00:21:00+00
4 FD441D715532 Payer-e8610229a5 470397 2026-03-01 00:28:00+00
5 49C2E5E745B1 Payer-9719c24260 193265 2026-03-01 00:35:00+00
6 FDA6F1943C21 Payer-80f12414fe 383921 2026-03-01 00:42:00+00
7 E4006BBC4247 Payer-05dbd81397 47773 2026-03-01 00:49:00+00
8 8FEFA9775A21 Payer-c43fd8a50e 116641 2026-03-01 00:56:00+00
9 7CF31656D71E Payer-bd8ac6d1b5 193742 2026-03-01 01:03:00+00
10 2F8A7EDC2906 Payer-8e377912d3 495319 2026-03-01 01:10:00+00
11 ACE39DAE0D04 Payer-273a0a0010 268882 2026-03-01 01:17:00+00
12 5E100B2AA9FF Payer-afee0ee939 432409 2026-03-01 01:24:00+00
13 1BBA1EC387AC Payer-fe941e25ca 192053 2026-03-01 01:31:00+00
14 00AE2E1DE23E Payer-93601db9cc 427814 2026-03-01 01:38:00+00
15 52061F4B1EB5 Payer-98a46a3d1f 78408 2026-03-01 01:45:00+00
16 0597DD99FE06 Payer-ca2c6c72ea 459772 2026-03-01 01:52:00+00
17 79F98F498E14 Payer-e3fbcf73a2 296955 2026-03-01 01:59:00+00
18 3FFE518E6A3D Payer-2e6dfd274a 19620 2026-03-01 02:06:00+00
19 C2D4CDFCA7CB Payer-1c605e1bc0 28248 2026-03-01 02:13:00+00
20 E032E20D0E46 Payer-bc62b8f37a 405312 2026-03-01 02:20:00+00
21 03CE8EC1DE12 Payer-2f0b178dc2 445418 2026-03-01 02:27:00+00
22 463EA62E0F54 Payer-eaeb61b0ad 293376 2026-03-01 02:34:00+00
23 0F47C3B0B99B Payer-5d6f524232 485182 2026-03-01 02:41:00+00
24 9A0B6CDD9AFF Payer-9cdf9068d6 440984 2026-03-01 02:48:00+00
25 142EC67787BA Payer-6baf6ad74e 149191 2026-03-01 02:55:00+00
26 C4BE220CDCDA Payer-f557395287 83340 2026-03-01 03:02:00+00
27 270B845CB0B9 Payer-085233bf73 246449 2026-03-01 03:09:00+00
28 BA3BE4175734 Payer-7ceb25f063 336773 2026-03-01 03:16:00+00
29 EEDE864A2923 Payer-3a2eb22efb 317005 2026-03-01 03:23:00+00
30 6A6C1EA42E70 Payer-8132a1f2de 454857 2026-03-01 03:30:00+00
31 C91AC7A7C847 Payer-118f3ed018 289098 2026-03-01 03:37:00+00
32 7526B67077AA Payer-cccec73c9b 410151 2026-03-01 03:44:00+00
33 A14AFA67895E Payer-9f6d9f4b4b 137355 2026-03-01 03:51:00+00
34 D0AE15D6F327 Payer-57c29c035b 253111 2026-03-01 03:58:00+00
35 A8ED6D6F15D8 Payer-bc20526715 434838 2026-03-01 04:05:00+00
36 7D6DE3CF466C Payer-1fcb6af9b6 207142 2026-03-01 04:12:00+00
37 41CD36BEFB34 Payer-b6fa97617a 379424 2026-03-01 04:19:00+00
38 3AD0D915197D Payer-34dd99576a 495686 2026-03-01 04:26:00+00
39 BE727FDBED96 Payer-27280e2f3a 110659 2026-03-01 04:33:00+00
40 3E1DD4E6A86D Payer-2c91fc5391 159879 2026-03-01 04:40:00+00
41 92D4423D27CC Payer-bc9c75070c 111317 2026-03-01 04:47:00+00
42 4365BC8E371F Payer-2850623f99 49580 2026-03-01 04:54:00+00
43 2E16E951F327 Payer-7f5c50c1b5 152155 2026-03-01 05:01:00+00
44 E724ED39EC82 Payer-f22131bf5d 245285 2026-03-01 05:08:00+00
45 0D44122C2204 Payer-0167b501d7 171498 2026-03-01 05:15:00+00
46 4A8FC6AC34E1 Payer-fcbf2fd56c 107216 2026-03-01 05:22:00+00
47 3C7484F46997 Payer-c81ad346ec 426159 2026-03-01 05:29:00+00
48 0CE950554D95 Payer-b19ca20fc2 455078 2026-03-01 05:36:00+00
49 CE9E62ED1AA2 Payer-d8e9977640 102284 2026-03-01 05:43:00+00
50 B37134071BF2 Payer-01bbf26472 145387 2026-03-01 05:50:00+00
51 872927454054 Payer-4f098fcd96 481375 2026-03-01 05:57:00+00
52 9C98AED4783A Pset -euo pipefail
umask 077
export PGPASSWORD="$SUPABASE_DB_PASSWORD"
workdir=$(cat /tmp/payments_drill_workdir)
{
printf '%s\n' 'BEGIN;' 'TRUNCATE TABLE ONLY public.payments;'
pg_restore --data-only --no-owner --no-privileges --file=- "$workdir/payments_preincident.dump"
printf '%s\n' 'COMMIT;'
} > "$workdir/restore_payments_corrected.sql"
grep -q '^COPY public\.payments ' "$workdir/restore_payments_corrected.sql"
rows_in_copy=$(awk '/^COPY public\.payments /{in_copy=1; next} in_copy && /^\\\.$/{in_copy=0; next} in_copy{n++} END{print n+0}' "$workdir/restore_payments_corrected.sql")
test "$rows_in_copy" -eq 80
psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -f "$workdir/restore_payments_corrected.sql"
psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -Atc "SELECT 'payments_rows=' || count(*) FROM public.payments; SELECT 'incident_log_rows=' || count(*) FROM public.incident_log;"BEGIN TRUNCATE TABLE SET SET SET SET SET SET set_config ------------ (1 row) SET SET SET SET COPY 80 COMMIT payments_rows=80 incident_log_rows=1
set -euo pipefail
umask 077
export PGPASSWORD="$SUPABASE_DB_PASSWORD"
workdir=$(cat /tmp/payments_drill_workdir)
pg_dump "$SUPABASE_DB_URL" --format=custom --file="$workdir/payments_postrestore.dump" --table=public.payments --no-owner --no-privileges
pg_restore --data-only --no-owner --no-privileges --file=- "$workdir/payments_preincident.dump" | awk '/^COPY public\.payments /{p=1} p{print} p && /^\\\.$/{exit}' > "$workdir/pre.copy"
pg_restore --data-only --no-owner --no-privileges --file=- "$workdir/payments_postrestore.dump" | awk '/^COPY public\.payments /{p=1} p{print} p && /^\\\.$/{exit}' > "$workdir/post.copy"
cmp "$workdir/pre.copy" "$workdir/post.copy"
printf 'Exact table-data comparison: MATCH\n'
sha256sum "$workdir/pre.copy" "$workdir/post.copy"
psql "$SUPABASE_DB_URL" -X -v ON_ERROR_STOP=1 -Atc "SELECT count(*) = 80 FROM public.payments; SELECT count(*) >= 1 FROM public.incident_log;"Exact table-data comparison: MATCH ea6f24f011d4e9ff5fafe30395582d0d7929eb7fc4dc3ed2cfe6c207c2ebfb6a /tmp/payments-drill.Kal9Op/pre.copy ea6f24f011d4e9ff5fafe30395582d0d7929eb7fc4dc3ed2cfe6c207c2ebfb6a /tmp/payments-drill.Kal9Op/post.copy t t
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