api581-engine 0.1.4__py3-none-any.whl

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 (139) hide show
  1. api581/__init__.py +80 -0
  2. api581/_amine_tables.py +105 -0
  3. api581/_h2sh2_tables.py +161 -0
  4. api581/_slabx_worker.py +174 -0
  5. api581/_sulfidic_tables.py +517 -0
  6. api581/_sulfuric_tables.py +328 -0
  7. api581/acid_sour_water.py +238 -0
  8. api581/acscc_screening.py +88 -0
  9. api581/alkaline_sour_water.py +267 -0
  10. api581/amine_corrosion.py +277 -0
  11. api581/amine_screening.py +103 -0
  12. api581/api/__init__.py +4 -0
  13. api581/api/api520.py +88 -0
  14. api581/api/bundle.py +121 -0
  15. api581/api/consequence.py +102 -0
  16. api581/api/damage.py +1831 -0
  17. api581/api/dispersion.py +121 -0
  18. api581/api/effects.py +318 -0
  19. api581/api/events.py +96 -0
  20. api581/api/financial.py +115 -0
  21. api581/api/frequency.py +40 -0
  22. api581/api/inspection.py +96 -0
  23. api581/api/level1.py +238 -0
  24. api581/api/level2.py +74 -0
  25. api581/api/planning.py +17 -0
  26. api581/api/prd.py +190 -0
  27. api581/api/properties.py +130 -0
  28. api581/api/release.py +252 -0
  29. api581/api/reliability.py +40 -0
  30. api581/api/risk.py +71 -0
  31. api581/api/tank.py +490 -0
  32. api581/api520.py +205 -0
  33. api581/area_contribution.py +72 -0
  34. api581/blast.py +232 -0
  35. api581/brittle.py +205 -0
  36. api581/bundle.py +300 -0
  37. api581/catalog.py +442 -0
  38. api581/caustic_screening.py +103 -0
  39. api581/clad_thinning.py +146 -0
  40. api581/clscc_screening.py +55 -0
  41. api581/co2_corrosion.py +313 -0
  42. api581/co2_screening.py +205 -0
  43. api581/consequences.py +250 -0
  44. api581/contracts.py +1038 -0
  45. api581/cooling_selection.py +204 -0
  46. api581/cooling_water.py +305 -0
  47. api581/core.py +126 -0
  48. api581/corrosion_rate.py +38 -0
  49. api581/cost_tables.py +175 -0
  50. api581/cracking.py +74 -0
  51. api581/data/coverage.json +21361 -0
  52. api581/data/digital-twin.schema.json +538 -0
  53. api581/data/direct-test-queue.json +7 -0
  54. api581/data/native-engine-evidence.json +44 -0
  55. api581/data/python-api.schema.json +92706 -0
  56. api581/data/reference-fixture-evidence.json +2956 -0
  57. api581/data/scope-boundaries.schema.json +58 -0
  58. api581/data/software-test-evidence.json +4278 -0
  59. api581/data/standard-metadata.json +1328 -0
  60. api581/data/standard.schema.json +233 -0
  61. api581/data/supporting-text-review.json +1319 -0
  62. api581/digital_twin.py +491 -0
  63. api581/dispersion.py +45 -0
  64. api581/effects.py +232 -0
  65. api581/evaporation.py +181 -0
  66. api581/evidence.py +81 -0
  67. api581/external_corrosion.py +148 -0
  68. api581/external_cracking.py +63 -0
  69. api581/fatigue.py +56 -0
  70. api581/fireball.py +163 -0
  71. api581/flash_pool.py +111 -0
  72. api581/flash_solver.py +122 -0
  73. api581/groundwater.py +101 -0
  74. api581/h2sh2_corrosion.py +128 -0
  75. api581/hic_screened.py +89 -0
  76. api581/htha.py +45 -0
  77. api581/hydrochloric_acid.py +272 -0
  78. api581/hydrofluoric_acid.py +236 -0
  79. api581/ignition.py +204 -0
  80. api581/inspection_effectiveness.py +601 -0
  81. api581/jet_handoff.py +60 -0
  82. api581/level1.py +311 -0
  83. api581/level1_summary.py +35 -0
  84. api581/level1_toxic.py +313 -0
  85. api581/level1_type1.py +91 -0
  86. api581/level2_summary.py +237 -0
  87. api581/lining.py +173 -0
  88. api581/native_toxic.py +67 -0
  89. api581/outputs.py +5672 -0
  90. api581/oxidation.py +145 -0
  91. api581/pascc_screening.py +78 -0
  92. api581/physical_explosion.py +190 -0
  93. api581/pof.py +207 -0
  94. api581/pool_fire.py +273 -0
  95. api581/portfolio.py +68 -0
  96. api581/prd.py +204 -0
  97. api581/prd_consequences.py +245 -0
  98. api581/prd_history.py +44 -0
  99. api581/py.typed +0 -0
  100. api581/release.py +307 -0
  101. api581/representative_fluids.py +172 -0
  102. api581/result.py +50 -0
  103. api581/risk.py +191 -0
  104. api581/saturation.py +66 -0
  105. api581/scc_mechanisms.py +242 -0
  106. api581/schema.py +45 -0
  107. api581/slabx_adapter.py +261 -0
  108. api581/soil_corrosion.py +191 -0
  109. api581/source_partition.py +169 -0
  110. api581/spatial.py +87 -0
  111. api581/ssc_screening.py +77 -0
  112. api581/standard.py +281 -0
  113. api581/storage.py +42 -0
  114. api581/sulfidic_corrosion.py +197 -0
  115. api581/sulfuric_acid.py +209 -0
  116. api581/tank.py +260 -0
  117. api581/tank_corrosion.py +256 -0
  118. api581/tank_environment.py +186 -0
  119. api581/tank_financial.py +202 -0
  120. api581/tank_integrated.py +51 -0
  121. api581/tank_shell.py +141 -0
  122. api581/tank_source.py +152 -0
  123. api581/tank_thinning.py +204 -0
  124. api581/temper.py +105 -0
  125. api581/thinning.py +172 -0
  126. api581/thinning_conditions.py +212 -0
  127. api581/thinning_history.py +118 -0
  128. api581/thinning_selection.py +81 -0
  129. api581/thinning_type.py +34 -0
  130. api581/toxic_criteria.py +111 -0
  131. api581/toxic_level2.py +233 -0
  132. api581/two_phase_events.py +120 -0
  133. api581/workflow.py +42 -0
  134. api581_engine-0.1.4.dist-info/METADATA +419 -0
  135. api581_engine-0.1.4.dist-info/RECORD +139 -0
  136. api581_engine-0.1.4.dist-info/WHEEL +5 -0
  137. api581_engine-0.1.4.dist-info/licenses/LICENSE +161 -0
  138. api581_engine-0.1.4.dist-info/licenses/NOTICE.md +18 -0
  139. api581_engine-0.1.4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,538 @@
