Skip to content

Move the worker to the bundle with the 2022–2036 SPM forecast #805

Open

Description

@DTrim99

Part of the US 2036 extension, tracked in PolicyEngine/policyengine-api#3926. The worker reads its SPM year boundary from the installed provider, so 2036 becomes available as soon as the worker runs a bundle that certifies spm-calculator 1.1.0 (PolicyEngine/policyengine.py#618). No runtime code changes.

@anth-volk, the steps, once that bundle is released:

  1. Bundle bump. Move policyengine[models] in projects/policyengine-simulation-executor/pyproject.toml (now ==6.3.4) to the certifying release. If the policyengine.py release dispatch doesn't cover this repo, a manual pin PR does it.
  2. Tests. projects/policyengine-simulation-executor/tests/test_spm_runtime_native.py uses 2036 as the unavailable year in test_worker_year_boundary_matches_real_provider. Those cases become available, so move them to 2037:
    • {"time_period": "2037"};
    • {"start_year": "2037", "window_size": 1};
    • {"start_year": "2036", "window_size": 2}.
  3. Deploy order. Deploy the worker before or together with policyengine-api's bundle bump and Offer 2036 as a US year in economy options and the v2 catalog policyengine-api#3928. The API checks that the worker's /versions match.
  4. policyengine-api-v2, if it's still deployed anywhere: it has the same executor layout, so mirror the test change there.

Staging checks:

  • A national 2036 economy run completes, and its SPM receipt includes "2036".
  • budget_window:2027:10 completes all ten years.
  • 2037 still returns SPM_YEAR_UNAVAILABLE.

🤖 Generated with Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions