{
  "shard_id": "FV-PROPFLOOR-SHARD-B8-1",
  "spec_anchor": "FV-PBT-FLOOR-BUILD-SPEC.md §2/§3/§4",
  "population_definition": "all kernels in shard FV-PROPFLOOR-SHARD-B8-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-235-test-hpml-escrow — apr_pct/apor_pct raw doubles compared against fixed 1.5/2.5/3.5pp thresholds; art-239-test-bifsg-bias-thresholds — p_value/marginal_effect_pct/premium raw doubles compared against fixed 0.05/5.0/5.0 thresholds; art-243-purpose-code-requirement-checker — payment_amount_usd compared against the fixed $12,500 SwiftGo threshold; art-244-gpi-tracker-lifecycle-simulator — hours_elapsed compared against the fixed 24-hour Universal Confirmation SLA), checked below. The other 6 rows (art-237, art-238, art-241, art-242, art-245, art-246) are the row's stated float:no exceptions and instead carry forced CATEGORICAL boundary cases (empty inputs, malformed formats, exact fixed-tier boundaries, unrecognized enum values) in place of ULP forcing — art-246's LEI mod-97 check-digit arithmetic is exact integer modular arithmetic, not floating point, confirmed correctly classified against the kernel source before authoring per the WU's FIX-2-carry instruction. No row beyond these two 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-235-test-hpml-escrow",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:94fc7bbe48acda47dbbe6f448d2c3ee67377a531525a417ecb3e484f31fb381b",
      "proptest_file_digest": "sha256:810441a7e7e755ddd41844659562c77dbd5dcd5f527523471d7ef910c18465f6",
      "proptest_file": "chaingraph/kernels/__proptests__/art-235-test-hpml-escrow.proptest.mjs",
      "properties_tested": ["monotone_is_hpml_nondecreasing_with_apr_increase", "spread_roundtrip_and_threshold_from_fixed_set", "is_hpml_and_escrow_match_fixed_threshold_rule", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-237-validate-agent-audit-trail",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — enum/format validation only, no continuous arithmetic beyond a fixed-denominator (÷4) completeness score; forced CATEGORICAL boundary cases (empty agent_identity, invalid action_class/outcome, unrecognised trust_level, malformed sha256_prev_record) used instead of ULP forcing",
      "kernel_digest": "sha256:deb127f858cd16e99f62c0f27cc261879e577527549c00156ae299b59e04afbc",
      "proptest_file_digest": "sha256:57813e13753a5d0fabd2175bf267df6f1373c90f6bdba3ec95497618ecad621f",
      "proptest_file": "chaingraph/kernels/__proptests__/art-237-validate-agent-audit-trail.proptest.mjs",
      "properties_tested": ["monotone_conformance_nondecreasing_on_valid_fields", "boundedness_score_and_enum_fields_from_known_sets", "conformance_result_matches_fixed_completeness_rule"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-238-classify-annex3-decisioning-obligations",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — boolean gates and enum classification only, no continuous arithmetic; forced CATEGORICAL boundary cases (not-high-risk out-of-scope gate, provider-vs-deployer role, empty deployer_role, 5b/5c category boundary) used instead of ULP forcing",
      "kernel_digest": "sha256:82eac4d808656a6c43988775fab04d8f5366bddd4446beb2d596f974b6d77373",
      "proptest_file_digest": "sha256:2bfd026076d93a103900c4ca39cdf42896fe0ec766b6419fa1bdd8b686bbdfa9",
      "proptest_file": "chaingraph/kernels/__proptests__/art-238-classify-annex3-decisioning-obligations.proptest.mjs",
      "properties_tested": ["monotone_gaps_nonincreasing_toward_full_implementation", "boundedness_scope_and_gap_count_from_known_sets", "art26_applicability_and_obligation_count_match_fixed_rule"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-239-test-bifsg-bias-thresholds",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:b674f5aba1b4c828c5c9dadffb3b1b441fe9848a4b4b765697825611ad4c185d",
      "proptest_file_digest": "sha256:6c6da5647fe8b6bda713b4fa4e7c499ff69ba8b384cadccf0aeda7b6d7262d6d",
      "proptest_file": "chaingraph/kernels/__proptests__/art-239-test-bifsg-bias-thresholds.proptest.mjs",
      "properties_tested": ["monotone_bias_nondecreasing_with_effect_increase", "boundedness_pvalue_and_absolute_effects", "bias_detected_matches_fixed_threshold_rule", "ULP_boundary_forcing"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-241-cbpr-structured-address-linter",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — string/array structural linting only, no continuous arithmetic beyond a fixed-penalty readiness percentage; forced CATEGORICAL boundary cases (empty address, AdrLine-only unstructured, excess AdrLine count, silent-fail duplication, invalid country code) used instead of ULP forcing",
      "kernel_digest": "sha256:321c4ae845ad4b8eaa346c89c48f00f67f908fa5febb4bcc334f59186ad5b0b0",
      "proptest_file_digest": "sha256:49edcb5456d6949dd6d3dcc965c0309e5b21e229e702628d8259314c63d014ba",
      "proptest_file": "chaingraph/kernels/__proptests__/art-241-cbpr-structured-address-linter.proptest.mjs",
      "properties_tested": ["monotone_error_count_nonincreasing_toward_full_structure", "boundedness_readiness_pct_and_structure_type", "compliant_matches_fixed_structure_and_error_rule"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-242-pacs008-party-completeness-validator",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no exception per the WU row — presence/format checks over a fixed 5-field CPMI d218 set, no continuous arithmetic beyond a fixed-denominator (÷5) score; forced CATEGORICAL boundary cases (malformed UETR/BIC/LEI format, empty purpose_code, single-field partial completeness) used instead of ULP forcing",
      "kernel_digest": "sha256:8e606baac3dc58074e8a80c5b0faf0ce1cad590269e23f7ef8f767835b921eab",
      "proptest_file_digest": "sha256:976b9ce5347735db059b73061775e379abda8f68c4b09a9c9ecea7195c9771a1",
      "proptest_file": "chaingraph/kernels/__proptests__/art-242-pacs008-party-completeness-validator.proptest.mjs",
      "properties_tested": ["monotone_score_nondecreasing_toward_full_completeness", "boundedness_score_multiple_of_20_and_nonnegative_counts", "score_matches_independently_recomputed_presence_count"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-243-purpose-code-requirement-checker",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:01fafc4ec932174d36f7a72880ad604946bd324789acb1d5308172f526f2dfaf",
      "proptest_file_digest": "sha256:3259c548b06f02f0374a1e2619003acde1ab48f5933383f080174c749de7b9d1",
      "proptest_file": "chaingraph/kernels/__proptests__/art-243-purpose-code-requirement-checker.proptest.mjs",
      "properties_tested": ["monotone_swiftgo_amount_ok_nonincreasing_past_threshold", "boundedness_swiftgo_max_fixed_and_code_type_from_known_set", "jurisdiction_and_swiftgo_flags_match_fixed_rule", "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:03ec432c5c930586d24cf6a4fbd37e6f4fc59fc351b1caa340c8691ebba3a36c",
      "proptest_file_digest": "sha256:c5d740a385b6cff98ccaafda0fca35394f86a6af2d50eed038ec2be1609e6be2",
      "proptest_file": "chaingraph/kernels/__proptests__/art-244-gpi-tracker-lifecycle-simulator.proptest.mjs",
      "properties_tested": ["monotone_sla_breach_nondecreasing_with_hours", "boundedness_allowed_next_and_sla_limit_fixed", "sla_and_transition_match_fixed_rule", "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 — field presence/mapping and length checks only, no continuous arithmetic beyond a fixed-denominator fidelity score; forced CATEGORICAL boundary cases (empty input, charge-bearer mismatch, remittance-info truncation, missing mx counterpart) used instead of ULP forcing",
      "kernel_digest": "sha256:ebef0432ad60665737531af12b4d2c3a3d971ac8b5d25ae7bc59dfc2707c515b",
      "proptest_file_digest": "sha256:b0a584b8c9386421879fe56d836253f794acb5e209f6729b5814a9cbaf9a53ca",
      "proptest_file": "chaingraph/kernels/__proptests__/art-245-mt-mx-translation-fidelity-scorer.proptest.mjs",
      "properties_tested": ["monotone_fidelity_nondecreasing_toward_full_mapping", "boundedness_fidelity_score_and_tier_from_known_set", "fidelity_tier_matches_fixed_score_bands"],
      "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 — ISO 7064 Mod 97-10 check-digit validation is exact integer modular arithmetic (no floats), Wolfsberg scoring is a fixed integer-weight sum; confirmed against kernel source before authoring per the WU's FIX-2-carry instruction; forced CATEGORICAL boundary cases (malformed LEI length, wrong check digits, lowercase LEI, empty optional fields) used instead of ULP forcing",
      "kernel_digest": "sha256:ce05086143112505799d31fe336994900733702f77a3c4bce586b1cfe73b5682",
      "proptest_file_digest": "sha256:d34bc4293df45f8728aa965bf5ef7d420a56039129e2bd1d6c38a8cf8f93fff9",
      "proptest_file": "chaingraph/kernels/__proptests__/art-246-lei-payment-binding-linter.proptest.mjs",
      "properties_tested": ["monotone_score_nondecreasing_toward_full_transparency", "boundedness_wolfsberg_score_and_tier_from_known_set", "wolfsberg_tier_matches_fixed_score_bands"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    }
  ],
  "ulp_forcing_summary": "4 of 10 kernels required ULP-boundary forcing (art-235-test-hpml-escrow, art-239-test-bifsg-bias-thresholds, art-243-purpose-code-requirement-checker, art-244-gpi-tracker-lifecycle-simulator, as named in the WU row) and carry it, checked in their items above. The other 6 (art-237, art-238, art-241, art-242, art-245, art-246) are the row's stated float:no exceptions and carry forced categorical boundary cases instead. No misclassification found on verification against kernel source (WU's FIX-2-carry instruction) — the row's stated float-sensitivity list matched the kernel arithmetic in all 10 cases.",
  "run_proptests_aggregate": "10/10 shard files passed locally (node chaingraph/kernels/__proptests__/<file>.proptest.mjs, each exit 0); full-tree run-proptests.mjs aggregate recorded in the check-off",
  "fv_floor_coverage": "check-fv-floor-coverage.mjs result recorded in the check-off"
}
