个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Local-first economic research terminal with OECD production networks, PyTorch models, scenario analysis and portfolio tools
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A local research terminal that traces a cost shock through observed production networks, and prints the forecasts that lost.
Case study · Portfolio · Release v0.1.2 · Research report · Model card
14.000078463484256. The graph model does not beat its zero-edge ablation on every seed.1.9775866886855997. Two GRU runs are below it: multivariate seed 17 (1.9452490484149925) and domestic-only seed 17 (1.977209393996446). The other four are not. Seed 17 was the default before the test was inspected.11.0 ms on one machine, and the release gate replays the saved checkpoints instead of trusting a stored metric.Caveat: one held-out network year and ten annual GDP targets are feasibility checks. No generalization, calibration or causal claim follows. Every figure here is the exact token from a committed JSON file; the tables are under Full results.
One loopback FastAPI process serves hashed, cached World Bank, OECD and Treasury data, hypothetical input-output scenarios and saved PyTorch checkpoints to a React front end. Country exploration, the OECD network, Scenario Studio, rates, portfolios, forecasting and official events are separate workspaces. Observed history, hypothetical effects, bond valuations and learned predictions stay labeled apart. Scenarios are labeled hypothetical, and every seed is reported, including the ones that lose to ridge.
The rest of the inspected layouts are in docs/SCREENSHOTS.md.
No authentication. The app listens on loopback only.
npm ci
npm run setup
npm run atlas
Open http://127.0.0.1:8000. Needs Node 22+ and Python 3.12–3.13. Install needs a network; startup does not. Docker, Windows paths, the Linux CPU PyTorch wheel and hot reload are in the development guide.
| Path | What it is |
|---|---|
backend/atlas/ | FastAPI app: data access, input-output network and Scenario Studio, Treasury curves, finance, GRU and graph forecasters |
backend/tests/ | Backend tests, including the check that this README quotes the committed JSON exactly |
frontend/src/ | React workspaces, map, charts and the guided experience |
scripts/ | Setup and start, data preparation, training, the release gate (check_release.py) and README figure rendering |
data/ | Hashed manifests, processed caches and saved checkpoints with their evaluation JSON |
tests/ | Playwright UI suite and visual baselines |
learning/, notebooks/ | Fifteen study notes and three notebooks behind the methods |
| Document | What it is |
|---|---|
| docs/RESEARCH_REPORT.md | Data, method and every evaluation |
| docs/MODEL_CARD.md | Intended use and limits of the saved models |
| docs/VALIDATION.md | Executed checks and browser evidence |
| docs/BUILD_STATUS.md | What is implemented, with the recorded data counts |
| docs/SCENARIO_STUDIO.md · docs/SCENARIO_STUDIO_RESEARCH.md | Scenario Studio design and its research basis |
| docs/API.md | Loopback API reference |
| docs/DATA_SOURCES.md · docs/OECD_IMPORT.md | Sources, licences and the OECD import |
| docs/DEVELOPMENT.md · docs/RELEASE.md | Development guide and release notes |
| learning/README.md |
Every figure is copied from a committed file; nothing is rounded, interpolated or estimated. docs/RESEARCH_REPORT.md prints the same evaluations to four decimal places, and scripts/render_readme_figures.py draws the chart from the same tokens.
Target is the next annual log change in country-sector gross output. Train 2018–2020, validation 2021, test 2022, 405 dependent nodes, 81 parameters. Source: data/models/gnn/evaluation.json.
| Model | Test RMSE | Test MAE |
|---|---|---|
| ridge | 14.000078463484256 | 9.397344422846155 |
| graph_seed17 | 14.27819778155666 | 9.484987390823374 |
| no_graph_seed17 | 14.538244318320187 | 9.625492874314386 |
| no_graph_seed43 | 15.088421151018641 | 10.199939650553098 |
| graph_seed43 | 15.130155900126843 | 10.239191931405065 |
| no_graph_seed29 | 15.642028736708399 | 10.68678092914435 |
| training_mean | 15.822211264610859 | 10.734963018075211 |
| graph_seed29 | 15.883110150007912 | 10.901140053208215 |
| persistence | 16.51205896514047 | 11.830011849722426 |
Inputs end at t−2. 354 parameters with all features, 282 in the domestic-only ablation. Seeds 17, 29, and 43 are all reported. Source: data/models/evaluation.json.
| Model | Seed | Test RMSE | Test MAE | Nominal 80% coverage |
|---|---|---|---|---|
| gru_multivariate | 17 | 1.9452490484149925 | 1.1803315213484535 | 0.8 |
| gru_domestic_only | 17 | 1.977209393996446 | 1.2015100466519733 | 0.8 |
| ridge | — | 1.9775866886855997 | 1.3090976214639525 | — |
| gru_domestic_only | 43 | 2.0341195211710534 | 1.3685062222090554 | 0.8 |
| training_mean | — | 2.0438033614012676 | 1.3626015214125236 | — |
| gru_multivariate | 29 | 2.058029141745753 | 1.3959041102776653 | 0.8 |
| gru_multivariate | 43 | 2.105104483971819 | 1.4981929916077439 | 0.7 |
| gru_domestic_only | 29 | 2.172675965226472 | 1.6165172531367997 | 0.8 |
| persistence_lag2 | — | 2.6944620628131157 | 2.000157404319797 | — |
One macOS ARM64 machine, ten sequential requests each, not a load test. Source: docs/LOCAL_LATENCY.json.
| Endpoint | Median ms | Max ms |
|---|---|---|
/api/network/country/JPN?year=2022 | 5.31 | 6.09 |
/api/countries?year=2025 | 6.47 | 12.42 |
/api/network/scenario | 11.0 | 11.77 |
/api/forecast/replay | 40.51 | 59.4 |
The bundled atlas also holds 177 Natural Earth geometries, 42,900 frozen 1960–2024 World Bank rows, a separate 2025 cache of 660 rows (592 nonmissing), seven OECD tables aggregated to 405 nodes across 81 areas, 694 observed Treasury par curves through 2026-10-09, and 30 dated Fed/ECB releases. Those counts are recorded in docs/BUILD_STATUS.md and docs/RESEARCH_REPORT.md.
Not built. Not a result.
requirements-lock.txt and package-lock.json pin the dependency sets. On Linux, setup installs the CPU PyTorch wheel before the rest of the lock.npm run verify:release replays 60 held-out GRU means and intervals and 2,430 graph node predictions from the saved checkpoints (scripts/check_release.py) instead of trusting a retyped metric.docs/LOCAL_LATENCY.json, and docs/ICIO_SAMPLE_AUDIT.json are records. Do not edit them by hand. The key-result figures in this file are the exact JSON tokens; backend/tests/test_readme_figures.py fails if they drift. The same test fails if docs/figures/ drifts from scripts/render_readme_figures.py.docs/screenshots/ was captured from the running app on Linux Chromium. Playwright also wrote *-linux.png baselines with npx playwright test --update-snapshots. The *-darwin.png files are the previous interface; refresh them on a Mac with that same command before trusting a macOS pixel run. The command is in the development guide.docs/VALIDATION.md is local Chromium. A short model card states intended use and limits without a second results table. Security records the loopback boundary.MIT (LICENSE). Cite this software with CITATION.cff. Third-party data are credited in docs/DATA_SOURCES.md.
| Study notes on the mathematics and engineering |
| SECURITY.md | The loopback security boundary |