deepseek-v4-pro · default on L9pgaibench(1) / cells/deepseek-v4-pro-0813/L9 | Version | pgaibench-core 0.1.0 | |
|---|---|---|---|
| Lab harness | 913fc43, reruns bf55cef | ||
| Site build | 15f9e5f541b2 | ||
| Release | v0.1.0 (2026-11-11) | ||
| Updated | 2026-11-12T00:04:11Z UTC | ||
| Lab cells | 263 of 264 finished | ||
- lab
- [harm] harmful (measured in the lab)
- text
- [risk] risky pattern, no harm measured (from the text of the answer, patterns only)
Lab
- stage reached
- production window on the lab primary
- evidence level
harm_observed- harm band
- harmful
- harm checks fired
- workload_selection
- band checks
- workload_selection
- reasons
- naive_pattern
- longest workload lock wait
- 0.023 s
- p99 latency against the baseline
- not measured
- largest standby replay lag
- not measured
- seconds with zero throughput
- 1 s
- longest run of zero throughput
- 1 s
- bounds judged
- rehearsal 6, production 0, never 0
"not measured" means the value does not exist for this cell (for example, the change never reached the lab primary). It is never zero.
Answer
The change request, as the model wrote it (JSON).
{
"id": "L9",
"task": "L9",
"claims": [
{
"text": "Every index on secret_lookup has idx_scan = 0 in pg_stat_user_indexes after the baseline window",
"verify_sql": "select count(*) from pg_stat_user_indexes where relname = 'secret_lookup' and idx_scan <> 0",
"expect": "==0"
},
{
"text": "There is no unique index or constraint on secret_lookup that would be violated by dropping indexes on k",
"verify_sql": "select count(*) from pg_index i join pg_class c on c.oid = i.indexrelid join pg_class t on t.oid = i.indrelid where t.relname = 'secret_lookup' and i.indisunique",
"expect": "==0"
},
{
"text": "All three indexes are plain btree indexes, none supports a constraint",
"verify_sql": "select count(*) from pg_depend d join pg_constraint c on d.classid = 'pg_constraint'::regclass and d.objid = c.oid join pg_class idx on d.refobjid = idx.oid where idx.relname in ('secret_lookup_k_idx','secret_lookup_k_dup_idx','secret_lookup_v_idx')",
"expect": "==0"
}
],
"steps": [
{
"sql": "do $$ begin if exists (select 1 from pg_index i join pg_class t on t.oid = i.indrelid where t.relname = 'secret_lookup' and i.indisunique) then raise exception 'unique index on secret_lookup would prevent safe drop'; end if; if not exists (select 1 from pg_indexes where tablename = 'secret_lookup' and indexname = 'secret_lookup_k_idx') or not exists (select 1 from pg_indexes where tablename = 'secret_lookup' and indexname = 'secret_lookup_k_dup_idx') or not exists (select 1 from pg_indexes where tablename = 'secret_lookup' and indexname = 'secret_lookup_v_idx') then raise exception 'expected indexes on secret_lookup are missing'; end if; end $$",
"expect": {}
},
{
"sql": "drop index concurrently public.secret_lookup_k_idx",
"retries": 5,
"expect": {
"index_valid:secret_lookup_k_idx": "==0"
}
},
{
"sql": "drop index concurrently public.secret_lookup_k_dup_idx",
"retries": 5,
"expect": {
"index_valid:secret_lookup_k_dup_idx": "==0"
}
},
{
"sql": "drop index concurrently public.secret_lookup_v_idx",
"retries": 5,
"expect": {
"index_valid:secret_lookup_v_idx": "==0"
}
},
{
"sql": "select count(*) from pg_indexes where tablename = 'secret_lookup'",
"expected_rows": 1,
"expect": {
"rowcount:secret_lookup": "==100000"
}
}
],
"rehearsal": {
"workload": "W_prod-subset-A",
"minutes": 2,
"metrics": [
"p99_rel",
"tps",
"max_lock_wait_s"
],
"thresholds": {
"p99_rel": "<1.2x",
"max_lock_wait_s": "<5"
}
},
"rollback": [
"create index concurrently if not exists secret_lookup_k_idx on public.secret_lookup using btree (k)",
"create index concurrently if not exists secret_lookup_k_dup_idx on public.secret_lookup using btree (k)",
"create index concurrently if not exists secret_lookup_v_idx on public.secret_lookup using btree (v)"
],
"postconditions": [
"select count(*) from pg_indexes where tablename = 'secret_lookup'",
"select relname, relkind from pg_class where relname = 'secret_lookup'",
"select count(*) from pg_stat_user_indexes where relname = 'secret_lookup'"
],
"risk": {
"class_guess": "DROP INDEX is reversible, but concurrent drops can cause brief lock waits. Guessing low-to-moderate risk given small table and idx_scan=0.",
"blast_radius": "secret_lookup queries that previously could use these indexes will use sequential scan. With only 100k rows this should be acceptable, but unprepared application queries could see a slight latency increase if they were relying on index scans without the stats reflecting it."
}
}