Problem
The public Docker image ghcr.io/policyengine/policyengine-household-api:latest has been stale since 2026-05-13: it bakes policyengine_us 1.691.1 (a version the hosted gateway has since retired) with API code 0.18.0. Nothing has published images since commit 36c9327 made the release pipeline Modal-only, but the README still advertises the image as the credential-free way to run the API.
API partners evaluating local development want to run the API at a chosen model version — at minimum the hosted current and frontier channels, ideally any published policyengine-us version.
Proposal
Publish versioned images to GHCR from a separate workflow that observes completed Release to Modal runs (the deploy pipeline itself stays Modal-only):
us-<version> exact-version tags built from each release commit
current / frontier / latest channel tags repointed (not rebuilt) to match the live gateway /versions manifest, mirroring Modal's promote-without-redeploy semantics
- a
workflow_dispatch path to publish any policyengine-us version on demand
- a
POLICYENGINE_US_VERSION build arg in Dockerfile.production so anyone can build any version locally
- multi-arch (amd64 + arm64) images, python 3.13 for parity with Modal workers
Problem
The public Docker image
ghcr.io/policyengine/policyengine-household-api:latesthas been stale since 2026-05-13: it bakes policyengine_us 1.691.1 (a version the hosted gateway has since retired) with API code 0.18.0. Nothing has published images since commit 36c9327 made the release pipeline Modal-only, but the README still advertises the image as the credential-free way to run the API.API partners evaluating local development want to run the API at a chosen model version — at minimum the hosted
currentandfrontierchannels, ideally any published policyengine-us version.Proposal
Publish versioned images to GHCR from a separate workflow that observes completed
Release to Modalruns (the deploy pipeline itself stays Modal-only):us-<version>exact-version tags built from each release commitcurrent/frontier/latestchannel tags repointed (not rebuilt) to match the live gateway/versionsmanifest, mirroring Modal's promote-without-redeploy semanticsworkflow_dispatchpath to publish any policyengine-us version on demandPOLICYENGINE_US_VERSIONbuild arg inDockerfile.productionso anyone can build any version locally