Repository navigation
Correct coverage-registry statements, worker prose and the B0.2 sentence - #598
Merged
Merged
Conversation
Round 8's review of #583 named two registry texts as wrong. The scope gap and the four federal residuals left out section 321(f)'s election, and the 1968-1977 cooperative case said the 1978 row reads 521 inside the small-remuneration test, though that row holds an open case. Both now follow the sources, and assemble_registry.py rebuilds coverage_rules.json. Five workers' prose changes in the invented fixture; their facts, expected and decides values stay. The design doc now cites B0.2's frozen version 1 and #584 in place of "if B0.2's is frozen" and the closed #554. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The 1978 row's description now leaves open whether the small-remuneration test reaches a 401(a) trust or a 521 cooperative below $100 a year, and its residual sends a 521 cooperative's employee paid $100 or more to exempt_organization_small_remuneration, as worker 1469 decides. The 1968 case's sentence names the test in each section and 409(p), the threshold's source names 3121(a)(16) and section 356, and the scope gap's citation quote prints the section 321(f) election. Eleven more workers lose dead case numbers and review markers, and worker 523 names its open case. No case's conditions, consequence or rank changes, no threshold amount changes, and every worker decides as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
marked this pull request as ready for review
November 6, 2026 14:20
Contributor
Author
|
I merged this PR at
|
This branch was successfully deployed
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.
This PR corrects the coverage registry's statements on Pub. L. 98-21 section 321(f) and section 521 cooperatives, rewrites sixteen workers' prose in its invented fixture, and updates the design doc's B0.2 sentence. #583's Stated limits names the two registry topics. No case's conditions, consequence or rank changes, no threshold amount changes, and every worker decides as before. The PR adds no test.
What changes
federal_1968_1972,federal_1973_1983,federal_1984_1986andfederal_1987_2026said Pub. L. 98-21 section 321(b)'s wording applied to agreements entered into after April 20, 1983. The capturelii_42_410.htmlcontinues: "except that at the election of any American employer such amendment shall also apply to any agreement entered into on or before Apr. 20, 1983". All five texts now name that election, and the scope gap's citation quote now prints it, with the capture's pointer to section 321(f).nonprofit_1968_1977.cooperative_521_small_remunerationsaid the 1978 row reads 521 inside the test. Its description now says the 1978 row leaves that open, and its alternativeinside_small_remuneration_testcredits the inside reading to 3121(a)(16) from 1978. The description also now gives 409(a)(14) its original designation, 409(p).nonprofit_1978_1983applied the test to 521 cooperatives without qualification. It now says that, below $100 a year, the row leaves open whether the test reaches a 401(a) trust or a 521 cooperative.nonprofit_1978_1983said a 521 cooperative's employee paid $100 or more in the year lands there. Worker 1469, counting from 0 in the fixture'sworkerslist, decidesexempt_organization_small_remunerationfor that employee, and the residual now says so. Worker 1464 decides the residual for a 401(a) trust's employee paid that much, as the text still says.thresholdnow names 3121(a)(16) and Public Law 95-216 section 356 beside 409(a)(14) and section 351.workerstrings change:waiver_nonconcurring_existing_employee. They now name that case and say it excludes the service.section_105b_departed_employee_request, the case they decide. Workers 522 and 523 described other outcomes, and worker 541 said the row has nohistorical_fica_treatmentfact. They now name that case and say it covers the pay above the threshold. Worker 523 also nameswaiver_retroactive_period_hire_unlistedwhere it said "the open case".docs/design/income_and_resources.mdsaid IR0 reuses B0.2's protocol and record format "if B0.2's is frozen", citing Track B B0.2: source, exposure, access and power records for B3 through J #554, which closed unmerged. It now cites B0.2's version 1, whose status line reads "FROZEN, 2026-10-27", and Track B B0.2: source, exposure, access and power records for B3 through J #584, which added the protocol.assemble_registry.pyrebuildscoverage_rules.jsonfrom the edited fragments.Invariants
workerstrings change in the fixture. Everyrule_id,facts,expectedanddecideskeeps its value, and so do the fixture's other sections.coverage_rules.jsonequalsassemble_registry.py's output byte for byte.The builder compared every leaf of the four JSON files with
02897edein a one-off walk to check the first two, and the reviewer's own walk in round 2 agrees. No standing test holds them.test_canonical_registry_matches_research_fragmentschecks the third.Stated limits
The builder's pattern search finds 43 other workers with shorthand such as "case 3" or "text is false", and the second round's reviewer finds 56 more with markers such as "After fix D1". This PR doesn't audit them, and they decide as they did.
Seven other workers still state something false in their prose, and this PR leaves them. Each still decides what its
decidesfield says, and neithertest_coverage_rules.pynortest_coverage_registry_conformance.pyreads aworkerstring:deemed_waiver_k5_requestorexempt_organization_small_remunerationcarries.employer_not_exempt_organizationdecides that worker.se_nonresident_alien_1983_2026reads it for them.The reviewer found these by scans and by reading many workers whole, and didn't check every law statement in the fixture, so more may remain.
Tests
At
4cc4d7e4, all 2,282 tests intest_coverage_rules.pyandtest_coverage_registry_conformance.pypass. pytest collects 83 unit and 2,199 artifact tests, the counts #583 records, and the PR's name list holds no tier file. CI's Tests run 42223247385 passed at that head, and its four pytest shards report 32,287 passed, 1,116 skipped and 1 xfailed.Review
Round 1, at
fd4c2f82, returned REVISE with one medium finding, on the 1978 row's description, and eight low ones.4cbc9eb4merges master at4f99edfbwith no conflict, and4cc4d7e4and this description carry the fixes. Round 2, at4cc4d7e4, returned APPROVE with three low findings and nine notes. The lows changed this description and left the head alone: a wrong merge commit, an example none of the 43 holds, and the seven workers in Stated limits. The reviewer preferred to edit the seven here. The builder keeps them as a stated limit, because they change no decision and a new head would restart CI.Status
CI passed at
4cc4d7e4, so the builder marked the PR ready. The coordinator merges it, and it needs no tier-count slot.axiom: n/a: prose in the coverage-rule registry, a test fixture and a design doc; no PolicyEngine country-model or RuleSpec encoding changed
🤖 Generated with Claude Code