{
  "shard_id": "FV-PROPFLOOR-SHARD-B14-1",
  "spec_anchor": "FV-PBT-FLOOR-BUILD-SPEC.md §2/§3/§4",
  "population_definition": "all kernels in shard FV-PROPFLOOR-SHARD-B14-1, enumerated below by kernel id and spec digest",
  "human_sign_off": {
    "status": "PENDING",
    "name": null,
    "date": null
  },
  "independence_sentence": "Each item listed was reviewed and attested independently; the single signature is a mechanical convenience over the enumerated digests, not a bulk review.",
  "per_item_basis_of_review": "Every row ran the same two mechanical checks unconditionally: (1) the fixture-oracle gate — compute() output diffed against the kernel's own existing golden fixtures before any property was trusted, and (2) run-proptests.mjs green (process exit 0). Before authoring, each kernel's source and fixtures were read directly per the WU's FIX-2 carry instruction, and the WU-table classification was checked against the kernel's actual arithmetic rather than inherited blindly. Result: 7 of 10 kernels are genuinely float-sensitive with continuous unrounded arithmetic and carry ULP-boundary forcing (art-48 via hqla_inventory_pct feeding a clamped continuous sub-score; art-49 via notional/rate/collateral divisions and normalization; art-50 and art-51 via Math.sqrt of a correlated bucketed-VaR variance sum over position notionals/tenors; art-54 via a strict-inequality invoice-vs-LC-amount-tolerance comparison and a raw millisecond-based presentation-period date diff, both with NO epsilon tolerance). Two of those seven (art-52, art-56) were CORRECTED during authoring after measurement: both are structurally identical weighted-diagnostic kernels to art-48, but neither has any continuous user-supplied numeric input feeding the score — every scored field is a pick() lookup over a small fixed integer table, and the two numeric fields present on each (annual_trade_docs / annual_settlement_value_usd) are explicitly informational and verified (via a dedicated property) to never affect the score. Their float-sensitivity is retained at the WU-designated float:yes tier per the row instruction, but the boundary array was corrected to target the internal weighted-average/toFixed(1) rounding layer (WEIGHTS are decimal fractions not exactly binary-representable) and enum-fallback behavior, plus explicit min/max-score determinism checks, rather than a classic continuous-domain ULP crossing that this kernel shape cannot exhibit — this correction is noted per-item below. The other 3 rows (art-53, art-57, art-58) are the row's stated float:no exceptions, confirmed by direct reading: all three are pure enum/table-lookup decision kernels (MLETR functional-equivalence test scores, deposit-token classification tests, cross-network atomicity/finality-rank tables) with zero arithmetic on continuous quantities, and carry forced CATEGORICAL boundary cases (unrecognized enum strings, missing/null/non-object fields, exact tier-boundary enum values, fail-open vs fail-closed default branches) instead of ULP forcing. One property definition required correction after direct measurement: art-48's initial P2 asserted each dimension's returned `grade` field equals letter(returned `score`) exactly; measurement showed this is false at boundary inputs because the kernel computes `grade` from the UNROUNDED avg/4*100 while `score` is separately toFixed(1)-rounded, so the two can legitimately disagree by one tier at a rounding boundary (e.g. unrounded 39.96 -> grade F, but rounded score 40.0 would imply grade D). The property was corrected to assert overall_grade===letter(overall_score) exactly (both derive from the same rounded value inside the kernel, so this holds) and to bound each dim grade to the declared 5-value enum rather than assert a false exact-equality. No row beyond these mechanical checks and the FIX-2 measurement pass received a separate in-depth human review — that is exactly the gap human_sign_off.status=PENDING names.",
  "items": [
    {
      "kernel_id": "art-48-treasury-clearing-fit-diagnostic",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "ulp_forcing_note": "hqla_inventory_pct is a continuous user-supplied number feeding hqlaScore=clamp(0,4,pct/25), which enters the weighted overall_score; boundary cases force the clamp ceiling/floor, MAX_SAFE_INTEGER, NaN, and 1-ULP-above-ceiling",
      "kernel_digest": "sha256:48d3f8ff6142ab47abccdd219b65da278eebaad04d4e8a1857dba56447eab906",
      "proptest_file_digest": "sha256:27fd3cac45eb369758db7c45b78bbd2df9093af9b12fd290e141f6cfc8cb42bf",
      "proptest_file": "chaingraph/kernels/__proptests__/art-48-treasury-clearing-fit-diagnostic.proptest.mjs",
      "properties_tested": ["overall_score_exact_weighted_sum_of_returned_dim_scores", "overall_grade_exact_and_dim_grades_bounded_0_100", "recommendations_bounded_to_declared_route_set", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-49-clearing-access-model-selector",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "ulp_forcing_note": "cash_notional_annual/repo_notional_daily/im_funding_rate/capital_charge_rate/pledged_collateral_value are continuous inputs feeding unrounded division and normalization; boundary cases force the strict-> $50B direct-eligibility threshold, notional=0 (norm() hi===lo path), NaN, and MAX_SAFE_INTEGER",
      "kernel_digest": "sha256:ff9e78cf7128918984b55cbf858c74f3ca3a6e818389e067899863b8cd570034",
      "proptest_file_digest": "sha256:538e2f2bf3091f64bc5cd9eac2cc7fff3fd2cc55638be77aab2b131ca30f12a5",
      "proptest_file": "chaingraph/kernels/__proptests__/art-49-clearing-access-model-selector.proptest.mjs",
      "properties_tested": ["recommended_model_is_max_blended_among_eligible", "direct_eligibility_exact_function_of_firm_type_and_50B_threshold", "all_model_scores_and_estimates_finite_and_bounded", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-50-ficc-margin-netting-estimator",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "ulp_forcing_note": "position notionals/tenors feed Math.sqrt of a correlated bucketed-VaR variance sum; boundary cases force the tenor bucket boundary (exactly 2yr), zero/NaN notional, MAX_SAFE_INTEGER, and mpor_days=0 under the sqrt floor",
      "kernel_digest": "sha256:fcea3a670c5ee043f842757592ea575bbe5426b8f825016d4ec0c0d18d2e304b",
      "proptest_file_digest": "sha256:45ce687facb8dd810ddc0177a38a09702128a8903a884539cfb45d5742bb0d53",
      "proptest_file": "chaingraph/kernels/__proptests__/art-50-ficc-margin-netting-estimator.proptest.mjs",
      "properties_tested": ["estimated_vbm_never_below_minimum_charge_floor", "netting_benefit_nonneg_and_equals_max_0_gross_minus_vbm", "outputs_finite_and_all_four_buckets_present", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-51-cross-margining-benefit-estimator",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "ulp_forcing_note": "UST/CME position notionals and contract counts feed Math.sqrt of a correlated bucketed-VaR variance sum for both standalone and cross-margined netting sets; boundary cases force zero/NaN notional, unknown CME contract codes, and extreme-magnitude notionals",
      "kernel_digest": "sha256:830bc39ca270ab8fec28d7bbd220b84a37787e3dfc4e61110e95816a63d70da1",
      "proptest_file_digest": "sha256:a3aee9557472b730cdc76ee779b20496099abf79f192fe95943dcc11a3ff16e1",
      "proptest_file": "chaingraph/kernels/__proptests__/art-51-cross-margining-benefit-estimator.proptest.mjs",
      "properties_tested": ["im_reduction_nonneg_and_equals_max_0_standalone_minus_cross", "im_reduction_pct_matches_ratio_and_zero_when_standalone_zero", "eligible_offset_buckets_correspond_to_nonzero_ust_dv01", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-52-digital-trade-fit-diagnostic",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "ulp_forcing_note": "CORRECTED per FIX-2: no continuous user-supplied numeric input feeds the score (all scoring fields are pick() lookups over a fixed {0,2,4} table; annual_trade_docs is informational-only, verified via a dedicated property). Retained float:yes per the WU row; boundary cases target the internal weighted-average toFixed(1) rounding layer, exact min/max-score determinism, and enum fallback instead of a classic continuous-domain ULP crossing",
      "kernel_digest": "sha256:77e46eb235dae3d94185744d9e44a284d15fe90eac9988e6d32b3162804dd663",
      "proptest_file_digest": "sha256:1543a8b9bb6c67a082cb64e229235c5bbafb19a3e3b27349d4064ae3dfefec1e",
      "proptest_file": "chaingraph/kernels/__proptests__/art-52-digital-trade-fit-diagnostic.proptest.mjs",
      "properties_tested": ["overall_score_exact_weighted_sum_of_returned_dim_scores", "overall_grade_exact_and_dim_grades_bounded", "informational_fields_never_affect_score", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-53-mletr-ebl-conformance-validator",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row, confirmed by reading — all four MLETR functional-equivalence tests and the JX_STATUS enforceability lookup are pure string-keyed table lookups with zero continuous arithmetic; forced CATEGORICAL boundary cases (unrecognized enum strings, unlisted jurisdiction fail-closed to not-adopted, all-min/all-max score determinism, null/undefined jurisdiction fields) used instead of ULP forcing",
      "kernel_digest": "sha256:0f260f878472634095d299ddde16662204d6432e1b458c6afddc094d2bac7dd8",
      "proptest_file_digest": "sha256:564fa11894db9f53e357aca2b10056ef6427ea0cd05fa9a088d7900af9535473",
      "proptest_file": "chaingraph/kernels/__proptests__/art-53-mletr-ebl-conformance-validator.proptest.mjs",
      "properties_tested": ["conformance_grade_and_test_result_exact_function_of_score", "enforceability_tier_exact_function_of_jx_status_pair", "remediation_checklist_exactly_the_non_pass_tests", "categorical_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-54-digital-trade-rules-checker",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "ulp_forcing_note": "invoice_amount vs lc_terms.amount*(1+tolerance_pct/100) is a strict-inequality float comparison with NO epsilon tolerance, and the presentation-period diffDays=(presDate-shipDate)/86400000 is a raw millisecond-based float date-diff also compared with strict >; boundary cases force the exact tolerance boundary, 1-ULP-above, exact-equal presented_at/expiry timestamps, and NaN tolerance_pct",
      "kernel_digest": "sha256:a7e25b5ced7deecbe2bfaf3ff54f75fec09c0b0058aaa4f1308c175e4f477344",
      "proptest_file_digest": "sha256:ea2d1ab606cea7d783727169f58df70ea2a0bd5aed6e5f6662702f672f4f2fe0",
      "proptest_file": "chaingraph/kernels/__proptests__/art-54-digital-trade-rules-checker.proptest.mjs",
      "properties_tested": ["verdict_and_counts_exact_function_of_discrepancies_array", "amount_check_exact_function_of_invoice_vs_lc_amount", "tolerance_discrepancy_exact_strict_inequality_no_epsilon", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-56-tokenized-settlement-fit-diagnostic",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "ulp_forcing_note": "CORRECTED per FIX-2, same basis as art-52: no continuous user-supplied numeric input feeds the score (all scoring fields are pick() lookups over a fixed {0,1,2,3,4} table; annual_settlement_value_usd is informational-only, verified via a dedicated property). Retained float:yes per the WU row; boundary cases target the internal weighted-average rounding layer and exact min/max-score determinism instead of a classic continuous-domain ULP crossing",
      "kernel_digest": "sha256:b52a79f937c901786a32dcae3e275f3e2a4bb308cb0fb844998c5cf1268da1ff",
      "proptest_file_digest": "sha256:593dd50203c678c5537ee69fc9ebfd9d5f05890a6a2367a42784f677442acbee",
      "proptest_file": "chaingraph/kernels/__proptests__/art-56-tokenized-settlement-fit-diagnostic.proptest.mjs",
      "properties_tested": ["overall_score_exact_weighted_sum_of_returned_dim_scores", "overall_grade_exact_and_dim_grades_bounded", "informational_fields_never_affect_score", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-57-deposit-token-compliance-validator",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row, confirmed by reading — all three compliance tests plus classification/grade are pure string-equality lookups over fixed enum sets with zero continuous arithmetic; forced CATEGORICAL boundary cases (unrecognized enum strings on every field, unlisted jurisdiction fail-safe to REGIME_MAP.other, token_class-checked-first precedence over failed sub-tests, null/undefined fields) used instead of ULP forcing",
      "kernel_digest": "sha256:2fd5b0a6674a558949495837e3105a855ebde50c43c0441c61008f9a10204f44",
      "proptest_file_digest": "sha256:f43ac18eedc0cccb1c4d5cbfc27eb3fb8aee32e89f4b29a4e01fc30e61a09eca",
      "proptest_file": "chaingraph/kernels/__proptests__/art-57-deposit-token-compliance-validator.proptest.mjs",
      "properties_tested": ["classification_grade_exact_function_of_pass_count", "classification_exact_function_of_token_class_and_test_results", "remediation_checklist_exactly_the_non_pass_core_tests", "categorical_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-58-cross-network-settlement-validator",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row, confirmed by reading — atomicity_verdict/pvp_check/finality-rank comparisons are all fixed-integer-table lookups; the only arithmetic (timeout_window_sec*10) is an exact integer multiply with no rounding sensitivity; forced CATEGORICAL boundary cases (unrecognized coordination_mechanism, non-array networks/legs, missing finality_model defaulting to probabilistic, unrecognized finality_model fallback rank) used instead of ULP forcing",
      "kernel_digest": "sha256:3bd0c00f1525794b85021aa94d28caed825ccbf0bae6d32f38092cb2ec96bc8b",
      "proptest_file_digest": "sha256:fbde27a371781c4ddd306a279e0760853f640e527973b7eb01cb0fa5ae954c93",
      "proptest_file": "chaingraph/kernels/__proptests__/art-58-cross-network-settlement-validator.proptest.mjs",
      "properties_tested": ["atomicity_verdict_exact_function_of_coordination_mechanism", "settlement_risk_window_exact_function_of_verdict_and_timeout", "pvp_check_exact_function_of_pvp_required_and_mechanism", "categorical_boundary_forcing"],
      "fixture_oracle_result": "PASS (1/1 vectors)",
      "run_proptests_result": "PASS"
    }
  ],
  "ulp_forcing_summary": "7 of 10 kernels required ULP-boundary forcing (art-48, art-49, art-50, art-51, art-52, art-54, art-56) and carry it, checked in each item above — art-52 and art-56 carry a FIX-2 correction note explaining their float-sensitivity is at the internal weighted-average arithmetic layer rather than a continuous user-supplied input. The other 3 (art-53, art-57, art-58) are the row's stated float:no exceptions and carry forced categorical boundary cases instead.",
  "run_proptests_aggregate": "10/10 shard files passed individually (node <file>.proptest.mjs, each exit 0) prior to running the full-tree node scripts/run-proptests.mjs aggregate gate",
  "fv_floor_coverage": "all 10 shard kernels newly floored by this shard; verified via node scripts/check-fv-floor-coverage.mjs after commit"
}
