{
  "shard_id": "FV-PROPFLOOR-SHARD-B28-1",
  "spec_anchor": "FV-PBT-FLOOR-BUILD-SPEC.md §2/§3/§4",
  "population_definition": "all kernels in shard FV-PROPFLOOR-SHARD-B28-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). ULP-boundary forcing was mandatory and present for the 4 float-sensitive rows named in the WU (art-243, art-244, art-298, art-299). The other 5 rows (art-245, art-246, art-290, art-295, art-296) are the row's stated float:no exceptions and instead carry forced CATEGORICAL boundary cases (exact string-length thresholds, exact ISO-date-string thresholds, mod-97 check-digit edges, weighted-score boundary sums, enum tier/cutoff combinations) in place of ULP forcing. One property definition was corrected during authoring after direct measurement against the kernel found the initial assumption false: art-295's regime-country resolution property initially checked CONFIRMED_DATE_REGIMES membership directly for precedence, but the kernel resolves regime_country by MANDATE_TABLE membership first (which includes the two DRAFT-PIN countries AE/MY) — the property was corrected to mirror that exact precedence before checking for a date-confirmed regime, else it produced false property violations against a correct kernel. No row beyond these mechanical checks received a separate in-depth human review in this pass — that is exactly the gap human_sign_off.status=PENDING names.",
  "items": [
    {
      "kernel_id": "art-243-purpose-code-requirement-checker",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:2ff736927d33cc21662cf8751c9182933760e8d7bf20ec50e5dcbd5b93e48615",
      "proptest_file_digest": "sha256:d691dbee3022c85afdf46ac65ed66d999e7c64a506b31a1e1e71fa040658b165",
      "proptest_file": "chaingraph/kernels/__proptests__/art-243-purpose-code-requirement-checker.proptest.mjs",
      "properties_tested": ["swiftgo_amount_ok_matches_fixed_threshold", "swiftgo_eligible_exact_conjunction", "jurisdiction_required_and_absent_implies_noncompliant", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-244-gpi-tracker-lifecycle-simulator",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:95a121c21ae663021a54823e43d3f181762a899c730c31f7d5356f12cd1ba043",
      "proptest_file_digest": "sha256:150a2a2e25195852cd6468825e637dd142a182121cee698f2f5acf9f9054de4c",
      "proptest_file": "chaingraph/kernels/__proptests__/art-244-gpi-tracker-lifecycle-simulator.proptest.mjs",
      "properties_tested": ["sla_breached_matches_24h_threshold_when_applicable", "transition_valid_matches_fixed_table", "terminal_settled_rejected_flags_consistent", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-245-mt-mx-translation-fidelity-scorer",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — fidelity_score is Math.round(ratio*100) over integer presence counts, truncation checks are exact .length comparisons against fixed integer thresholds (140/70/35); forced CATEGORICAL boundary cases (string length exactly at threshold, ±1 char) used instead of ULP forcing",
      "kernel_digest": "sha256:df068aac811711ab2100e95147d96ce76694c32836ca079e405fbd586fbe351a",
      "proptest_file_digest": "sha256:636c7ad4b42df6065e9031d786c458100dad35d8b2dfcf4c0677d5b201f8b396",
      "proptest_file": "chaingraph/kernels/__proptests__/art-245-mt-mx-translation-fidelity-scorer.proptest.mjs",
      "properties_tested": ["fidelity_score_bounded_0_to_100_integer", "fidelity_tier_matches_fixed_score_tiers", "fidelity_score_exact_rounded_ratio"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-246-lei-payment-binding-linter",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — LEI check-digit is integer ISO 7064 mod-97 arithmetic, Wolfsberg score is Math.round(weight-ratio*100) over fixed integer weights; forced CATEGORICAL boundary cases (mod-97 remainder exactly 1 vs 2, 19-char vs 20-char length boundary, exact weight-sum boundaries) used instead of ULP forcing",
      "kernel_digest": "sha256:3eb46ada4f435f3207e14efe0cd5349dd78613e1b50bbe42bb85cd95e2cd3c05",
      "proptest_file_digest": "sha256:32e78c5f6a60395f2953a3833ebd9a729e98a9501ead48c0baf5a622b7d908ed",
      "proptest_file": "chaingraph/kernels/__proptests__/art-246-lei-payment-binding-linter.proptest.mjs",
      "properties_tested": ["wolfsberg_score_bounded_0_to_100_integer", "tier_matches_fixed_score_thresholds", "score_nondecreasing_when_adding_a_present_field"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-290-check-linea-l2-finality-window",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — kernel is purely categorical (enum-valued status strings through a fixed rank table), no float arithmetic anywhere; forced CATEGORICAL boundary cases (every tier×cutoff rank-equal and rank-below edge, invalid-cutoff fallback) used instead of ULP forcing",
      "kernel_digest": "sha256:96bc4cfa0b4c4dc33183c6c6c36cb074ef7ecf0c8a4e10dbd7552fefa7eeeb97",
      "proptest_file_digest": "sha256:6fcf50721debac2af3e930ef73a1f68cae8019bd6179492d8489ec5f8f480018",
      "proptest_file": "chaingraph/kernels/__proptests__/art-290-check-linea-l2-finality-window.proptest.mjs",
      "properties_tested": ["finality_tier_bounded_to_declared_rank_set", "finality_tier_matches_reference_classification", "safe_to_release_matches_rank_comparison"],
      "fixture_oracle_result": "PASS (2/2 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-295-einvoice-jurisdiction-mandate-router",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — routing is lexical ISO-8601 date-string comparison (dateAtOrPast uses string >=) plus fixed lookup tables, no float arithmetic anywhere; forced CATEGORICAL boundary cases (transaction_date exactly at mandatory_from, ±1 day, DRAFT-PIN non-date regimes) used instead of ULP forcing",
      "kernel_digest": "sha256:0b10eacc01a0d809c04d6f3548e9c09c589eb0eeb330672b8dfaab9877cd9d20",
      "proptest_file_digest": "sha256:e530359e6afc38bf116325bb4252d6de6b2eb31669eb5cb55f7d1e99e911934c",
      "proptest_file": "chaingraph/kernels/__proptests__/art-295-einvoice-jurisdiction-mandate-router.proptest.mjs",
      "properties_tested": ["phase_status_bounded_to_declared_enum", "b2c_nonMY_always_out_of_scope", "confirmed_regime_phase_status_matches_lexical_date_threshold"],
      "fixture_oracle_result": "PASS (7/7 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-296-einvoice-transmission-receipt-builder",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — pure boolean-gate composition, no arithmetic at all; forced CATEGORICAL boundary cases (each of the three gates individually true/false, gate object entirely absent vs explicitly false) used instead of ULP forcing",
      "kernel_digest": "sha256:efd9144454c833bea1da03c8c2003da04d8d3b21f33bd1e5e963a512bf21278c",
      "proptest_file_digest": "sha256:7700b213f0a130556d5e53783e5bd85dcddb38d22bec13e8b177d84d4606f2f5",
      "proptest_file": "chaingraph/kernels/__proptests__/art-296-einvoice-transmission-receipt-builder.proptest.mjs",
      "properties_tested": ["claim_strength_bounded_to_two_declared_states", "validated_exact_conjunction_of_three_gates", "removing_a_gate_never_flips_validated_false_to_true"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-298-aca-affordability-safe-harbor",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:517e7ad37c5723b7df461c5830be597d989342422f3c60cad22e15cdcd8d7695",
      "proptest_file_digest": "sha256:3593d625b728eca65091dd40d17130f349658ecefe73c27e41e8fbe3dedf3d81",
      "proptest_file": "chaingraph/kernels/__proptests__/art-298-aca-affordability-safe-harbor.proptest.mjs",
      "properties_tested": ["w2_harbor_max_exact_unrounded_product", "affordable_exact_le_comparison_per_harbor", "w2_affordable_nondecreasing_in_wages", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (5/5 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-299-aca-esrp-exposure",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:d07a15cc7c7b3da43db92b15595249dcb3e8a81ca73d2e0144172de35b6e410e",
      "proptest_file_digest": "sha256:4717e532c2f07e54b713807d9bf9e4bb58c83078e3af6e2dc3289d41ada12851",
      "proptest_file": "chaingraph/kernels/__proptests__/art-299-aca-esrp-exposure.proptest.mjs",
      "properties_tested": ["a_applicable_exact_lt_0.95_threshold", "exposure_amounts_never_negative", "exposure_amounts_exact_fixed_formula", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (5/5 vectors)",
      "run_proptests_result": "PASS"
    }
  ],
  "ulp_forcing_summary": "4 of 9 kernels required ULP-boundary forcing (art-243, art-244, art-298, art-299, as named in the WU row) and carry it, checked in each item above. The other 5 (art-245, art-246, art-290, art-295, art-296) are the row's stated float:no exceptions and carry forced categorical boundary cases instead.",
  "run_proptests_aggregate": "9/9 shard files pass individually (node <file>.proptest.mjs, exit 0 each) — see run-proptests.mjs full-tree aggregate for the whole-repo count",
  "fv_floor_coverage": "all 9 shard kernels are the WU-named orphan-repair set from FV-PHASE2-CUTAUDIT-1; re-authored fresh against current kernel source per the WU's ⭐ FIX-2 CARRY instruction, so their prior floor from FV-PROPFLOOR-SHARD-B8-1/B11-1 is superseded by this manifest's digests"
}
