From 4276083d82def18e5020d011bcccaca0677c45d8 Mon Sep 17 00:00:00 2001 From: WesIngwersen Date: Mon, 7 Sep 2026 22:28:27 -0400 Subject: [PATCH 1/6] docs(nowcast): record the 7 September rebuild and what it moved Every table in the report was rebuilt from cleared artifacts on methods that changed in seven places since the 3 September run. Section 6a records what moved and why. Grand totals are preserved - the Use SUT differs from the previous build by 3 million USD at 2017 on 56.7 trillion, 0.007% at worst across the span - because every change this cycle is a redistribution rather than a level change. The interior moves 1.3% at 2017 rising to 7.3% at 2024, and that shape is the expected one: 2017 is anchored so only the trade re-splits and the aerospace conditioning reach it, while later years also carry the value-added reconciliation, whose gap against BEA's published series grows across the span. All eight years balance at T11 max |residual| 0.0 $M, 20 outer iterations, nothing skipped. Also records the two things this cycle exposed that were not visible before: that seven of eight years failed at first on a household gross-operating-surplus cell the reconciliation had never been exercised against, and that the Step 5 and Step 6 products carry no source lineage, so the artifact check cannot tell when their inputs move. Co-Authored-By: Claude Opus 5 --- .../analysis/nowcasting/progress_report.md | 63 ++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/bedrock/analysis/nowcasting/progress_report.md b/bedrock/analysis/nowcasting/progress_report.md index e6476c50..0aeb3560 100644 --- a/bedrock/analysis/nowcasting/progress_report.md +++ b/bedrock/analysis/nowcasting/progress_report.md @@ -1,6 +1,6 @@ # Nowcasting Phase 1 Report -*Updated 3 September 2026* +*Updated 7 September 2026* The nowcast builds annual US input-output tables — Supply and Use tables, then Make-Use tables before and after redefinitions — for 2017 through 2024 @@ -20,6 +20,7 @@ tables, and the published industry output series. 4. [Conversion to Make-Use Tables](#4-conversion-to-make-use-tables) 5. [Redefinitions: Before to After](#5-redefinitions-before-to-after) 6. [Seed Data Provenance and Quality](#6-seed-data-provenance-and-quality) +6a. [The 7 September 2026 rebuild](#6a-the-7-september-2026-rebuild) 7. [Conclusions and Next Steps](#7-conclusions-and-next-steps) **How to read the comparison figures.** Every comparison figure in sections @@ -424,6 +425,66 @@ than unattempted work. A match score of 100% can coexist with one source datum spread over 400 cells; reliability and specificity are scored separately for exactly that reason. +## 6a. The 7 September 2026 rebuild + +Every table in this report was rebuilt on 7 September from cleared +artifacts, on methods that changed in seven places since the 3 September +run. The rebuild is the reason the figures moved, and what moved is +worth stating plainly. + +**Nothing moved by accident.** Grand totals are preserved: the Use SUT +grand total differs from the previous build by 3 million USD at 2017 on +56.7 trillion, and by 0.007% at worst across the span. Every change in +this cycle is a *redistribution* — trade mass across commodities, value +added across industries, gross output across two aerospace codes — so +the interior moves and the totals do not. + +| year | Use SUT interior moved | Supply moved | MUT Use moved | +|---|---:|---:|---:| +| 2017 | 762,736 $M (1.3%) | 120,033 $M (0.3%) | 1.4% | +| 2018 | 1,688,403 $M (2.8%) | 164,282 $M (0.4%) | 2.8% | +| 2019 | 1,965,366 $M (3.2%) | 181,344 $M (0.4%) | 3.2% | +| 2020 | 3,637,855 $M (6.0%) | 615,046 $M (1.6%) | 5.9% | +| 2021 | 4,781,009 $M (7.0%) | 1,296,471 $M (2.9%) | 6.8% | +| 2022 | 5,423,197 $M (7.1%) | 648,615 $M (1.3%) | 7.0% | +| 2023 | 5,409,242 $M (6.8%) | 336,857 $M (0.6%) | 6.6% | +| 2024 | 6,131,087 $M (7.3%) | 423,500 $M (0.8%) | 7.2% | + +⚠️ **The movement grows with distance from the benchmark, and that is the +expected shape.** 2017 is anchored, so only the trade re-splits and the +aerospace conditioning can move it. Later years additionally carry the +value-added reconciliation, whose gap against BEA's published series grows +across the span. A rebuild that moved 2024 as little as 2017 would mean the +new methods were not doing anything. + +**All eight years balance exactly.** `T11` maximum absolute residual is +**0.0 $M** in every year, at 20 outer iterations, with nothing skipped. + +⚠️ **Seven of the eight years did not balance at first, and the reason was +latent rather than new.** The value-added reconciliation routes each +industry's residual to gross operating surplus; private households +(`814000`) have no surplus row — BEA publishes `V00300` of exactly zero +for them in 2007, 2012 *and* 2017, with `VAPRO` equal to compensation to +the dollar, because the sector's output *is* the compensation it pays. The +balance mask holds that cell as a structural zero and refused the seed. The +balanced products on disk had been built four days *before* the +reconciliation landed, so it had never been exercised on 2018-2024. The +residual now goes to the row each industry actually carries; exactly two +industries take that exception, `814000` and `4200ID` customs duties. + +**What the artifact check now sees.** `stale_artifacts` reported 10 stale +artifacts before this cycle and 290 after being taught to see a *method* +change — the class where nothing upstream moves, the cache key does not +move, and a rerun silently returns the previous parquet. It also reports +artifacts that carry no lineage at all rather than passing them, which is +what the Step 5 and Step 6 products do. + +⚠️ **A real gap remains there.** Those products record a builder but no +sources, so rebuilding an input still cannot flag them. This cycle was +correct by construction — everything downstream was cleared and rebuilt in +order — but the next one will not be unless `save_balance` and `save_mut` +start recording what they consumed. + ## 7. Conclusions and Next Steps **The pipeline is complete and its products exist.** Annual detail Supply From 1214c3530248b5951ed00275f331fc2048e6005e Mon Sep 17 00:00:00 2001 From: WesIngwersen Date: Mon, 7 Sep 2026 22:38:29 -0400 Subject: [PATCH 2/6] docs(nowcast): record Step 7 in the rebuild section Step 6 produces the before-redefinitions tables; the after-redefinitions quartet was still built on the 2 September ones, and those are what the model build consumes. Ran the redefinitions across the span after its 2017 replay gate held, and recorded it alongside the rest of the rebuild. Also states the post-rebuild artifact-check position plainly: 386 flags remain, none of them on a product built in this cycle. Co-Authored-By: Claude Opus 5 --- bedrock/analysis/nowcasting/progress_report.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/bedrock/analysis/nowcasting/progress_report.md b/bedrock/analysis/nowcasting/progress_report.md index 0aeb3560..2eaa7efd 100644 --- a/bedrock/analysis/nowcasting/progress_report.md +++ b/bedrock/analysis/nowcasting/progress_report.md @@ -472,12 +472,26 @@ reconciliation landed, so it had never been exercised on 2018-2024. The residual now goes to the row each industry actually carries; exactly two industries take that exception, `814000` and `4200ID` customs duties. +**The rebuild carried through to Step 7.** Step 6 produces the tables +*before* redefinitions; leaving the after-redefinitions quartet on the 2 +September tables would have left the pipeline internally inconsistent, +because the model build consumes the after-redefinitions products. The +2017 replay gate was run first and held — maximum Make cell gap 19.0 +million USD, Use interior 6.1 million, value added 15.9 million — and the +redefinitions were then applied across the span: 8 years, Make 402x402, +Use 405x422, Import 402x422, and roughly 51,700 margin rows a year. Steps +5, 6 and 7 together wrote 160 files to cloud storage. + **What the artifact check now sees.** `stale_artifacts` reported 10 stale artifacts before this cycle and 290 after being taught to see a *method* change — the class where nothing upstream moves, the cache key does not move, and a rerun silently returns the previous parquet. It also reports artifacts that carry no lineage at all rather than passing them, which is -what the Step 5 and Step 6 products do. +what the Step 5 and Step 6 products do. After the rebuild it reports 386, and +**none of them is a product built in this cycle**: 108 are superseded +earlier versions of the nowcast quartet still sitting on disk, and the +rest are upstream extract artifacts that were deliberately left alone, +because regenerating the source panels was not part of this rebuild. ⚠️ **A real gap remains there.** Those products record a builder but no sources, so rebuilding an input still cannot flag them. This cycle was From 581532e5664e1a5eafd81f6f1bb5cc743a0e27cc Mon Sep 17 00:00:00 2001 From: WesIngwersen Date: Tue, 8 Sep 2026 08:18:12 -0400 Subject: [PATCH 3/6] docs(nowcast): say what the rebuild movement measure actually is The column read "Use SUT interior moved", which was wrong twice over: the figure covers the whole balanced table, value-added rows and final-demand columns included, and it is a gross sum of absolute cell differences, so it counts every relocated dollar twice. Renames the column, states the definition and both properties, and breaks the movement out by block. The split is the substantive part: the value-added share runs from 28% at 2017 to 45% at 2024, so at the far end of the span nearly half of what was labelled "interior" is the value-added reconciliation rather than the commodity-by-industry interior. The dollar figures and the block shares are unchanged measurements from the same comparison; only the description is new. Co-Authored-By: Claude Opus 5 --- .../analysis/nowcasting/progress_report.md | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/bedrock/analysis/nowcasting/progress_report.md b/bedrock/analysis/nowcasting/progress_report.md index 2eaa7efd..f398f4ed 100644 --- a/bedrock/analysis/nowcasting/progress_report.md +++ b/bedrock/analysis/nowcasting/progress_report.md @@ -439,16 +439,42 @@ this cycle is a *redistribution* — trade mass across commodities, value added across industries, gross output across two aerospace codes — so the interior moves and the totals do not. -| year | Use SUT interior moved | Supply moved | MUT Use moved | -|---|---:|---:|---:| -| 2017 | 762,736 $M (1.3%) | 120,033 $M (0.3%) | 1.4% | -| 2018 | 1,688,403 $M (2.8%) | 164,282 $M (0.4%) | 2.8% | -| 2019 | 1,965,366 $M (3.2%) | 181,344 $M (0.4%) | 3.2% | -| 2020 | 3,637,855 $M (6.0%) | 615,046 $M (1.6%) | 5.9% | -| 2021 | 4,781,009 $M (7.0%) | 1,296,471 $M (2.9%) | 6.8% | -| 2022 | 5,423,197 $M (7.1%) | 648,615 $M (1.3%) | 7.0% | -| 2023 | 5,409,242 $M (6.8%) | 336,857 $M (0.6%) | 6.6% | -| 2024 | 6,131,087 $M (7.3%) | 423,500 $M (0.8%) | 7.2% | +**How the movement is measured.** Each figure below is the *gross* +cell-by-cell movement between the previous build and this one. The two +tables are aligned on their common cells and the absolute differences are +summed — the sum of |new − old| over all 406 × 421 = 170,926 cells of the +balanced Use SUT — and the percentage divides that by the previous build's +grand total for the same cells. Two properties follow, and both matter for +reading the table: + +- The metric is **gross, not net**. Offsetting moves add rather than + cancel. That is the point: the row and column controls hold, so the net + movement is near zero by construction and would show nothing. +- It therefore **counts every relocated dollar twice**, once where it + leaves and once where it arrives. The 762,736 million USD at 2017 is + roughly 381 billion of value actually changing position. + +**The measure covers the whole balanced Use SUT**, not only the +commodity-by-industry interior: the value-added rows and the final-demand +columns are in it too. Their shares are not stable across the span, so +they are broken out here rather than left implied. + +| year | Use SUT, gross \|Δ\| | intermediate | value added | final demand | Supply moved | MUT Use moved | +|---|---:|---:|---:|---:|---:|---:| +| 2017 | 762,736 $M (1.3%) | 59% | 28% | 13% | 120,033 $M (0.3%) | 1.4% | +| 2018 | 1,688,403 $M (2.8%) | 52% | 40% | 8% | 164,282 $M (0.4%) | 2.8% | +| 2019 | 1,965,366 $M (3.2%) | 50% | 42% | 7% | 181,344 $M (0.4%) | 3.2% | +| 2020 | 3,637,855 $M (6.0%) | 49% | 43% | 8% | 615,046 $M (1.6%) | 5.9% | +| 2021 | 4,781,009 $M (7.0%) | 48% | 42% | 10% | 1,296,471 $M (2.9%) | 6.8% | +| 2022 | 5,423,197 $M (7.1%) | 50% | 44% | 7% | 648,615 $M (1.3%) | 7.0% | +| 2023 | 5,409,242 $M (6.8%) | 50% | 45% | 5% | 336,857 $M (0.6%) | 6.6% | +| 2024 | 6,131,087 $M (7.3%) | 50% | 45% | 5% | 423,500 $M (0.8%) | 7.2% | + +The three middle columns are shares of that year's gross movement and +round to 100%. The value-added share nearly doubles across the span, from +28% at 2017 to 45% at 2024 — 2,766,328 million USD of the 2024 total. That +block is the value-added reconciliation, and its growth is the same effect +the next paragraph describes, visible directly rather than inferred. ⚠️ **The movement grows with distance from the benchmark, and that is the expected shape.** 2017 is anchored, so only the trade re-splits and the From 145b9f0f7ffd0a029254e04a920720dfa752bd0c Mon Sep 17 00:00:00 2001 From: WesIngwersen Date: Tue, 8 Sep 2026 09:39:07 -0400 Subject: [PATCH 4/6] chore(repo): store the PNG figures in Git LFS .gitattributes declined LFS on a measurement and named the condition for revisiting it: "if these figures start churning per-commit rather than per-milestone". That is what happened. The report's 30 comparison figures are re-rendered whenever the colour scheme or the tables underneath them move, which is 1.16 MB of incompressible blobs each time, and it ran twice in three days. All 42 committed PNGs become pointers. Nothing changes about their content or how the report references them. Two consequences worth stating rather than discovering. Working on this repo now needs git-lfs installed, which is the cost the original note was avoiding. And this does not shrink anything: blobs committed before this change stay in history as blobs, so the repo stops growing at this rate rather than getting smaller. Rewriting the history to convert those too would rewrite main and all ten open branches in the stack, and that is a separate decision. The nine committed .parquet fixtures are 3.1 MB, larger than the images, and are left as ordinary blobs: they are static reference artifacts rather than regenerated output, so they do not churn. Co-Authored-By: Claude Opus 5 --- .gitattributes | 26 +++++++++++++----- .../v0.2_original_electricity_disagg_D.png | Bin 164271 -> 131 bytes .../v0.2_original_electricity_disagg_N.png | Bin 313919 -> 131 bytes .../figures/v0.3_eia_gtd_pre_mecs_D.png | Bin 168155 -> 131 bytes .../figures/v0.3_eia_gtd_pre_mecs_N.png | Bin 176770 -> 131 bytes .../images/final_demand_provenance_2017.png | Bin 50202 -> 130 bytes .../nowcasting/images/go_vs_nowcast_mut.png | Bin 99739 -> 130 bytes .../intermediate_seed_coverage_2021.png | Bin 255015 -> 131 bytes .../intermediate_seed_coverage_2022.png | Bin 255109 -> 131 bytes .../make_after_redef_detail_mut_2017.png | Bin 72302 -> 130 bytes .../images/supply_bridge_detail_sut_2017.png | Bin 61144 -> 130 bytes .../supply_bridge_detail_sut_seed_2017.png | Bin 56981 -> 130 bytes .../images/supply_bridge_provenance_2017.png | Bin 46046 -> 130 bytes .../images/supply_output_detail_sut_2017.png | Bin 51185 -> 130 bytes .../supply_output_detail_sut_seed_2017.png | Bin 40958 -> 130 bytes .../images/supply_summary_sut_2017.png | Bin 19549 -> 130 bytes .../images/supply_summary_sut_2018.png | Bin 20062 -> 130 bytes .../images/supply_summary_sut_2019.png | Bin 20768 -> 130 bytes .../images/supply_summary_sut_2020.png | Bin 22174 -> 130 bytes .../images/supply_summary_sut_2021.png | Bin 21821 -> 130 bytes .../images/supply_summary_sut_2022.png | Bin 21992 -> 130 bytes .../images/supply_summary_sut_2023.png | Bin 21228 -> 130 bytes .../images/supply_summary_sut_2024.png | Bin 21215 -> 130 bytes .../images/supply_table_provenance_2017.png | Bin 106493 -> 131 bytes .../uimp_after_redef_detail_mut_2017.png | Bin 80196 -> 130 bytes .../use_after_redef_detail_mut_2017.png | Bin 91325 -> 130 bytes .../images/use_fd_detail_sut_2017.png | Bin 85764 -> 130 bytes .../images/use_fd_detail_sut_seed_2017.png | Bin 84048 -> 130 bytes .../use_intermediate_detail_sut_2017.png | Bin 168864 -> 131 bytes .../use_intermediate_detail_sut_seed_2017.png | Bin 61648 -> 130 bytes .../images/use_summary_sut_2017.png | Bin 28582 -> 130 bytes .../images/use_summary_sut_2018.png | Bin 32524 -> 130 bytes .../images/use_summary_sut_2019.png | Bin 32323 -> 130 bytes .../images/use_summary_sut_2020.png | Bin 31491 -> 130 bytes .../images/use_summary_sut_2021.png | Bin 31623 -> 130 bytes .../images/use_summary_sut_2022.png | Bin 31042 -> 130 bytes .../images/use_summary_sut_2023.png | Bin 29977 -> 130 bytes .../images/use_summary_sut_2024.png | Bin 29526 -> 130 bytes .../images/use_table_provenance_2017.png | Bin 137047 -> 131 bytes .../images/use_va_detail_sut_2017.png | Bin 14473 -> 130 bytes .../images/use_va_detail_sut_seed_2017.png | Bin 13523 -> 130 bytes .../images/va_after_redef_detail_mut_2017.png | Bin 39574 -> 130 bytes .../images/value_added_provenance_2017.png | Bin 42690 -> 130 bytes 43 files changed, 19 insertions(+), 7 deletions(-) diff --git a/.gitattributes b/.gitattributes index 2e52db14..c41f1e96 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,13 +1,25 @@ # Binary assets. Marked so git does not attempt line-ending conversion or # textual diffs on them. # -# Not tracked in Git LFS. As of the first committed image (the nowcast progress -# report figures, ~120 KB at REPORT_DPI) the repo holds no other binaries and -# packs to ~19 MB, so LFS would add a required tool for every contributor and -# every CI job to save a fraction of a percent. Revisit if these figures start -# churning per-commit rather than per-milestone: an LFS migration is easy going -# forward, it is only the already-committed blobs that stay in history. -*.png binary +# PNG figures are stored in Git LFS. The original call was to keep them as +# ordinary blobs -- at the first committed image the repo packed to ~19 MB and +# LFS would have added a required tool for every contributor and every CI job +# to save a fraction of a percent -- and it named the condition for revisiting: +# "if these figures start churning per-commit rather than per-milestone". That +# is what happened. The report's 30 comparison figures are re-rendered whenever +# the colour scheme or the tables underneath them move, 1.16 MB of +# incompressible blobs each time, and that ran twice in three days. +# +# Two consequences, both deliberate. Working on this repo now needs git-lfs +# installed. And blobs committed before this change stay in history as blobs: +# only new content becomes a pointer, so the repo does not get smaller, it +# stops growing at this rate. Converting the history as well would rewrite +# main and every open branch, which is a separate decision and not this one. +# +# The nine committed .parquet fixtures are 3.1 MB and are still ordinary +# blobs. They are static reference artifacts rather than regenerated output, +# so they do not churn; move them here if that stops being true. +*.png filter=lfs diff=lfs merge=lfs -text *.jpg binary *.jpeg binary *.gif binary diff --git a/bedrock/analysis/electricity/historical/original_vs_eia_anchored_deck/figures/v0.2_original_electricity_disagg_D.png b/bedrock/analysis/electricity/historical/original_vs_eia_anchored_deck/figures/v0.2_original_electricity_disagg_D.png index 5fb001bbbfbc7610ea2126eb80cdfcfd8555da62..c22476135ea65e97f186bb098f0fffb6d202a75c 100644 GIT binary patch literal 131 zcmWN{K@!3s3;@78uiyg~5((7)CO{BoR60U?@b&hzmp$b>TL0)e=RP)Lo^9SVl1l3#CqcW1;l1Oq8Gc(^Y+meF=%2C)QAoLGlXTwS>QxVFgM3(}3v=jqf NA*j)QqQN^1p#DbkC=&nx literal 164271 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