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,1319 @@
1
+ {
2
+ "standard_edition": "API-RP-581-2016-3rd-base",
3
+ "source_sha256": "89a38c69ac9b88e980145668691490ac27fbc0e81746916c9a454e45bfea5446",
4
+ "source_document": {
5
+ "filename": "API-581-2016.pdf",
6
+ "bytes": 19347329,
7
+ "sha256": "89a38c69ac9b88e980145668691490ac27fbc0e81746916c9a454e45bfea5446",
8
+ "fingerprint_matches_standard_metadata": true,
9
+ "locator_basis": "coverage.json toc_pdf_page and printed_page_in_part; page numbers are source-navigation evidence, not extracted calculation equations",
10
+ "text_locator_basis": "SHA-256 of the canonical extracted text for toc_pdf_page; empty text is represented by the SHA-256 of an empty string"
11
+ },
12
+ "supporting_not_implemented_count": 76,
13
+ "classification_counts": {
14
+ "engineering_damage_review": 10,
15
+ "metadata_reference_review": 27,
16
+ "metadata_terminology_review": 28,
17
+ "workflow_scope_review": 11
18
+ },
19
+ "metadata_inventory": {
20
+ "references": 22,
21
+ "definitions": 80,
22
+ "acronyms": 125
23
+ },
24
+ "interpretation": "Classification is an evidence-routing aid, not an implementation percentage or certification claim.",
25
+ "clauses": [
26
+ {
27
+ "clause_id": "Part 1 §2",
28
+ "title": "REFERENCES",
29
+ "scope": "Part 1",
30
+ "source_locator": {
31
+ "pdf": "API-581-2016.pdf",
32
+ "toc_pdf_page": 9,
33
+ "printed_page_in_part": "4",
34
+ "extracted_page_text_sha256": "ef56e158141bb30a3ac4b3dbb9f220cfe18847a619879578299a62ad553477a5",
35
+ "extracted_page_text_bytes": 6382
36
+ },
37
+ "review_category": "supporting_text_review",
38
+ "classification": "metadata_reference_review",
39
+ "evidence_target": "standard-metadata.references",
40
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
41
+ "calculation_ids": []
42
+ },
43
+ {
44
+ "clause_id": "Part 1 §2.1",
45
+ "title": "Normative",
46
+ "scope": "Part 1",
47
+ "source_locator": {
48
+ "pdf": "API-581-2016.pdf",
49
+ "toc_pdf_page": 9,
50
+ "printed_page_in_part": "4",
51
+ "extracted_page_text_sha256": "ef56e158141bb30a3ac4b3dbb9f220cfe18847a619879578299a62ad553477a5",
52
+ "extracted_page_text_bytes": 6382
53
+ },
54
+ "review_category": "supporting_text_review",
55
+ "classification": "metadata_reference_review",
56
+ "evidence_target": "standard-metadata.references",
57
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
58
+ "calculation_ids": []
59
+ },
60
+ {
61
+ "clause_id": "Part 1 §2.2",
62
+ "title": "Informative",
63
+ "scope": "Part 1",
64
+ "source_locator": {
65
+ "pdf": "API-581-2016.pdf",
66
+ "toc_pdf_page": 9,
67
+ "printed_page_in_part": "4",
68
+ "extracted_page_text_sha256": "ef56e158141bb30a3ac4b3dbb9f220cfe18847a619879578299a62ad553477a5",
69
+ "extracted_page_text_bytes": 6382
70
+ },
71
+ "review_category": "supporting_text_review",
72
+ "classification": "metadata_reference_review",
73
+ "evidence_target": "standard-metadata.references",
74
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
75
+ "calculation_ids": []
76
+ },
77
+ {
78
+ "clause_id": "Part 1 §3",
79
+ "title": "DEFINITIONS AND ACRONYMS",
80
+ "scope": "Part 1",
81
+ "source_locator": {
82
+ "pdf": "API-581-2016.pdf",
83
+ "toc_pdf_page": 9,
84
+ "printed_page_in_part": "5",
85
+ "extracted_page_text_sha256": "ef56e158141bb30a3ac4b3dbb9f220cfe18847a619879578299a62ad553477a5",
86
+ "extracted_page_text_bytes": 6382
87
+ },
88
+ "review_category": "supporting_text_review",
89
+ "classification": "metadata_terminology_review",
90
+ "evidence_target": "standard-metadata.definitions/acronyms",
91
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
92
+ "calculation_ids": []
93
+ },
94
+ {
95
+ "clause_id": "Part 1 §3.1",
96
+ "title": "Definitions",
97
+ "scope": "Part 1",
98
+ "source_locator": {
99
+ "pdf": "API-581-2016.pdf",
100
+ "toc_pdf_page": 9,
101
+ "printed_page_in_part": "5",
102
+ "extracted_page_text_sha256": "ef56e158141bb30a3ac4b3dbb9f220cfe18847a619879578299a62ad553477a5",
103
+ "extracted_page_text_bytes": 6382
104
+ },
105
+ "review_category": "supporting_text_review",
106
+ "classification": "metadata_terminology_review",
107
+ "evidence_target": "standard-metadata.definitions/acronyms",
108
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
109
+ "calculation_ids": []
110
+ },
111
+ {
112
+ "clause_id": "Part 1 §3.2",
113
+ "title": "Acronyms",
114
+ "scope": "Part 1",
115
+ "source_locator": {
116
+ "pdf": "API-581-2016.pdf",
117
+ "toc_pdf_page": 9,
118
+ "printed_page_in_part": "12",
119
+ "extracted_page_text_sha256": "ef56e158141bb30a3ac4b3dbb9f220cfe18847a619879578299a62ad553477a5",
120
+ "extracted_page_text_bytes": 6382
121
+ },
122
+ "review_category": "supporting_text_review",
123
+ "classification": "metadata_terminology_review",
124
+ "evidence_target": "standard-metadata.definitions/acronyms",
125
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
126
+ "calculation_ids": []
127
+ },
128
+ {
129
+ "clause_id": "Part 1 §4.5",
130
+ "title": "Nomenclature",
131
+ "scope": "Part 1",
132
+ "source_locator": {
133
+ "pdf": "API-581-2016.pdf",
134
+ "toc_pdf_page": 9,
135
+ "printed_page_in_part": "24",
136
+ "extracted_page_text_sha256": "ef56e158141bb30a3ac4b3dbb9f220cfe18847a619879578299a62ad553477a5",
137
+ "extracted_page_text_bytes": 6382
138
+ },
139
+ "review_category": "supporting_text_review",
140
+ "classification": "metadata_terminology_review",
141
+ "evidence_target": "standard-metadata.definitions/acronyms",
142
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
143
+ "calculation_ids": []
144
+ },
145
+ {
146
+ "clause_id": "Part 1 §7.1.1",
147
+ "title": "Overview",
148
+ "scope": "Part 1",
149
+ "source_locator": {
150
+ "pdf": "API-581-2016.pdf",
151
+ "toc_pdf_page": 11,
152
+ "printed_page_in_part": "34",
153
+ "extracted_page_text_sha256": "0c9b2acc09e75f41e3969cfa30d26e0fe600ce85ab9929fbedb47c94a523dc99",
154
+ "extracted_page_text_bytes": 6954
155
+ },
156
+ "review_category": "supporting_text_review",
157
+ "classification": "workflow_scope_review",
158
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
159
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
160
+ "calculation_ids": []
161
+ },
162
+ {
163
+ "clause_id": "Part 1 §8.1.1",
164
+ "title": "Overview",
165
+ "scope": "Part 1",
166
+ "source_locator": {
167
+ "pdf": "API-581-2016.pdf",
168
+ "toc_pdf_page": 12,
169
+ "printed_page_in_part": "83",
170
+ "extracted_page_text_sha256": "201ccf1904739d6078c85e860ed2aa2fbc9f761d01c43d9c121ac1f03f718138",
171
+ "extracted_page_text_bytes": 4704
172
+ },
173
+ "review_category": "supporting_text_review",
174
+ "classification": "workflow_scope_review",
175
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
176
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
177
+ "calculation_ids": []
178
+ },
179
+ {
180
+ "clause_id": "Part 1 §8.8",
181
+ "title": "Nomenclature",
182
+ "scope": "Part 1",
183
+ "source_locator": {
184
+ "pdf": "API-581-2016.pdf",
185
+ "toc_pdf_page": 12,
186
+ "printed_page_in_part": "97",
187
+ "extracted_page_text_sha256": "201ccf1904739d6078c85e860ed2aa2fbc9f761d01c43d9c121ac1f03f718138",
188
+ "extracted_page_text_bytes": 4704
189
+ },
190
+ "review_category": "supporting_text_review",
191
+ "classification": "metadata_terminology_review",
192
+ "evidence_target": "standard-metadata.definitions/acronyms",
193
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
194
+ "calculation_ids": []
195
+ },
196
+ {
197
+ "clause_id": "Part 2 §1",
198
+ "title": "SCOPE",
199
+ "scope": "Part 2",
200
+ "source_locator": {
201
+ "pdf": "API-581-2016.pdf",
202
+ "toc_pdf_page": 131,
203
+ "printed_page_in_part": "1",
204
+ "extracted_page_text_sha256": "c48e59bd9f97b0df763a47ea915b9e3647c1323544ff7b24264cfc1e7e5c25aa",
205
+ "extracted_page_text_bytes": 6649
206
+ },
207
+ "review_category": "supporting_text_review",
208
+ "classification": "workflow_scope_review",
209
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
210
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
211
+ "calculation_ids": []
212
+ },
213
+ {
214
+ "clause_id": "Part 2 §2",
215
+ "title": "REFERENCES",
216
+ "scope": "Part 2",
217
+ "source_locator": {
218
+ "pdf": "API-581-2016.pdf",
219
+ "toc_pdf_page": 131,
220
+ "printed_page_in_part": "1",
221
+ "extracted_page_text_sha256": "c48e59bd9f97b0df763a47ea915b9e3647c1323544ff7b24264cfc1e7e5c25aa",
222
+ "extracted_page_text_bytes": 6649
223
+ },
224
+ "review_category": "supporting_text_review",
225
+ "classification": "metadata_reference_review",
226
+ "evidence_target": "standard-metadata.references",
227
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
228
+ "calculation_ids": []
229
+ },
230
+ {
231
+ "clause_id": "Part 2 §2.1",
232
+ "title": "Normative",
233
+ "scope": "Part 2",
234
+ "source_locator": {
235
+ "pdf": "API-581-2016.pdf",
236
+ "toc_pdf_page": 131,
237
+ "printed_page_in_part": "1",
238
+ "extracted_page_text_sha256": "c48e59bd9f97b0df763a47ea915b9e3647c1323544ff7b24264cfc1e7e5c25aa",
239
+ "extracted_page_text_bytes": 6649
240
+ },
241
+ "review_category": "supporting_text_review",
242
+ "classification": "metadata_reference_review",
243
+ "evidence_target": "standard-metadata.references",
244
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
245
+ "calculation_ids": []
246
+ },
247
+ {
248
+ "clause_id": "Part 2 §2.2",
249
+ "title": "Informative",
250
+ "scope": "Part 2",
251
+ "source_locator": {
252
+ "pdf": "API-581-2016.pdf",
253
+ "toc_pdf_page": 131,
254
+ "printed_page_in_part": "1",
255
+ "extracted_page_text_sha256": "c48e59bd9f97b0df763a47ea915b9e3647c1323544ff7b24264cfc1e7e5c25aa",
256
+ "extracted_page_text_bytes": 6649
257
+ },
258
+ "review_category": "supporting_text_review",
259
+ "classification": "metadata_reference_review",
260
+ "evidence_target": "standard-metadata.references",
261
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
262
+ "calculation_ids": []
263
+ },
264
+ {
265
+ "clause_id": "Part 2 §3.7",
266
+ "title": "Nomenclature",
267
+ "scope": "Part 2",
268
+ "source_locator": {
269
+ "pdf": "API-581-2016.pdf",
270
+ "toc_pdf_page": 131,
271
+ "printed_page_in_part": "7",
272
+ "extracted_page_text_sha256": "c48e59bd9f97b0df763a47ea915b9e3647c1323544ff7b24264cfc1e7e5c25aa",
273
+ "extracted_page_text_bytes": 6649
274
+ },
275
+ "review_category": "supporting_text_review",
276
+ "classification": "metadata_terminology_review",
277
+ "evidence_target": "standard-metadata.definitions/acronyms",
278
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
279
+ "calculation_ids": []
280
+ },
281
+ {
282
+ "clause_id": "Part 2 §4.6",
283
+ "title": "Nomenclature",
284
+ "scope": "Part 2",
285
+ "source_locator": {
286
+ "pdf": "API-581-2016.pdf",
287
+ "toc_pdf_page": 131,
288
+ "printed_page_in_part": "18",
289
+ "extracted_page_text_sha256": "c48e59bd9f97b0df763a47ea915b9e3647c1323544ff7b24264cfc1e7e5c25aa",
290
+ "extracted_page_text_bytes": 6649
291
+ },
292
+ "review_category": "supporting_text_review",
293
+ "classification": "metadata_terminology_review",
294
+ "evidence_target": "standard-metadata.definitions/acronyms",
295
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
296
+ "calculation_ids": []
297
+ },
298
+ {
299
+ "clause_id": "Part 2 §5.6",
300
+ "title": "Nomenclature",
301
+ "scope": "Part 2",
302
+ "source_locator": {
303
+ "pdf": "API-581-2016.pdf",
304
+ "toc_pdf_page": 131,
305
+ "printed_page_in_part": "29",
306
+ "extracted_page_text_sha256": "c48e59bd9f97b0df763a47ea915b9e3647c1323544ff7b24264cfc1e7e5c25aa",
307
+ "extracted_page_text_bytes": 6649
308
+ },
309
+ "review_category": "supporting_text_review",
310
+ "classification": "metadata_terminology_review",
311
+ "evidence_target": "standard-metadata.definitions/acronyms",
312
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
313
+ "calculation_ids": []
314
+ },
315
+ {
316
+ "clause_id": "Part 2 §6.7",
317
+ "title": "Nomenclature",
318
+ "scope": "Part 2",
319
+ "source_locator": {
320
+ "pdf": "API-581-2016.pdf",
321
+ "toc_pdf_page": 132,
322
+ "printed_page_in_part": "35",
323
+ "extracted_page_text_sha256": "a5ae52e45e40ed815513dcfbe70645ca9f8cc190e2d40b9f108d13cda47a2d68",
324
+ "extracted_page_text_bytes": 6884
325
+ },
326
+ "review_category": "supporting_text_review",
327
+ "classification": "metadata_terminology_review",
328
+ "evidence_target": "standard-metadata.definitions/acronyms",
329
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
330
+ "calculation_ids": []
331
+ },
332
+ {
333
+ "clause_id": "Part 2 §6.8",
334
+ "title": "References",
335
+ "scope": "Part 2",
336
+ "source_locator": {
337
+ "pdf": "API-581-2016.pdf",
338
+ "toc_pdf_page": 132,
339
+ "printed_page_in_part": "36",
340
+ "extracted_page_text_sha256": "a5ae52e45e40ed815513dcfbe70645ca9f8cc190e2d40b9f108d13cda47a2d68",
341
+ "extracted_page_text_bytes": 6884
342
+ },
343
+ "review_category": "supporting_text_review",
344
+ "classification": "metadata_reference_review",
345
+ "evidence_target": "standard-metadata.references",
346
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
347
+ "calculation_ids": []
348
+ },
349
+ {
350
+ "clause_id": "Part 2 §7.7",
351
+ "title": "Nomenclature",
352
+ "scope": "Part 2",
353
+ "source_locator": {
354
+ "pdf": "API-581-2016.pdf",
355
+ "toc_pdf_page": 132,
356
+ "printed_page_in_part": "43",
357
+ "extracted_page_text_sha256": "a5ae52e45e40ed815513dcfbe70645ca9f8cc190e2d40b9f108d13cda47a2d68",
358
+ "extracted_page_text_bytes": 6884
359
+ },
360
+ "review_category": "supporting_text_review",
361
+ "classification": "metadata_terminology_review",
362
+ "evidence_target": "standard-metadata.definitions/acronyms",
363
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
364
+ "calculation_ids": []
365
+ },
366
+ {
367
+ "clause_id": "Part 2 §8.7",
368
+ "title": "Nomenclature",
369
+ "scope": "Part 2",
370
+ "source_locator": {
371
+ "pdf": "API-581-2016.pdf",
372
+ "toc_pdf_page": 132,
373
+ "printed_page_in_part": "47",
374
+ "extracted_page_text_sha256": "a5ae52e45e40ed815513dcfbe70645ca9f8cc190e2d40b9f108d13cda47a2d68",
375
+ "extracted_page_text_bytes": 6884
376
+ },
377
+ "review_category": "supporting_text_review",
378
+ "classification": "metadata_terminology_review",
379
+ "evidence_target": "standard-metadata.definitions/acronyms",
380
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
381
+ "calculation_ids": []
382
+ },
383
+ {
384
+ "clause_id": "Part 2 §8.8",
385
+ "title": "References",
386
+ "scope": "Part 2",
387
+ "source_locator": {
388
+ "pdf": "API-581-2016.pdf",
389
+ "toc_pdf_page": 132,
390
+ "printed_page_in_part": "48",
391
+ "extracted_page_text_sha256": "a5ae52e45e40ed815513dcfbe70645ca9f8cc190e2d40b9f108d13cda47a2d68",
392
+ "extracted_page_text_bytes": 6884
393
+ },
394
+ "review_category": "supporting_text_review",
395
+ "classification": "metadata_reference_review",
396
+ "evidence_target": "standard-metadata.references",
397
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
398
+ "calculation_ids": []
399
+ },
400
+ {
401
+ "clause_id": "Part 2 §9.7",
402
+ "title": "Nomenclature",
403
+ "scope": "Part 2",
404
+ "source_locator": {
405
+ "pdf": "API-581-2016.pdf",
406
+ "toc_pdf_page": 133,
407
+ "printed_page_in_part": "53",
408
+ "extracted_page_text_sha256": "564fb36064750a1b146369c45dc6179ce50a1c00260e9fc67cdfe14e6bb17bed",
409
+ "extracted_page_text_bytes": 6944
410
+ },
411
+ "review_category": "supporting_text_review",
412
+ "classification": "metadata_terminology_review",
413
+ "evidence_target": "standard-metadata.definitions/acronyms",
414
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
415
+ "calculation_ids": []
416
+ },
417
+ {
418
+ "clause_id": "Part 2 §9.8",
419
+ "title": "References",
420
+ "scope": "Part 2",
421
+ "source_locator": {
422
+ "pdf": "API-581-2016.pdf",
423
+ "toc_pdf_page": 133,
424
+ "printed_page_in_part": "53",
425
+ "extracted_page_text_sha256": "564fb36064750a1b146369c45dc6179ce50a1c00260e9fc67cdfe14e6bb17bed",
426
+ "extracted_page_text_bytes": 6944
427
+ },
428
+ "review_category": "supporting_text_review",
429
+ "classification": "metadata_reference_review",
430
+ "evidence_target": "standard-metadata.references",
431
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
432
+ "calculation_ids": []
433
+ },
434
+ {
435
+ "clause_id": "Part 2 §10.7",
436
+ "title": "Nomenclature",
437
+ "scope": "Part 2",
438
+ "source_locator": {
439
+ "pdf": "API-581-2016.pdf",
440
+ "toc_pdf_page": 133,
441
+ "printed_page_in_part": "59",
442
+ "extracted_page_text_sha256": "564fb36064750a1b146369c45dc6179ce50a1c00260e9fc67cdfe14e6bb17bed",
443
+ "extracted_page_text_bytes": 6944
444
+ },
445
+ "review_category": "supporting_text_review",
446
+ "classification": "metadata_terminology_review",
447
+ "evidence_target": "standard-metadata.definitions/acronyms",
448
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
449
+ "calculation_ids": []
450
+ },
451
+ {
452
+ "clause_id": "Part 2 §10.8",
453
+ "title": "References",
454
+ "scope": "Part 2",
455
+ "source_locator": {
456
+ "pdf": "API-581-2016.pdf",
457
+ "toc_pdf_page": 133,
458
+ "printed_page_in_part": "59",
459
+ "extracted_page_text_sha256": "564fb36064750a1b146369c45dc6179ce50a1c00260e9fc67cdfe14e6bb17bed",
460
+ "extracted_page_text_bytes": 6944
461
+ },
462
+ "review_category": "supporting_text_review",
463
+ "classification": "metadata_reference_review",
464
+ "evidence_target": "standard-metadata.references",
465
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
466
+ "calculation_ids": []
467
+ },
468
+ {
469
+ "clause_id": "Part 2 §11.7",
470
+ "title": "Nomenclature",
471
+ "scope": "Part 2",
472
+ "source_locator": {
473
+ "pdf": "API-581-2016.pdf",
474
+ "toc_pdf_page": 133,
475
+ "printed_page_in_part": "64",
476
+ "extracted_page_text_sha256": "564fb36064750a1b146369c45dc6179ce50a1c00260e9fc67cdfe14e6bb17bed",
477
+ "extracted_page_text_bytes": 6944
478
+ },
479
+ "review_category": "supporting_text_review",
480
+ "classification": "metadata_terminology_review",
481
+ "evidence_target": "standard-metadata.definitions/acronyms",
482
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
483
+ "calculation_ids": []
484
+ },
485
+ {
486
+ "clause_id": "Part 2 §11.8",
487
+ "title": "References",
488
+ "scope": "Part 2",
489
+ "source_locator": {
490
+ "pdf": "API-581-2016.pdf",
491
+ "toc_pdf_page": 133,
492
+ "printed_page_in_part": "64",
493
+ "extracted_page_text_sha256": "564fb36064750a1b146369c45dc6179ce50a1c00260e9fc67cdfe14e6bb17bed",
494
+ "extracted_page_text_bytes": 6944
495
+ },
496
+ "review_category": "supporting_text_review",
497
+ "classification": "metadata_reference_review",
498
+ "evidence_target": "standard-metadata.references",
499
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
500
+ "calculation_ids": []
501
+ },
502
+ {
503
+ "clause_id": "Part 2 §12.8",
504
+ "title": "References",
505
+ "scope": "Part 2",
506
+ "source_locator": {
507
+ "pdf": "API-581-2016.pdf",
508
+ "toc_pdf_page": 134,
509
+ "printed_page_in_part": "71",
510
+ "extracted_page_text_sha256": "6cb41e422de8d4d7c4cd39746c8a4ac1878704b9ea16a32decd84b9b8eed1003",
511
+ "extracted_page_text_bytes": 6886
512
+ },
513
+ "review_category": "supporting_text_review",
514
+ "classification": "metadata_reference_review",
515
+ "evidence_target": "standard-metadata.references",
516
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
517
+ "calculation_ids": []
518
+ },
519
+ {
520
+ "clause_id": "Part 2 §13.7",
521
+ "title": "Nomenclature",
522
+ "scope": "Part 2",
523
+ "source_locator": {
524
+ "pdf": "API-581-2016.pdf",
525
+ "toc_pdf_page": 134,
526
+ "printed_page_in_part": "76",
527
+ "extracted_page_text_sha256": "6cb41e422de8d4d7c4cd39746c8a4ac1878704b9ea16a32decd84b9b8eed1003",
528
+ "extracted_page_text_bytes": 6886
529
+ },
530
+ "review_category": "supporting_text_review",
531
+ "classification": "metadata_terminology_review",
532
+ "evidence_target": "standard-metadata.definitions/acronyms",
533
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
534
+ "calculation_ids": []
535
+ },
536
+ {
537
+ "clause_id": "Part 2 §13.8",
538
+ "title": "References",
539
+ "scope": "Part 2",
540
+ "source_locator": {
541
+ "pdf": "API-581-2016.pdf",
542
+ "toc_pdf_page": 134,
543
+ "printed_page_in_part": "77",
544
+ "extracted_page_text_sha256": "6cb41e422de8d4d7c4cd39746c8a4ac1878704b9ea16a32decd84b9b8eed1003",
545
+ "extracted_page_text_bytes": 6886
546
+ },
547
+ "review_category": "supporting_text_review",
548
+ "classification": "metadata_reference_review",
549
+ "evidence_target": "standard-metadata.references",
550
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
551
+ "calculation_ids": []
552
+ },
553
+ {
554
+ "clause_id": "Part 2 §14.7",
555
+ "title": "Nomenclature",
556
+ "scope": "Part 2",
557
+ "source_locator": {
558
+ "pdf": "API-581-2016.pdf",
559
+ "toc_pdf_page": 134,
560
+ "printed_page_in_part": "81",
561
+ "extracted_page_text_sha256": "6cb41e422de8d4d7c4cd39746c8a4ac1878704b9ea16a32decd84b9b8eed1003",
562
+ "extracted_page_text_bytes": 6886
563
+ },
564
+ "review_category": "supporting_text_review",
565
+ "classification": "metadata_terminology_review",
566
+ "evidence_target": "standard-metadata.definitions/acronyms",
567
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
568
+ "calculation_ids": []
569
+ },
570
+ {
571
+ "clause_id": "Part 2 §14.8",
572
+ "title": "References",
573
+ "scope": "Part 2",
574
+ "source_locator": {
575
+ "pdf": "API-581-2016.pdf",
576
+ "toc_pdf_page": 134,
577
+ "printed_page_in_part": "81",
578
+ "extracted_page_text_sha256": "6cb41e422de8d4d7c4cd39746c8a4ac1878704b9ea16a32decd84b9b8eed1003",
579
+ "extracted_page_text_bytes": 6886
580
+ },
581
+ "review_category": "supporting_text_review",
582
+ "classification": "metadata_reference_review",
583
+ "evidence_target": "standard-metadata.references",
584
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
585
+ "calculation_ids": []
586
+ },
587
+ {
588
+ "clause_id": "Part 2 §16.7",
589
+ "title": "Nomenclature",
590
+ "scope": "Part 2",
591
+ "source_locator": {
592
+ "pdf": "API-581-2016.pdf",
593
+ "toc_pdf_page": 135,
594
+ "printed_page_in_part": "100",
595
+ "extracted_page_text_sha256": "366ce6c7af96cb7300df4ba48a49a50f601016c42cfcf17d984cd1181ea169f8",
596
+ "extracted_page_text_bytes": 6790
597
+ },
598
+ "review_category": "supporting_text_review",
599
+ "classification": "metadata_terminology_review",
600
+ "evidence_target": "standard-metadata.definitions/acronyms",
601
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
602
+ "calculation_ids": []
603
+ },
604
+ {
605
+ "clause_id": "Part 2 §17.7",
606
+ "title": "Nomenclature",
607
+ "scope": "Part 2",
608
+ "source_locator": {
609
+ "pdf": "API-581-2016.pdf",
610
+ "toc_pdf_page": 135,
611
+ "printed_page_in_part": "110",
612
+ "extracted_page_text_sha256": "366ce6c7af96cb7300df4ba48a49a50f601016c42cfcf17d984cd1181ea169f8",
613
+ "extracted_page_text_bytes": 6790
614
+ },
615
+ "review_category": "supporting_text_review",
616
+ "classification": "metadata_terminology_review",
617
+ "evidence_target": "standard-metadata.definitions/acronyms",
618
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
619
+ "calculation_ids": []
620
+ },
621
+ {
622
+ "clause_id": "Part 2 §18.7",
623
+ "title": "Nomenclature",
624
+ "scope": "Part 2",
625
+ "source_locator": {
626
+ "pdf": "API-581-2016.pdf",
627
+ "toc_pdf_page": 135,
628
+ "printed_page_in_part": "115",
629
+ "extracted_page_text_sha256": "366ce6c7af96cb7300df4ba48a49a50f601016c42cfcf17d984cd1181ea169f8",
630
+ "extracted_page_text_bytes": 6790
631
+ },
632
+ "review_category": "supporting_text_review",
633
+ "classification": "metadata_terminology_review",
634
+ "evidence_target": "standard-metadata.definitions/acronyms",
635
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
636
+ "calculation_ids": []
637
+ },
638
+ {
639
+ "clause_id": "Part 2 §18.8",
640
+ "title": "References",
641
+ "scope": "Part 2",
642
+ "source_locator": {
643
+ "pdf": "API-581-2016.pdf",
644
+ "toc_pdf_page": 135,
645
+ "printed_page_in_part": "115",
646
+ "extracted_page_text_sha256": "366ce6c7af96cb7300df4ba48a49a50f601016c42cfcf17d984cd1181ea169f8",
647
+ "extracted_page_text_bytes": 6790
648
+ },
649
+ "review_category": "supporting_text_review",
650
+ "classification": "metadata_reference_review",
651
+ "evidence_target": "standard-metadata.references",
652
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
653
+ "calculation_ids": []
654
+ },
655
+ {
656
+ "clause_id": "Part 2 Annex B §2.1",
657
+ "title": "Description of Damage",
658
+ "scope": "Part 2 Annex B",
659
+ "source_locator": {
660
+ "pdf": "API-581-2016.pdf",
661
+ "toc_pdf_page": 317,
662
+ "printed_page_in_part": "4",
663
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
664
+ "extracted_page_text_bytes": 6500
665
+ },
666
+ "review_category": "supporting_text_review",
667
+ "classification": "engineering_damage_review",
668
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
669
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
670
+ "calculation_ids": []
671
+ },
672
+ {
673
+ "clause_id": "Part 2 Annex B §2.4",
674
+ "title": "References",
675
+ "scope": "Part 2 Annex B",
676
+ "source_locator": {
677
+ "pdf": "API-581-2016.pdf",
678
+ "toc_pdf_page": 317,
679
+ "printed_page_in_part": "4",
680
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
681
+ "extracted_page_text_bytes": 6500
682
+ },
683
+ "review_category": "supporting_text_review",
684
+ "classification": "metadata_reference_review",
685
+ "evidence_target": "standard-metadata.references",
686
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
687
+ "calculation_ids": []
688
+ },
689
+ {
690
+ "clause_id": "Part 2 Annex B §3.1",
691
+ "title": "Description of Damage",
692
+ "scope": "Part 2 Annex B",
693
+ "source_locator": {
694
+ "pdf": "API-581-2016.pdf",
695
+ "toc_pdf_page": 317,
696
+ "printed_page_in_part": "11",
697
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
698
+ "extracted_page_text_bytes": 6500
699
+ },
700
+ "review_category": "supporting_text_review",
701
+ "classification": "engineering_damage_review",
702
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
703
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
704
+ "calculation_ids": []
705
+ },
706
+ {
707
+ "clause_id": "Part 2 Annex B §3.4",
708
+ "title": "References",
709
+ "scope": "Part 2 Annex B",
710
+ "source_locator": {
711
+ "pdf": "API-581-2016.pdf",
712
+ "toc_pdf_page": 317,
713
+ "printed_page_in_part": "12",
714
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
715
+ "extracted_page_text_bytes": 6500
716
+ },
717
+ "review_category": "supporting_text_review",
718
+ "classification": "metadata_reference_review",
719
+ "evidence_target": "standard-metadata.references",
720
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
721
+ "calculation_ids": []
722
+ },
723
+ {
724
+ "clause_id": "Part 2 Annex B §4.1",
725
+ "title": "Description of Damage",
726
+ "scope": "Part 2 Annex B",
727
+ "source_locator": {
728
+ "pdf": "API-581-2016.pdf",
729
+ "toc_pdf_page": 317,
730
+ "printed_page_in_part": "33",
731
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
732
+ "extracted_page_text_bytes": 6500
733
+ },
734
+ "review_category": "supporting_text_review",
735
+ "classification": "engineering_damage_review",
736
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
737
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
738
+ "calculation_ids": []
739
+ },
740
+ {
741
+ "clause_id": "Part 2 Annex B §4.4",
742
+ "title": "References",
743
+ "scope": "Part 2 Annex B",
744
+ "source_locator": {
745
+ "pdf": "API-581-2016.pdf",
746
+ "toc_pdf_page": 317,
747
+ "printed_page_in_part": "33",
748
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
749
+ "extracted_page_text_bytes": 6500
750
+ },
751
+ "review_category": "supporting_text_review",
752
+ "classification": "metadata_reference_review",
753
+ "evidence_target": "standard-metadata.references",
754
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
755
+ "calculation_ids": []
756
+ },
757
+ {
758
+ "clause_id": "Part 2 Annex B §5.1",
759
+ "title": "Description of Damage",
760
+ "scope": "Part 2 Annex B",
761
+ "source_locator": {
762
+ "pdf": "API-581-2016.pdf",
763
+ "toc_pdf_page": 317,
764
+ "printed_page_in_part": "43",
765
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
766
+ "extracted_page_text_bytes": 6500
767
+ },
768
+ "review_category": "supporting_text_review",
769
+ "classification": "engineering_damage_review",
770
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
771
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
772
+ "calculation_ids": []
773
+ },
774
+ {
775
+ "clause_id": "Part 2 Annex B §5.4",
776
+ "title": "References",
777
+ "scope": "Part 2 Annex B",
778
+ "source_locator": {
779
+ "pdf": "API-581-2016.pdf",
780
+ "toc_pdf_page": 317,
781
+ "printed_page_in_part": "44",
782
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
783
+ "extracted_page_text_bytes": 6500
784
+ },
785
+ "review_category": "supporting_text_review",
786
+ "classification": "metadata_reference_review",
787
+ "evidence_target": "standard-metadata.references",
788
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
789
+ "calculation_ids": []
790
+ },
791
+ {
792
+ "clause_id": "Part 2 Annex B §6.1",
793
+ "title": "Description of Damage",
794
+ "scope": "Part 2 Annex B",
795
+ "source_locator": {
796
+ "pdf": "API-581-2016.pdf",
797
+ "toc_pdf_page": 317,
798
+ "printed_page_in_part": "54",
799
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
800
+ "extracted_page_text_bytes": 6500
801
+ },
802
+ "review_category": "supporting_text_review",
803
+ "classification": "engineering_damage_review",
804
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
805
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
806
+ "calculation_ids": []
807
+ },
808
+ {
809
+ "clause_id": "Part 2 Annex B §6.4",
810
+ "title": "References",
811
+ "scope": "Part 2 Annex B",
812
+ "source_locator": {
813
+ "pdf": "API-581-2016.pdf",
814
+ "toc_pdf_page": 317,
815
+ "printed_page_in_part": "55",
816
+ "extracted_page_text_sha256": "1314469ef60a70934e7ed492e075dd14454b52407ef44698ba6e35932b6d6ac6",
817
+ "extracted_page_text_bytes": 6500
818
+ },
819
+ "review_category": "supporting_text_review",
820
+ "classification": "metadata_reference_review",
821
+ "evidence_target": "standard-metadata.references",
822
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
823
+ "calculation_ids": []
824
+ },
825
+ {
826
+ "clause_id": "Part 2 Annex B §8.1",
827
+ "title": "Description of Damage",
828
+ "scope": "Part 2 Annex B",
829
+ "source_locator": {
830
+ "pdf": "API-581-2016.pdf",
831
+ "toc_pdf_page": 318,
832
+ "printed_page_in_part": "61",
833
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
834
+ "extracted_page_text_bytes": 6755
835
+ },
836
+ "review_category": "supporting_text_review",
837
+ "classification": "engineering_damage_review",
838
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
839
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
840
+ "calculation_ids": []
841
+ },
842
+ {
843
+ "clause_id": "Part 2 Annex B §8.4",
844
+ "title": "References",
845
+ "scope": "Part 2 Annex B",
846
+ "source_locator": {
847
+ "pdf": "API-581-2016.pdf",
848
+ "toc_pdf_page": 318,
849
+ "printed_page_in_part": "63",
850
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
851
+ "extracted_page_text_bytes": 6755
852
+ },
853
+ "review_category": "supporting_text_review",
854
+ "classification": "metadata_reference_review",
855
+ "evidence_target": "standard-metadata.references",
856
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
857
+ "calculation_ids": []
858
+ },
859
+ {
860
+ "clause_id": "Part 2 Annex B §9.1",
861
+ "title": "Description of Damage",
862
+ "scope": "Part 2 Annex B",
863
+ "source_locator": {
864
+ "pdf": "API-581-2016.pdf",
865
+ "toc_pdf_page": 318,
866
+ "printed_page_in_part": "69",
867
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
868
+ "extracted_page_text_bytes": 6755
869
+ },
870
+ "review_category": "supporting_text_review",
871
+ "classification": "engineering_damage_review",
872
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
873
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
874
+ "calculation_ids": []
875
+ },
876
+ {
877
+ "clause_id": "Part 2 Annex B §10.1.1",
878
+ "title": "Overview",
879
+ "scope": "Part 2 Annex B",
880
+ "source_locator": {
881
+ "pdf": "API-581-2016.pdf",
882
+ "toc_pdf_page": 318,
883
+ "printed_page_in_part": "72",
884
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
885
+ "extracted_page_text_bytes": 6755
886
+ },
887
+ "review_category": "supporting_text_review",
888
+ "classification": "workflow_scope_review",
889
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
890
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
891
+ "calculation_ids": []
892
+ },
893
+ {
894
+ "clause_id": "Part 2 Annex B §10.4",
895
+ "title": "Nomenclature",
896
+ "scope": "Part 2 Annex B",
897
+ "source_locator": {
898
+ "pdf": "API-581-2016.pdf",
899
+ "toc_pdf_page": 318,
900
+ "printed_page_in_part": "73",
901
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
902
+ "extracted_page_text_bytes": 6755
903
+ },
904
+ "review_category": "supporting_text_review",
905
+ "classification": "metadata_terminology_review",
906
+ "evidence_target": "standard-metadata.definitions/acronyms",
907
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
908
+ "calculation_ids": []
909
+ },
910
+ {
911
+ "clause_id": "Part 2 Annex B §10.5",
912
+ "title": "References",
913
+ "scope": "Part 2 Annex B",
914
+ "source_locator": {
915
+ "pdf": "API-581-2016.pdf",
916
+ "toc_pdf_page": 318,
917
+ "printed_page_in_part": "73",
918
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
919
+ "extracted_page_text_bytes": 6755
920
+ },
921
+ "review_category": "supporting_text_review",
922
+ "classification": "metadata_reference_review",
923
+ "evidence_target": "standard-metadata.references",
924
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
925
+ "calculation_ids": []
926
+ },
927
+ {
928
+ "clause_id": "Part 2 Annex B §11.1.1",
929
+ "title": "Overview",
930
+ "scope": "Part 2 Annex B",
931
+ "source_locator": {
932
+ "pdf": "API-581-2016.pdf",
933
+ "toc_pdf_page": 318,
934
+ "printed_page_in_part": "77",
935
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
936
+ "extracted_page_text_bytes": 6755
937
+ },
938
+ "review_category": "supporting_text_review",
939
+ "classification": "workflow_scope_review",
940
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
941
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
942
+ "calculation_ids": []
943
+ },
944
+ {
945
+ "clause_id": "Part 2 Annex B §11.4",
946
+ "title": "Nomenclature",
947
+ "scope": "Part 2 Annex B",
948
+ "source_locator": {
949
+ "pdf": "API-581-2016.pdf",
950
+ "toc_pdf_page": 318,
951
+ "printed_page_in_part": "86",
952
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
953
+ "extracted_page_text_bytes": 6755
954
+ },
955
+ "review_category": "supporting_text_review",
956
+ "classification": "metadata_terminology_review",
957
+ "evidence_target": "standard-metadata.definitions/acronyms",
958
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
959
+ "calculation_ids": []
960
+ },
961
+ {
962
+ "clause_id": "Part 2 Annex B §11.5",
963
+ "title": "References",
964
+ "scope": "Part 2 Annex B",
965
+ "source_locator": {
966
+ "pdf": "API-581-2016.pdf",
967
+ "toc_pdf_page": 318,
968
+ "printed_page_in_part": "86",
969
+ "extracted_page_text_sha256": "48b50a067d1dedc614c281954fb2bf01900cf1d6ec30462e0c913a49c2690998",
970
+ "extracted_page_text_bytes": 6755
971
+ },
972
+ "review_category": "supporting_text_review",
973
+ "classification": "metadata_reference_review",
974
+ "evidence_target": "standard-metadata.references",
975
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
976
+ "calculation_ids": []
977
+ },
978
+ {
979
+ "clause_id": "Part 2 Annex B §12.1.1",
980
+ "title": "Overview",
981
+ "scope": "Part 2 Annex B",
982
+ "source_locator": {
983
+ "pdf": "API-581-2016.pdf",
984
+ "toc_pdf_page": 319,
985
+ "printed_page_in_part": "95",
986
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
987
+ "extracted_page_text_bytes": 6566
988
+ },
989
+ "review_category": "supporting_text_review",
990
+ "classification": "workflow_scope_review",
991
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
992
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
993
+ "calculation_ids": []
994
+ },
995
+ {
996
+ "clause_id": "Part 2 Annex B §12.2",
997
+ "title": "Description of Damage",
998
+ "scope": "Part 2 Annex B",
999
+ "source_locator": {
1000
+ "pdf": "API-581-2016.pdf",
1001
+ "toc_pdf_page": 319,
1002
+ "printed_page_in_part": "96",
1003
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
1004
+ "extracted_page_text_bytes": 6566
1005
+ },
1006
+ "review_category": "supporting_text_review",
1007
+ "classification": "engineering_damage_review",
1008
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
1009
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
1010
+ "calculation_ids": []
1011
+ },
1012
+ {
1013
+ "clause_id": "Part 2 Annex B §12.5",
1014
+ "title": "Nomenclature",
1015
+ "scope": "Part 2 Annex B",
1016
+ "source_locator": {
1017
+ "pdf": "API-581-2016.pdf",
1018
+ "toc_pdf_page": 319,
1019
+ "printed_page_in_part": "99",
1020
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
1021
+ "extracted_page_text_bytes": 6566
1022
+ },
1023
+ "review_category": "supporting_text_review",
1024
+ "classification": "metadata_terminology_review",
1025
+ "evidence_target": "standard-metadata.definitions/acronyms",
1026
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
1027
+ "calculation_ids": []
1028
+ },
1029
+ {
1030
+ "clause_id": "Part 2 Annex B §12.6",
1031
+ "title": "References",
1032
+ "scope": "Part 2 Annex B",
1033
+ "source_locator": {
1034
+ "pdf": "API-581-2016.pdf",
1035
+ "toc_pdf_page": 319,
1036
+ "printed_page_in_part": "99",
1037
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
1038
+ "extracted_page_text_bytes": 6566
1039
+ },
1040
+ "review_category": "supporting_text_review",
1041
+ "classification": "metadata_reference_review",
1042
+ "evidence_target": "standard-metadata.references",
1043
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
1044
+ "calculation_ids": []
1045
+ },
1046
+ {
1047
+ "clause_id": "Part 2 Annex B §13.1",
1048
+ "title": "Description of Damage",
1049
+ "scope": "Part 2 Annex B",
1050
+ "source_locator": {
1051
+ "pdf": "API-581-2016.pdf",
1052
+ "toc_pdf_page": 319,
1053
+ "printed_page_in_part": "103",
1054
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
1055
+ "extracted_page_text_bytes": 6566
1056
+ },
1057
+ "review_category": "supporting_text_review",
1058
+ "classification": "engineering_damage_review",
1059
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
1060
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
1061
+ "calculation_ids": []
1062
+ },
1063
+ {
1064
+ "clause_id": "Part 2 Annex B §13.4",
1065
+ "title": "Nomenclature",
1066
+ "scope": "Part 2 Annex B",
1067
+ "source_locator": {
1068
+ "pdf": "API-581-2016.pdf",
1069
+ "toc_pdf_page": 319,
1070
+ "printed_page_in_part": "106",
1071
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
1072
+ "extracted_page_text_bytes": 6566
1073
+ },
1074
+ "review_category": "supporting_text_review",
1075
+ "classification": "metadata_terminology_review",
1076
+ "evidence_target": "standard-metadata.definitions/acronyms",
1077
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
1078
+ "calculation_ids": []
1079
+ },
1080
+ {
1081
+ "clause_id": "Part 2 Annex B §14.1",
1082
+ "title": "Description of Damage",
1083
+ "scope": "Part 2 Annex B",
1084
+ "source_locator": {
1085
+ "pdf": "API-581-2016.pdf",
1086
+ "toc_pdf_page": 319,
1087
+ "printed_page_in_part": "110",
1088
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
1089
+ "extracted_page_text_bytes": 6566
1090
+ },
1091
+ "review_category": "supporting_text_review",
1092
+ "classification": "engineering_damage_review",
1093
+ "evidence_target": "damage screening/assessment APIs plus public worked-example data",
1094
+ "next_action": "Compare mechanism description with screening and assessment coverage; unsupported mechanisms require explicit engineering disposition.",
1095
+ "calculation_ids": []
1096
+ },
1097
+ {
1098
+ "clause_id": "Part 2 Annex B §14.4",
1099
+ "title": "Nomenclature",
1100
+ "scope": "Part 2 Annex B",
1101
+ "source_locator": {
1102
+ "pdf": "API-581-2016.pdf",
1103
+ "toc_pdf_page": 319,
1104
+ "printed_page_in_part": "112",
1105
+ "extracted_page_text_sha256": "ca09be8ba18318f5c88d4057c0ffa8e1ca23685904f7fa2fef17ef51485dfa95",
1106
+ "extracted_page_text_bytes": 6566
1107
+ },
1108
+ "review_category": "supporting_text_review",
1109
+ "classification": "metadata_terminology_review",
1110
+ "evidence_target": "standard-metadata.definitions/acronyms",
1111
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
1112
+ "calculation_ids": []
1113
+ },
1114
+ {
1115
+ "clause_id": "Part 3 §1",
1116
+ "title": "SCOPE",
1117
+ "scope": "Part 3",
1118
+ "source_locator": {
1119
+ "pdf": "API-581-2016.pdf",
1120
+ "toc_pdf_page": 469,
1121
+ "printed_page_in_part": "1",
1122
+ "extracted_page_text_sha256": "22697cb194a7948601a23100c65364780bc9780ceb8264dc529a9c33c2e62555",
1123
+ "extracted_page_text_bytes": 6391
1124
+ },
1125
+ "review_category": "supporting_text_review",
1126
+ "classification": "workflow_scope_review",
1127
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
1128
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
1129
+ "calculation_ids": []
1130
+ },
1131
+ {
1132
+ "clause_id": "Part 3 §2",
1133
+ "title": "REFERENCES",
1134
+ "scope": "Part 3",
1135
+ "source_locator": {
1136
+ "pdf": "API-581-2016.pdf",
1137
+ "toc_pdf_page": 469,
1138
+ "printed_page_in_part": "1",
1139
+ "extracted_page_text_sha256": "22697cb194a7948601a23100c65364780bc9780ceb8264dc529a9c33c2e62555",
1140
+ "extracted_page_text_bytes": 6391
1141
+ },
1142
+ "review_category": "supporting_text_review",
1143
+ "classification": "metadata_reference_review",
1144
+ "evidence_target": "standard-metadata.references",
1145
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
1146
+ "calculation_ids": []
1147
+ },
1148
+ {
1149
+ "clause_id": "Part 3 §2.1",
1150
+ "title": "Normative",
1151
+ "scope": "Part 3",
1152
+ "source_locator": {
1153
+ "pdf": "API-581-2016.pdf",
1154
+ "toc_pdf_page": 469,
1155
+ "printed_page_in_part": "1",
1156
+ "extracted_page_text_sha256": "22697cb194a7948601a23100c65364780bc9780ceb8264dc529a9c33c2e62555",
1157
+ "extracted_page_text_bytes": 6391
1158
+ },
1159
+ "review_category": "supporting_text_review",
1160
+ "classification": "metadata_reference_review",
1161
+ "evidence_target": "standard-metadata.references",
1162
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
1163
+ "calculation_ids": []
1164
+ },
1165
+ {
1166
+ "clause_id": "Part 3 §2.2",
1167
+ "title": "Informative",
1168
+ "scope": "Part 3",
1169
+ "source_locator": {
1170
+ "pdf": "API-581-2016.pdf",
1171
+ "toc_pdf_page": 469,
1172
+ "printed_page_in_part": "1",
1173
+ "extracted_page_text_sha256": "22697cb194a7948601a23100c65364780bc9780ceb8264dc529a9c33c2e62555",
1174
+ "extracted_page_text_bytes": 6391
1175
+ },
1176
+ "review_category": "supporting_text_review",
1177
+ "classification": "metadata_reference_review",
1178
+ "evidence_target": "standard-metadata.references",
1179
+ "next_action": "Map cited edition and normative/informative role; do not create a calculation API from a reference heading.",
1180
+ "calculation_ids": []
1181
+ },
1182
+ {
1183
+ "clause_id": "Part 3 §4.13",
1184
+ "title": "Nomenclature",
1185
+ "scope": "Part 3",
1186
+ "source_locator": {
1187
+ "pdf": "API-581-2016.pdf",
1188
+ "toc_pdf_page": 471,
1189
+ "printed_page_in_part": "33",
1190
+ "extracted_page_text_sha256": "90727ba9800f7ed5695669ce02d7a0ee5fc4c3606f860a8ba4bc07bf398ce748",
1191
+ "extracted_page_text_bytes": 6792
1192
+ },
1193
+ "review_category": "supporting_text_review",
1194
+ "classification": "metadata_terminology_review",
1195
+ "evidence_target": "standard-metadata.definitions/acronyms",
1196
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
1197
+ "calculation_ids": []
1198
+ },
1199
+ {
1200
+ "clause_id": "Part 3 §5.13",
1201
+ "title": "Nomenclature",
1202
+ "scope": "Part 3",
1203
+ "source_locator": {
1204
+ "pdf": "API-581-2016.pdf",
1205
+ "toc_pdf_page": 472,
1206
+ "printed_page_in_part": "98",
1207
+ "extracted_page_text_sha256": "fd6fc5f742eedb4676e41704031a67c62d6bf1503a2605d8b9639ed7f4c2e16a",
1208
+ "extracted_page_text_bytes": 6378
1209
+ },
1210
+ "review_category": "supporting_text_review",
1211
+ "classification": "metadata_terminology_review",
1212
+ "evidence_target": "standard-metadata.definitions/acronyms",
1213
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
1214
+ "calculation_ids": []
1215
+ },
1216
+ {
1217
+ "clause_id": "Part 3 §6.13",
1218
+ "title": "Nomenclature",
1219
+ "scope": "Part 3",
1220
+ "source_locator": {
1221
+ "pdf": "API-581-2016.pdf",
1222
+ "toc_pdf_page": 473,
1223
+ "printed_page_in_part": "127",
1224
+ "extracted_page_text_sha256": "46af37dfffc01a70f4c8807f16c3c83fa6cf73a0fa7c263222239fe545365646",
1225
+ "extracted_page_text_bytes": 2325
1226
+ },
1227
+ "review_category": "supporting_text_review",
1228
+ "classification": "metadata_terminology_review",
1229
+ "evidence_target": "standard-metadata.definitions/acronyms",
1230
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
1231
+ "calculation_ids": []
1232
+ },
1233
+ {
1234
+ "clause_id": "Part 3 Annex A §3.1.1",
1235
+ "title": "Overview",
1236
+ "scope": "Part 3 Annex A",
1237
+ "source_locator": {
1238
+ "pdf": "API-581-2016.pdf",
1239
+ "toc_pdf_page": 612,
1240
+ "printed_page_in_part": "1",
1241
+ "extracted_page_text_sha256": "57f15c0a776a1b69d18a2c59580c0a73f6c13253bbe52509d7ee1a50f6b714b5",
1242
+ "extracted_page_text_bytes": 6688
1243
+ },
1244
+ "review_category": "supporting_text_review",
1245
+ "classification": "workflow_scope_review",
1246
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
1247
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
1248
+ "calculation_ids": []
1249
+ },
1250
+ {
1251
+ "clause_id": "Part 3 Annex A §3.5.1",
1252
+ "title": "Overview",
1253
+ "scope": "Part 3 Annex A",
1254
+ "source_locator": {
1255
+ "pdf": "API-581-2016.pdf",
1256
+ "toc_pdf_page": 612,
1257
+ "printed_page_in_part": "5",
1258
+ "extracted_page_text_sha256": "57f15c0a776a1b69d18a2c59580c0a73f6c13253bbe52509d7ee1a50f6b714b5",
1259
+ "extracted_page_text_bytes": 6688
1260
+ },
1261
+ "review_category": "supporting_text_review",
1262
+ "classification": "workflow_scope_review",
1263
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
1264
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
1265
+ "calculation_ids": []
1266
+ },
1267
+ {
1268
+ "clause_id": "Part 3 Annex A §3.6.1",
1269
+ "title": "Overview",
1270
+ "scope": "Part 3 Annex A",
1271
+ "source_locator": {
1272
+ "pdf": "API-581-2016.pdf",
1273
+ "toc_pdf_page": 612,
1274
+ "printed_page_in_part": "7",
1275
+ "extracted_page_text_sha256": "57f15c0a776a1b69d18a2c59580c0a73f6c13253bbe52509d7ee1a50f6b714b5",
1276
+ "extracted_page_text_bytes": 6688
1277
+ },
1278
+ "review_category": "supporting_text_review",
1279
+ "classification": "workflow_scope_review",
1280
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
1281
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
1282
+ "calculation_ids": []
1283
+ },
1284
+ {
1285
+ "clause_id": "Part 3 Annex A §3.7",
1286
+ "title": "Nomenclature",
1287
+ "scope": "Part 3 Annex A",
1288
+ "source_locator": {
1289
+ "pdf": "API-581-2016.pdf",
1290
+ "toc_pdf_page": 613,
1291
+ "printed_page_in_part": "11",
1292
+ "extracted_page_text_sha256": "22045666897ba8af9b33ebe33e21ea22b6df950697d0aff380ca4e9d3ff7b8e0",
1293
+ "extracted_page_text_bytes": 3498
1294
+ },
1295
+ "review_category": "supporting_text_review",
1296
+ "classification": "metadata_terminology_review",
1297
+ "evidence_target": "standard-metadata.definitions/acronyms",
1298
+ "next_action": "Reconcile terms and units with packaged metadata; create a typed API only when a calculation-affecting requirement is identified.",
1299
+ "calculation_ids": []
1300
+ },
1301
+ {
1302
+ "clause_id": "Part 3 Annex A §5.1",
1303
+ "title": "Overview",
1304
+ "scope": "Part 3 Annex A",
1305
+ "source_locator": {
1306
+ "pdf": "API-581-2016.pdf",
1307
+ "toc_pdf_page": 613,
1308
+ "printed_page_in_part": "24",
1309
+ "extracted_page_text_sha256": "22045666897ba8af9b33ebe33e21ea22b6df950697d0aff380ca4e9d3ff7b8e0",
1310
+ "extracted_page_text_bytes": 3498
1311
+ },
1312
+ "review_category": "supporting_text_review",
1313
+ "classification": "workflow_scope_review",
1314
+ "evidence_target": "catalog.scope_boundaries and integration workflows",
1315
+ "next_action": "Record applicability and exclusions, then link actionable requirements to an existing API or explicit boundary.",
1316
+ "calculation_ids": []
1317
+ }
1318
+ ]
1319
+ }