Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
56d9bf4
Fix worker resource identity tests for lazy imports
MaxGhenis Sep 10, 2026
3a2edc8
Record guarded ACS memo comparison without adopting it
MaxGhenis Sep 10, 2026
640c1db
Preserve exact archived experiment patch bytes
MaxGhenis Sep 10, 2026
a5a066f
Capture bounded CI spec identities and isolate ACS compilation cost
MaxGhenis Sep 10, 2026
bcc60e7
Verify the financial successor positive control and retain source cit…
MaxGhenis Sep 10, 2026
3bc7c8b
Repair age-count fixtures and run bounded identity diagnostics in par…
MaxGhenis Sep 10, 2026
28d3b24
Record original successor control acceptance and the remaining callba…
MaxGhenis Sep 10, 2026
886eea7
Distinguish terminal diagnostic refusal from optional import probes
MaxGhenis Sep 10, 2026
c5a1db9
Reuse source compilation after paired fixture and mutation checks
MaxGhenis Sep 10, 2026
23866bc
Merge disjoint PUF raw routes before whole-cohort finalization
MaxGhenis Sep 10, 2026
b47209e
Keep identity diagnostics on the explicit CPU-only Torch path
MaxGhenis Sep 10, 2026
290082a
Document adopted validation optimization and remaining boundary propo…
MaxGhenis Sep 10, 2026
a8368eb
Expose bounded diagnostic failures without changing build permissions
MaxGhenis Sep 10, 2026
df10f24
Bind financial successors to issued runs and seal returned budget views
MaxGhenis Sep 10, 2026
eb72fcb
Retain diagnostic scratch space for runner cleanup
MaxGhenis Sep 10, 2026
ed96fb9
Prepare PUF recipient routes from the issued financial survey graph
MaxGhenis Sep 10, 2026
2ce0a3a
Declare bounded system metadata for isolated CI diagnostics
MaxGhenis Sep 10, 2026
2904f15
Record the verified native survey geography and financial pilot
MaxGhenis Sep 10, 2026
07858d3
Integrate current calibration and verified US enrichment components
MaxGhenis Sep 10, 2026
8905b2e
Integrate merged UK CGT and PR CI scheduling changes
MaxGhenis Sep 10, 2026
d80593b
Preserve missing merge metadata and record verified calibration controls
MaxGhenis Sep 10, 2026
c5b25a9
Add verified PUF donor graph and finalized output seals
MaxGhenis Sep 10, 2026
9d20d6e
Clarify post-clone geography and parallel release review
MaxGhenis Sep 10, 2026
7521581
Record agreed UK graph and dashboard sequencing
MaxGhenis Sep 10, 2026
7fa6377
Integrate current UK target reconciliation with US launch work
MaxGhenis Sep 10, 2026
f4e5ec4
Record merged UK target dependency in release plan
MaxGhenis Sep 10, 2026
b1626e1
Add shared UK atomic-area adapter and lazy runtime exports
MaxGhenis Sep 10, 2026
162869d
Align seed diagnostic with approved current lockfile
MaxGhenis Sep 10, 2026
b591280
Verify full and pruned US exports against their common parent
MaxGhenis Sep 10, 2026
94b7c2a
Record independent export review and adopted source hashes
MaxGhenis Sep 10, 2026
1cebe35
Assign atomic geography after initial survey cloning
MaxGhenis Sep 10, 2026
1511663
Bind survey replay dependencies in budget producer checks
MaxGhenis Sep 10, 2026
a2c50a9
Verify survey input ownership and calibration diagnostics
MaxGhenis Sep 10, 2026
7bfdb82
Add the ASEC v3-to-v4 exact-source restoration helper and its checkpo…
MaxGhenis Sep 11, 2026
cabcad4
Repair two stale test expectations after the post-clone geography change
MaxGhenis Sep 11, 2026
fe9a7bd
Install the engine-free US extra into the wheels gate after the bound…
MaxGhenis Sep 11, 2026
b979797
Record the incomplete native post-clone financial pilot observation
MaxGhenis Sep 11, 2026
4ffa523
Classify the launch integration's runtime modules in the spine-blindn…
MaxGhenis Sep 11, 2026
1734b9e
Re-pin the seed protocol and compiled seed map digests for the launch…
MaxGhenis Sep 11, 2026
a90965f
Review the launch integration's source-spine accesses in the blindnes…
MaxGhenis Sep 11, 2026
931ee20
Let the seed-identity diagnostic import the engine under its boundary
MaxGhenis Sep 11, 2026
123650f
Complete the seed-identity diagnostic's kernel-module roster
MaxGhenis Sep 11, 2026
1007c0e
Re-pin the AM/BE/UK bundle digests and the loader's golden semantic hash
MaxGhenis Sep 11, 2026
c2c6b37
Reuse the ASEC catalogue records identity over unchanged immutable le…
MaxGhenis Sep 11, 2026
9fba910
Merge remote-tracking branch 'origin/main' into microcosm-us-launch-v…
MaxGhenis Sep 11, 2026
d872960
Carry a calibration hierarchy on every national demographic count target
MaxGhenis Sep 11, 2026
72fbe7b
Inject the late manifest mutation through the stage alias, not the se…
MaxGhenis Sep 11, 2026
2ca11c8
Project record classes and the source member's value into the memo le…
MaxGhenis Sep 11, 2026
f4a212b
Merge remote-tracking branch 'origin/main' into microcosm-us-launch-v…
MaxGhenis Sep 11, 2026
77c9e78
Re-pin the merged UK bundle and the pool tool's country-spec digest; …
MaxGhenis Sep 11, 2026
2c5c64f
Mark the engine parameter-file pin control as requiring the US engine
MaxGhenis Sep 11, 2026
069d5ed
Restore the engine resolver by monkeypatch instead of reloading puf_s…
MaxGhenis Sep 11, 2026
3ad1b1a
Open the #893 reconciliation lane journal
MaxGhenis Sep 12, 2026
3010b77
Merge origin/main (0c3f4f651, amendment 19) into the #893 integration…
MaxGhenis Sep 12, 2026
0513579
Merge origin/amend-keyed-seed-and-uniform-draws (23ba24770, amendment…
MaxGhenis Sep 12, 2026
dc621c1
Re-pin the seed protocol and compiled seed map digests on the merged …
MaxGhenis Sep 12, 2026
cff8fbf
Re-pin the calibrate and simulate H1 parity cases the branch's kernel…
MaxGhenis Sep 12, 2026
752ab84
Re-apply the raw-byte source codec on main's graph package
MaxGhenis Sep 12, 2026
db1b782
Re-apply complete Frame metadata storage and non-finite JSON refusal …
MaxGhenis Sep 12, 2026
d101976
Re-apply executor execution states: gate exceptions leave their consu…
MaxGhenis Sep 12, 2026
a16eeac
Re-apply the private population observer on run_graph
MaxGhenis Sep 12, 2026
2e1857a
Bring the #893 reconciliation journal up to the piece commits
MaxGhenis Sep 12, 2026
c704a1b
Pin that unreached propagates through a structural node and its version
MaxGhenis Sep 12, 2026
07566eb
Re-pin the US implementation inventory for the reconciled graph package
MaxGhenis Sep 12, 2026
80fef22
Record the #893 reconciliation report and layer map (draft; build bat…
MaxGhenis Sep 12, 2026
a4b6fe8
Restore pinned resources for prepared ASEC stage manifests
MaxGhenis Sep 12, 2026
d44e048
Record interrupted reconciliation battery and independent review bloc…
MaxGhenis Sep 12, 2026
6f66fa5
Isolate graph population observers from execution and cache state
MaxGhenis Sep 12, 2026
cb27bdb
Show unavailable execution separately from graph cache reuse
MaxGhenis Sep 12, 2026
4d82528
Record reviewed graph dependency and current native release progress
MaxGhenis Sep 12, 2026
9e61d0d
Merge reviewed keyed-draw repairs and derive integration identities
MaxGhenis Sep 12, 2026
0acc786
Update joint PUMA fixture and record integration checks
MaxGhenis Sep 12, 2026
26e51d1
Restore PUF55 host over the combined survey population
MaxGhenis Sep 12, 2026
d35df9c
Integrate graph persistence contracts and record Frame dependency
MaxGhenis Sep 12, 2026
aea7b2e
Add declared US fiscal measurement graph stage
MaxGhenis Sep 12, 2026
cff9410
Fix fiscal measurement arithmetic, predicate inputs and cache identity
MaxGhenis Sep 12, 2026
852967c
Bind fiscal engine table transforms into cache identity
MaxGhenis Sep 12, 2026
ceae455
Update US release path with PUF and measurement progress
MaxGhenis Sep 12, 2026
e019557
Record passing native financial required replay
MaxGhenis Sep 12, 2026
d07eb7e
Add constrained dense fiscal calibration graph stage
MaxGhenis Sep 12, 2026
99543c3
Document integrated dense calibration validation
MaxGhenis Sep 12, 2026
eb1f1ca
Open the #908 lane journal for the per-target snapshot slice
MaxGhenis Sep 12, 2026
d91b899
Emit per-target calibration estimate snapshots from the solver
MaxGhenis Sep 12, 2026
46a64cf
Measure the snapshot path on synthetic matrices, and label it synthetic
MaxGhenis Sep 12, 2026
aaae9a9
Record the slice's state and the #908 scope it does not cover
MaxGhenis Sep 12, 2026
35fc76d
Re-pin only the calibrate parity case's source identity
MaxGhenis Sep 12, 2026
5e4f431
Merge accepted keyed draw foundation into US integration
MaxGhenis Sep 12, 2026
a18fd60
Retain checked PUF55 outputs for downstream graph stages
MaxGhenis Sep 12, 2026
d5cbe60
Update release path for retained PUF output checks
MaxGhenis Sep 12, 2026
fb6d1dc
Stop the snapshot observer from being able to break the run it watches
MaxGhenis Sep 12, 2026
bae1887
Record how this lane ran the suite without installing anything
MaxGhenis Sep 12, 2026
b7b5d89
Merge the completed #908 snapshot slice and re-pin identities on the …
MaxGhenis Sep 12, 2026
e3bbb7a
Open ASEC income reporting/routing source lane journal
MaxGhenis Sep 12, 2026
80342aa
Close the snapshot metadata, detachment, publication and codec findings
MaxGhenis Sep 12, 2026
7264ae4
Replay the review's own counterexamples against the fix, as evidence
MaxGhenis Sep 12, 2026
734c669
Pin passive parity on the sparse-selection paths too
MaxGhenis Sep 12, 2026
12ac3a7
Qualify current ASEC income reporting and routing sources
MaxGhenis Sep 12, 2026
bc9f7cf
Preserve the survey interest remainder before PUF enrichment
MaxGhenis Sep 12, 2026
eb41e79
Reuse bounded source string encodings without changing frame digests
MaxGhenis Sep 12, 2026
5b6810b
Make a validated snapshot a snapshot that serializes
MaxGhenis Sep 12, 2026
536f1ce
Record survey interest and remaining income source work
MaxGhenis Sep 12, 2026
4c4cc22
Record this lane's verification in its journal
MaxGhenis Sep 12, 2026
9a325c8
Record the measured red-regression split in the lane journal
MaxGhenis Sep 12, 2026
aa7bde7
Read printed money entries from the pinned domains artifact
MaxGhenis Sep 12, 2026
b8380c4
Reject null best-iterate metadata at the strict snapshot codec
MaxGhenis Sep 12, 2026
34a5e49
Merge commit '9a325c8b0' into snapshot-strict-best-metadata-20260912
MaxGhenis Sep 12, 2026
b43369d
Document target snapshot usage and remaining country integration
MaxGhenis Sep 12, 2026
7e2c7e7
Cover the income routing qualifier with invented-source regressions
MaxGhenis Sep 12, 2026
a8759b9
Document the current ASEC income routing source contract
MaxGhenis Sep 12, 2026
d19e976
Record the income routing lane outcome and review corrections
MaxGhenis Sep 12, 2026
c859e34
Retain both distribution recipiency literals with the age route
MaxGhenis Sep 12, 2026
a0cb39f
Assert the income routing evidence receipt round-trips as JSON
MaxGhenis Sep 12, 2026
fff20fc
Merge the reviewed target-snapshot head into the grouped US solver br…
MaxGhenis Sep 12, 2026
e64d5a8
Emit target snapshots from the grouped Adam solver
MaxGhenis Sep 12, 2026
1c64223
Separate an unresolved other-income receipt from a reported category
MaxGhenis Sep 12, 2026
b19a5b6
Qualify observed ACS income anchors from retained source
MaxGhenis Sep 12, 2026
8901ed3
Add deterministic reconciliation to signed component totals
MaxGhenis Sep 12, 2026
8efbf5b
Correct four printed-dictionary claims found by adversarial review
MaxGhenis Sep 12, 2026
7ac2b86
Recompute the source-derived identities the merged solver moves
MaxGhenis Sep 12, 2026
fbb1099
Fix snapshot iterate and selected probe identity
MaxGhenis Sep 12, 2026
16fc6cb
Merge shared graph consolidation into target snapshots
MaxGhenis Sep 12, 2026
805d366
Merge remote-tracking branch 'origin/main' into us-launch-income-batc…
MaxGhenis Sep 12, 2026
f92418a
Add source-qualified survey health coverage graph fragment
MaxGhenis Sep 12, 2026
091261c
Add checked survey amount and health enrichment host
MaxGhenis Sep 12, 2026
2f62bb8
Add the grouped x snapshot cross-product controls
MaxGhenis Sep 12, 2026
c71ea05
Stop completing amounts the printed dictionary leaves ambiguous
MaxGhenis Sep 12, 2026
84aed94
Record integrated survey enrichment and current release boundaries
MaxGhenis Sep 12, 2026
52805a4
Record corrected native pilot launch after harness verification
MaxGhenis Sep 12, 2026
d3ec6c2
Merge grouped calibration target snapshot core
MaxGhenis Sep 12, 2026
a585d70
Register the qualifier in the fail-closed US runtime rosters
MaxGhenis Sep 12, 2026
4d4b9ca
Record the adversarial review round in the lane journal
MaxGhenis Sep 12, 2026
c73ce38
Reconcile snapshot iteration identity and wire the fiscal host observer
MaxGhenis Sep 12, 2026
4b9ea61
Record the lane's scope, evidence and residual risks
MaxGhenis Sep 12, 2026
d6bb877
Merge commit '52805a4cf' into us-fiscal-target-snapshot-host-20260912
MaxGhenis Sep 12, 2026
13791d7
Record final fiscal snapshot evidence and historicize grouped lane notes
MaxGhenis Sep 12, 2026
c6277f6
Integrate qualified ASEC income routing sources
MaxGhenis Sep 12, 2026
2ab15db
Qualify ordinary and retirement-account ASEC interest sources
MaxGhenis Sep 12, 2026
4a8f1d9
Respect unpublished ASEC farm allocation code meanings
MaxGhenis Sep 12, 2026
9189ab5
Merge accepted US income source integration
MaxGhenis Sep 12, 2026
5075fdd
Merge accepted fiscal target snapshot integration
MaxGhenis Sep 12, 2026
adc8928
Expose signed component reconciliation in the calculation graph
MaxGhenis Sep 12, 2026
0e8d5a7
Declare pinned fiscal leaf policies with strict execution boundaries
MaxGhenis Sep 12, 2026
2be80c2
Classify reviewed US source graph modules and verify integration
MaxGhenis Sep 12, 2026
e097277
Integrate verified signed income reconciliation graph
MaxGhenis Sep 12, 2026
4f7284c
Merge verified US source integration before domain hardening
MaxGhenis Sep 12, 2026
bf7976d
Qualify received and paid ASEC child-support observations
MaxGhenis Sep 12, 2026
3b20175
Define shared columns for the property income bridge
MaxGhenis Sep 12, 2026
90bc1bf
Qualify current ASEC dividends and survivor property routes
MaxGhenis Sep 12, 2026
d20f25c
Connect joint property income draws to signed graph reconciliation
MaxGhenis Sep 12, 2026
f62c30f
Integrate reviewed fiscal leaf policy declarations
MaxGhenis Sep 12, 2026
2fc88c8
Bind delegated QRF implementation to property fit cache identity
MaxGhenis Sep 12, 2026
9a369a8
Harden ASEC amount metadata and domain agreement
MaxGhenis Sep 12, 2026
e2e38a3
Format the property graph regression imports
MaxGhenis Sep 12, 2026
bedc427
Integrate reviewed child support and immutable source domains
MaxGhenis Sep 12, 2026
749ca90
Integrate reviewed property income graph and cache repair
MaxGhenis Sep 12, 2026
68f49d5
Integrate qualified ASEC dividend and visible survivor routes
MaxGhenis Sep 12, 2026
80fcc7d
Build pure ASEC property donor basis and exclusion diagnostics
MaxGhenis Sep 12, 2026
bc278d9
Exclude unqualified extra survivor sources from property donors
MaxGhenis Sep 12, 2026
48507e8
Classify reviewed property and fiscal source boundaries
MaxGhenis Sep 12, 2026
a0895ec
Compose qualified original survey property income branches
MaxGhenis Sep 12, 2026
200a4fd
Record integrated property source and graph verification
MaxGhenis Sep 12, 2026
8c10f8a
Verify property model receipts against original population inputs
MaxGhenis Sep 12, 2026
227dc8d
Preserve Weights validation and class state during copying
MaxGhenis Sep 12, 2026
73e1144
Add opt-in current survey property graph fragment
MaxGhenis Sep 12, 2026
5ff83f5
Integrate qualified property income into the checked US financial graph
MaxGhenis Sep 13, 2026
8cd762f
Merge commit '5ff83f53e3f6f5940889150d8f4fd6c4590525d5' into us-launc…
MaxGhenis Sep 13, 2026
d91662e
Qualify current ASEC retirement source details
MaxGhenis Sep 12, 2026
7452c26
Preserve declared annuity NIU normalization in retirement qualification
MaxGhenis Sep 12, 2026
aaf3174
Add explicit UK household lineage projection for atomic geography
MaxGhenis Sep 13, 2026
47efa3f
Refresh country spec pins for reviewed solver source changes
MaxGhenis Sep 13, 2026
d084711
Recheck retained survey observations after final I/O
MaxGhenis Sep 13, 2026
c51c5a6
Add deterministic property tax leaf rebase and numerical gate
MaxGhenis Sep 13, 2026
5451d0a
Add optional checked property tax rebase to survey financial host
MaxGhenis Sep 13, 2026
79cde40
Provide engine-free HDF readers in the installed wheel gate
MaxGhenis Sep 13, 2026
8ebce1c
Record checked property tax integration and native build status
MaxGhenis Sep 13, 2026
78e067a
Refresh the seed diagnostic lock pin for source reader extras
MaxGhenis Sep 13, 2026
21f02c2
Verify independent property observations survive donor exclusions
MaxGhenis Sep 13, 2026
4fd4c16
Add conservative ASEC retirement candidate ledger
MaxGhenis Sep 13, 2026
8bda23c
Fix retirement candidate accounting and unreadable off-route evidence
MaxGhenis Sep 13, 2026
b8f52c4
Add deterministic property completion routing diagnostics
MaxGhenis Sep 13, 2026
d391cac
Classify retirement and property completion diagnostics
MaxGhenis Sep 13, 2026
8aed367
Stream the full-PUF population seal parts into the digest
MaxGhenis Sep 13, 2026
8a0b527
Take whole series by slice in the physical storage parts
MaxGhenis Sep 13, 2026
6792e12
Convert the remaining whole-series storage-parts call sites
MaxGhenis Sep 13, 2026
6393c74
Pack exact Python floats directly in the scalar digest framing
MaxGhenis Sep 13, 2026
81168a7
Complete the scalar-type matrix in the two graph parity tests
MaxGhenis Sep 13, 2026
0924b51
Use a valid singleton population in seal parity controls
MaxGhenis Sep 13, 2026
dc7a427
Update worker identity for reviewed source I/O lock metadata
MaxGhenis Sep 13, 2026
dfa57cc
Classify worker lock controls in the shared spec CI group
MaxGhenis Sep 13, 2026
49b9aa6
Record completion diagnostics, retirement review and hash benchmarks
MaxGhenis Sep 13, 2026
f4773bc
Add opt-in private property completion graph diagnostics
MaxGhenis Sep 13, 2026
c06d29e
Exercise completion diagnostics in retained property host tests
MaxGhenis Sep 13, 2026
a96fc85
Record completion-enabled survey graph acceptance
MaxGhenis Sep 13, 2026
da423be
Connect source housing participation to the common survey graph
MaxGhenis Sep 13, 2026
f840595
Preserve rational source metadata and validate named household roles
MaxGhenis Sep 13, 2026
8ece41d
Exercise housing imputation with an unresolved survey renter
MaxGhenis Sep 13, 2026
151e360
Preserve exact housing identities and batch source qualification
MaxGhenis Sep 13, 2026
076b4a8
Use canonical string storage during housing qualification
MaxGhenis Sep 13, 2026
df9bdf0
Fix PUF observer cleanup on Python 3.13
MaxGhenis Sep 13, 2026
f6a5b7e
Classify shared survey housing graph modules
MaxGhenis Sep 13, 2026
83f2561
Record housing integration and UK contract acceptance
MaxGhenis Sep 13, 2026
914a215
Fix issues from review: gate scorer HDF tests on the US engine
MaxGhenis Sep 13, 2026
e24b5c4
Open the US canonical household-role lane journal
MaxGhenis Sep 13, 2026
568c12c
Qualify the canonical household reference-person role from both arms
MaxGhenis Sep 13, 2026
d18bd6e
Complete source-bound household role graph fragment and integrity checks
MaxGhenis Sep 13, 2026
06041a2
Address household-role source review and coverage gaps
MaxGhenis Sep 13, 2026
9edd6a2
Isolate household role demographic declarations from composed runtime
MaxGhenis Sep 13, 2026
4de7ef1
Qualify descriptive survey person status without eligibility aliases
MaxGhenis Sep 13, 2026
31ab127
Bind person status callback and ACS literal widths
MaxGhenis Sep 13, 2026
9067244
Retain grade allocation provenance and status consistency checks
MaxGhenis Sep 13, 2026
25b3bdd
Expose retained survey person status in the US graph
MaxGhenis Sep 13, 2026
e7d26cc
Add typed graph operations for paired empirical draws
MaxGhenis Sep 13, 2026
1c04b00
Add source-owned child property income empirical candidate
MaxGhenis Sep 13, 2026
baafd49
Close child empirical probability and source interpretation gaps
MaxGhenis Sep 13, 2026
22312fb
Seal remaining child source evidence constants
MaxGhenis Sep 13, 2026
5cc85c7
Bind empirical replay dependencies and support zero eligible draws
MaxGhenis Sep 13, 2026
bcc7fd1
Add source-owned child property graph candidate
MaxGhenis Sep 13, 2026
6aa745c
Seal child graph evidence across final owner callbacks
MaxGhenis Sep 13, 2026
7ce6159
Compose optional survey child completion with retained host custody
MaxGhenis Sep 13, 2026
bc633f8
Declare the invented source in the completion compiler fixture
MaxGhenis Sep 13, 2026
2ef6fc1
Declare canonical strings in child receiving fixture
MaxGhenis Sep 13, 2026
bf3e5af
Keep structural identity out of child completion column reads
MaxGhenis Sep 14, 2026
b313560
Document the child completion declaration fix
MaxGhenis Sep 14, 2026
0d10b0c
Shard concentrated CI groups without dropping environment coverage
MaxGhenis Sep 14, 2026
2300e56
Enforce flat CI test inventory and cover nested paths
MaxGhenis Sep 14, 2026
93601f9
Seal private child support frames without requiring US schema
MaxGhenis Sep 14, 2026
5fc6a77
Integrate reviewed survey completion components with CI sharding
MaxGhenis Sep 14, 2026
160eda0
Update US release path with complete child component checks
MaxGhenis Sep 14, 2026
ee1a690
Merge launch integration with current main and resolve UK identity
MaxGhenis Sep 14, 2026
6fef909
Refresh validated calibration parity identity pins
MaxGhenis Sep 14, 2026
5952152
Fix wheel fixture environment contracts
MaxGhenis Sep 14, 2026
79545c9
Fix completion custody for private child support populations
MaxGhenis Sep 14, 2026
0776789
Fix full US schema in completion custody test fixture
MaxGhenis Sep 14, 2026
4bdc261
Keep invented US group slices nonempty in custody fixture
MaxGhenis Sep 14, 2026
1967d5d
Use a valid empty US context in completion custody fixture
MaxGhenis Sep 14, 2026
ce408b4
Check empty custody metadata through the mapping interface
MaxGhenis Sep 14, 2026
47a1203
Accept node population refusals in mutation tests
MaxGhenis Sep 14, 2026
35d463b
Compose a private registry in the PUF55 recipient graph tests
MaxGhenis Sep 15, 2026
4f31a63
Nest the student-pins patch inside the property host generator's life…
MaxGhenis Sep 15, 2026
cd02669
Shard the rest lane six ways and wheels eight ways; report slow tests
MaxGhenis Sep 15, 2026
fedd272
Merge remote-tracking branch 'origin/main' into microcosm-us-launch-v…
MaxGhenis Sep 15, 2026
4fc4ee6
Merge remote-tracking branch 'origin/main' into microcosm-us-launch-v…
MaxGhenis Sep 15, 2026
2bc6976
Merge remote-tracking branch 'origin/main' into microcosm-us-launch-v…
MaxGhenis Sep 16, 2026
f7bb885
Patch the code pin in every UK calibration test that reaches it
MaxGhenis Sep 16, 2026
363a903
Record the 15 September release-path decisions
MaxGhenis Sep 16, 2026
8ce9224
Merge origin/main (4d832e2fc) into the US launch integration branch
MaxGhenis Sep 17, 2026
e47adc6
Merge origin/main (d1196af10) into the US launch integration branch
MaxGhenis Sep 17, 2026
8a7e1b1
Declare the SPM selection and the provider's reads in the fiscal kernel
MaxGhenis Sep 17, 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
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
195 changes: 175 additions & 20 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,18 +188,29 @@ 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 }}")
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider
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:
# Deliberately does NOT depend on `changes`: it reads no classifier output,
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,8 +230,75 @@ 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)
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider
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
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}")
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider
done < <(uv run --no-sync python tools/ci_test_groups.py --procs "${{ matrix.group }}")
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

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}")
/usr/bin/time -v uv run --no-sync pytest "${files[@]}" -p no:cacheprovider
done < <(uv run --no-sync python tools/ci_test_groups.py --procs uk)
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

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
35 changes: 30 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 @@ -39,6 +40,31 @@ shard's real wheel, install into a clean uv-export-constrained venv, assert
the wheel/import boundary and spec digests, and run the suite against installed
wheels.

`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 @@ -53,10 +79,9 @@ are already editing that test for another reason.

**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
Loading
Loading