Repository navigation
Update uv.lock to the newest dependency releases - #2678
Conversation
Aggregate impact on certified data: passBase Checks: 0 broken by this change, 1 failing on both sides, 0 fixed. Moves flagged for review: 0 (thresholds in Notes
Moves flagged for reviewNone. Spending by benefit and service
Caseloads
Standard reform costings (change in gov_balance)
Standard reforms: change in each reform's target
Household net income by decileNo household's net income changes in any year. No change in any year: receipts by tax head; government balance, each component counted once; model totals; household income totals; population; poverty rates; people in poverty; inequality; mean household net income in each side's own deciles. Checks failing on both base and head (1)
Counted-once checkEach of 91 components was raised by £1 per unit in 2026-27, and every head of its totals was read household by household: its own head must rise by exactly £1, no other tax head may move, no other benefit may rise, and the model's own total must move by what its heads moved. A head that breaks a rule is measured again twice: with every other head held at its baseline value, and with every other head held at its value after the first £1 while the component rises again. It fails where either still shows the response. 0 failed; 0 were skipped.
Provenance
Dataset: Runtime differences:
Receipts by tax head: head levels
Spending by benefit and service: head levels
Caseloads: head levels
Government balance, each component counted once: head levels
Model totals: head levels
Household income totals: head levels
Population: head levels
Poverty rates: head levels
People in poverty: head levels
Inequality: head levels
Mean household net income in each side's own deciles: head levels
Standard reform costings (change in gov_balance): head levels
Standard reforms: change in each reform's target: head levels
|
…D tests policyengine-core 3.33.7 (#592) joins each person to the group their ID names and raises on an ID no group declares. The two fractional-ID tests expected a warning and a truncated join. They now expect the warning on every core, and from 3.33.7 also core's ValueError naming [2.5]. The warning's wording and the module docstring no longer say the simulation stores the truncated value, which isn't true once core refuses. Tests: test_entity_ids.py passes on core 3.33.12 (this lock) and 3.33.3 (the bundle's pin), 30 each. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The module docstring said a successful build's populations hold the identifiers exactly. Populations keep the declared IDs, but before core 3.33.7 memberships are joined to groups by rank, not by value. Review P3. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The UK hub pushed
An independent review of |
policyengine-core 3.33.12, which this lock installs, compiles each variable file once per process (PolicyEngine/policyengine-core#608). The three tests of the conftest's own sharing then skip, as they were written to, with a note to remove it, and the Test / Result check fails on skips without an allowlist entry. Remove _get_variable_code and its tests. Keep the hook that releases dead systems' variable modules (core#520) and the test that systems share code but not modules, classes or functions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The previous commit deleted test_a_simulation_leaves_coverage_no_new_code_objects, so its wheel-mode skip entry no longer matches any test and would warn on every release run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
pe-uk's floor still allows cores before 3.33.12, which compile each variable file again for every system. The test now expects shared code exactly when core is 3.33.12 or later, as the entity-ID tests gate on 3.33.7. It passes under core 3.33.12 (code shared) and 3.33.3 (code compiled per system). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
juaristi22
left a comment
There was a problem hiding this comment.
Program review
Base repository: PolicyEngine/policyengine-uk
PR number: 2678
Reviewed head SHA: a6dc0a1
Merge base SHA: fba0c0a
Mode: full
Scope: Changed dependency and entity-ID join behavior, test isolation, allowlist deletion and affected dependencies; no policy-value audit.
Source manifest: /private/tmp/policyengine-command-runs/881387a1b745/pr2678-external-review-20261026-review-sources.json
Review status: PARTIAL
Source Documents
No source documents registered; see scope and validation.
Critical
None.
Should Address
None.
Suggestions
S1 — SUGGESTION: Remove the fragment's leading list marker (OPEN)
Location: changelog.d/bot-weekly-uv-lock-update.changed.md:1.
The new fragment begins - Updated .... Towncrier supplies the release-note list marker itself, so this produces a doubled list marker when the release notes are built. docs/engineering/skills/github-prs.md:71–73 explicitly requests an unprefixed sentence. Removing the initial - is a small presentation correction; it does not block dependency validation or change model behavior. This is a source-inspected formatting issue, not a claimed failed documentation build.
Evidence Gaps
- Required current-head Core 3.33.12 compatibility validation is unfinished: the captured source and wheel Python suites and Aggregate impact were running; final Result checks were not yet observed. Existing matching-head suite completion can resolve this gap without a new local model run.
- Role checks incomplete: /private/tmp/policyengine-command-runs/881387a1b745/pr2678-external-review-20261026-review-code.md; see recovered report.
Notes
- One substantive code reviewer covered this engineering-only change; no tax or benefit amount, eligibility formula or regulatory citation changed. Source acquisition budget was zero.
- Static inspection found no confirmed critical or should-address defects. The optional changelog list-marker correction does not block the code change.
- Existing internal-review reports on older heads were not transferred to this exact reviewed commit. Being behind the captured main tip is informational.
- Local model tests, imports, collection and environment setup were not run. Static AST and lockfile checks are not runtime compatibility evidence.
- The exact detached snapshot was removed normally after the reviewer completed; no forced cleanup. The first Root attempt to read a guessed capture-handoff JSON filename returned ENOENT, then the actual capture receipt path was supplied; no capture or source work was repeated.
Validation Summary
Exact a6dc0a1 detached snapshot; eight changed files; source index unchanged. Captured matching-head CI: 21 SUCCESS and 11 IN_PROGRESS, no observed failure. Local tests NOT RUN. Pure metadata/static AST and 164 lock-record checks only. No external sources or PDFs acquired.
Timing
setup seconds: 111.99s; parallel review seconds: 426.21s; policy role seconds: 0.00s; code role seconds: 426.21s; adjudication seconds: 0.00s; consolidation cleanup seconds: 135.26s; elapsed seconds: 673.46s
Review Severity
COMMENT. Open findings: 0 critical, 0 should address, 1 suggestions.
juaristi22
left a comment
There was a problem hiding this comment.
Program review
Base repository: PolicyEngine/policyengine-uk
PR number: 2678
Reviewed head SHA: a6dc0a1
Merge base SHA: fba0c0a
Mode: incremental from a6dc0a1
Scope: Affected followup of the original Core3.33.12 source/wheel execution gap, with unchanged reviewed source and preserved optional S1; no new policy-value audit.
Source manifest: /private/tmp/policyengine-command-runs/881387a1b745/pr2678-ci-followup-20261026-review-sources.json
Review status: COMPLETE
Source Documents
No source documents registered; see scope and validation.
Critical
None.
Should Address
None.
Suggestions
S1 — SUGGESTION: Remove the fragment's leading list marker (STILL OPEN)
Location: changelog.d/bot-weekly-uv-lock-update.changed.md:1.
The new fragment begins - Updated .... Towncrier supplies the release-note list marker itself, so this produces a doubled list marker when the release notes are built. docs/engineering/skills/github-prs.md:71–73 explicitly requests an unprefixed sentence. Removing the initial - is a small presentation correction; it does not block dependency validation or change model behavior. This is a source-inspected formatting issue, not a claimed failed documentation build.
Evidence Gaps
No material gaps reported.
Notes
- The original PARTIAL report and formal COMMENT5656472269 remain immutable. This incremental followup uses newly completed CI to address only their missing execution evidence; it carries S1 verbatim with its stable ID.
- The standalone reviewed head and entire source index are byte-identical to the original review. Fresh metadata also preserves the PR body and eight-file footprint. The UK hub retains implementation and landing ownership.
- One substantive CODE reviewer performed the affected engineering check. External-source acquisition budget was zero; no policy or PDF review was needed. Local model/Core/country imports, collection, tests and environment setup were NOT RUN.
- The old cancelled release Python2/5 and failed Result records remain historical. No cancellation cause, runtime failure assertion or all-jobs-reran claim follows from the new successes.
- The original review's consolidation timing miss is preserved. Current scope delivery record took63.207seconds after setup, exceeding the one-minute aim by3.207seconds; no timing was reset. A guessed progress-log filename and guessed README/config filenames returned ENOENT before the concrete paths were supplied; no source or public effect resulted.
- The sole CODE owner resolved original code-gap-1 from completed source and built-wheel GitHub runs. Both five-shard Python suites, both YAML jobs, both Results and Aggregate succeeded. These are 34SUCCESS plus one intentional Publish SKIPPED; no local execution is claimed.
- The workflows use standard PR merge0977a7dd875585f4848d6f8d0614bb81971c83af with parents5b94537f6100c409568c5bd367368a3b8d3d3189 and reviewed a6dc. Necessary code/test/workflow/install/audit blobs match a6dc; only the UK project version differs in pyproject and its own lock record, while all other parsed contents including Core3.33.12 match. This qualifies head-associated PR-merge CI, not standalone head or current-main integration.
- The source caller tests the checked-out package. The PR release route builds a wheel with publish=false and tests the installed wheel under the same frozen Python3.13 environment. Both Result jobs require Python/YAML success and the unchanged exactly-once audit. Full evidence and control-failure history are in /private/tmp/policyengine-command-runs/881387a1b745/pr2678-ci-followup-20261026-code-evidence.json.
- The exact detached snapshot was removed normally after the sole reviewer completed (Root tool5b00a7 exit0). Reports and native receipts remain preserved; no forced cleanup. This is the sole timing finalization rerun.
Validation Summary
Exact unchanged a6dc source index/body/eight PR files; clean detached snapshot. Fresh head/CheckSuite/run joins show successful source run40364978613, release run40364978317 and Aggregate40364978382. All source and wheel Python shards/YAML/both Results succeeded; current35 checks=34SUCCESS+PublishSKIPPED. Workflow/install/audit and necessary merge blobs qualify standard PR-merge0977 coverage, with UK-version-only normalization and unchanged Core3.33.12 dependency. No standalone-head, current-main, private-population or upstream Core certificate. Local tests/imports/collection/env work NOT RUN; external sources0. Original PARTIAL and S1 retained.
Timing
setup seconds: 307.78s; scope seconds: 63.21s; parallel review seconds: 391.56s; policy role seconds: 0.00s; code role seconds: 391.56s; adjudication seconds: 0.00s; consolidation cleanup seconds: 83.29s; elapsed seconds: 782.63s
Review Severity
APPROVE. Open findings: 0 critical, 0 should address, 1 suggestions.
|
Landing record for this PR from the UK hub.
|
Weekly refresh of
uv.lockby.github/workflows/weekly-uv-lock.yaml:uv lock --upgradeonmain.CI's test suite installs
uv.lockexactly as committed, so this PR is how new dependency releases reach it. Its CI runs the full suite against the versions below.main.axiom: n/a: dependency lock update
Changes from
uv lock --upgrade(30)