1
+ {
2
+ "TwinMeasurement": {
3
+ "additionalProperties": false,
4
+ "properties": {
5
+ "measurement_id": {
6
+ "maxLength": 200,
7
+ "minLength": 1,
8
+ "title": "Measurement Id",
9
+ "type": "string"
10
+ },
11
+ "quantity": {
12
+ "maxLength": 200,
13
+ "minLength": 1,
14
+ "title": "Quantity",
15
+ "type": "string"
16
+ },
17
+ "value": {
18
+ "title": "Value",
19
+ "type": "number"
20
+ },
21
+ "unit": {
22
+ "maxLength": 50,
23
+ "minLength": 1,
24
+ "title": "Unit",
25
+ "type": "string"
26
+ },
27
+ "measured_at": {
28
+ "format": "date-time",
29
+ "title": "Measured At",
30
+ "type": "string"
31
+ },
32
+ "source": {
33
+ "maxLength": 500,
34
+ "minLength": 1,
35
+ "title": "Source",
36
+ "type": "string"
37
+ },
38
+ "quality": {
39
+ "enum": [
40
+ "measured",
41
+ "estimated",
42
+ "simulated"
43
+ ],
44
+ "title": "Quality",
45
+ "type": "string"
46
+ },
47
+ "uncertainty": {
48
+ "anyOf": [
49
+ {
50
+ "minimum": 0,
51
+ "type": "number"
52
+ },
53
+ {
54
+ "type": "null"
55
+ }
56
+ ],
57
+ "default": null,
58
+ "title": "Uncertainty"
59
+ }
60
+ },
61
+ "required": [
62
+ "measurement_id",
63
+ "quantity",
64
+ "value",
65
+ "unit",
66
+ "measured_at",
67
+ "source",
68
+ "quality"
69
+ ],
70
+ "title": "TwinMeasurement",
71
+ "type": "object"
72
+ },
73
+ "TwinCalculationRequest": {
74
+ "$defs": {
75
+ "TwinMeasurement": {
76
+ "additionalProperties": false,
77
+ "properties": {
78
+ "measurement_id": {
79
+ "maxLength": 200,
80
+ "minLength": 1,
81
+ "title": "Measurement Id",
82
+ "type": "string"
83
+ },
84
+ "quantity": {
85
+ "maxLength": 200,
86
+ "minLength": 1,
87
+ "title": "Quantity",
88
+ "type": "string"
89
+ },
90
+ "value": {
91
+ "title": "Value",
92
+ "type": "number"
93
+ },
94
+ "unit": {
95
+ "maxLength": 50,
96
+ "minLength": 1,
97
+ "title": "Unit",
98
+ "type": "string"
99
+ },
100
+ "measured_at": {
101
+ "format": "date-time",
102
+ "title": "Measured At",
103
+ "type": "string"
104
+ },
105
+ "source": {
106
+ "maxLength": 500,
107
+ "minLength": 1,
108
+ "title": "Source",
109
+ "type": "string"
110
+ },
111
+ "quality": {
112
+ "enum": [
113
+ "measured",
114
+ "estimated",
115
+ "simulated"
116
+ ],
117
+ "title": "Quality",
118
+ "type": "string"
119
+ },
120
+ "uncertainty": {
121
+ "anyOf": [
122
+ {
123
+ "minimum": 0,
124
+ "type": "number"
125
+ },
126
+ {
127
+ "type": "null"
128
+ }
129
+ ],
130
+ "default": null,
131
+ "title": "Uncertainty"
132
+ }
133
+ },
134
+ "required": [
135
+ "measurement_id",
136
+ "quantity",
137
+ "value",
138
+ "unit",
139
+ "measured_at",
140
+ "source",
141
+ "quality"
142
+ ],
143
+ "title": "TwinMeasurement",
144
+ "type": "object"
145
+ }
146
+ },
147
+ "additionalProperties": false,
148
+ "description": "Immutable calculation request envelope supplied by a twin host.",
149
+ "properties": {
150
+ "request_id": {
151
+ "maxLength": 200,
152
+ "minLength": 1,
153
+ "title": "Request Id",
154
+ "type": "string"
155
+ },
156
+ "calculation_id": {
157
+ "maxLength": 200,
158
+ "minLength": 1,
159
+ "title": "Calculation Id",
160
+ "type": "string"
161
+ },
162
+ "asset_id": {
163
+ "maxLength": 200,
164
+ "minLength": 1,
165
+ "title": "Asset Id",
166
+ "type": "string"
167
+ },
168
+ "component_id": {
169
+ "maxLength": 200,
170
+ "minLength": 1,
171
+ "title": "Component Id",
172
+ "type": "string"
173
+ },
174
+ "observed_at": {
175
+ "format": "date-time",
176
+ "title": "Observed At",
177
+ "type": "string"
178
+ },
179
+ "source_revision": {
180
+ "maxLength": 200,
181
+ "minLength": 1,
182
+ "title": "Source Revision",
183
+ "type": "string"
184
+ },
185
+ "correlation_id": {
186
+ "maxLength": 200,
187
+ "minLength": 1,
188
+ "title": "Correlation Id",
189
+ "type": "string"
190
+ },
191
+ "inputs": {
192
+ "additionalProperties": true,
193
+ "title": "Inputs",
194
+ "type": "object"
195
+ },
196
+ "measurements": {
197
+ "items": {
198
+ "$ref": "#/$defs/TwinMeasurement"
199
+ },
200
+ "maxItems": 10000,
201
+ "title": "Measurements",
202
+ "type": "array"
203
+ },
204
+ "contract_version": {
205
+ "const": "api581-twin-1",
206
+ "default": "api581-twin-1",
207
+ "title": "Contract Version",
208
+ "type": "string"
209
+ }
210
+ },
211
+ "required": [
212
+ "request_id",
213
+ "calculation_id",
214
+ "asset_id",
215
+ "component_id",
216
+ "observed_at",
217
+ "source_revision",
218
+ "correlation_id",
219
+ "inputs"
220
+ ],
221
+ "title": "TwinCalculationRequest",
222
+ "type": "object"
223
+ },
224
+ "TwinCalculationResponse": {
225
+ "$defs": {
226
+ "ValidationEvidence": {
227
+ "additionalProperties": false,
228
+ "description": "Stable JSON shape linking a calculation to its verification record.",
229
+ "properties": {
230
+ "manifest": {
231
+ "title": "Manifest",
232
+ "type": "string"
233
+ },
234
+ "packaged_manifest": {
235
+ "title": "Packaged Manifest",
236
+ "type": "string"
237
+ },
238
+ "verification_scripts": {
239
+ "items": {
240
+ "type": "string"
241
+ },
242
+ "title": "Verification Scripts",
243
+ "type": "array"
244
+ }
245
+ },
246
+ "required": [
247
+ "manifest",
248
+ "packaged_manifest",
249
+ "verification_scripts"
250
+ ],
251
+ "title": "ValidationEvidence",
252
+ "type": "object"
253
+ }
254
+ },
255
+ "additionalProperties": false,
256
+ "description": "Reproducible result envelope returned to a twin host.",
257
+ "properties": {
258
+ "contract_version": {
259
+ "const": "api581-twin-1",
260
+ "default": "api581-twin-1",
261
+ "title": "Contract Version",
262
+ "type": "string"
263
+ },
264
+ "request_id": {
265
+ "maxLength": 200,
266
+ "minLength": 1,
267
+ "title": "Request Id",
268
+ "type": "string"
269
+ },
270
+ "run_id": {
271
+ "maxLength": 200,
272
+ "minLength": 1,
273
+ "title": "Run Id",
274
+ "type": "string"
275
+ },
276
+ "calculation_id": {
277
+ "maxLength": 200,
278
+ "minLength": 1,
279
+ "title": "Calculation Id",
280
+ "type": "string"
281
+ },
282
+ "asset_id": {
283
+ "maxLength": 200,
284
+ "minLength": 1,
285
+ "title": "Asset Id",
286
+ "type": "string"
287
+ },
288
+ "component_id": {
289
+ "maxLength": 200,
290
+ "minLength": 1,
291
+ "title": "Component Id",
292
+ "type": "string"
293
+ },
294
+ "observed_at": {
295
+ "format": "date-time",
296
+ "title": "Observed At",
297
+ "type": "string"
298
+ },
299
+ "input_hash": {
300
+ "maxLength": 200,
301
+ "minLength": 1,
302
+ "title": "Input Hash",
303
+ "type": "string"
304
+ },
305
+ "engine_version": {
306
+ "maxLength": 100,
307
+ "minLength": 1,
308
+ "title": "Engine Version",
309
+ "type": "string"
310
+ },
311
+ "standard_edition": {
312
+ "maxLength": 100,
313
+ "minLength": 1,
314
+ "title": "Standard Edition",
315
+ "type": "string"
316
+ },
317
+ "code_fingerprint": {
318
+ "maxLength": 200,
319
+ "minLength": 1,
320
+ "title": "Code Fingerprint",
321
+ "type": "string"
322
+ },
323
+ "outputs": {
324
+ "additionalProperties": true,
325
+ "title": "Outputs",
326
+ "type": "object"
327
+ },
328
+ "references": {
329
+ "items": {
330
+ "type": "string"
331
+ },
332
+ "title": "References",
333
+ "type": "array"
334
+ },
335
+ "limitations": {
336
+ "items": {
337
+ "type": "string"
338
+ },
339
+ "title": "Limitations",
340
+ "type": "array"
341
+ },
342
+ "validation_evidence": {
343
+ "items": {
344
+ "$ref": "#/$defs/ValidationEvidence"
345
+ },
346
+ "title": "Validation Evidence",
347
+ "type": "array"
348
+ },
349
+ "software_test_modules": {
350
+ "items": {
351
+ "type": "string"
352
+ },
353
+ "title": "Software Test Modules",
354
+ "type": "array"
355
+ },
356
+ "direct_public_test_modules": {
357
+ "items": {
358
+ "type": "string"
359
+ },
360
+ "title": "Direct Public Test Modules",
361
+ "type": "array"
362
+ },
363
+ "validation_level": {
364
+ "default": "software_tested_only",
365
+ "enum": [
366
+ "software_tested_only",
367
+ "native_engine_fixture_verified"
368
+ ],
369
+ "title": "Validation Level",
370
+ "type": "string"
371
+ },
372
+ "validation_status": {
373
+ "maxLength": 200,
374
+ "minLength": 1,
375
+ "title": "Validation Status",
376
+ "type": "string"
377
+ }
378
+ },
379
+ "required": [
380
+ "request_id",
381
+ "run_id",
382
+ "calculation_id",
383
+ "asset_id",
384
+ "component_id",
385
+ "observed_at",
386
+ "input_hash",
387
+ "engine_version",
388
+ "standard_edition",
389
+ "code_fingerprint",
390
+ "outputs",
391
+ "references",
392
+ "limitations",
393
+ "validation_status"
394
+ ],
395
+ "title": "TwinCalculationResponse",
396
+ "type": "object"
397
+ },
398
+ "TwinBatchShard": {
399
+ "additionalProperties": false,
400
+ "description": "Deterministic work partition that a host may submit to an HPC queue.",
401
+ "properties": {
402
+ "shard_id": {
403
+ "maxLength": 200,
404
+ "minLength": 1,
405
+ "title": "Shard Id",
406
+ "type": "string"
407
+ },
408
+ "ordinal": {
409
+ "minimum": 0,
410
+ "title": "Ordinal",
411
+ "type": "integer"
412
+ },
413
+ "request_ids": {
414
+ "items": {
415
+ "type": "string"
416
+ },
417
+ "maxItems": 100000,
418
+ "minItems": 1,
419
+ "title": "Request Ids",
420
+ "type": "array"
421
+ },
422
+ "payload_hash": {
423
+ "maxLength": 64,
424
+ "minLength": 64,
425
+ "title": "Payload Hash",
426
+ "type": "string"
427
+ }
428
+ },
429
+ "required": [
430
+ "shard_id",
431
+ "ordinal",
432
+ "request_ids",
433
+ "payload_hash"
434
+ ],
435
+ "title": "TwinBatchShard",
436
+ "type": "object"
437
+ },
438
+ "TwinBatchPlan": {
439
+ "$defs": {
440
+ "TwinBatchShard": {
441
+ "additionalProperties": false,
442
+ "description": "Deterministic work partition that a host may submit to an HPC queue.",
443
+ "properties": {
444
+ "shard_id": {
445
+ "maxLength": 200,
446
+ "minLength": 1,
447
+ "title": "Shard Id",
448
+ "type": "string"
449
+ },
450
+ "ordinal": {
451
+ "minimum": 0,
452
+ "title": "Ordinal",
453
+ "type": "integer"
454
+ },
455
+ "request_ids": {
456
+ "items": {
457
+ "type": "string"
458
+ },
459
+ "maxItems": 100000,
460
+ "minItems": 1,
461
+ "title": "Request Ids",
462
+ "type": "array"
463
+ },
464
+ "payload_hash": {
465
+ "maxLength": 64,
466
+ "minLength": 64,
467
+ "title": "Payload Hash",
468
+ "type": "string"
469
+ }
470
+ },
471
+ "required": [
472
+ "shard_id",
473
+ "ordinal",
474
+ "request_ids",
475
+ "payload_hash"
476
+ ],
477
+ "title": "TwinBatchShard",
478
+ "type": "object"
479
+ }
480
+ },
481
+ "additionalProperties": false,
482
+ "description": "Scheduler-neutral manifest for replayable digital-twin batches.",
483
+ "properties": {
484
+ "contract_version": {
485
+ "const": "api581-batch-1",
486
+ "default": "api581-batch-1",
487
+ "title": "Contract Version",
488
+ "type": "string"
489
+ },
490
+ "batch_id": {
491
+ "maxLength": 200,
492
+ "minLength": 1,
493
+ "title": "Batch Id",
494
+ "type": "string"
495
+ },
496
+ "request_count": {
497
+ "minimum": 0,
498
+ "title": "Request Count",
499
+ "type": "integer"
500
+ },
501
+ "shard_size": {
502
+ "exclusiveMinimum": 0,
503
+ "title": "Shard Size",
504
+ "type": "integer"
505
+ },
506
+ "request_ids": {
507
+ "items": {
508
+ "type": "string"
509
+ },
510
+ "title": "Request Ids",
511
+ "type": "array"
512
+ },
513
+ "shards": {
514
+ "items": {
515
+ "$ref": "#/$defs/TwinBatchShard"
516
+ },
517
+ "title": "Shards",
518
+ "type": "array"
519
+ },
520
+ "plan_hash": {
521
+ "maxLength": 64,
522
+ "minLength": 64,
523
+ "title": "Plan Hash",
524
+ "type": "string"
525
+ }
526
+ },
527
+ "required": [
528
+ "batch_id",
529
+ "request_count",
530
+ "shard_size",
531
+ "request_ids",
532
+ "shards",
533
+ "plan_hash"
534
+ ],
535
+ "title": "TwinBatchPlan",
536
+ "type": "object"
537
+ }
538
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "description": "Calculations lacking a direct numeric/branch test-module reference; registry contracts remain separate evidence.",
3
+ "calculation_count": 509,
4
+ "direct_test_gap_count": 0,
5
+ "domain_counts": {},
6
+ "calculations": []
7
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "standard_edition": "API-RP-581-2016-3rd-base",
3
+ "verification_date": "2026-10-25",
4
+ "environment": {
5
+ "slabx": "1.0.8",
6
+ "slabx-lh2": "0.2.0",
7
+ "CoolProp": "8.0.0",
8
+ "numpy": "2.5.3",
9
+ "scipy": "1.18.1"
10
+ },
11
+ "engine_source_fingerprints": {
12
+ "slabx": "cce58647c6f3d741ef125a790032d521f09ebd636f1b4a9188e89f8a812fae8a",
13
+ "slabx-lh2": "a7e27d03ae1f145acf779c07d2e6dbae9e99e8c73f77e690c25c0c6098fb0dd4"
14
+ },
15
+ "runs": {
16
+ "verify_native_dispersion.py": {
17
+ "status": "passed",
18
+ "checks": ["native_direct_exact_array_equivalence", "kg_kmol_and_humidity_unit_mapping", "boundary_censoring", "no_exceedance_nan_to_null", "lh2_native_execution", "lh2_premise_violation_blocks_distance", "concurrent_process_isolation_and_repeatability", "host_module_globals_unchanged"]
19
+ },
20
+ "verify_native_jet.py": {
21
+ "status": "passed",
22
+ "checks": ["horizontal_native_exact_arrays", "vertical_native_exact_arrays", "native_exit_velocity", "jet_at_y_exact_field", "source_handoff_boundary_censoring", "explicit_temperature_clamp", "buoyant_vertical_native_exact_arrays", "lh2_horizontal_native_run", "partition_to_native_exact_chain", "partitioned_planar_run"]
23
+ },
24
+ "verify_native_footprint.py": {
25
+ "status": "passed",
26
+ "checks": ["native_at_y_exact_field_equivalence", "crosswind_symmetry", "crosswind_grid_refinement", "lateral_censoring", "censored_flash_bridge_rejection", "native_flash_quarter_area_mapping", "lh2_planar_execution", "lh2_premise_blocks_area"]
27
+ },
28
+ "verify_native_toxic.py": {
29
+ "status": "passed",
30
+ "checks": ["historical_probit50_ppm_anchor", "direct_native_centreline_exact", "direct_native_planar_exact", "exposure_average_and_release_window_mapping", "independent_native_area_chain", "nonignition_probability_once", "toxic_equipment_zero", "censored_area_rejected", "short_source_window_rejected"]
31
+ },
32
+ "verify_native_saturation.py": {"status": "passed", "scope": "pure-fluid saturation, pressure-temperature round trip, Clapeyron identity and pool guards"},
33
+ "verify_native_flash.py": {"status": "passed", "scope": "native flash methods, phase endpoints, composition basis and typed partition closure"},
34
+ "verify_native_flash_pool.py": {"status": "passed", "scope": "EOS/partition/steady-pool/native chain and LH2 premise reporting"},
35
+ "verify_native_flashed_pool_footprint.py": {"status": "passed", "scope": "EOS-to-footprint/fire area mapping, grid refinement and censored consequence rejection"},
36
+ "verify_native_flashed_pool_risk.py": {"status": "passed", "scope": "GFF/Fms/DF/event-weather weighting and raw-area preservation"}
37
+ },
38
+ "limitations": [
39
+ "These are software integration and fixture checks, not API 581 conformity certification.",
40
+ "Native source domains, site applicability, fluid properties, thresholds and exposure assumptions remain caller-qualified.",
41
+ "A passing LH2 premise check is not experimental or field validation.",
42
+ "The evidence is tied to the listed package versions and source fingerprints."
43
+ ]
44
+ }