# Fact-check engine

Every load-bearing number in the published story, traced to the document it rests on and to what that document actually says. The machine-readable version is [`02-data/contested_claims.csv`](02-data/contested_claims.csv); `03-harness/verify.py` confirms that each row resolves to a source that is archived and hashed in [`01-sources-archive/`](01-sources-archive/). This file is the human-readable companion, and it keeps the disputes in the open rather than resolving them past the evidence.

## The spine: a data vacuum, quantified

Six years into Pittsburgh's inclusionary zoning experiment, the two sides read the same permits and reach opposite conclusions, and the City Controller told council that neither side has definitive proof. The dispute is not really about arithmetic. It is about which units count. The Pro-Housing Pittsburgh study counts completions; the Lawrenceville United and PCRG reports count applications and pipeline. The gap between those two accounting choices is the whole fight.

The project ledger in [`02-data/iz_projects.csv`](02-data/iz_projects.csv) disaggregates what the hearing testimony blurred, and `build.py` reduces it to five figures:

| Stage | Affordable units | What it means |
| --- | --- | --- |
| Completed, IZ-attributable | **35** | One finished market-rate project (Arsenal 201 Phase II). This is the "fewer than 40" the opposition cites. |
| Under construction | **16** | The Caroline, 16 of 159, not yet occupiable. |
| Proposed pipeline | **100+** | Boykowycz's five Oakland projects, from testimony, not itemized project by project. |
| Bunched out | **3 projects** | Downsized to 19 units to fall below the 20-unit trigger; zero affordable units. |
| Exempt (LIHTC) | **35** | Sixth Ward Flats, a 100% affordable project the IZ mandate did not cause. |

The number a reader carries away depends on where the counting stops: 35 built, or a pipeline the utility of which cannot yet be observed. That is the finding.

## Three reconciliations

**The income threshold: $37,600, not $28,600.** An early draft of the sidebar listed the 50%-AMI qualifying income as roughly $28,500. The published story states **$37,600 for an individual**, which is the figure that ships here and in [`02-data/iz_parameters.csv`](02-data/iz_parameters.csv). The draft figure does not appear in any reader-facing file.

**"Fewer than 40 units" is a completions count, and it is accurate as such.** The Pro-Housing study identifies exactly one completed market-rate project in Lawrenceville that the mandate touched, Arsenal 201 Phase II, which set aside 35 affordable units. The Sixth Ward Flats delivered another 35 affordable units, but as a 100% LIHTC project it sits outside the mandate and would have been built regardless, so it is not attributable to IZ. The claim is true on its own terms. Its terms are the argument.

**The 30% construction drop is real in the study and not statistically significant.** The Pro-Housing difference-in-differences finds Lawrenceville's production falling from 94 to 66 units a year while two control neighborhoods rose. The authors state plainly that the result is not statistically significant, given a citywide sample of only 103 completed 20-plus-unit projects since 2012. Both facts belong in any honest citation of the figure, and [`02-data/neighborhood_construction.csv`](02-data/neighborhood_construction.csv) carries the underlying rows.

## The claims ledger

Each claim below is one row of `contested_claims.csv`, with the verdict stated in forensic terms: what the cited document supports, and where it stops.

- **8,000-unit shortage** (context). The 2022 Housing Needs Assessment documents 8,200 units short for low-income households. Accurate; the story rounds.
- **30% Lawrenceville construction drop** (opposition, Vatz). Reflects the study's Table 2; the study itself flags non-significance.
- **Fewer than 40 units created** (opposition, Vatz). Accurate as a count of completed IZ-attributable units (35).
- **Measure at application, not completion** (support, Breingan). A methodological objection the opposition study concedes on the point of relying on completions. Unresolved.
- **The Caroline: 16 of 159; five Oakland projects, 100+ affordable** (support, Boykowycz). The Caroline is corroborated by the developer's own materials; the pipeline total is testimony, not itemized.
- **Neither side has definitive proof** (neutral, Controller Heisler). Corroborated across the divide, including by the opposition study's own caveats. The spine.
- **Data cited here has been largely debunked** (support, Gamble). Overstates the Heisler memo, which faults the data on both sides.
- **IZ is a tax on new housing** (opposition, Beem). Rhetorical, resting on the study's modeled 5-to-7% revenue reduction.
- **Banks will not lend under IZ (~14% threshold)** (opposition, Charland). Attributed to Charland; no financing document was provided to verify the threshold.
- **More housing built inside the overlay proportionally** (support, Gross). Contested; the opposition reads the same permit data as showing the opposite.
- **Builders will leave for the suburbs and other cities** (opposition, Vatz). A projection from supply elasticity, not an observed relocation dataset.
- **IZ prevents displacement / builds intergenerational wealth** (support, Bhatt, Gamble). Directly contested by the study's exploratory Appendix B; both sides ask for more study.
- **Three projects downsized to 19 units to avoid the trigger** (opposition, Pro-Housing). Documented with addresses and plan dates.

## How to check this

```
python 03-harness/check.py
```

The command re-hashes every archived source against its recorded fingerprint, confirms that every claim above resolves to one of those sources, and recomputes the affordable-units tally from the ledger. It needs no network and no credentials. A reader who runs it does not have to trust the reporter to establish that the numbers here are the numbers in the archived documents.
