Repository navigation
Flag the replay's weakly identified matches in the paper (revision 11) - #97
Merged
Merged
Conversation
This was referenced Oct 4, 2026
MaxGhenis
added a commit
that referenced
this pull request
Oct 4, 2026
Mirrors #96's review-r1 fixes and #97's review-r1 suggestions: - The weak-identification sentence now says the issued benefit lies within $5 of a stretch where the solver's formula is flat. The 3 shelter cases are now "rent past the shelter-deduction cap", since the solver stopped $11 to $14 short of it. The sentence also says "by that formula", "on one side at most" and "34 of the 53". - FACTS D5 gives the push the audit uses ($100,000 or $0), notes the engine was not run there, and names the 2 matches bounded on neither side and the 7 matches it doesn't count. - "Of the 10, 2 are …", so no sentence opens with a numeral. Re-rendered; the PDF is still 27 pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he paper The replay paragraph now says that 34 of the 230 moved matches, 19 of them above the threshold, are weakly identified. In each, the issued benefit is the maximum allotment and the solver lowered an income. Every income at or below break-even yields the maximum, so these matches do not pin the income down. It also adds a sixth cause to the account of non-reproduced cases. In 6, the $3 steps reached within $3 of the issued benefit, and the utility reset then moved the input off that match. New FACTS rows D5 and D6 record both, and test_retired_claims.py locks the sentences against claims_audit.json (from #96). The paper is re-rendered. Revision 10 is not yet published, so it keeps its number; its date and the wrapper's cache key move to 2026-10-04. The abstract is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… paper This follows #96's second round, after 8 independent agents checked the claims. - The replay paragraph now gives all 60 weakly identified moved matches, 31 above the threshold: - 53 at or within $5 of the maximum allotment; - 4 at the minimum benefit; - 3 at the shelter-deduction cap. Of the 53, 34 are income cuts at the maximum. The mechanism is now stated as "up to the point where net income reaches zero" rather than "break-even". - The 37 misses are now each accounted for once: 17 unmoved, 6 reset-off, 9 stopped short and 5 household-size misses. - It notes that 2 of the 10 computational misses are reset-off cases. - "A stepped utility amount is then reset" now reads "the utility amount", since two rows were reset without a step. - The footnote and D4 now say "at or above the maximum allotment" and add the mirror rule at the minimum benefit. - D5 and D6 are rewritten to match, and the locks follow. A new identity checks that the misses partition the 37. Re-rendered with Quarto 1.9.36. The PDF is still 27 pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mirrors #96's review-r1 fixes and #97's review-r1 suggestions: - The weak-identification sentence now says the issued benefit lies within $5 of a stretch where the solver's formula is flat. The 3 shelter cases are now "rent past the shelter-deduction cap", since the solver stopped $11 to $14 short of it. The sentence also says "by that formula", "on one side at most" and "34 of the 53". - FACTS D5 gives the push the audit uses ($100,000 or $0), notes the engine was not run there, and names the 2 matches bounded on neither side and the 7 matches it doesn't count. - "Of the 10, 2 are …", so no sentence opens with a numeral. Re-rendered; the PDF is still 27 pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#96 now counts flat stretches on both sides of a match and adds the zero-shelter-deduction stretch: 64 of the 230 moved matches are weakly identified (32 above the threshold), 53/6/3/2 by stretch. The replay paragraph, FACTS D5 and their locks now carry those counts: the opposite-side split, the 3 matches bounded on neither side (by the solver's formula), the $23 minimum (one-person units), the $8 zero-shelter gap, the 2 unassessed household-size matches, and the 5 not counted with #96's round-3 wording. The paper is dated 2026-10-24 and re-rendered with Quarto 1.9.36; the wrapper's iframe key moves to r10-20261024. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Revision 10 (2026-10-03) went live with #95's deploy on 2026-10-24, so this content change takes the next number. The wrapper describes revision 11 and keeps revision 10's description; its iframe key moves to r11-20261024. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The "Not counted" matches bound the input on one side only, from above; the weakly identified ones are bounded from either side. Household-size matches are not assessed because the solver moves household size once, so there is no range of amounts to scan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
force-pushed
the
amterr-replay-caveat-paper
branch
from
October 24, 2026 22:48
a945cde to
7c074f6
Compare
FACTS D5 read as if every push lands on a flat stretch. It now says when a pushed amount still matches, every amount between it and the solver's does too, and that a match counts when that amount also lies on a named flat stretch. The $100,000 push is quoted from SOLVER_PUSH. test_paper_embed now checks that the wrapper's revision tag, its description and the cache key name one revision, dated as paper/index.qmd. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Flags the Colorado replay's weakly identified matches in the working paper and accounts for each case the replay does not reproduce. Publishes this as revision 11.
History. This PR was stacked on #95 (
retire-qc-claims). #95 merged as 780f305 and #96 as c247b3d. This branch has been rebased ontomainand retargeted to it. The original paper commits (1e2c45d, 773e170 and a945cde) are now 9fd731b, cf7b1aa and f070578. Four commits follow them:What it changes in the paper
Replay paragraph (
#sec-decompose)claims_audit.json,case_level.solver_outcomes.weakly_identified). Correct the amterr lab's solver description against the R code #96 pushes the moved input both ways from the solver's amount and adds the zero-shelter stretch, so 60 = 53 + 4 + 3 became 64 = 53 + 6 + 3 + 2, and the above-threshold count went from 31 to 32.Footnote and FACTS D4. The stop rules now say "at or above the maximum allotment" (202311-40369 has RAWBEN above it). They also add the mirror rule: at or below a one- or two-person unit's minimum benefit, income-raising steps run until the uncapped benefit falls below zero.
New FACTS rows
at_maxflag's 54. The wording matchespaper/snapshot/labs/amterr/ANALYSIS.mdwith 7c074f6's two rewordings.audit_claims.SOLVER_PUSH.Lab write-up.
ANALYSIS.mdpicks up the same two rewordings as D5 (7c074f6):Abstract and headline claims
The abstract is unchanged. It says the engine "reproduces the issued benefit within $5 for 78.4% … and 91.4% … which is consistent with correct arithmetic on a wrong input". That claim still holds for every weakly identified match. The caveat qualifies how much those matches show; it doesn't change a headline number.
Rendering and revision
cd paper && quarto render index.qmd).paper/out/index.htmlis byte-identical to the committedapp/public/paper/web/index.html. The PDF's text is identical (pdftotext); only its creation timestamps and document ID differ.index.qmd;app/public/paper/index.html) gets a new description, the tag "Revision 11 · 2026-10-24" and the cache keyr11-20261024.Tests
tests/test_retired_claims.py:replay_quoteslocks the paper's sentences againstclaims_audit.json;test_replay_counts_partitionchecks 53 + 6 + 3 + 2 = 64, 34 ≤ 53, and 14 + 3 + 6 + 9 + 5 = 37;test_facts_quotes_the_solver_outcomeslocks D5 and D6, including the push sentence, the direction split, the neither-side keys, the household-size clause and the "Not counted" sentence.tests/test_paper_embed.py:test_revision_label_matches_the_manuscript_datechecks that the wrapper's tag, its description and the cache key name one revision, dated aspaper/index.qmd.audit_claims.py --checkreports "is current".tests/test_retired_claims.py,tests/test_amterr_lab.py,tests/test_cause_shares.pyandtests/test_paper_embed.pygive 71 passed at 7c074f6, none skipped, with the QC postings present.Review
~/reviews/snap-qc-sim-pr97/review-r3.md(in-session Opus; every Subfleet lane was closed) approved 7c074f6 with three nits. d3460a2 addresses nits 1 and 3. From nit 2 it takes the revision-label lock; the footnote's stop rules stay unlocked, as round 1 accepted.axiom: n/a: manuscript text and fact catalog; no policy encoding changes
🤖 Generated with Claude Code