Skip to content

Count the FL and SD LIHEAP comments in the source-conflict ratchet baseline - #10334

Merged
MaxGhenis merged 1 commit into
mainfrom
source-conflict-guard-liheap
Oct 21, 2026
Merged

MaxGhenis merged 1 commit into
mainfrom
source-conflict-guard-liheap

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

test_conflict_sounding_comments_do_not_grow (the source-conflict guard from #10287) fails on main from ce9377e. This counts the five files it flags in the guard's baseline.

Why it fails. The guard took its KNOWN_UNMARKED baseline on its branch at 0f21a63. FL LIHEAP (#9969) and SD LIHEAP (#9974) merged to main at 21:20Z, before the guard's squash merge at 22:02Z, but after that branch head. So the baseline missed comments of theirs that the ratchet reads as unmarked source conflicts:

File Line Comment begins
variables/gov/states/fl/commerce/liheap/eligibility/fl_liheap_eligible.py 58 # Source conflict: manual 900.01A (page 39) allows "non-subsidized rent
variables/gov/states/fl/commerce/liheap/eligibility/fl_liheap_income_limit.py 36 # Source conflict: manual 900.01D (page 39) sets 60% of SMI for sizes
variables/gov/states/fl/commerce/liheap/fl_liheap.py 81 # extrema conflict with it. The FY2025 plan and matrix agree.
parameters/gov/states/fl/commerce/liheap/payment/base_amount.yaml 2 # Source conflict: FY2026 plan item 2.6 (page 9) prints an estimated $400
parameters/gov/states/sd/dss/liheap/income/limits/table/in_effect.yaml 6 # The published 2024-2025 limits for sizes 4-7 depart from that rule.

The fix. These files were on main when the guard landed, so they belong in its baseline, one comment each, like the other pre-existing files in KNOWN_UNMARKED. The ratchet stays as it was: none of these counts may grow. The comments document where the code's sources disagree, and say which source the code follows. Four of these conflicts are already candidates in source_conflicts/candidates.yaml: us-fl:liheap-energy-in-unsubsidized-rent, us-fl:liheap-large-household-contract-limit, us-fl:liheap-size-13-income-limit and us-sd:liheap-2025-published-income-limit. FL's FY2026 plan payment estimate against the October 2025 matrix (base_amount.yaml, fl_liheap.py) is not a candidate yet. Neither is the manual-against-manual income-limit conflict recorded in fl_liheap_income_limit.py. None of them can carry a marker yet: the vendored register has no FL or SD entry, and a marker must name a registered entry. A separate change will:

Verification. On main at 7545b2c and at 1f678c7, policyengine_us/tests/code_health/test_source_conflicts.py gives 1 failed, 102 passed. Main's own CI shows the same failure: push run 39541095730, job "Rest (Python, shard-1 + variables)". With this change it gives 103 passed, both on this branch and merged into main at 1f678c7. I ran a copy of the file outside the package, so pytest doesn't import policyengine_us. It needs only pytest and PyYAML. Every open PR that merges main from ce9377e or later hits the same failure until this lands.

🤖 Generated with Claude Code

…seline

The guard (#10287) took its KNOWN_UNMARKED baseline at 0f21a63. FL LIHEAP
(#9969) and SD LIHEAP (#9974) merged before the guard did, each with
comments the ratchet reads as unmarked source conflicts, so
test_conflict_sounding_comments_do_not_grow fails on main from ce9377e.
These five files were on main when the guard landed, so they belong in the
baseline, one comment each.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis merged commit fec98b8 into main Oct 21, 2026
27 checks passed
@MaxGhenis
MaxGhenis deleted the source-conflict-guard-liheap branch October 21, 2026 13:24
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Merge audit: squash-merged at reviewed head f0524ad (merge commit fec98b8). I admin-merged because the only block was the required approving review.

  • CI: gh pr checks exited 0 (27 of 27 pass), and the PR was MERGEABLE and not a draft.
  • Review: an independent Opus 5.5 reviewer agreed: APPROVE after a body correction, with no CHANGES_REQUESTED. The GPT-6.1 Sol review was cancelled because lanes were held until 18:00Z under a disk pause, and main stayed red until this landed.
  • What the reviewer checked:
  • Follow-up (named in the body), as a separate PR:
    • refresh the nine FL and SD LIHEAP candidates, which still say their code isn't on main;
    • add the two missing FL candidates;
    • register the conflicts and mark the deciding lines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant