Repository navigation
Describe the dashboard's current hosting and deployment in HOSTED_RUNTIME.md - #266
Merged
Merged
Conversation
frontend/HOSTED_RUNTIME.md now matches the code on main: - .py 6.7.5 is the model identity, certifying the same release and pinning the same package versions as 6.4.1. - The hosted runtime and the evaluation harness apply .py's stored-input renames after building each simulation. - The production deploy's steps include the collector read-secret existence check, the workspace install and the calibration release checks before and after promotion; it starts only for CI runs on main. - Each setting the deploy and the dashboard server read is listed with its provider (organization, repository or Production environment secret or variable, Vercel project setting) and where it is read. - The dashboard reads the collector's credential from Google Secret Manager with its Vercel OIDC identity, and the collector deploys from PolicyEngine/microcosm-collector. - Hugging Face reads: the Modal backend reads the public release without a token; the dashboard server uses HF_TOKEN, or POPULACE_UK_STAGING_HF_TOKEN for UK staging. - POPULACE_HF_REPO/POPULACE_HF_REVISION reach only the Modal backend's own environment, which sets neither. Paths are now relative to the repository root. Settings that could only be listed by name, and the Google identity bindings, are marked unverified. Fixes #265 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The dashboard server reads both the published calibration tree and the comparison artifacts from private Vercel Blob storage, not only the comparison artifacts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ements - Blob reads pass no credential, so @vercel/blob uses the deployment's Vercel OIDC token with BLOB_STORE_ID when both are present; BLOB_READ_WRITE_TOKEN is the fallback, and the comparison route writes missing comparison artifacts with it. List BLOB_STORE_ID among the Production and Preview project settings. - The Vercel project also stores a Production MICROCOSM_TELEMETRY_COLLECTOR_URL, so which value a production deployment uses is unverified, as for HF_TOKEN. - On Vercel, POPULACE_HF_REPO also selects which repository's Hugging Face webhook events start a US calibration tree publication. - The main Modal environment holds 30 commit-named applications plus one named calibration-diagnostics, not 31 commit-named ones. - Add the workflow's CALIBRATION_MODAL_APP_NAME and its fixed top-level settings to the settings table. - Name the two removed root certificates; only the eMudhra one is compromised. - The build monitor reads the collector only when both settings are set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #265
Summary
Documentation only:
frontend/HOSTED_RUNTIME.mdnow describes how the dashboard is hosted and deployed onmaintoday. No code, workflow or setting changes.policyengine[us]==6.7.5), which certifies the samepopulace-us-2024-spm-20260915release and pins the same policyengine-us 2.2.1, policyengine-core 3.33.0 and spm-calculator 1.0.0 as 6.4.1. The 2026-10-16 memory measurement is labelled as taken under 6.4.1, with the same package versions.legacy_inputs.apply_legacy_input_renames_to_microsimulation, which the hosted runtime and the evaluation harness call after building each simulation. It also covers where the response and the image-build receipt record the renames, and an upgrade step for checking them.main(Start production deploy runs only for main CI runs #261), and how CI's cancellation of an unfinishedmainrun skips that commit's deploy. Added the retry behaviour of the metadata and post-promotion checks.POPULACE_HF_REPO/POPULACE_HF_REVISION: corrected. Only the Modal backend's own environment feeds them to the calculation, and that environment sets neither. On Vercel,POPULACE_HF_REPOonly redirects US release discovery.agent-secrettool that this repository doesn't define. Made every path relative to the repository root (for examplefrontend/scripts/hosted_release.json, notscripts/hosted_release.json). Kept the#automated-production-deploymentand#promotion-and-rollbackanchors thatREADME.md,docs/calibration-tree-artifacts.mdanddeploy.yml's error message link to.Deployment configuration (documented, not changed)
MODAL_TOKEN_ID,MODAL_TOKEN_SECRETenv:→ Modal clientMICROCOSM_MODAL_KEY,MICROCOSM_MODAL_SECRETProductionenvironment secretsenv:→deployment_smoke.py;deploy-dashboard.sh→vercel deploy --env→frontend/app/api/microcosm/variable/route.tsVERCEL_TOKEN,VERCEL_AUTOMATION_BYPASS_SECRETProductionenvironment secretsenv:→ Vercel CLI; staged checksHF_RELEASE_READ_TOKENenv:→vercel deploy --env HF_TOKEN=…MICROCOSM_TELEMETRY_COLLECTOR_URLProductionenvironment variableenv:→vercel deploy --env→telemetry-collector-client.tsTELEMETRY_GCP_WIF_PROVIDER,TELEMETRY_GCP_DEPLOY_SERVICE_ACCOUNTProductionenvironment secretsgoogle-github-actions/authTELEMETRY_GCP_PROJECT_ID,TELEMETRY_READ_SECRET_NAMEProductionenvironment variablesenv:→ read-secret checkMICROCOSM_TELEMETRY_READ_SECRET_VERSION,MICROCOSM_TELEMETRY_GOOGLE_IDENTITY_PROVIDERtelemetry-collector-client.ts,secret-manager.tsvercel env ls; values and the Google identity bindings unverifiedPOPULACE_UK_STAGING_HF_TOKEN,BLOB_READ_WRITE_TOKEN,HF_WEBHOOK_SECRET,GITHUB_ACTIONS_DISPATCH_TOKEN,SLACK_WEBHOOK_POPULACE_*,CROSS_DATASET_ARTIFACT_BASE_URL*Also read on 2026-10-26, read-only: the Vercel project's root directory is
frontend,autoAssignCustomDomainsisfalse, OIDC is turned on with the team issuer, and neither Vercel environment setsPOPULACE_HF_REPOorPOPULACE_HF_REVISION.policyengine/populace-usanswers unauthenticated requests. TheProductionGitHub environment has no protection rules, and themainModal environment holds 31calibration-diagnostics-*applications.Not verified
HF_TOKENand the--env HF_TOKENvalue a production deployment uses.gcloudneeded a new login, which I didn't run. As indirect evidence, a public request to the production build-runs route (US) returned nocollectorread problem.VERCEL_GIT_COMMIT_SHAfor the workflow's CLI deployments. The route falls back toMICROCOSM_BACKEND_SOURCE_COMMIT, which is the same commit.Overlap with #234
#234 doesn't edit this file, and no file it edits links to it. It changes the "Check collector read secret exists" step in
deploy.yml, which this document describes only by behaviour (a metadata-onlygcloud secrets describe). Both versions of that step behave that way. Its newtest_no_tracked_file_refers_to_the_removed_collector_directoryfails on any tracked file that mentions the removed directory or its workflow by path, and this document mentions neither. #234 also adds "Reading the collector" todocs/build-monitor.md. That section covers the same three settings in more detail. This document links todocs/build-monitor.mdwithout an anchor, so it works before and after #234.Tests
Documentation only, so no tests. The repository has no Markdown or docs checks. I checked that every repository path the document names exists and that its section links resolve.
🤖 Generated with Claude Code