diff --git a/public/logos/chronicle.png b/public/logos/chronicle.png new file mode 100644 index 0000000..5ff6c4c Binary files /dev/null and b/public/logos/chronicle.png differ diff --git a/public/logos/microcosm.png b/public/logos/microcosm.png new file mode 100644 index 0000000..67e5f21 Binary files /dev/null and b/public/logos/microcosm.png differ diff --git a/public/screenshots/iariw-2026/chronicle-site.png b/public/screenshots/iariw-2026/chronicle-site.png new file mode 100644 index 0000000..0c49023 Binary files /dev/null and b/public/screenshots/iariw-2026/chronicle-site.png differ diff --git a/public/screenshots/iariw-2026/thesis-bills.png b/public/screenshots/iariw-2026/thesis-bills.png new file mode 100644 index 0000000..daba133 Binary files /dev/null and b/public/screenshots/iariw-2026/thesis-bills.png differ diff --git a/slideshows/iariw-2026/DEMO-SCRIPT.md b/slideshows/iariw-2026/DEMO-SCRIPT.md index 50fd431..06713aa 100644 --- a/slideshows/iariw-2026/DEMO-SCRIPT.md +++ b/slideshows/iariw-2026/DEMO-SCRIPT.md @@ -2,10 +2,11 @@ The deck embeds the LIVE apps directly, each with an Expand button: slide 23 (Axiom App, Belgium), 28 (cliff analyzer, axiom.org/snap), 30 (chatbot, axiom.org/chatbot), 36 -(Chronicle targets drill), 43 (calibration dashboard), 49 (policyengine.org/be). You can -drive the whole demo without leaving the deck; preloaded tabs remain smoother for deep -interaction. Every beat has static screenshot slides right after it (24–27, 29, 31, 37, 44, -50). If the network dies mid-beat, advance and keep talking. +(chronicle.institute), 43 (calibration dashboard), 49 (policyengine.org/be), 55 (Thesis +bill analyses, app.thesisinstitute.org/bills). You can drive the whole demo without leaving +the deck; preloaded tabs remain smoother for deep interaction. Every beat has static +screenshot slides right after it (24–27, 29, 31, 37, 44, 50, 56). If the network dies +mid-beat, advance and keep talking. Cliff analyzer beat: Run reform → point at the allotment cliff near $2,100 and the marginal-rate spike → drag the earned income deduction slider → the cliff moves. @@ -21,8 +22,10 @@ AI" → grounded vs plain on one screen. Never repeat the page's "certified" wor - https://axiom.org/validation - https://policyengine.org/be - https://microcosm.institute/calibration/dashboard/microcosm?country=be + - https://chronicle.institute - https://axiom.org/snap (cliff analyzer) - https://axiom.org/chatbot (chatbot — send one warm-up question so the backend is hot) + - https://app.thesisinstitute.org/bills 2. On policyengine.org/be: confirm the yellow provenance banner renders and the "Society-wide impacts" tab shows €0.00B at baseline. 3. Phone hotspot ready as backup. If neither works, the deck carries every beat. diff --git a/slideshows/iariw-2026/SPEAKER-NOTES.md b/slideshows/iariw-2026/SPEAKER-NOTES.md index ece40ff..18ccfe5 100644 --- a/slideshows/iariw-2026/SPEAKER-NOTES.md +++ b/slideshows/iariw-2026/SPEAKER-NOTES.md @@ -2,7 +2,7 @@ IARIW–CAPE workshop "New technologies for evidence-based policy making" Thursday 27 August 2026 · 14:40–15:30 · Room P02, UCLouvain Saint-Louis, Brussels -Deck: policyengine.org/slides/iariw-2026 (local: /slides/iariw-2026) · 57 slides, ~47 presented +Deck: policyengine.org/slides/iariw-2026 (local: /slides/iariw-2026) · 59 slides, ~48 presented **Room:** IARIW measurement economists; Koen Algoed (Director General, Budget and Finance, Flemish Region) and Jean-Baptiste Traversa (head of microsimulation modelling, FPS Finance) @@ -40,8 +40,7 @@ modeling groups' publication records. | 15:09 | 2 · Chronicle | 34–37 (skip 37) | 3 | | 15:12 | 3 · Microcosm | 38–45 (skip 44) | 6 | | 15:18 | 4 · PolicyEngine | 46–51 (skip 50) | 5 | -| 15:23 | 5 · Thesis / together + the closing forecast beat | 52–57 | 6 | -| 15:29 | Buffer | — | 1 | +| 15:23 | 5 · Thesis / together + the closing forecast beat | 52–59 (skip 56) | 7 | Cut-first if long: Microplex (37), WhoUsesIt (40), and skim Evo3/Evo5. Static screenshot slides (22–25, 36, 42) are presented ONLY if the network dies. @@ -105,12 +104,12 @@ Landing: AI is impressive at code, search, summarization. It is not a substitute "So what would the AI need? What do we arm it with?" ### 11 · What do we arm the AI with? (2m — the spine slide) -Five primitives, each a project, each with a feedback loop: -1 rules → Axiom (loop: oracles, zero unexplained mismatches) · 2 official statistics → -Chronicle (loop: completeness + lineage) · 3 the world at micro level → Microcosm (loop: -published calibration error, surveys held out) · 4 a model → PolicyEngine (loop: cross-engine -agreement + users) · 5 judgment → Thesis (loop: forecasts that resolve — the most important). -Landing: the same primitives norm AIs AND human researchers. +Five primitives, stated as NEEDS — no project names yet (the wordmark reveal is slide 13): +1 understand the policy rules (loop: oracles, zero unexplained mismatches) · 2 ready access +to official statistics (loop: completeness + lineage) · 3 the world at micro level (loop: +published calibration error, surveys held out) · 4 a model that computes reforms (loop: +cross-engine agreement + users) · 5 judgment to put it together (loop: forecasts that +resolve — the most important). Landing: the same primitives norm AIs AND human researchers. ### 12 · Six years under one roof (1.5m) The history: PolicyEngine since 2021 built the first four together — encoded US/UK rules (by @@ -119,8 +118,9 @@ engine, the web app (still there, no longer the center). The realization behind each layer deserves its own name, users, and feedback loop — Axiom, Chronicle, Microcosm, PolicyEngine as the model that composes them, and Thesis scoring the forecasts. -### 13 · Five primitives, five demos (30s) -The roadmap. "Let's walk them." +### 13 · Five primitives, five demos (45s — the reveal) +The roadmap, now with the wordmarks: Axiom · chronicle · microcosm · PolicyEngine · thesis +institute. "Each of these has a name, a public surface, and a demo. Let's walk them." ### 14–21 · Axiom divider → encoder evolution (30s + ~40s each Evo, ~5m) Divider, then the pivot: AI can't compute policy, it can help build the substrate that does. @@ -170,12 +170,13 @@ EUROMOD on every case, blockers empty — certified = no, 81 open dependencies. For officials: this is the answer to "why trust an AI-built model" — you don't; you check the certificate. -### 34–36 · Chronicle (3m — 36 is the live drill, 37 its fallback) +### 34–36 · Chronicle (3m — 36 is the live site, 37 its fallback) Divider, then: official statistics as source-backed facts — typed values with units, -geography, period, and lineage to the source artifact. 171,855 facts from 40 official -publishers [chronicle main bundle, verified 2026-08-27]. Then the live drill (36): open a -Belgian statistic on the targets page and trace it to its publisher — the 171,855 is the -headline number on that slide. The Belgian shelf built in a week: Statbel +geography, period, and lineage to the source artifact. 171,855 facts ingested from 40 +official publishers [chronicle main bundle, verified 2026-08-27]. Then chronicle.institute +live (36): "a record of what official sources printed, and when" — the witnessed first-print +journal (39,173 store facts on screen; values recorded as published, never reconciled or +modeled). Say both numbers precisely: 171,855 ingested; 39,173 in the witnessed store. The Belgian shelf built in a week: Statbel fiscal income by €1,000 class, SPF Finances/ONSS/ONEM totals, Eurostat national accounts, FPB outlook, JRC EUROMOD baselines. The loop: Microcosm calibrates ONLY to sums of Chronicle facts — every target traces to a publisher; surveys enter as validation only. @@ -243,7 +244,13 @@ We intend to score that. And the deeper point for 16:00: policy takes a different shape when baseline conditions change quickly; if you assign real probability to that, how does this community arm policymakers to respond? -### 55 · And if the baseline itself moves? (1.5m — the closing forecast beat) +### 55 · DEMO — Thesis bill analyses (1.5m; 56 is the fallback) +app.thesisinstitute.org/bills: "start from the bill, derive the outcomes" — each analysis +reads a bill's provisions, separates countersignable goals from likely effects, and maps +candidate outcome metrics against the live forecast registry. The opening question, made +practice. Labeled prototype; say so. + +### 57 · And if the baseline itself moves? (1.5m — the closing forecast beat) Everything before this slide matters regardless of how the economy evolves; if conditions change quickly, being nimble matters more. The chart: professional forecasters disagree less than ever about long-run growth (SPF 10-year IQR 0.2pp, half its 1990s level) — but asked @@ -253,12 +260,12 @@ just GDP but unemployment, wage inequality, and the capital income share move, p will need even better tools — and AI can help, if we arm it in turn. "After the break, I'm looking forward to discussing what those tools can improve in policymaking." -### 56 · It takes all of us (1.5m) +### 58 · It takes all of us (1.5m) Model-building has always been about making consequences visible before the choice. Statistical offices, EUROMOD, BEAMM, ministries, open models — each doing what it does best. "Which is exactly what the roundtable is about — see you at 16:00." -### 57 · Thank you / QR (leave up) +### 59 · Thank you / QR (leave up) QR → axiom.org. Links: axiom.org · policyengine.org/be · both GitHub orgs. --- diff --git a/slideshows/iariw-2026/config.ts b/slideshows/iariw-2026/config.ts index 93925c6..1056549 100644 --- a/slideshows/iariw-2026/config.ts +++ b/slideshows/iariw-2026/config.ts @@ -57,6 +57,7 @@ import { ChronicleTargetsStaticSlide, AxiomCliffStaticSlide, AxiomChatbotStaticSlide, + ThesisBillsStaticSlide, } from './slides/DemoSlides'; import { DemoAxiomLiveSlide, @@ -67,6 +68,7 @@ import { ChronicleLiveSlide, AxiomCliffLiveSlide, AxiomChatbotLiveSlide, + ThesisLiveSlide, } from './slides/DemoLiveSlides2'; // 5 — Together import ConductorsSlide from './slides/ConductorsSlide'; @@ -159,6 +161,8 @@ export const iariw2026Config: SlideshowConfig = { TogetherDividerSlide, ConductorsSlide, ClosingLoopSlide, + ThesisLiveSlide, + ThesisBillsStaticSlide, ForecastUncertaintySlide, CommunityClosingSlide, QuestionsSlide, diff --git a/slideshows/iariw-2026/slides/DemoLiveSlides2.tsx b/slideshows/iariw-2026/slides/DemoLiveSlides2.tsx index 1f32ea4..2caa044 100644 --- a/slideshows/iariw-2026/slides/DemoLiveSlides2.tsx +++ b/slideshows/iariw-2026/slides/DemoLiveSlides2.tsx @@ -7,8 +7,8 @@ import LiveAppSlide from './LiveAppSlide'; export const ChronicleLiveSlide = () => (
171,855
@@ -16,22 +16,24 @@ export const ChronicleLiveSlide = () => ( official statistics ingested as facts

- from 40 official publishers, with lineage to every source + from 40 official publishers — 39,173 of them in the witnessed + first-print store on screen

What you are seeing

- The Belgian target surface, drilled to source — every statistic - Microcosm calibrates to traces to the Chronicle fact and the publisher - behind it. + A record of what official sources printed, and when — + first-print values with provenance, revision history, and a stable + address for every fact. Recorded as published; never reconciled, + imputed, or modeled.

- The store itself is a public repo:{' '} + Also a public repo:{' '} github.com/PolicyEngine/chronicle @@ -40,6 +42,32 @@ export const ChronicleLiveSlide = () => ( ); +export const ThesisLiveSlide = () => ( + +

+
What you are seeing
+

+ Each analysis reads a bill's provisions, separates what its + authors would sign their names to from what the text does regardless, + and maps candidate outcome metrics against the live forecast registry. +

+
+ +
+
The loop, closing
+

+ This is where the opening question becomes practice: bills in, scored + forecasts out — every prediction graded when the official number + lands. A prototype, labeled as one. +

+
+ +); + export const AxiomCliffLiveSlide = () => ( ( export const ChronicleTargetsStaticSlide = () => ( +); + +export const ThesisBillsStaticSlide = () => ( + ); diff --git a/slideshows/iariw-2026/slides/FivePrimitivesSlide.tsx b/slideshows/iariw-2026/slides/FivePrimitivesSlide.tsx index e986fc8..d3b382b 100644 --- a/slideshows/iariw-2026/slides/FivePrimitivesSlide.tsx +++ b/slideshows/iariw-2026/slides/FivePrimitivesSlide.tsx @@ -6,31 +6,26 @@ const primitives = [ { n: '1', need: 'Understand the policy rules', - project: 'Axiom', loop: 'Loop: oracles — external engines re-run every encoding; zero unexplained mismatches.', }, { n: '2', need: 'Ready access to official statistics', - project: 'Chronicle', loop: 'Loop: completeness against what publishers release, with lineage to every source.', }, { n: '3', need: 'The world at a micro level', - project: 'Microcosm', loop: 'Loop: calibration error published per target; surveys held out for validation.', }, { n: '4', need: 'A model that computes reforms', - project: 'PolicyEngine', loop: 'Loop: cross-engine agreement, and a community that uses the results.', }, { n: '5', need: 'Judgment to put it together — expertise, discretion, uncertainty', - project: 'Thesis', loop: 'Loop: forecasts that resolve against reality — the most important one.', }, ]; @@ -52,10 +47,9 @@ export default function FivePrimitivesSlide() {
{p.n}
-

+

{p.need}

-

{p.project}

{p.loop}

diff --git a/slideshows/iariw-2026/slides/OutlineSlide.tsx b/slideshows/iariw-2026/slides/OutlineSlide.tsx index 59e27e2..02a5121 100644 --- a/slideshows/iariw-2026/slides/OutlineSlide.tsx +++ b/slideshows/iariw-2026/slides/OutlineSlide.tsx @@ -1,31 +1,67 @@ import Slide from '@/components/core/Slide'; import SlideHeader from '@/components/layout/SlideHeader'; import SlideTitle from '@/components/layout/SlideTitle'; +import Image from '@/components/core/BasePathImage'; -const sections = [ +const sections: { + number: string; + mark?: { src: string; alt: string; height: number; width: number; h: number }; + markText?: string; + detail: string; +}[] = [ { number: '1', - title: 'Axiom', + mark: { + src: '/logos/axiom-foundation.svg', + alt: 'The Axiom Foundation', + width: 1026, + height: 363, + h: 44, + }, detail: 'The rules, executable — verified against EUROMOD in Belgium.', }, { number: '2', - title: 'Chronicle', + mark: { + src: '/logos/chronicle.png', + alt: 'Chronicle', + width: 732, + height: 160, + h: 34, + }, detail: 'Official statistics as source-backed facts.', }, { number: '3', - title: 'Microcosm', + mark: { + src: '/logos/microcosm.png', + alt: 'Microcosm', + width: 608, + height: 84, + h: 26, + }, detail: 'The world at micro level, calibrated to administrative truth.', }, { number: '4', - title: 'PolicyEngine', + mark: { + src: '/logos/teal.svg', + alt: 'PolicyEngine', + width: 350, + height: 100, + h: 36, + }, detail: 'The model that composes them — live, in the browser and in Python.', }, { number: '5', - title: 'Thesis', + mark: { + src: '/logos/thesis-institute.png', + alt: 'The Thesis Institute', + width: 532, + height: 112, + h: 32, + }, detail: 'Judgment and uncertainty — open forecasts, scored against reality.', }, ]; @@ -39,16 +75,26 @@ export default function OutlineSlide() {
{sections.map((section) => ( -
-
- - {section.number} - -

- {section.title} -

+
+ + {section.number} + +
+ {section.mark ? ( + {section.mark.alt} + ) : ( + + {section.markText} + + )}
-

+

{section.detail}