# F4-conf-02: Do the cited sources support the six assertions? ## Question A literature review makes six assertions (A1–A6). Each one cites one of two arXiv extracts: Armendariz (2026), arXiv:2609.27732v1, on drug consumption rooms (DCRs), and Li, Pearson-Merkowitz & Yokum (2026), arXiv:2606.14621v1, on RESEA. For each assertion I decide, using only the cited extract, whether it is supported, not_supported or not_assessable. Each verdict comes with a locator and a reason (`verdicts`, `locators`, `reasons`). ## Data and exclusions I read four files under `data/`. `n_input_rows` gives their sizes: assertions.json has 6 items, README.md 14 lines, the DCR extract 134 lines and the RESEA extract 58 lines. The SHA-256 hashes match the README (see `out/state/data_audit.md`). No assertion was excluded (`out/exclusions.csv`: 6 → 6), so `n_analysed` = 6. Both extracts contain internal inconsistencies, which are listed under `data_issues`. The main one: Table A19 prints a standard error of 0.218 for the 5 km ATT, while Table 6 prints 0.210 for the same estimate. None of the issues changes a verdict. ## Method `out/analysis.py` parses the relevant rows of the source tables and prints the source lines it relies on. It then checks every element of each assertion: sign, magnitude, standard error / CI, significance and population. The rules follow TASK.md: - a log-point ATT b converts to a percentage change of 100·(exp(b)−1); - a 95% CI is b ± 1.96·SE, with 2.0 as the alternative; - an assertion that is partly wrong is not_supported. For A5, the script also searches the extract for terms about sex or gender. As a naïve baseline, an assertion counts as "supported" if every number in it appears somewhere in the extract (`baseline_verdicts_literal_number_match`). The supporting values computed along the way are stored in `computation_details`. No randomness is involved (`random_seed` = null). ## Results Counts: 2 supported, 3 not_supported, 1 not_assessable (`n_supported`, `n_not_supported`, `n_not_assessable`). | id | verdict (`verdicts`) | locator (`locators`) | decisive element | |---|---|---|---| | A1 | supported | arxiv-2609.27732v1, Table 6, row ATT, column 5 km | The table prints −0.431** (0.210) and −35.0%. Converting −0.431 gives −35.01% (`computation_details.A1`). | | A2 | not_supported | arxiv-2609.27732v1, Table 7, row HIV, column 1 km | The printed ATT is +0.063 (SE 0.801), so the sign is wrong and "HIV hospitalisations fall" is contradicted. | | A3 | not_supported | arxiv-2609.27732v1, Table 6, row % change, column 3 km | −0.283 log points is −24.7% (the table prints −24.7%; the conversion gives −24.65%), not 28.3% (`computation_details.A3`). | | A4 | not_supported | arxiv-2609.27732v1, Table 7, row Hepatitis, column 5 km | −0.406 ± 1.96·0.250 gives [−0.896, 0.084], which includes 0. The asserted interval is ±1 SE (`computation_details.A4`). | | A5 | not_assessable | not reported in arxiv-2609.27732v1 | The extract has no estimates by sex: searching for sex or gender terms finds 0 matches (`computation_details.A5`). | | A6 | supported | arxiv-2606.14621v1, Table 2, row Weeks on UI, column ATE | −1.99 weeks, 95% CI [−2.24, −1.75], control mean 17.3, and 1.99/17.3 = 11.50% (`computation_details.A6`). | The baseline disagrees with these verdicts on A2 and A5. On A2 it ignores the sign. On A5 the assertion has no numbers to check, so the baseline calls it "supported" (`baseline_verdicts_literal_number_match`). This is why every element has to be checked, not just the numbers. ## Uncertainty The verdicts are categorical, so there is no sampling uncertainty in them. Three verdicts depend on a convention: - **A1, critical value:** z = −2.05 with SE 0.210, or −1.98 with A19's SE of 0.218. Both are below −1.96 (p ≈ 0.040 and 0.048), and both tables print **, so 5% significance holds under either SE. With a critical value of 2.0 and SE 0.218, the bare z-ratio (−1.98) would just miss. However, the printed stars, which are the source's own significance statement, decide the significance element, so the verdict stays supported. - **A1 and A3, log-to-percent conversion:** both conversions agree with the printed % change row. A3 fails under any reading, because 28.3% is simply the log coefficient multiplied by 100. Even the crude approximation %≈100·b gives −28.3% only by treating log points as percent, and the source explicitly prints −24.7%. - **A4, critical value:** the CI contains zero under both 1.96 and 2.0. Only a ±1 SE band reproduces [−0.66, −0.16], and that is not a 95% interval. Table 7 also prints no star (p ≥ 0.10). The verdict is robust. A2, A5 and A6 involve no convention. ## Limitations and open issues - Only the extracts were used, as the rules require. The sex comparison in A5 might appear in the parts of the paper that were omitted, which is why it is not_assessable rather than not_supported. - The extracts disagree with themselves in places (`data_issues`): - Table A19 and Table 6 print different SEs (0.218 vs 0.210), and the number of control regions is given as both 640 and 608. - The abstract says "35%" for fatal hospitalisations, while Table 7 implies −29.8% (`computation_details` does not cover this; it is documented in `out/state/data_audit.md`). - The prose calls the HIV estimates "close to zero" although the 3 km and 5 km cells are −0.239 and −0.340. I used the tables as authoritative. None of these issues changes a verdict. - `feasibility` = complete; `feasibility_reason` = null.