Qipudata
San Francisco · v0.7.1

Runs

runsrelease v0.7.1CC0 1.0

About

What made each table: rules, hand work, or a model run (model, prompt).

How far to trust it
The release passed its automatic checks before it was published (what is checked). A hand check by the editor of qipu data is under way: 36 of 38 items checked so far were right, on votes, money, places and the map. A row says what the record states; the scanned page is the authority. Details
Licence
CC0 1.0: use it for anything, no permission needed. The scans and other sources keep their own rights.
Version
v0.7.1, published 21 October 2026. A published release is never changed; corrections come as a new release.
Technical details
Table
runs
Rows
43 (San Francisco 42; Vancouver 1)
Columns
15
Parquet
runs.parquet, < 0.1 MB
Version
v0.7.1, 21 October 2026
Licence
CC0 1.0. Sources keep their own rights.

Rows

Rows by kind

ValueRowsShare
llm1534.9%
rules920.9%
record511.6%
llm+hand49.3%
hand37.0%
search24.7%
model24.7%
llm+rules12.3%
model+hand12.3%
rules+hand12.3%

Rows by model

ValueRowsShare
(empty)2660.5%
claude-haiku-5-51534.9%
claude-sonnet-5-524.7%

Rows by prompt_version

Method and accuracy

No accuracy measure for this table yet.

The release passed its automatic checks before it was published (what is checked). A hand check by the editor of qipu data is under way: 36 of 38 items checked so far were right, on votes, money, places and the map. A row says what the record states; the scanned page is the authority.

Methodology · Accuracy

Columns 15

ColumnTypeCan be emptyPrivacyPublic copyDescription
run_idVARCHARnononeas isThe run's id, as used in run_id elsewhere.
Can be empty no · Privacy none · Public copy as is
kindVARCHARnononeas isHow the run worked: llm, rules, llm+hand, llm+rules, rules+hand, hand, search.
Values hand, llm, llm+hand, llm+rules, rules, rules+hand, search
Can be empty no · Privacy none · Public copy as is
modelVARCHARyesnoneas isModel used (claude-haiku-5-5, claude-sonnet-5-5); empty for rule, hand and search runs.
Values claude-haiku-5-5, claude-sonnet-5-5
Can be empty yes · Privacy none · Public copy as is
prompt_versionVARCHARyesnoneas isPrompt file or script the run used.
Values city_run.py, decisions_bench/v2/v2_prompt.py (schema v2.1), ia_records/scripts/dl_tag.py, ia_records/scripts/sfra_extract.py, street_decisions PROMPT.md / UNPLACED_PROMPT.md / IV_PROMPT.md, street_decisions/RESWEEP_PROMPT.md
Can be empty yes · Privacy none · Public copy as is
schema_versionVARCHARyesnoneas isOutput schema version (1, v2.1) where set.
Values 1, v2.1
Can be empty yes · Privacy none · Public copy as is
settingsVARCHARyesnoneas isEmpty in v0.4.
Can be empty yes · Privacy none · Public copy as is
startedVARCHARyesnoneas isWhen the run started (YYYY-MM-DD or YYYY-MM).
Values 2026-07-28, 2026-09-02, 2026-10, 2026-10-01, 2026-10-06, 2026-10-12, 2026-10-13, 2026-10-14
Can be empty yes · Privacy none · Public copy as is
pagesINTEGERyesnoneas isEmpty in v0.4.
Can be empty yes · Privacy none · Public copy as is
cost_usdDOUBLEyesnoneas isEmpty in v0.4.
Can be empty yes · Privacy none · Public copy as is
gold_scoresVARCHARyesnoneas isEmpty in v0.4.
Can be empty yes · Privacy none · Public copy as is
notesVARCHARyesnoneas isWhat the run made, in a line; model runs with no gold end with [unmeasured: no gold for this run].
Values Board items the location gate dropped, re-swept (resweep.py) and read one batch of 60 at a time [unmeasured: no gold for this run], Democracy's Library (IGS) SF items: the hoods, streets and places each is about, read from metadata and the start of the OCR [unmeasured: no gold for this run], Redevelopment Agency property files (Western Addition A-2), one row per parcel page; matched to EAS by sfra_build.py, blocks/build_index.py: decision -> assessor blocks (tiers street/corner/segment/addr/stated); accuracy.json: 88.9% exact on 3,195 checks, decisions v2 for Vancouver council minutes (decisions_runs/van_v21_haiku), decisions v2: one call per page, previous page as context, Message Batches (decisions_runs/sf_v21_haiku), open-public-data pipeline/minutes extract.py (location gate) + blocks/build_core_table.py classification (form/rule/title rules, some LLM labels), scripts/11_stage_extra.py: every photo, film, recording, clip and document the map shows, with credit, licence and a rights note, scripts/20_rollcalls.py: printed roll calls -> votes; names matched to the Wikipedia roster, scripts/30_build.py: "<number> <street>" texts matched exactly to DataSF EAS addresses, scripts/80_showcase_fetch.py: archive.org advancedsearch (title/subject/description), Open Library search and Wayback CDX for the six SF showcase places; metadata only, no model, site rows (su:/sd:) of the map: plain line, outcome, importance, accuracy fixes [unmeasured: no gold for this run] ...
Can be empty yes · Privacy none · Public copy as is
gold_idVARCHARyesnoneas isThe gold set the run was scored against (see field_scores); empty when unmeasured.
Values decisions_bench Vancouver gold (30 pages, 48 decisions: Opus-written, 21 decisions hand-checked), decisions_bench/gold.jsonl (SF, 40 pages: an Opus-5.5-written key, no record of a hand check) + v2 Opus key, decisions_bench/gold.jsonl roll calls (Opus-written key), scripts/22_rollcall_gold.py, ia_records/sfra/bench (18 pages)
Can be empty yes · Privacy none · Public copy as is
prompt_idVARCHARyesnoneas isSame as prompt_version.
Values city_run.py, decisions_bench/v2/v2_prompt.py (schema v2.1), ia_records/scripts/dl_tag.py, ia_records/scripts/sfra_extract.py, street_decisions PROMPT.md / UNPLACED_PROMPT.md / IV_PROMPT.md, street_decisions/RESWEEP_PROMPT.md
Can be empty yes · Privacy none · Public copy as is
extraction_tableVARCHARyesnoneas isEmpty in v0.4.
Can be empty yes · Privacy none · Public copy as is
cityVARCHARnononeas issf or van.
Values sf, van
Can be empty no · Privacy none · Public copy as is

