Skip to content

US topic pages, an Overview tab, and four papers corrected against their own artifacts - #178

Merged
vahid-ahmadi merged 3 commits into
mainfrom
trim/validation-cards
Aug 13, 2026
Merged

US topic pages, an Overview tab, and four papers corrected against their own artifacts#178
vahid-ahmadi merged 3 commits into
mainfrom
trim/validation-cards

Conversation

@vahid-ahmadi

Copy link
Copy Markdown
Contributor

Five parallel reviews over the papers, the model catalog and the economy section.

Structure

  • Overview tab on both country hubs — the topic strip previously showed no current tab on the hub itself.
  • Five US topic pages from one generator (UK_TOPICS / US_TOPICS feeding one renderer, not a fork). /economy/us is now an index rather than a second dashboard, matching the UK hub band for band.
  • Three gaps stated on the page, two of them checked: no US public-finances page (no fiscal series, no US model that answers a fiscal question — the generator raises if one lands); no US release calendar (FRED stores neither field — raises if populated); no US forecast with a range (no_us_forecaster() re-derives this from the registry every render).

Data bug

us_cpi and us_unemployment_rate are each missing 2025-10, and the year-on-year helper compared by list position — reporting 3.7% where the true figure is 3.5%. Now matched on period. UK pages are byte-identical because every UK series is gapless, which is why it survived.

