Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
633 commits
Select commit Hold shift + click to select a range
3fb1111
Add the changelog fragment
MaxGhenis Sep 17, 2026
43fb392
Repair a stale implementation contract this branch inherited, and gua…
MaxGhenis Sep 17, 2026
d0ead6d
Record why the origin budget's byte cap cannot be raised here at all
MaxGhenis Sep 17, 2026
f2428e9
Apply the rule to a seventh ceiling, after reading what stood behind it
MaxGhenis Sep 17, 2026
bb50765
Seal each observation on arrival and retain only the declared consumers
MaxGhenis Sep 17, 2026
7034dee
Measure the two ceilings that refuse before anything this lane moved
MaxGhenis Sep 17, 2026
a40666b
Commit the census and fold the two consumer ceilings into the argument
MaxGhenis Sep 17, 2026
d277ee8
Bring the journal and the changelog fragment up to the seven
MaxGhenis Sep 17, 2026
099c83c
Write the lane report's census, argument, moved table, findings and pins
MaxGhenis Sep 17, 2026
47dbe45
Say plainly why the census reports fourteen and the base branch has n…
MaxGhenis Sep 17, 2026
7a4d74b
Battery: the refusals where both operands are equal
MaxGhenis Sep 17, 2026
f40294e
Replace an estimate with a measurement, and two wordings with what th…
MaxGhenis Sep 17, 2026
431f445
Add the verbatim gates and the questions for Max to the lane report
MaxGhenis Sep 17, 2026
c5ac78d
Record the pull request, the file map, and what a reader should not take
MaxGhenis Sep 17, 2026
1e16d6b
Arm both runs: the 1/1000 after-run and the 1/15, with their gates
MaxGhenis Sep 17, 2026
9a2e602
Close five divergences an adversarial pass found in the seal
MaxGhenis Sep 17, 2026
c308fc7
Retain every node population when the completion host will consume them
MaxGhenis Sep 17, 2026
7069f8f
Seal exactly the object the run keeps, once per node
MaxGhenis Sep 17, 2026
ad77fe3
Bring the lane journal up to the implementation
MaxGhenis Sep 17, 2026
244b7bc
Record the 1/1000 after-run as launched
MaxGhenis Sep 17, 2026
0bc1600
State in the design note what the adversarial pass established
MaxGhenis Sep 17, 2026
0d1145c
Arm and record the 1/15 run behind the 1/1000
MaxGhenis Sep 18, 2026
219a09e
Add the base run's retention assertion and record the 1/10 refusal di…
MaxGhenis Sep 18, 2026
51ddd6a
Restore the prior lanes' PROGRESS.md history this lane had overwritten
MaxGhenis Sep 18, 2026
398541b
Cover every reachable refusal code, and emit the battery's own receipt
MaxGhenis Sep 18, 2026
5a6a2d0
Make ruff check . pass on the lane's own scripts
MaxGhenis Sep 18, 2026
b5b4f04
Correct the refusal-code count: twenty-two, not eleven
MaxGhenis Sep 18, 2026
599acf2
Add the per-file dependent-test battery, run the way CI runs the groups
MaxGhenis Sep 18, 2026
70865a8
Record what the 1/10 refusal diagnostic found, and what refused the d…
MaxGhenis Sep 18, 2026
2a6bd78
Start the lane report with the sections the measurements do not gate
MaxGhenis Sep 18, 2026
e9c6fea
Record the draft PR and what is still in flight
MaxGhenis Sep 18, 2026
7980fbf
Pin masked, string and datetime axes, acceptance halves included
MaxGhenis Sep 18, 2026
7e78989
Report the battery's before half, measured against branch-point sources
MaxGhenis Sep 18, 2026
05c5429
Re-point the two line citations this lane's own change moved
MaxGhenis Sep 18, 2026
bc92839
Tidy the rewrap and mark the three base-line citations as such
MaxGhenis Sep 18, 2026
82f0b8f
Extend the identity receipt to the transport after-run's own head
MaxGhenis Sep 18, 2026
dc31dd1
List the six codes this change adds, rather than saying none
MaxGhenis Sep 18, 2026
ffa2981
Name the ceiling that actually binds the native path, and where it sits
MaxGhenis Sep 18, 2026
954034c
Report the ceiling that stops the 1/15 run, and how its cause was rec…
MaxGhenis Sep 18, 2026
0c6873c
Refresh the battery section's tally from the committed receipt
MaxGhenis Sep 18, 2026
d325659
Put the ACS ceiling to Max as a question with options
MaxGhenis Sep 18, 2026
a417b63
Tidy the report's opening
MaxGhenis Sep 18, 2026
74c3f75
Rewrap one line
MaxGhenis Sep 18, 2026
383065b
Report the 1/1000 run: the replay is a complete pass, and peak RSS we…
MaxGhenis Sep 18, 2026
357560a
Record the 1/15 start and its prediction, and ask about the RSS
MaxGhenis Sep 18, 2026
21fb095
Record the 1/15 refusal, and arm the diagnostic that names its cause
MaxGhenis Sep 18, 2026
322f2ba
Bring the lane journal up to both runs' outcomes
MaxGhenis Sep 18, 2026
4879fd5
Renumber the report's last three sections, and repoint four references
MaxGhenis Sep 18, 2026
da303cd
Read this lane's measurement from the committed copy, not the throwaw…
MaxGhenis Sep 18, 2026
e3304f1
Name the 1/15 refusal from the run's own raises, and correct the guar…
MaxGhenis Sep 18, 2026
a51c0b2
Pin five of the six refusal codes this change adds, and make the rece…
MaxGhenis Sep 18, 2026
0ae4973
Give the report the PR section the brief asks for, and its own sectio…
MaxGhenis Sep 18, 2026
6be655c
Make the identity receipt state the claim the report quotes it for
MaxGhenis Sep 18, 2026
b13ba1c
Journal this session's findings and what remains
MaxGhenis Sep 18, 2026
3a5b76d
Requote the static gates from this head's own runs
MaxGhenis Sep 18, 2026
83f6e8f
Re-derive seven line citations at this head
MaxGhenis Sep 18, 2026
589ba83
Give the brief its RSS slope, and report that it points against the c…
MaxGhenis Sep 18, 2026
a49e3ef
Cite both halves of the detachment, not one
MaxGhenis Sep 18, 2026
d4b0c91
Re-derive the identity check's line, which had stayed at the base's
MaxGhenis Sep 18, 2026
167f15e
Answer the brief's stop-condition, and repoint item 4's question
MaxGhenis Sep 18, 2026
ab5dbe3
Re-reproduce the inherited refusal at the branch point, module path p…
MaxGhenis Sep 18, 2026
b31218d
Record what this session re-derived, and which citations were wrong
MaxGhenis Sep 18, 2026
fe5a087
Correct which half of this change moves a key
MaxGhenis Sep 18, 2026
f4b4db9
Close three seal divergences an adversarial pass found, and the gate …
MaxGhenis Sep 18, 2026
8e68f5a
Record the quiet-machine re-run of the 1/1000 after-run
MaxGhenis Sep 18, 2026
6e3b309
Answer four more findings: two vacuous tests, one under-stated withdr…
MaxGhenis Sep 18, 2026
4fada58
Restart the quiet re-run at the head that actually ships
MaxGhenis Sep 18, 2026
41553f4
Record the adversarial pass, its findings and every disposition
MaxGhenis Sep 18, 2026
8fb004f
Journal the adversarial pass and what it changed
MaxGhenis Sep 18, 2026
7a5c454
Sweep 3,852 pairs for a surviving disagreement, and rewrite answer (4)
MaxGhenis Sep 18, 2026
42b8c31
Withdraw question 3, and put the process question in its place
MaxGhenis Sep 18, 2026
3dd8eb3
Say in the caveats what this report has been wrong about
MaxGhenis Sep 18, 2026
7241676
Regenerate the identity receipt at the finished head
MaxGhenis Sep 18, 2026
0bad474
Requote the battery from the receipt at the finished head
MaxGhenis Sep 18, 2026
02c8f2b
Requote the graph suite and the note's battery census at this head
MaxGhenis Sep 18, 2026
e4ac6fd
Say that the main-only change is two commits, and what the docstring …
MaxGhenis Sep 18, 2026
d180ec8
Requote section 9's battery line and add the agreement sweep to it
MaxGhenis Sep 18, 2026
bc0d8fa
Withdraw the design note's fourth item in place, and say it was false
MaxGhenis Sep 18, 2026
db7c938
Make the seeded sweep part of the proof obligation, not an afterthought
MaxGhenis Sep 18, 2026
886f777
Re-pin the preparation module's resource-access identity after the sp…
MaxGhenis Sep 18, 2026
6fca96f
Historicise the report's pin table: one pin moved with the spill hard…
MaxGhenis Sep 18, 2026
b041972
Open the stack-reconcile journal section before merging main
MaxGhenis Sep 18, 2026
a402dfc
Merge origin/main (8c44daa52) into the US launch integration branch
MaxGhenis Sep 18, 2026
e1ea539
Open the lane journal for the byte-transport ceilings
MaxGhenis Sep 18, 2026
d12f05a
Lift the ACS serialno and body budgets, the two that gate any run abo…
MaxGhenis Sep 18, 2026
c6e38d6
Merge the reconciled US launch integration branch (a402dfcc9) into na…
MaxGhenis Sep 18, 2026
ae3955c
Merge native-verify-once (c6e38d6f1) into native-scale-transport (6fc…
MaxGhenis Sep 18, 2026
0319b1c
Merge native-scale-transport (ae3955cd9) into native-row-ceilings (c5…
MaxGhenis Sep 18, 2026
68ced40
Merge native-scale-transport (ae3955cd9) into native-retention-seal (…
MaxGhenis Sep 18, 2026
98b6985
Thread the observer detachment flag through the split executor
MaxGhenis Sep 18, 2026
2ed7b07
Carry the segmented stream into the remaining whole-roster documents
MaxGhenis Sep 18, 2026
77bafbb
Merge origin/native-row-ceilings (0319b1c73) into native-byte-transports
MaxGhenis Sep 18, 2026
7e04682
Stream the budget view's comparison; drop the segment-at-most-maximum…
MaxGhenis Sep 18, 2026
475c9ba
Add the agreement sweep receipt, the dependent-file battery and the 1…
MaxGhenis Sep 18, 2026
52abeb9
Lift the child lane's recipient ceiling, chain the last catch-alls, a…
MaxGhenis Sep 18, 2026
9af56aa
Commit the raw census and logs; make the lane's tools lint clean and …
MaxGhenis Sep 18, 2026
703c9d5
Fix the launch scripts' unclosed quote
MaxGhenis Sep 18, 2026
25d66f3
Record the 1/15 launch and the prediction before its outcome
MaxGhenis Sep 18, 2026
ed12342
Plan completion-compatible native observation retention
MaxGhenis Sep 19, 2026
ee70493
Retain compact native survey observations through completion
MaxGhenis Sep 19, 2026
144078d
Reuse ACS serial lookup across native archive chunks
MaxGhenis Sep 19, 2026
5258a4c
Cache immutable ACS source declarations without reusing live validity
MaxGhenis Sep 19, 2026
59daeda
Add checked native survey development handoff
MaxGhenis Sep 19, 2026
516e6e8
Port SOI Table 1.1 AGI targets into native continuation
MaxGhenis Sep 19, 2026
d9ddc5e
Add pure native-keyed usual-hours proposals
MaxGhenis Sep 19, 2026
c0d5ccc
Preserve valid ASEC supplement nonresponse status in hours proposals
MaxGhenis Sep 19, 2026
2f5ed4e
Bind native ACS hours proposals to retained survey sources
MaxGhenis Sep 19, 2026
8c9877c
Distinguish ASEC usual-hours observations from universe absence
MaxGhenis Sep 19, 2026
561c6cc
Qualify usual hours for both original survey arms
MaxGhenis Sep 19, 2026
023fb57
Transport source hours through exact clone ancestry
MaxGhenis Sep 19, 2026
86353cd
Add opt-in ACS SPM source assembly before native input mapping
MaxGhenis Sep 19, 2026
1729d1b
Record source adapter implementation hashes in construction receipts
MaxGhenis Sep 19, 2026
cf04225
Bind optional ACS SPM construction to native source custody
MaxGhenis Sep 19, 2026
ac15e9f
Integrate authenticated usual hours into native survey graph
MaxGhenis Sep 19, 2026
46c5152
Verify combined native hours handoff and metadata custody
MaxGhenis Sep 19, 2026
f3b942c
Qualify native immigration source literals before status assignment
MaxGhenis Sep 19, 2026
59b14c2
Verify retained immigration digest dependencies and scoped provenance…
MaxGhenis Sep 19, 2026
120ef06
Rebind Medicaid substitution target hierarchy
MaxGhenis Sep 19, 2026
1f527f4
Add source-qualified primary-family household diagnostics
MaxGhenis Sep 19, 2026
3321c11
Correct ASEC relationship dictionary page citation
MaxGhenis Sep 19, 2026
bfaa796
Iterate ACS income anchors without full record lists
MaxGhenis Sep 19, 2026
eae74af
Record reform comparisons and benchmark publishers in validation
MaxGhenis Sep 19, 2026
30f0b09
Preserve authenticated upstream schemas in PUF replay
MaxGhenis Sep 19, 2026
55e7969
Prove household support replay and reuse recipient owner check
MaxGhenis Sep 19, 2026
83e0519
Add scoped final-export SNAP acceptance checks
MaxGhenis Sep 19, 2026
745ecd6
Report malformed SNAP export containers as failed acceptance
MaxGhenis Sep 19, 2026
66a05b6
Preserve Frame context during ACA source writeback
MaxGhenis Sep 19, 2026
8a5029d
Separate legacy headship evidence from source-qualified roles
MaxGhenis Sep 19, 2026
a65dabf
Check preserved legacy headship in housing source fixture
MaxGhenis Sep 19, 2026
774a900
Integrate native SPM source, projection and enrichment graph
MaxGhenis Sep 19, 2026
116dac2
Add checked full-original ASEC immigration donor
MaxGhenis Sep 19, 2026
8241daf
Bind full ASEC donor demographic and state coordinates
MaxGhenis Sep 19, 2026
3242996
Qualify selected ACS immigration source projection
MaxGhenis Sep 19, 2026
249fd57
Refuse ACS entry evidence outside questionnaire universe
MaxGhenis Sep 19, 2026
071f563
Bind immigration rules and transfer to source observation years
MaxGhenis Sep 19, 2026
3b0f776
Regenerate native immigration typed source bundle
MaxGhenis Sep 19, 2026
c692758
Align typed ACS transfer declaration with live v4 identity
MaxGhenis Sep 19, 2026
75a6fbe
Add explicit unqualified native engine projection
MaxGhenis Sep 19, 2026
310f00f
Reject selected weight source columns in native projection
MaxGhenis Sep 19, 2026
bb92dcb
Assign immigration pairs on retained full ASEC donors
MaxGhenis Sep 19, 2026
3216967
Retain captured immigration controls through ACS transfer
MaxGhenis Sep 20, 2026
54f224f
Allow explicit formula metadata in fiscal release helpers
MaxGhenis Sep 20, 2026
bbc6f89
Share the maintained dense and L0 fiscal release solve
MaxGhenis Sep 20, 2026
18f8ba1
Share fiscal target compilation without changing release gates
MaxGhenis Sep 20, 2026
0b476f9
Allow explicit fiscal consumer constructors and SPM settings
MaxGhenis Sep 20, 2026
dc6b79a
Keep US adapter metadata in the selected SPM context
MaxGhenis Sep 20, 2026
78b1125
Return verified graph-store byte buffers
MaxGhenis Sep 20, 2026
39c8761
Compare US release artifacts using their shipped weights
MaxGhenis Sep 20, 2026
d425eaa
Return verified graph-store byte buffers
MaxGhenis Sep 20, 2026
5af8636
Add retained original-survey immigration transfer owner
MaxGhenis Sep 20, 2026
ba75a14
Bind US release comparisons to an explicit model consumer
MaxGhenis Sep 20, 2026
099d6f3
Validate native projection input representations against consumer met…
MaxGhenis Sep 20, 2026
ddfd72b
Add verified logical PolicyEngine H5 readback bridge
MaxGhenis Sep 20, 2026
1a44396
Reject lossy floating storage for structural IDs
MaxGhenis Sep 20, 2026
8ae20b8
Add private native calibration attachment bridge
MaxGhenis Sep 20, 2026
fef2cb5
Classify reviewed store and consumer metadata dependencies
MaxGhenis Sep 20, 2026
3991e96
Add explicit native US input-name profile
MaxGhenis Sep 20, 2026
d33d71b
Attach retained original immigration pairs to survey clones
MaxGhenis Sep 20, 2026
a4ed334
Seal original immigration owner entry points before clone borrowing
MaxGhenis Sep 20, 2026
15b7bef
Anchor clone borrowing guards to original owner baseline
MaxGhenis Sep 20, 2026
26b7ec2
Classify shared income names and H5 readback runtime helpers
MaxGhenis Sep 20, 2026
460addb
Add opt-in native workers compensation amount route
MaxGhenis Sep 20, 2026
bf77231
Add opt-in native ACS health coverage completion
MaxGhenis Sep 20, 2026
26ce370
Materialize health donor filters during host reconstruction
MaxGhenis Sep 20, 2026
5cb3b54
Bind qualified survey sex on originals and existing clones
MaxGhenis Sep 20, 2026
55cdb90
Add observation-conditioned QRF matrix graph application
MaxGhenis Sep 20, 2026
b64a7c1
Bind exact survey race and Hispanic origin on originals and clones
MaxGhenis Sep 20, 2026
82d9921
Check independent demographic and health options with WC integration
MaxGhenis Sep 20, 2026
8c44d4f
Add opt-in full-original ASEC amount donors
MaxGhenis Sep 20, 2026
d7ef139
Check full donor support with independent enrichment options
MaxGhenis Sep 20, 2026
477582c
Scope native financial rechecks to a verification epoch
MaxGhenis Sep 20, 2026
0e3b4e2
Preserve logical string equality across H5 readback storage
MaxGhenis Sep 20, 2026
bcd6f0d
Add source-qualified fixed inputs for explicit PUF55 survey arms
MaxGhenis Sep 20, 2026
33d231b
Bind canonical state to qualified atomic geography
MaxGhenis Sep 20, 2026
b4f9b8e
Accelerate bounded unquoted ASEC CSV record checks
MaxGhenis Sep 20, 2026
1d36c0c
Add original-arm PUF application and conditioning merge
MaxGhenis Sep 20, 2026
0042e38
Add opt-in native child-support receipt modeling
MaxGhenis Sep 20, 2026
869f4d7
Bind canonical state after native enrichment with explicit population…
MaxGhenis Sep 20, 2026
8af4f01
Verify child and state terminal composition with explicit axis preser…
MaxGhenis Sep 20, 2026
4503161
Add opt-in native veterans benefits with qualified original donors
MaxGhenis Sep 20, 2026
1c0524a
Preserve qualified original SPM amount evidence at unit grain
MaxGhenis Sep 20, 2026
1199f5e
Add conservative original-arm PUF55 placement fragment
MaxGhenis Sep 20, 2026
f17182e
Wire original-arm PUF application into survey enrichment host
MaxGhenis Sep 20, 2026
c8652fb
Add source-qualified development inputs to the survey graph
MaxGhenis Sep 20, 2026
9cb1973
Add full original Social Security report basis
MaxGhenis Sep 20, 2026
e2c612b
Keep invented enrichment SS receipt consistent with age
MaxGhenis Sep 20, 2026
decbfc5
Add weighted categorical model and graph probability artifacts
MaxGhenis Sep 20, 2026
fe4bf26
Add a qualified ASEC other-disability source adapter
MaxGhenis Sep 20, 2026
7163b5b
Refuse a missing workers' compensation amount and widen the fences
MaxGhenis Sep 20, 2026
0db555c
Detach the constant snapshot, pin the imported bytes, settle topcoding
MaxGhenis Sep 20, 2026
fc8db8b
Recheck the implementation after the receiver runs, and sharpen the c…
MaxGhenis Sep 20, 2026
873ccf5
Seal the returned constructors the receiver can reach
MaxGhenis Sep 20, 2026
d6eed79
Recheck other disability source after final qualification callback
MaxGhenis Sep 20, 2026
0f92ddf
Decompose the US replacement scorecard on a national/state/CD view
MaxGhenis Sep 20, 2026
c3a7709
Keep the national/CD view on the incumbent-only scorecard path
MaxGhenis Sep 20, 2026
61a501a
Bind a scorecard row's area identifier to the level that resolved it
MaxGhenis Sep 20, 2026
b9ae38f
Restate the id-copy invariant comment against the compiler refusal
MaxGhenis Sep 20, 2026
861b95c
Unpack the bound identifier in declaration order, not reversed
MaxGhenis Sep 20, 2026
9a72296
Validate geography identities in release comparisons
MaxGhenis Sep 20, 2026
faf324e
Add the native Social Security report completion fragment
MaxGhenis Sep 20, 2026
bcf9181
Declare only owned columns in the original placement slices
MaxGhenis Sep 21, 2026
02be048
Open a private source version for the original PUF arm
MaxGhenis Sep 21, 2026
f7a304c
Accept the receiving version as owner of carried arm-one outputs
MaxGhenis Sep 21, 2026
7c1c1ae
Order the carried-output test so the shared frame is mutated last
MaxGhenis Sep 21, 2026
91f2185
Persist input population versions, not the in-process seal, in the pl…
MaxGhenis Sep 21, 2026
47960af
Compare the placement documents in the replay-invariance test
MaxGhenis Sep 21, 2026
07b69be
Clarify survey poverty as comparison-only evidence
MaxGhenis Sep 21, 2026
b2d7a57
Add native PUF tail fixture selection contract
MaxGhenis Sep 21, 2026
0e073d1
Add optional native other-disability completion graph
MaxGhenis Sep 21, 2026
d053f39
Keep native survey handoff independent of country runtime
MaxGhenis Sep 21, 2026
c1ae4f2
Fix export contract constructor in engine-free handoff test
MaxGhenis Sep 21, 2026
43c39a9
Strengthen native AGI tail fixture contracts and numerical checks
MaxGhenis Sep 21, 2026
a5fc3e9
Add optional native other-disability completion graph
MaxGhenis Sep 21, 2026
fa72c60
Add development singleton Social Security beneficiary convention
MaxGhenis Sep 21, 2026
5113093
Add invented native tail structural expansion contract
MaxGhenis Sep 21, 2026
1623488
Add opt-in other-disability host continuation (source reviewed, unexe…
MaxGhenis Sep 21, 2026
1b35534
Add invented native tail selection and compatible matching
MaxGhenis Sep 21, 2026
292c268
Qualify raw survey household domains with retained source custody
MaxGhenis Sep 21, 2026
0184355
Materialize disability filter frames before population reconstruction
MaxGhenis Sep 21, 2026
050c58a
Reuse child reconstructions within verified operations and recheck on…
MaxGhenis Sep 21, 2026
48ce525
Add an explicit survey financial path before atomic geography
MaxGhenis Sep 21, 2026
5067f21
Qualify raw survey household domains with retained source custody
MaxGhenis Sep 21, 2026
aa2eaab
Fix inherited disability manifest population context comparison
MaxGhenis Sep 21, 2026
16de00f
Merge native-agi-tail-matching-20260921 (1b35534b5) into the native i…
MaxGhenis Sep 23, 2026
b54c745
Merge native-child-pre-geography-integration-20260921 (050c58a60) int…
MaxGhenis Sep 23, 2026
259eb89
Merge native-survey-tail-recipients-20260921 (5067f21a4) into the nat…
MaxGhenis Sep 23, 2026
9f48fc2
Merge native-household-domain-projection-20260921 (292c268a0) into th…
MaxGhenis Sep 23, 2026
1573ed0
Merge native-ss-beneficiary-core-20260921 (fa72c60f9) into the native…
MaxGhenis Sep 23, 2026
4f44235
Merge native-other-disability-context-replay-20260921 (aa2eaab11) int…
MaxGhenis Sep 23, 2026
c7e1a23
Merge native-other-disability-completion-20260921 (0e073d127) into th…
MaxGhenis Sep 23, 2026
9e9c885
Merge native-retention-seal (98b698593, #950) into the native integra…
MaxGhenis Sep 23, 2026
93e91c0
Merge native-byte-transports (25d66f3c5) into the native integration …
MaxGhenis Sep 23, 2026
112132b
Merge store-verified-bytes-20260920 (78b1125f4) into the native integ…
MaxGhenis Sep 23, 2026
c15661e
Point the final-owner mutation test at the shared financial runner
MaxGhenis Sep 23, 2026
e8dfb41
Merge main (6442030a2) and poverty-comparison-only (07b69be68) into t…
MaxGhenis Sep 24, 2026
a883172
Fix the two residual enrichment test failures on the native integrati…
MaxGhenis Sep 26, 2026
2807cd2
Merge main (2bce66156) into the native integration line
MaxGhenis Sep 26, 2026
6894bb3
Refresh the seed diagnostic's uv.lock pin to the current lockfile
MaxGhenis Sep 26, 2026
44bfedb
Release sys.monitoring observers portably on Python 3.13
MaxGhenis Sep 26, 2026
a57e987
Scope the native hours summary gate like main's pool-scoped signal gate
MaxGhenis Sep 26, 2026
0cac0b9
Give the native immigration stage's A_LFSR a real base-stage provider
MaxGhenis Sep 26, 2026
6250e5d
Carry the ACS immigration evidence the ported paired transfer reads
MaxGhenis Sep 26, 2026
1d0dd45
Re-extract the US input profiles from main's current coverage manifest
MaxGhenis Sep 26, 2026
5246c3c
Skip the hours-gate property test where hypothesis is absent
MaxGhenis Sep 27, 2026
256d90a
Adapt two main fiscal tests to the native shared solve and #958 targets
MaxGhenis Sep 27, 2026
55ce189
Seal a class namespace cell by identity so 3.14 annotation caching pa…
MaxGhenis Sep 27, 2026
54bdf7f
Give every UK seam test outside a checkout the invented code pin
MaxGhenis Sep 27, 2026
ba5fd6a
Skip the checkout-bound producer identity tests where shards are inst…
MaxGhenis Sep 27, 2026
6f477b6
Record the post-merge failure fixes in the integration record
MaxGhenis Sep 27, 2026
3de7348
Keep the class namespace sealed; exclude only the copy cache (review …
MaxGhenis Sep 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Preserve exact unified-diff context markers in the archived measured experiment.
experiments/us-acs-code-memo-not-adopted-20260910.patch -whitespace
187 changes: 171 additions & 16 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,8 @@ jobs:
# python3 (not bare `python`): guaranteed on the Ubuntu image, and this
# step runs before any sync so it must hold with the stdlib alone.
run: python3 tools/ci_test_groups.py --verify
- name: Check file-shard and workflow coverage without importing data tests
run: python3 -I -B -S packages/microcosm-build/tests/test_ci_test_groups.py
- name: Verify the graph acceptance burndown is monotone
# The charter's second process rule, executable: the number of red
# properties in the microcosm-graph acceptance suite never rises
Expand All @@ -186,17 +188,28 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.13", "3.14"]
group: [trade, spine-uk, rest]
lane:
- {"group": "trade", "shard": "1/1"}
- {"group": "spine-uk", "shard": "1/1"}
- {"group": "rest", "shard": "1/6"}
- {"group": "rest", "shard": "2/6"}
- {"group": "rest", "shard": "3/6"}
- {"group": "rest", "shard": "4/6"}
- {"group": "rest", "shard": "5/6"}
- {"group": "rest", "shard": "6/6"}
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
- name: Sync workspace without engines
run: uv sync --all-packages --locked
- name: Engine-free tests (${{ matrix.group }})
- name: Engine-free tests (${{ matrix.lane.group }} ${{ matrix.lane.shard }})
run: |
mapfile -t files < <(uv run --no-sync python tools/ci_test_groups.py --list "${{ matrix.group }}")
set -euo pipefail
selected="$(uv run --no-sync python tools/ci_test_groups.py --list "${{ matrix.lane.group }}" --shard "${{ matrix.lane.shard }}")"
test -n "$selected"
mapfile -t files <<< "$selected"
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider --durations=25

engine-shared:
Expand All @@ -207,7 +220,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.13", "3.14"]
python-version: ["3.13", "3.14.4"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
Expand All @@ -217,9 +230,76 @@ jobs:
run: uv sync --all-packages --locked --extra us --extra uk
- name: Shared/spec engine tests
run: |
mapfile -t files < <(uv run --no-sync python tools/ci_test_groups.py --list shared-spec)
set -euo pipefail
selected="$(uv run --no-sync python tools/ci_test_groups.py --list shared-spec)"
test -n "$selected"
mapfile -t files <<< "$selected"
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider --durations=25

spec-seed-diagnostics:
# Produce bounded diagnosis immediately, independently of the full suite.
# This remains required by ci-ok and never updates assertion goldens.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
python-version: "3.14.4"
- name: Sync workspace with US and UK engines
run: uv sync --all-packages --locked --extra us --extra uk
- name: Check diagnostic bootstrap and failure reporting
timeout-minutes: 2
env:
PYTHONDONTWRITEBYTECODE: "1"
PYTEST_DISABLE_PLUGIN_AUTOLOAD: "1"
run: >-
uv run --no-sync pytest --noconftest -p no:cacheprovider -q
packages/microcosm-build/tests/test_spec_seed_identity_cpu_bootstrap.py
packages/microcosm-build/tests/test_spec_seed_identity_outer_failure.py
packages/microcosm-build/tests/test_spec_seed_identity_owned_temp.py
packages/microcosm-build/tests/test_spec_seed_identity_system_metadata.py
packages/microcosm-build/tests/test_spec_seed_identity_per_code_context.py
- name: Derive candidate spec and seed identities (diagnostic only)
id: spec_seed_diagnostics
timeout-minutes: 15
env:
DIAG_WORKFLOW_SHA: ${{ github.workflow_sha }}
DIAG_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
DIAG_PR_BASE_SHA: ${{ github.event.pull_request.base.sha }}
DIAG_MERGE_SHA: ${{ github.event.pull_request.merge_commit_sha }}
PYTHONDONTWRITEBYTECODE: "1"
PYTEST_DISABLE_PLUGIN_AUTOLOAD: "1"
OMP_NUM_THREADS: "1"
OPENBLAS_NUM_THREADS: "1"
MKL_NUM_THREADS: "1"
VECLIB_MAXIMUM_THREADS: "1"
NUMEXPR_NUM_THREADS: "1"
BLIS_NUM_THREADS: "1"
POPULACE_FIT_N_JOBS: "1"
POPULACE_FIT_PREDICT_WORKERS: "1"
run: |
DIAG_CHECKOUT_SHA="$(git rev-parse --verify HEAD)"
DIAG_UV_VERSION="$(uv --version)"
export DIAG_CHECKOUT_SHA DIAG_UV_VERSION
uv run --no-sync python tools/spec_seed_identity_diagnostics.py \
--output-dir "$RUNNER_TEMP/spec-seed-diagnostics"
- name: Retain bounded candidate identity evidence
if: ${{ always() && steps.spec_seed_diagnostics.outcome != 'skipped' }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: spec-seed-diagnostics-${{ github.run_id }}-${{ github.run_attempt }}-py3.14.4
path: |
${{ runner.temp }}/spec-seed-diagnostics/candidate-digests.json
${{ runner.temp }}/spec-seed-diagnostics/seed-protocol.json
${{ runner.temp }}/spec-seed-diagnostics/seed-map.json
${{ runner.temp }}/spec-seed-diagnostics/seed-bindings.json
${{ runner.temp }}/spec-seed-diagnostics/environment-and-source.json
${{ runner.temp }}/spec-seed-diagnostics/diagnostic-status.json
if-no-files-found: error
retention-days: 3
compression-level: 0
include-hidden-files: false

engine-us:
needs: changes
if: github.event_name == 'push' || needs.changes.outputs.us == 'true' || needs.changes.outputs.shared == 'true'
Expand All @@ -228,20 +308,33 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.13", "3.14"]
group: [us-p, us-qs, us-not, us-am]
lane:
- {"group": "us-p", "shard": "1/1"}
- {"group": "us-qs", "shard": "1/1"}
- {"group": "us-not", "shard": "1/1"}
- {"group": "us-am", "shard": "1/4"}
- {"group": "us-am", "shard": "2/4"}
- {"group": "us-am", "shard": "3/4"}
- {"group": "us-am", "shard": "4/4"}
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
- name: Sync workspace with US and UK engines
run: uv sync --all-packages --locked --extra us --extra uk
- name: US engine tests (${{ matrix.group }})
- name: US engine tests (${{ matrix.lane.group }} ${{ matrix.lane.shard }})
run: |
while IFS= read -r proc; do
mapfile -t files < <(uv run --no-sync python tools/ci_test_groups.py --list "${{ matrix.group }}:${proc}")
set -euo pipefail
selected_procs="$(uv run --no-sync python tools/ci_test_groups.py --procs "${{ matrix.lane.group }}")"
test -n "$selected_procs"
mapfile -t procs <<< "$selected_procs"
for proc in "${procs[@]}"; do
selected="$(uv run --no-sync python tools/ci_test_groups.py --list "${{ matrix.lane.group }}:${proc}" --shard "${{ matrix.lane.shard }}")"
test -n "$selected"
mapfile -t files <<< "$selected"
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider --durations=25
done < <(uv run --no-sync python tools/ci_test_groups.py --procs "${{ matrix.group }}")
done

engine-uk:
needs: changes
Expand All @@ -261,10 +354,16 @@ jobs:
run: uv sync --all-packages --locked --extra us --extra uk
- name: UK engine tests
run: |
while IFS= read -r proc; do
mapfile -t files < <(uv run --no-sync python tools/ci_test_groups.py --list "uk:${proc}")
set -euo pipefail
selected_procs="$(uv run --no-sync python tools/ci_test_groups.py --procs uk)"
test -n "$selected_procs"
mapfile -t procs <<< "$selected_procs"
for proc in "${procs[@]}"; do
selected="$(uv run --no-sync python tools/ci_test_groups.py --list "uk:${proc}")"
test -n "$selected"
mapfile -t files <<< "$selected"
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider --durations=25
done < <(uv run --no-sync python tools/ci_test_groups.py --procs uk)
done

wheels:
# The charter-mandated packaging gate: editable installs hide packaging
Expand All @@ -277,6 +376,15 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.13", "3.14"]
lane:
- {"group": "wheels", "shard": "1/8"}
- {"group": "wheels", "shard": "2/8"}
- {"group": "wheels", "shard": "3/8"}
- {"group": "wheels", "shard": "4/8"}
- {"group": "wheels", "shard": "5/8"}
- {"group": "wheels", "shard": "6/8"}
- {"group": "wheels", "shard": "7/8"}
- {"group": "wheels", "shard": "8/8"}
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v6
Expand Down Expand Up @@ -336,10 +444,56 @@ jobs:
PY
- name: Spec identity section digests (cross-environment diffing aid)
run: env -u PYTHONPATH /tmp/wheels-venv/bin/python -I tools/spec_envelope_digests.py be uk
- name: Run the suite against the installed wheels
- name: Add engine-free source preparation extras
# Real source fixtures require microunit for tax-unit construction and
# PyTables for pandas HDF input, alongside h5py. Request the extras from
# built wheels so their metadata, not editable installs, supplies these
# dependencies. The preceding step still checks the base wheel boundary;
# neither source extra installs a country rules engine.
run: |
frame_wheel="$(ls dist/microcosm_frame-*.whl)"
build_wheel="$(ls dist/microcosm_build-*.whl)"
uv pip install --python /tmp/wheels-venv/bin/python \
--constraint /tmp/wheel-constraints.txt \
"microcosm-frame[us] @ file://$(realpath "$frame_wheel")" \
"microcosm-build[source-io] @ file://$(realpath "$build_wheel")"
env -u PYTHONPATH /tmp/wheels-venv/bin/python -I - <<'PY'
from importlib import metadata, util
from pathlib import Path
from tempfile import TemporaryDirectory

import h5py
import pandas as pd
import tables

assert util.find_spec("microunit") is not None, (
"microcosm-frame[us] must install microunit into the wheel venv"
)
# Exercise the same HDF reader used by source preparation. Imports
# alone do not establish that the compiled PyTables backend works.
with TemporaryDirectory() as directory:
path = Path(directory) / "invented-source.h5"
expected = pd.DataFrame({"person_id": [1, 2], "amount": [0.0, 12.5]})
expected.to_hdf(path, key="person")
pd.testing.assert_frame_equal(pd.read_hdf(path, key="person"), expected)
assert util.find_spec("policyengine_us") is None
try:
metadata.distribution("policyengine-us")
except metadata.PackageNotFoundError:
pass
else:
raise AssertionError("policyengine-us must be absent from the base wheel gate")
print("microunit", metadata.version("microunit"))
print("h5py", h5py.__version__, "tables", tables.__version__)
PY
- name: Run the suite against the installed wheels (${{ matrix.lane.shard }})
run: |
set -euo pipefail
selected="$(env -u PYTHONPATH /tmp/wheels-venv/bin/python -I tools/ci_test_groups.py --list wheels --shard "${{ matrix.lane.shard }}")"
test -n "$selected"
mapfile -t files <<< "$selected"
/usr/bin/time -v env -u PYTHONPATH /tmp/wheels-venv/bin/python -I -m pytest \
packages/*/tests -p no:cacheprovider
"${files[@]}" -p no:cacheprovider --durations=25

ci-ok:
# The single aggregate context for branch protection. Per-leg matrix names
Expand All @@ -350,7 +504,7 @@ jobs:
# dependency-skip lets a failed `changes` take the engine lanes down without
# any required check going red: a lane skip is accepted only when
# classification itself succeeded.
needs: [changes, lint, fast, engine-shared, engine-us, engine-uk, wheels]
needs: [changes, lint, fast, engine-shared, spec-seed-diagnostics, engine-us, engine-uk, wheels]
if: always()
runs-on: ubuntu-latest
steps:
Expand All @@ -365,6 +519,7 @@ jobs:
require_success lint "${{ needs.lint.result }}"
require_success fast "${{ needs.fast.result }}"
require_success engine-shared "${{ needs['engine-shared'].result }}"
require_success spec-seed-diagnostics "${{ needs['spec-seed-diagnostics'].result }}"
require_success wheels "${{ needs.wheels.result }}"
for lane in "engine-us:${{ needs['engine-us'].result }}" "engine-uk:${{ needs['engine-uk'].result }}"; do
name="${lane%%:*}"; result="${lane#*:}"
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ tools/release.env

# Finder metadata — never payload
.DS_Store

# Lane-local before/after measurement staging (see docs/us-native-verification-once.md)
.measure/
42 changes: 37 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ PR CI (`.github/workflows/test.yml`) has four lanes — `lint`, `fast`,
the diff into `shared`/`us`/`uk`. `lint` verifies
`tools/ci_test_groups.py --verify`, syncs with `--locked`, and runs ruff.
`fast` runs the full tracked test-file inventory without engine extras in
three groups (`trade`, `spine-uk`, `rest`); engine-gated tests skip there
three groups (`trade`, `spine-uk`, `rest`), with `rest` split across six
parallel matrix jobs per Python version; engine-gated tests skip there
through whichever guard they carry — the `requires_*` markers, or the
`importorskip` calls that remain the norm on the US side. `engine-shared` always syncs
`--extra us --extra uk` and runs the shared/spec group. `engine-us` and
Expand All @@ -40,6 +41,31 @@ the wheel/import boundary and spec digests, and run the suite against installed
wheels. The `fast` and engine lanes pass `--durations=25`, so each job log ends
with its slowest tests; check there first when a lane's runtime jumps.

`us-am` likewise has four matrix subdivisions. Within each, build and other-shard
tests retain separate pytest processes to isolate their import state. Every wheel
job retains the complete build/install/smoke boundary and runs one of eight
disjoint file subdivisions, including engine-only files whose markers skip when
the engine is absent. Other groups and both Python versions are unchanged.
`tools/ci_test_groups.py --list GROUP[:PROCESS] --shard INDEX/COUNT` selects
sorted whole files round-robin; indices are 1-based and counts are capped at 64.
An invalid or empty selection fails before pytest. `--verify` proves the
configured shard unions and process partitions, while the stdlib-only
`python3 -I -B -S packages/microcosm-build/tests/test_ci_test_groups.py` checks
the actual matrix and selection contract. See [CI file sharding](docs/ci-file-sharding.md).
File counts are not measured runtime weights; a single expensive module can
still dominate a job, and module-scoped fixtures must remain intact.

After checking the base wheel boundary, the wheel lane installs the built
`microcosm-frame[us]` and `microcosm-build[source-io]` extras for engine-free
source tests. An invented pandas HDF round trip checks the compiled reader;
the country rules engine must still be absent.

The shared engine lane also runs a bounded source/seed identity diagnostic on
Python 3.14.4 after its normal tests, including when those tests fail. Its six
JSON artifacts retain candidate digests and their complete canonical seed
records for review. They never replace the test assertions or certify coverage;
review the captured source and dependency identities before updating any pins.

New commits to a PR cancel older unfinished CI runs for that same PR.
Each main-push run has a unique concurrency group, so all main-push runs
remain independent and can finish validating their merged changes.
Expand All @@ -61,10 +87,9 @@ load, or it silently receives the spec an earlier test cached.

**Adding a test file.** It must sit directly in `packages/<shard>/tests/` — flat,
no subdirectories; `fixtures/` and `golden/` hold data only — and be named
`test_*.py`. The lanes run explicit file lists built from a flat pathspec, while
local `uv run pytest` and the wheels lane discover recursively, so a test parked
next to its fixtures would run locally and stay green in CI without ever
executing against an engine. `--verify` fails on such a file rather than letting
`test_*.py`. All lanes, including wheels, run explicit flat file lists, while
local `uv run pytest` discovers recursively. A test parked next to its fixtures
could run locally without being selected in CI. `--verify` fails on such a file rather than letting
it hide. Build tests that exercise a country engine must be named `test_us_*` or
`test_uk_*` so they land in that country's lane; an engine-dependent file named
anything else falls into the always-on `shared-spec` group and runs on every PR.
Expand Down Expand Up @@ -171,6 +196,13 @@ A sealed deny-list in `microcosm.build.us_runtime.h5_io` overrides this opt-in
for known-excluded publications while preserving their scoring-only diagnostic
path.

The native survey development handoff is documented in
[the native handoff guide](docs/us-native-survey-development-handoff.md).
`prepare_native_survey_development_input` in the maintained US release tool
accepts a live issued enrichment owner and returns a verified Frame checkpoint
plus missing-input/gate inventory. This development checkpoint is not accepted
as native authority, a legacy pool manifest, or a certified dataset.

`tools/build_us_acs_donor_receipt_qualification.py` is a third local,
non-publishing lane. It takes one of two exact pinned Build P lineage parents
and appends the three reported-receipt inputs current main's ACS transfer
Expand Down
Loading
Loading