Privacy: what kind of text the column holds. Public copy: what the published file does with it; the embargo covers records after 1951.

Preview

run_idkindmodelprompt_versionschema_versionsettingsstartedpages
site-street-layer-2026-10llm+rulesclaude-haiku-5-5street_decisions PROMPT.md / UNPLACED_PROMPT.md / IV_PROMP…——2026-10-13—
sf-v21-haiku-1014llmclaude-haiku-5-5decisions_bench/v2/v2_prompt.py (schema v2.1)v2.1—2026-10-14—
van-v21-haiku-1014llmclaude-haiku-5-5decisions_bench/v2/v2_prompt.py (schema v2.1)v2.1—2026-10-14—
sfra-appraisa…iku55-2026-10llmclaude-haiku-5-5ia_records/scripts/sfra_extract.py——2026-10-14—
board-permits-haiku55-2026-10llmclaude-haiku-5-5enrich_1410/permits/prompt.md——2026-10-14—
census-tracts-2026-10record————2026-10-14—
hubs-v061rules——1—2026-10-16—
hand-v061hand——1—2026-10-17—

8 of 15 columns shown. Eight rows sampled at build time. Hover a shortened value for all of it.

Download

FormatFileSize
Parquetruns.parquet ↗< 0.1 MB
SQLite (all tables)qipu_sf.db ↗6.44 GB

SQL

SELECT * FROM runs LIMIT 100

Run in the SQL console (DuckDB in the browser, over the Parquet file).

Python

import duckdb duckdb.sql("SELECT * FROM 'https://tiles.qipu.org/data/releases/v0.7.1/parquet/runs.parquet' LIMIT 5").show()