Papers

  • frb-us — the 0.99 pegged multiplier was corrected in the artifact and in no .tex; the figure generator hardcoded it as a literal. It is 0.904 and sits below the 1.1–1.2 range. Two labels were backwards: the real evidence marked "exact by construction", the identity presented as validation.
  • obr-macro — the anchored GDP error equals the anchored consumption error in all twelve quarters, so two gates are one test of one equation. "Crowded out by £1bn cumulative" was −£0.96m in the final quarter: a £m figure read as £bn, overstating a null result 200-fold.
  • boe-svar — the claim that importance weights "move both shares towards the published values" reverses on the corrected statistic. Figure 4 was still the superseded sum-of-medians.
  • psl-og — the targets figure showed a fit the model never produced (labour share, saving ratio, and the OBR forecast used as the model's debt value). Rebuilt as a difference chart.

Also

The us-hank landscape report credited a fork to Bayer–Born–Lütticke (4 stars vs the authors' 70). Define's "27 identity tests" is 62 collected, 44 identities. The one test that recomputes the £6.46bn costing asserted 4.0 < x < 9.0 — a band admitting both HMRC figures — and now pins ±5%. Two more hardcoded home directories fixed, four this round.

Papers rebuilt: frb-us 36→38, obr-macro 36→40, boe-svar 30→33, pe-microsim 23→25. The page-count gate had been missing pe-microsim entirely.

1332 site tests, 276 integration tests, every drift gate clean.

🤖 Generated with Claude Code

vahid-ahmadi and others added 3 commits August 13, 2026 11:56
…ibration inputs a replication

The boe-svar card had grown to three sentences and 30 words against a
10-16 word grid, because the FEVD correction was written into it as prose
rather than summarised; it is the card people read first and it read like
a footnote. Same claim, half the words, link to the page that carries the
detail.

The us-hank card said it 'hits every Auclert et al. (2021) calibration
target'. Those targets are calibration *inputs* — Y=1, K=10, r=1.25% are
imposed and the parameters are backed out to make them consistent, so
'target 10, achieved 10' is a constant equalling itself. The replication
is that the solved parameters reproduce the published Table B.III to four
decimals, which is what the card says now.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…erving it as evidence

The FRB/US review established that the 5.6e-17 baseline tracking residual
carries no economic information: `init_trac` sets each add-factor to minus
that equation's residual at the input data, so the solve is algebraically
the identity on whatever it was tracked to, for any input at all — and the
model repo now gates the demonstration, passing the same check at 6.7e-9
on a baseline scrambled by random factors with every accounting identity
destroyed. The validation page body was rewritten to say so; eight other
surfaces were not, including the section heading directly above the
corrected body, four meta descriptions, the methodology diagram label, and
the results-table cell that still graded it "machine precision".

Worse, `frbus_summary` served it as a validation `value` with a `gate` and
no qualifier, and the registry counted it as implementation-fidelity
evidence — so a consumer reading validation off the API got the retired
headline as the strongest-looking number in the payload. The value stays
(it is a real software check and the gate is worth keeping) but now ships
with `is_evidence: false` and the reason, and the registry's fidelity
judgement rests on the pyfrbus shock comparison alone.

Also from the catalog audit: the DEFINE registry entry still said "some
thirty-five defects in the manual", the last place on the project carrying
that count — thirteen are pinned as machine-readable gap records, and an
audit re-characterised four of the wider set as first-period jumps and
withdrew one claim. And us-hank/validation said the suite "gates the
steady-state calibration targets" four lines above a figcaption correctly
calling the top five of those rows imposed inputs; the prose now leads
with the solved parameters, which are the actual replication.

Separately, on copy the user flagged: the home hero caption, the /connect
limits block, and the data-store as-of recipe are each about half their
previous length, with no caveat dropped — the ones that mattered moved to
fewer words rather than disappearing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…r own artifacts

Five reviews ran in parallel over the papers, the model catalog and the
economy section. Everything below is a claim the site was making that its
artifacts do not support, or a structure the two countries did not share.

**The economy section had no Overview tab.** Both hubs showed a topic strip
with nothing marked current, above four sections the nav never named — you
landed on a tab set with no selected tab. `Overview` now leads the strip on
both countries and carries `aria-current` on the hub.

**The US has topic pages now.** Five of them, from one generator: `UK_TOPICS`
and `US_TOPICS` are two tables feeding one renderer, so the template, the
four-layer order and every layer builder are shared rather than forked.
`/economy/us` is an index rather than a second dashboard, matching the UK
hub band for band, and every reading it used to print is now on the topic
page that owns it, with its period and vintage.

Three gaps are stated on the page rather than left silent, and two of them
are *checked*: there is no US public-finances page because no fiscal series
exists in the store and no US model answers a fiscal question, and the
generator raises if such a series ever lands; there is no US release
calendar because FRED stores neither `release_updated` nor `next_release`,
and the generator raises if either is ever populated. No US page shows a
forecast with a range — `no_us_forecaster()` re-derives that from the
registry on every render and raises if a US forecaster appears, so the
refusal cannot outlive its reason.

**A live data bug, found while building it.** `us_cpi` and
`us_unemployment_rate` are each missing 2025-10, and the year-on-year helper
compared by list *position* — so `observations[-13]` on the CPI index landed
on 2025-05 and reported 3.7% where the true 2026-06 figure is 3.5%. Now
matched on period. The UK pages are byte-identical under the new code
because every UK series is gapless, which is exactly why it survived.

**FRB/US: the retired claim was still the headline of its paper.** The 0.99
pegged-funds-rate multiplier was corrected in `results.json` last week and
in no `.tex` at all; the figure generator hardcoded `0.72 / 0.99 / 0.32` as
literals, which is how a corrected artifact and a wrong chart coexisted. The
year-two multiplier is 0.904 and sits *below* the 1.1–1.2 accommodation
range. Two labels were also exactly backwards: the shocked pyfrbus
comparison — the one real piece of evidence — was marked "exact by
construction" while the add-factor identity was presented as validation.

**OBR: the anchored fit is one test, not two.** The anchored GDP error
*equals* the anchored consumption error, in £m, in all twelve quarters (max
discrepancy 3e-6). Every other demand-identity term is exogenous or pinned,
so two gates that read as independent evidence are one test of one equation.
Separately, "consumption crowded out by £1bn cumulative" was −£0.96**m** in
the final quarter and −£4.27m cumulative — a £m figure read as £bn and
called cumulative, overstating a null result by more than 200x. And the
free-running scorecard had been stale since the OSHH anchor, understating
the model on every line.

**boe-svar: a claim that reversed on inspection.** The paper said importance
weights "move both shares substantially towards the published values"; on
the corrected statistic they move GDP away, and the fast-vs-production gap
is Monte-Carlo noise in 51 accepted draws. Figure 4 was still the superseded
sum-of-medians statistic; it is now the posterior mean of per-draw shares of
total variance, at four quarters rather than five.

**psl-og: the figure showed a fit the model never produced.** It plotted the
labour share 60.0 vs 59.5 where the paper records a ~5pp miss, plotted the
saving ratio by copying the official value into the model column, and used
the OBR *forecast* as the model's debt value. Rebuilt as a difference chart:
imposed rows grey and tagged "cannot disagree", the saving ratio with no bar
at all.

Also: the us-hank landscape report credited a **fork** to
Bayer–Born–Lütticke — 4 stars against the authors' 70, understating it
seventeenfold in the column its verdict rests on; define's "27 identity
tests" is 62 collected, 44 of them identities; the emissions divergence was
computed from rounded levels; and the one test that recomputes the £6.46bn
costing asserted `4.0 < x < 9.0`, a band admitting both HMRC figures, so it
could not distinguish our costing from the benchmark. It pins ±5% now, and
names every surface that has to move with it.

Two more hardcoded developer home directories fixed — four this round. Each
one is why a bad artifact could survive: nobody else could regenerate it.

Papers rebuilt: frb-us 36→38, obr-macro 36→40, boe-svar 30→33, pe-microsim
23→25 pages. The page-count gate had been missing pe-microsim entirely.

1332 site tests, 276 integration tests, every drift gate clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
macromod Ready Ready Preview Aug 13, 2026 11:38am

Request Review

@vahid-ahmadi
vahid-ahmadi merged commit ee94c57 into main Aug 13, 2026
7 checks passed
@vahid-ahmadi
vahid-ahmadi deleted the trim/validation-cards branch August 13, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant