Nowcast can't archive a new round: the hosted forecast_uk is pinned to boe-var data ending 2026Q1
I maintainer di solito rispondono entro 9 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 34/100
Direzione di ricerca
Read nowcast.py and the workflow that invokes it, then trace how it calls hosted forecast_uk and archives rounds. Check whether a cheap capabilities or metadata request can detect the hosted model's data edge before the expensive forecast call; the issue also reports a redirect failure in mcp/client/streamable_http.py. Done means avoiding forecast calls when no newer round is available and checking the endpoint on the first due run after #195 merges.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Even once the data store is refreshed (#195 via #221), the nowcast job cannot archive a new round. The round comes from forecast_uk on the hosted MCP server, and that model does not read macro's data store. It reads boe-var-model's bundled data/boe_var_data.csv at the commit pinned in pyproject.toml:
boe_var @ git+https://github.com/PolicyEngine/boe-var-model@42cbcbb…- at 42cbcbb (and on boe-var-model main, last data commit cf5fdf7 on 2026-07-20, "Refresh data vintage to 2026Q1 (#2)"), the last row of
data/boe_var_data.csvis 2026Q1
So nowcast.py will stop with data edge 2026Q1 is already archived and nothing new has been released; no round written, as it did on 13 Aug (run 31670728758) and 19 Aug. The record has had no new round since 2026-07-29. The two archived boe-svar rounds, and the 07-28 unemployment satellite round, all have data edge 2026Q1.
There is also an unrelated crash: on 16 Sep (run 35058603658) the call itself failed with httpx.HTTPStatusError from mcp/client/streamable_http.py::_raise_for_unfollowed_redirect. That points to the Modal URL https://policyengine--policyengine-macro-mcp-serve.modal.run/mcp answering with a redirect. I have not re-tested it, to avoid starting a Modal container.
Upcoming releases a round could be archived ahead of
GDP 2026Q3 first estimate 12 Nov, unemployment 17 Nov, CPI 18 Nov (the next_release dates in #195's data).
Cost if nothing changes
Once #195 merges, --due 3 is true on 9–12 Nov and again on 14–18 Nov. On each of those days the job installs the MCP client and calls forecast_uk with 6000 draws, which takes about 5.5 minutes on a cold Modal container, only to be told "data edge 2026Q1 already archived". The same thing happened on 12–13 Aug and 17–19 Aug.
Options
- Refresh boe-var-model's data to 2026Q2 before 12 Nov: run
scripts/download_data.py, re-pin macro'sboe_var, and redeploy the MCP app. A round with a 2026Q2 edge that forecasts 2026Q3 is a scoreable claim for the 12/17/18 Nov releases only if it is archived before 07:00 on 12 Nov. That is a model-data change plus a deploy, so it needs you. A refresh after 12 Nov gives a 2026Q3 edge, which cannot be scored against these releases; its first scored period would be Q4 (February). - Skip the November window. The existing rounds already cover 2026Q3–2029Q2 and will be scored as the outturns land. Stop the wasted Modal calls by also gating
nowcast.pyon the hosted model's data edge: a cheapcapabilities/metadata call, or comparing against the last archived edge before callingforecast_uk. After that, make the boe-var data refresh a standing task right after each GDP first estimate, so the next round (edge 2026Q3, archived before the February releases) is in place. - Either way: after #195 merges, look at the first due run to check the endpoint no longer redirects (16 Sep crash).
Recommendation: option 2 now, without the gate the job will spend roughly 9 cold Modal calls in November for nothing. Choose option 1 only if you can refresh, re-pin and deploy calmly by 11 Nov.
- Lingua principale
- HTML
- Stelle
- 3
- Fork
- 0
- Merge medio
- 8g 15h
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di PolicyEngine/macro
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PolicyEngine/macro#225 · 2 commenti ·
I maintainer di solito rispondono entro 9 giorni
-
question
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
PolicyEngine/macro#214 ·
I maintainer di solito rispondono entro 9 giorni
-
bug documentation
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
PolicyEngine/macro#211 · 1 commento ·
I maintainer di solito rispondono entro 9 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
PolicyEngine/macro#230 ·
I maintainer di solito rispondono entro 9 giorni
-
question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 22/100
PolicyEngine/macro#227 · 4 commenti ·
I maintainer di solito rispondono entro 9 giorni
Tutte le issue di PolicyEngine/macro
Issue simili
-
Runner API: GET /api/jobs/<id> returns branch: null; the branch only appears under input.branchAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
radiancelux/prgenie#204 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
WalletConnect/walletconnect-monorepo#7392 · 1 commento ·
-
Calendar sync: recurring events land a day late when the local start falls on a different UTC dateAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
area: app type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
qutip/qutip#3088 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni