@policyengine/calibration-tree 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -2
  3. package/package.json +73 -4
  4. package/src/calibration-build-comparison.ts +77 -0
  5. package/src/calibration-comparison-blob.ts +367 -0
  6. package/src/calibration-comparison-bundle.ts +149 -0
  7. package/src/calibration-explorer.ts +202 -0
  8. package/src/calibration-release-locator.ts +353 -0
  9. package/src/calibration-tree-artifact.ts +1974 -0
  10. package/src/calibration-tree-blob.ts +403 -0
  11. package/src/calibration-tree-bundle.ts +569 -0
  12. package/src/calibration-tree-manifest.ts +349 -0
  13. package/src/calibration-tree-publication.ts +399 -0
  14. package/src/calibration-tree-worker.ts +637 -0
  15. package/src/calibration-tree.ts +1284 -0
  16. package/src/chronicle-metadata.ts +42 -0
  17. package/src/countries.ts +355 -0
  18. package/src/geography-labels.ts +59 -0
  19. package/src/hierarchy-catalog-reader.ts +297 -0
  20. package/src/hierarchy-target-reader.ts +243 -0
  21. package/src/historical-weight-summary.ts +53 -0
  22. package/src/latest-artifact.ts +3767 -0
  23. package/src/legacy-target-reader.ts +337 -0
  24. package/src/program-label.ts +64 -0
  25. package/src/publish-calibration-tree.ts +1984 -0
  26. package/src/reforms.ts +224 -0
  27. package/src/release-cut.ts +32 -0
  28. package/src/release-record.ts +277 -0
  29. package/src/source-label.ts +5 -0
  30. package/src/source-labels.ts +71 -0
  31. package/src/staging-artifact.ts +1411 -0
  32. package/src/staging-contract.ts +916 -0
  33. package/src/structured-dimension-reader.ts +137 -0
  34. package/src/structured-target-reader.ts +76 -0
  35. package/src/target-change.ts +421 -0
  36. package/src/target-loss-attribution-manifest.ts +436 -0
  37. package/src/target-loss-attribution.ts +1012 -0
  38. package/src/target-representation.ts +69 -0
  39. package/src/target-surface-matcher.ts +266 -0
  40. package/types/next-fetch-cache.d.ts +8 -0
@@ -0,0 +1,436 @@
1
+ export type HistoricalAttributionStatus =
2
+ | "exact_reconstructed"
3
+ | "derived"
4
+ | "unavailable";
5
+
6
+ export type HistoricalAttributionRecipe =
7
+ | "uniform_target_scale_cap_100pct_v1"
8
+ | "historical_sqrt_value_50_50_v1"
9
+ | "newer_sqrt_value_50_50_v2"
10
+ | "concept_budget_sqrt_value_50_50_v3"
11
+ | "legacy_current_doctrine_v1";
12
+
13
+ export interface AttributionVerificationTolerance {
14
+ kind: "floating_point" | "six_decimal_quantization" | "not_applicable";
15
+ absolute: number;
16
+ relative: number;
17
+ }
18
+
19
+ export interface HistoricalAttributionSupport {
20
+ releaseId: string;
21
+ buildId: string;
22
+ diagnosticsSha256?: string;
23
+ buildSha: string | null;
24
+ producerCommit: string | null;
25
+ releaseFamily: "national" | "local_area";
26
+ diagnosticsSchema: number | null;
27
+ targetCount: number;
28
+ orderedTargetNamesSha256: string;
29
+ producerTargetSurfaceSha256: string | null;
30
+ weightingIdentifier: string | null;
31
+ lossCap?: number;
32
+ recipe: HistoricalAttributionRecipe;
33
+ expectedStatus: HistoricalAttributionStatus;
34
+ tolerance: AttributionVerificationTolerance;
35
+ }
36
+
37
+ const FLOATING_POINT_TOLERANCE: AttributionVerificationTolerance = {
38
+ kind: "floating_point",
39
+ absolute: 1e-12,
40
+ relative: 1e-12,
41
+ };
42
+
43
+ const SIX_DECIMAL_TOLERANCE: AttributionVerificationTolerance = {
44
+ kind: "six_decimal_quantization",
45
+ absolute: 0.5e-6,
46
+ relative: 0,
47
+ };
48
+
49
+ const DERIVED_TOLERANCE: AttributionVerificationTolerance = {
50
+ kind: "not_applicable",
51
+ absolute: 0,
52
+ relative: 0,
53
+ };
54
+
55
+ const HISTORICAL_WEIGHTING =
56
+ "sqrt_value_weighted_mape_50_50_amount_count_target_scale_cap_100pct";
57
+ const HISTORICAL_WEIGHTING_CAP_1000 =
58
+ "sqrt_value_weighted_mape_50_50_amount_count_target_scale_cap_1000pct";
59
+ const CONCEPT_BUDGET_WEIGHTING =
60
+ "sqrt_value_concept_budget_weighted_mape_50_50_amount_count_target_scale_cap_100pct";
61
+
62
+ // This manifest is required because older builds do not expose target-importance
63
+ // weights in their diagnostic files. It was audited against every US release
64
+ // eligible for the picker through 2026-09-29 and includes explicitly verified staging
65
+ // candidates when needed. These fingerprints cover ordered diagnostic row names,
66
+ // not downloaded files; runtime reconstruction must refuse an artifact whose
67
+ // target surface changes.
68
+ export const HISTORICAL_ATTRIBUTION_SUPPORT: readonly HistoricalAttributionSupport[] = [
69
+ {
70
+ releaseId: "populace-us-2024-f32c2e5-20260614",
71
+ buildId: "populace-us-2024-f32c2e5-20260614",
72
+ buildSha: "f32c2e5",
73
+ producerCommit: null,
74
+ releaseFamily: "national",
75
+ diagnosticsSchema: 1,
76
+ targetCount: 3704,
77
+ orderedTargetNamesSha256: "29b3911feaa3b9172792aaacb2dd4bf5cbd941b0bc1d6e289b2304f81d72c0ca",
78
+ producerTargetSurfaceSha256: null,
79
+ weightingIdentifier: null,
80
+ recipe: "legacy_current_doctrine_v1",
81
+ expectedStatus: "derived",
82
+ tolerance: DERIVED_TOLERANCE,
83
+ },
84
+ {
85
+ releaseId: "populace-us-2024-f32c2e5-2d2a2ce92f8a-20260615T185857Z",
86
+ buildId: "populace-us-2024-f32c2e5-2d2a2ce92f8a-20260615T185857Z",
87
+ buildSha: "2d2a2ce",
88
+ producerCommit: "2d2a2ce92f8a4caacc07f7678b00c43523fcf198",
89
+ releaseFamily: "national",
90
+ diagnosticsSchema: 2,
91
+ targetCount: 457,
92
+ orderedTargetNamesSha256: "7e6830ca2b1793e0de7a9bc78c9eed5507422efa0205e42d61568d32c5787c9d",
93
+ producerTargetSurfaceSha256: "876a96c6e13345fdf6d23bee2cd65b93e7ec47877ea2e42b79c2f083ce11dc99",
94
+ weightingIdentifier: null,
95
+ recipe: "legacy_current_doctrine_v1",
96
+ expectedStatus: "derived",
97
+ tolerance: DERIVED_TOLERANCE,
98
+ },
99
+ {
100
+ releaseId: "populace-us-2024-0cdbb27-c239dfe51c11-20260615T201302Z",
101
+ buildId: "populace-us-2024-0cdbb27-c239dfe51c11-20260615T201302Z",
102
+ buildSha: "c239dfe",
103
+ producerCommit: "c239dfe51c11a7715324e957406c050154f4c4cd",
104
+ releaseFamily: "national",
105
+ diagnosticsSchema: 2,
106
+ targetCount: 457,
107
+ orderedTargetNamesSha256: "7e6830ca2b1793e0de7a9bc78c9eed5507422efa0205e42d61568d32c5787c9d",
108
+ producerTargetSurfaceSha256: "876a96c6e13345fdf6d23bee2cd65b93e7ec47877ea2e42b79c2f083ce11dc99",
109
+ weightingIdentifier: null,
110
+ recipe: "legacy_current_doctrine_v1",
111
+ expectedStatus: "derived",
112
+ tolerance: DERIVED_TOLERANCE,
113
+ },
114
+ {
115
+ releaseId: "populace-us-2024-f32c2e5-0c38bc47db89-20260616T124451Z",
116
+ buildId: "populace-us-2024-f32c2e5-0c38bc47db89-20260616T124451Z",
117
+ buildSha: "0c38bc4",
118
+ producerCommit: "0c38bc47db89c9d054944ace41ff778af4e01769",
119
+ releaseFamily: "national",
120
+ diagnosticsSchema: 2,
121
+ targetCount: 5229,
122
+ orderedTargetNamesSha256: "43db0a4c797c954fab4cd45d56b6fe47aaa3dc3276dc284de3afa06453f0daf9",
123
+ producerTargetSurfaceSha256: "4a79fcd4580e6fe7895fb72334fd458228b4066c96a9e6ea1c28493b67104cef",
124
+ weightingIdentifier: null,
125
+ recipe: "legacy_current_doctrine_v1",
126
+ expectedStatus: "derived",
127
+ tolerance: DERIVED_TOLERANCE,
128
+ },
129
+ {
130
+ releaseId: "populace-us-2024-a912aea-76666318a202-20260616T175345Z",
131
+ buildId: "populace-us-2024-a912aea-76666318a202-20260616T175345Z",
132
+ buildSha: "7666631",
133
+ producerCommit: "76666318a202f5c638cc4c432b3d7bca981102ba",
134
+ releaseFamily: "national",
135
+ diagnosticsSchema: 2,
136
+ targetCount: 5128,
137
+ orderedTargetNamesSha256: "2b90b98a6240d5f3561b35216a6fd9effa076d1953e6b0f6d3f3dd976c79c062",
138
+ producerTargetSurfaceSha256: "fcd51ac0472dd42e9d89f6e432b5fd66a39014e5b9a302730851248d9a092a1a",
139
+ weightingIdentifier: null,
140
+ recipe: "legacy_current_doctrine_v1",
141
+ expectedStatus: "derived",
142
+ tolerance: DERIVED_TOLERANCE,
143
+ },
144
+ {
145
+ releaseId: "populace-us-2024-f0d2ef6-09292aa0d5db-20260617T032307Z",
146
+ buildId: "populace-us-2024-f0d2ef6-09292aa0d5db-20260617T032307Z",
147
+ buildSha: "09292aa",
148
+ producerCommit: "09292aa0d5dbe938cb91a776d9015bebf3b5fc6c",
149
+ releaseFamily: "national",
150
+ diagnosticsSchema: 2,
151
+ targetCount: 5097,
152
+ orderedTargetNamesSha256: "5ee947622fce9ea6ea267b17ad29211bb50e7034975bc4f8c624d41aa1fc5e96",
153
+ producerTargetSurfaceSha256: "8f594a608663139bf1bcbbfdea70ef5fc269bdce737fe0861688c6602025fca7",
154
+ weightingIdentifier: null,
155
+ recipe: "legacy_current_doctrine_v1",
156
+ expectedStatus: "derived",
157
+ tolerance: DERIVED_TOLERANCE,
158
+ },
159
+ {
160
+ releaseId: "populace-us-2024-losscap1-01d14d5-20260618",
161
+ buildId: "populace-us-2024-losscap1-01d14d5-20260618",
162
+ buildSha: "01d14d5",
163
+ producerCommit: "01d14d5eb38a431c2d7cc7806d7ed9d9c689dc1a",
164
+ releaseFamily: "national",
165
+ diagnosticsSchema: 2,
166
+ targetCount: 4408,
167
+ orderedTargetNamesSha256: "69be18026dde429e6a8d620b8ed14fcff2d72e5a04930a59292dcadf05cd7196",
168
+ producerTargetSurfaceSha256: "9e7b1a5d09f8e6c920285ec37c40a87afebaddb8e0b29f6a670f241d01c42dce",
169
+ weightingIdentifier: HISTORICAL_WEIGHTING,
170
+ recipe: "historical_sqrt_value_50_50_v1",
171
+ expectedStatus: "exact_reconstructed",
172
+ tolerance: FLOATING_POINT_TOLERANCE,
173
+ },
174
+ {
175
+ releaseId: "populace-us-2024-losscap1-5b54f6d-20260618",
176
+ buildId: "populace-us-2024-losscap1-5b54f6d-20260618",
177
+ buildSha: "5b54f6d",
178
+ producerCommit: "5b54f6d9ec192e4cda4b21b802ba1491f8b3c15a",
179
+ releaseFamily: "national",
180
+ diagnosticsSchema: 2,
181
+ targetCount: 4408,
182
+ orderedTargetNamesSha256: "69be18026dde429e6a8d620b8ed14fcff2d72e5a04930a59292dcadf05cd7196",
183
+ producerTargetSurfaceSha256: "9e7b1a5d09f8e6c920285ec37c40a87afebaddb8e0b29f6a670f241d01c42dce",
184
+ weightingIdentifier: HISTORICAL_WEIGHTING,
185
+ recipe: "historical_sqrt_value_50_50_v1",
186
+ expectedStatus: "exact_reconstructed",
187
+ tolerance: FLOATING_POINT_TOLERANCE,
188
+ },
189
+ {
190
+ releaseId: "populace-us-2024-incumbent-improved-996401a-20260618",
191
+ buildId: "populace-us-2024-incumbent-improved-996401a-20260618",
192
+ buildSha: "996401a",
193
+ producerCommit: "996401aadb25d3acd69ddf54d149fb8d96b28a78",
194
+ releaseFamily: "national",
195
+ diagnosticsSchema: 2,
196
+ targetCount: 6033,
197
+ orderedTargetNamesSha256: "dfb8af65980d71b2e05afb2ccf5d77d635d373b8e65aee0af6092bbb66c12fa1",
198
+ producerTargetSurfaceSha256: "0c6be6f5878af8ee69cb672285073fd4db1fc773ec85d450cd7a8e96bf356af5",
199
+ weightingIdentifier: HISTORICAL_WEIGHTING_CAP_1000,
200
+ recipe: "historical_sqrt_value_50_50_v1",
201
+ expectedStatus: "exact_reconstructed",
202
+ tolerance: FLOATING_POINT_TOLERANCE,
203
+ },
204
+ {
205
+ releaseId: "populace-us-2024-c86a631-6e1bcd0271a5-20260619T002242Z",
206
+ buildId: "populace-us-2024-c86a631-6e1bcd0271a5-20260619T002242Z",
207
+ buildSha: "6e1bcd0",
208
+ producerCommit: "6e1bcd0271a50fbf5c797dd3b94f2905401f8fb8",
209
+ releaseFamily: "national",
210
+ diagnosticsSchema: 2,
211
+ targetCount: 4408,
212
+ orderedTargetNamesSha256: "69be18026dde429e6a8d620b8ed14fcff2d72e5a04930a59292dcadf05cd7196",
213
+ producerTargetSurfaceSha256: "13e135245cd069a347a7fad14044a1cb917dd057b66832808e97c24421dcb9f1",
214
+ weightingIdentifier: HISTORICAL_WEIGHTING,
215
+ recipe: "historical_sqrt_value_50_50_v1",
216
+ expectedStatus: "exact_reconstructed",
217
+ tolerance: FLOATING_POINT_TOLERANCE,
218
+ },
219
+ {
220
+ releaseId: "populace-us-2024-f0af251-0ad74ed34493-20260619T181855Z",
221
+ buildId: "populace-us-2024-f0af251-0ad74ed34493-20260619T181855Z",
222
+ buildSha: "0ad74ed",
223
+ producerCommit: "0ad74ed344935e29d7c46703ce457ae6e8847b4d",
224
+ releaseFamily: "national",
225
+ diagnosticsSchema: 2,
226
+ targetCount: 4356,
227
+ orderedTargetNamesSha256: "0f562e9142dd33adb31339b457c6d5959575070b1a53c1dba5d0093b64664d60",
228
+ producerTargetSurfaceSha256: "67b491fe59f72e4622fd0d13c0f6a71e43e1c6ed74afae4032cb238515bd0269",
229
+ weightingIdentifier: HISTORICAL_WEIGHTING,
230
+ recipe: "newer_sqrt_value_50_50_v2",
231
+ expectedStatus: "exact_reconstructed",
232
+ tolerance: FLOATING_POINT_TOLERANCE,
233
+ },
234
+ {
235
+ releaseId: "populace-us-2024-f0af251-703bd81a565c-20260620T201958Z",
236
+ buildId: "populace-us-2024-f0af251-703bd81a565c-20260620T201958Z",
237
+ buildSha: "703bd81",
238
+ producerCommit: "703bd81a565ce61210e5b6c3fe7431141c728111",
239
+ releaseFamily: "national",
240
+ diagnosticsSchema: 3,
241
+ targetCount: 4582,
242
+ orderedTargetNamesSha256: "332c6c16d34e7045f7f4fbda8fcf6834dfb1a566011f3956bd8e530383d7f633",
243
+ producerTargetSurfaceSha256: "f3349f9d250d9e2141b7337dce95d3ddc8527f2182d22d00969bf03f5527b00c",
244
+ weightingIdentifier: HISTORICAL_WEIGHTING,
245
+ recipe: "newer_sqrt_value_50_50_v2",
246
+ expectedStatus: "exact_reconstructed",
247
+ tolerance: FLOATING_POINT_TOLERANCE,
248
+ },
249
+ {
250
+ releaseId: "populace-us-2024-formula-owned-fix-a56aefd-capgains-b2500-20260626T122636Z",
251
+ buildId: "populace-us-2024-formula-owned-fix-a56aefd-capgains-b2500-20260626T122636Z",
252
+ buildSha: "a56aefd",
253
+ producerCommit: "a56aefdb27d09c6f088d17100e42cee3d549b28d",
254
+ releaseFamily: "national",
255
+ diagnosticsSchema: 3,
256
+ targetCount: 5593,
257
+ orderedTargetNamesSha256: "73d2aca420af0c9918ec206a4284bc1f0786503dbe78453996cbb1aa45063ec3",
258
+ producerTargetSurfaceSha256: "5d0a2f228e48edbb8a81c97336b3032aa280ff9e504466c3494dc435395e6e1f",
259
+ weightingIdentifier: HISTORICAL_WEIGHTING,
260
+ recipe: "newer_sqrt_value_50_50_v2",
261
+ expectedStatus: "exact_reconstructed",
262
+ tolerance: FLOATING_POINT_TOLERANCE,
263
+ },
264
+ {
265
+ releaseId: "populace-us-2024-cd-concept-budget-dbbdcec-512e-b2500-r2-20260627T022640Z",
266
+ buildId: "populace-us-2024-cd-concept-budget-dbbdcec-512e-b2500-r2-20260627T022640Z",
267
+ buildSha: "dbbdcec",
268
+ producerCommit: "dbbdcecc0f291502e776d1a2f59a198aa473baf6",
269
+ releaseFamily: "national",
270
+ diagnosticsSchema: 3,
271
+ targetCount: 6877,
272
+ orderedTargetNamesSha256: "551c6afd3fa7ac20e4c622f6009097e0e82d887e3e570d4b3329e24cd1807159",
273
+ producerTargetSurfaceSha256: "6a0b9550961e30dc72b353cf719cf3e1748ddcebee7ff0ffd6642e204711f3f8",
274
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
275
+ recipe: "concept_budget_sqrt_value_50_50_v3",
276
+ expectedStatus: "exact_reconstructed",
277
+ tolerance: FLOATING_POINT_TOLERANCE,
278
+ },
279
+ {
280
+ releaseId: "populace-us-2024-sparse-l0-refit-57k-71a0887-national-only-20260701",
281
+ buildId: "populace-us-2024-sparse-l0-refit-57k-71a0887-national-only-20260701",
282
+ buildSha: "71a0887",
283
+ producerCommit: "71a0887b7b07010621fac130d93f2dd7e2d9f789",
284
+ releaseFamily: "national",
285
+ diagnosticsSchema: 3,
286
+ targetCount: 32637,
287
+ orderedTargetNamesSha256: "8c1c79ee4fafd1014d90b02ef96269966d09a375c57fd38075a83839b1ef4a4b",
288
+ producerTargetSurfaceSha256: "bc3e2dc57edf7795da6cab776554806bb426ffd449377e36af7348b141f5b2f1",
289
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
290
+ recipe: "concept_budget_sqrt_value_50_50_v3",
291
+ expectedStatus: "exact_reconstructed",
292
+ tolerance: FLOATING_POINT_TOLERANCE,
293
+ },
294
+ {
295
+ releaseId: "populace-us-2024-buildi-sparse-rmloss100-6e8e929-20260709T034135Z",
296
+ buildId: "populace-us-2024-buildi-sparse-rmloss100-6e8e929-20260709T034135Z",
297
+ buildSha: "6e8e929",
298
+ producerCommit: "6e8e9293e9ac8bc72c52d3c4ca1fb71fe3e8c7f2",
299
+ releaseFamily: "national",
300
+ diagnosticsSchema: 4,
301
+ targetCount: 5514,
302
+ orderedTargetNamesSha256: "11941113618d0e1f8f1ba034c23a7714fc81e7cac55ad1ee2354a3d26f1221d7",
303
+ producerTargetSurfaceSha256: "f83ddb07ea4fed60f835086ae2405e3787df5c24563b9c0796a52464b2a4ca0c",
304
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
305
+ recipe: "concept_budget_sqrt_value_50_50_v3",
306
+ expectedStatus: "exact_reconstructed",
307
+ tolerance: FLOATING_POINT_TOLERANCE,
308
+ },
309
+ {
310
+ releaseId: "populace-us-2024-buildj-sparse-rmloss100-75d5add-20260710T094201Z",
311
+ buildId: "populace-us-2024-buildj-sparse-rmloss100-75d5add-20260710T094201Z",
312
+ buildSha: "564a2c7",
313
+ producerCommit: "564a2c7d3b3624e7042401d37c6b739f1bce76b3",
314
+ releaseFamily: "national",
315
+ diagnosticsSchema: 4,
316
+ targetCount: 5510,
317
+ orderedTargetNamesSha256: "9f727116cc9700035faf768d3cfffe5fa9c39881ad11284390a934014b3272d6",
318
+ producerTargetSurfaceSha256: "934c72ae7e7c01b2427ca1c31cb4607c3a31b2f6c462fc0f9ef74fd9ca7941d9",
319
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
320
+ recipe: "concept_budget_sqrt_value_50_50_v3",
321
+ expectedStatus: "exact_reconstructed",
322
+ tolerance: FLOATING_POINT_TOLERANCE,
323
+ },
324
+ {
325
+ releaseId: "populace-us-2024-buildl-acs-local-36de5d9a-20260712T104640Z",
326
+ buildId: "populace-us-2024-buildl-acs-local-36de5d9a-20260712T104640Z",
327
+ buildSha: "32d446b",
328
+ producerCommit: null,
329
+ releaseFamily: "local_area",
330
+ diagnosticsSchema: 4,
331
+ targetCount: 742,
332
+ orderedTargetNamesSha256: "c37c4b679fa4f34265c0f93e4358408d52421aebd8e2678f780aca6c8c5684ad",
333
+ producerTargetSurfaceSha256: null,
334
+ weightingIdentifier: null,
335
+ recipe: "uniform_target_scale_cap_100pct_v1",
336
+ expectedStatus: "exact_reconstructed",
337
+ tolerance: SIX_DECIMAL_TOLERANCE,
338
+ },
339
+ {
340
+ releaseId: "populace-us-2024-buildm-sparse-rmloss100-98bf731-20260717T075101Z",
341
+ buildId: "populace-us-2024-buildm-sparse-rmloss100-98bf731-20260717T075101Z",
342
+ buildSha: "98bf731",
343
+ producerCommit: "98bf731b1d26f2b0880732f2331e503108afc90e",
344
+ releaseFamily: "national",
345
+ diagnosticsSchema: 4,
346
+ targetCount: 5667,
347
+ orderedTargetNamesSha256: "de400ebf81cdf7e64b4cb869d18e1bd8917ed6936b7878369e92195184ad540d",
348
+ producerTargetSurfaceSha256: "6326d60da096c1d6351b7115c8e286a721c276d237db9f6534de95ac949ddc3e",
349
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
350
+ recipe: "concept_budget_sqrt_value_50_50_v3",
351
+ expectedStatus: "exact_reconstructed",
352
+ tolerance: FLOATING_POINT_TOLERANCE,
353
+ },
354
+ {
355
+ releaseId: "populace-us-2024-buildn-sparse-rmloss100-c3e378a-20260722T010408Z",
356
+ buildId: "populace-us-2024-buildn-sparse-rmloss100-c3e378a-20260722T010408Z",
357
+ buildSha: "c3e378a",
358
+ producerCommit: "c3e378a91d847ff5138e485574c601f96f8ac468",
359
+ releaseFamily: "national",
360
+ diagnosticsSchema: 4,
361
+ targetCount: 5672,
362
+ orderedTargetNamesSha256: "b6c5885ba338a0f0fde58775def34f5ebb523703e2532945c348ea598332de0c",
363
+ producerTargetSurfaceSha256: "94920c693c6810b1484fe23165f243636b6f59defe8a9d8a98a30830150ec9a2",
364
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
365
+ recipe: "concept_budget_sqrt_value_50_50_v3",
366
+ expectedStatus: "exact_reconstructed",
367
+ tolerance: FLOATING_POINT_TOLERANCE,
368
+ },
369
+ {
370
+ releaseId: "populace-us-2024-buildo-sparse-rmloss100-22bd902-20260722T232627Z",
371
+ buildId: "populace-us-2024-buildo-sparse-rmloss100-22bd902-20260722T232627Z",
372
+ buildSha: "22bd902",
373
+ producerCommit: "22bd902f54a1a111b18b081bce2f1c4c497b5e8e",
374
+ releaseFamily: "national",
375
+ diagnosticsSchema: 5,
376
+ targetCount: 5672,
377
+ orderedTargetNamesSha256: "b6c5885ba338a0f0fde58775def34f5ebb523703e2532945c348ea598332de0c",
378
+ producerTargetSurfaceSha256: "94920c693c6810b1484fe23165f243636b6f59defe8a9d8a98a30830150ec9a2",
379
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
380
+ recipe: "concept_budget_sqrt_value_50_50_v3",
381
+ expectedStatus: "exact_reconstructed",
382
+ tolerance: FLOATING_POINT_TOLERANCE,
383
+ },
384
+ {
385
+ releaseId: "populace-us-2024-buildo-acs-local-77e2061-20260724T110908Z",
386
+ buildId: "populace-us-2024-buildo-acs-local-77e2061-20260724T110908Z",
387
+ buildSha: "77e2061",
388
+ producerCommit: null,
389
+ releaseFamily: "local_area",
390
+ diagnosticsSchema: null,
391
+ targetCount: 4461,
392
+ orderedTargetNamesSha256: "41129e956bc91a7e5af563e4c37a6dcf7c2aecc5b247968f4e5f3eed1b713754",
393
+ producerTargetSurfaceSha256: null,
394
+ weightingIdentifier: null,
395
+ recipe: "uniform_target_scale_cap_100pct_v1",
396
+ expectedStatus: "exact_reconstructed",
397
+ tolerance: SIX_DECIMAL_TOLERANCE,
398
+ },
399
+ {
400
+ releaseId: "populace-us-2024-buildp-sparse-rmloss100-cae8640-20260728T011454Z",
401
+ buildId: "populace-us-2024-buildp-sparse-rmloss100-cae8640-20260728T011454Z",
402
+ diagnosticsSha256: "870449b44e86b13b25bcea1a57f0e7af37f4d4db18be815eea3acdf9fe6eb40e",
403
+ buildSha: "cae8640",
404
+ producerCommit: "cae8640f9e65e274aea65c7916cb37b956978e32",
405
+ releaseFamily: "national",
406
+ diagnosticsSchema: 5,
407
+ targetCount: 5659,
408
+ orderedTargetNamesSha256: "49861b0d1c7e528256c3548293e8f304b9ca726db96f92481a709e87437fffbe",
409
+ producerTargetSurfaceSha256: "49bb0fe3dfd4c399e7b3f900b0e5ba29d9d72413d9170dfc155a9fa5e91c6f6f",
410
+ weightingIdentifier: CONCEPT_BUDGET_WEIGHTING,
411
+ lossCap: 1,
412
+ recipe: "concept_budget_sqrt_value_50_50_v3",
413
+ expectedStatus: "exact_reconstructed",
414
+ tolerance: FLOATING_POINT_TOLERANCE,
415
+ },
416
+ {
417
+ releaseId: "populace-us-2024-buildo-acs-local-767312d60-20260923T074941Z",
418
+ buildId: "populace-us-2024-buildo-acs-local-767312d60-20260923T074941Z",
419
+ diagnosticsSha256: "f39d10a72415eb85ac0faa231f7970bffcc408bd53ef0f05985ea8dd0ac94903",
420
+ buildSha: "767312d60",
421
+ producerCommit: null,
422
+ releaseFamily: "local_area",
423
+ diagnosticsSchema: null,
424
+ targetCount: 4459,
425
+ orderedTargetNamesSha256: "3ec3156612fa78d193055eaba7a5212b2bc21b533c037670cd7e8d3af7735500",
426
+ producerTargetSurfaceSha256: null,
427
+ weightingIdentifier: null,
428
+ recipe: "uniform_target_scale_cap_100pct_v1",
429
+ expectedStatus: "exact_reconstructed",
430
+ tolerance: SIX_DECIMAL_TOLERANCE,
431
+ },
432
+ ] as const;
433
+
434
+ export const HISTORICAL_ATTRIBUTION_SUPPORT_BY_RELEASE = new Map(
435
+ HISTORICAL_ATTRIBUTION_SUPPORT.map((entry) => [entry.releaseId, entry]),
436
+ );