# Wikiparency
A searchable record, by state, of three things: every legal action between a State and the United States in either direction (Lane **L**); every state law, executive order, rule and ballot measure on affirmative action and DEI, with its passage date, roll call and signer (Lane **A**); and every federal civil-rights disclosure by program and state (Lane **D**). Minnesota and the Affirmative Action Regime Era (1955–2026) are the center; the structure holds every state and every era.
This folder is the Obsidian Publish document. Everything outside `Analysis/` is a generated view of `_data/`. Plan: `US-Minnesota_Litigation/WIKIPARENCY_TRACKER_PLAN_2026-10-24.md`. Code: `US-Minnesota_Litigation/wikiparency-tracker/`.
## How to read a page
Every sentence on a record page has the form *instrument X did Y on date Z (source)*. There are no adjectives and no conclusions. An empty field is a valid value; an invented one is not. The word "fraudulent" appears only inside a quoted span from the document that asserts it, joined to the filing by an `integrity` edge whose status is one of: alleged, charged, found, settled_no_admission, dismissed, reversed.
Two layers, never blended: the record layer (this whole tree except `Analysis/`) and the analysis layer (`Analysis/`, Minnesota only, links in, never linked from).
## The pipeline, in MTN's four words
| Role | What it is | May | May not |
|---|---|---|---|
| **Scraper** | the `aarn` collector + API adapters (CourtListener, Open States, LegiScan, Federal Register, GovInfo, eCFR, USAspending, FAC) | fetch what robots.txt allows under an honest User-Agent; write files + `.meta.json` sidecars; write `_discovery/` candidates | solve a challenge, use a browser identity, log in, edit `sources.tsv` |
| **Decider** | Haiku triage (J1) + the validator | rank candidates against `lane_*.yaml`; accept or reject a record by the gates in `_data/SCHEMA.md` | fetch; resolve a boundary case alone; upgrade a status |
| **Synthesizer** | Haiku extraction (J2–J5) | turn fetched primary text into `conflict_map` fragments, each fact with a verbatim quote | emit a fact without a quote found in the text; fill a field from background knowledge |
| **Writer** | `generate.py` + Haiku diff lines (J6) | render `_data/` into these pages; narrate a day's changes in register form | write prose that is not a view of a record |
## Tree
```
Wikiparency.md this page
_data/ the record (schema.json, SCHEMA.md, *.json, rollcalls/*.tsv, examples/, _gates/)
_tools/tom/ validate.py, examples.py, who_from_xlsx.py, scaffold_states.py, inputs_registry.py, lanes/
_inputs/ checksummed copies of the spine inputs (catalog, states table, ALN list) + INPUTS.md
US/ federal hubs (instruments, programs, who)
States/{ST}/ {ST}.md hub · Cases/ · Filings/ · Instruments/ · Rollcalls/ · Disclosures/ · Who/ · Absences.md
Eras/ Affirmative_Action.md
Analysis/ MINNESOTA ONLY
```
## Status
| Item | State | Gate |
|---|---|---|
| Schema `conflict_map/1.1` + validator | written | `_data/_gates/gateA_*.tsv` |
| Who (officers from `Executive Branch.xlsx`) | run | `_data/_gates/gateB_*.tsv` |
| 50 state hubs + absences ledgers + slot map | scaffolded | `scaffold` line in the gate log |
| Lane specs (`lanes/lane_A.yaml`, `lane_L.yaml`, `lane_D.yaml`, `slots_49.yaml`) | written; hosts blank until verified | — |
| Scraper adapters (WP-2) | not started | — |
| Decider / Synthesizer (WP-3) | not started; key present | — |
| Minnesota calibration (WP-5) | not started | L-MN, A-MN, D-MN, W-MN |