{
  "shard_id": "FV-PROPFLOOR-SHARD-B27-1",
  "spec_anchor": "FV-PBT-FLOOR-BUILD-SPEC.md §2/§3/§4",
  "population_definition": "all kernels in shard FV-PROPFLOOR-SHARD-B27-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; full-suite run confirmed 382/382 passing with this shard's 10 files included). ULP-boundary forcing was mandatory and present for the 2 float-sensitive rows named in the WU (art-235-test-hpml-escrow: apr_pct-minus-apor_pct spread compared against a fixed threshold with an explicit -1e-5 epsilon fudge and r4 rounding; art-239-test-bifsg-bias-thresholds: p_value/marginal_effect_pct/premium_per_1000_above_avg_pct compared directly against P_VALUE_THRESHOLD=0.05, MARGINAL_EFFECT_PP_THRESHOLD=5.0, PREMIUM_ABOVE_AVG_THRESHOLD=5.0). The other 8 rows are the WU's stated float:no kernels and instead carry forced CATEGORICAL boundary cases in place of ULP forcing. FIX-2 CARRY diligence note: on reading the kernel source, art-582-genius-reserve-disclosure-conformance-monitor's coverage_ratio (total_reserves_usd / (outstanding_tokens_reported*token_price), compared against a literal 1 threshold) is a genuine float division-then-threshold-compare, arguably float-adjacent despite the WU classifying this kernel float:no (its OTHER requirement, attestation timeliness, is pure integer day-arithmetic, which is presumably why the WU called the whole kernel float:no). As a precaution this row's forced boundary set (P4) includes near-1.0 coverage-ratio ULP-scale cases (exact 1.0, one ULP below 1.0) in addition to its categorical boundaries — not upgraded to the full mandatory 8-case ULP array of art-235/art-239, but not silently skipped either. 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-582-genius-reserve-disclosure-conformance-monitor",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "WU classifies float:no; FIX-2 CARRY read flagged the coverage_ratio division-then-threshold-compare as float-adjacent (see manifest per_item_basis_of_review) — forced boundary set (P4) includes near-1.0 coverage-ratio ULP-scale cases (exact 1.0, one ULP below) as a precaution, alongside the mandatory categorical boundaries (zero/negative tokens, zero reserves, attestation window edge, attestation-before-period-end, unregistered examiner)",
      "kernel_digest": "sha256:938dff18fe631418b8fc865198f0e4cb4ca4d6a9ee87967ccf818d5f2189edf9",
      "proptest_file_digest": "sha256:c1fe09596c2d6cd8f3721839edde3389a9abe88dcc40b8c969ade4b9d1ebab8a",
      "proptest_file": "chaingraph/kernels/__proptests__/art-582-genius-reserve-disclosure-conformance-monitor.proptest.mjs",
      "properties_tested": ["verdict_bounded_to_declared_enum", "coverage_ratio_monotonic_in_reserves", "shortfall_exact_max0_liabilities_minus_reserves"],
      "fixture_oracle_result": "PASS (7/7 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-585-sanctions-screening-evidence-pack",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no per the WU row — verdict is a normalized hex-digest string comparison, never a float threshold; forced CATEGORICAL boundary cases (dataset_ref incomplete, malformed digest, wrong-length digest, no caller digest declared, exact match, mismatch, case+algo-prefix insensitivity) used instead of ULP forcing",
      "kernel_digest": "sha256:c686a99d6d05d28e3feba866c69df7eb43ba13b49c2ce7c8e260be818d13c8a6",
      "proptest_file_digest": "sha256:63783a4e1cd93765e2bbb66f88b25c687d0b9205a477c55702b25889d4940c91",
      "proptest_file": "chaingraph/kernels/__proptests__/art-585-sanctions-screening-evidence-pack.proptest.mjs",
      "properties_tested": ["verdict_bounded_to_declared_enum", "digest_comparison_case_and_prefix_insensitive", "verdict_agrees_with_digest_match"],
      "fixture_oracle_result": "PASS (4/4 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-562-compile-model-risk-lineage-pack",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no per the WU row — pure stage-presence counting over a fixed 5-stage list, no float arithmetic anywhere in the kernel; forced CATEGORICAL boundary cases (missing model_id/as_of_date, zero stages cited, all five stages cited, empty-string execution_hash treated as absent, non-object ref, caller tool_id override) used instead of ULP forcing",
      "kernel_digest": "sha256:3bd0f1a3cd02576428db7940732f9d87c09d2632dafbcd72eb4f5f9ee96cb040",
      "proptest_file_digest": "sha256:47bf5a83ec99f15cd5a3d9f1c13bf667939b291b9e25d5a73b31cb69e3fdb894",
      "proptest_file": "chaingraph/kernels/__proptests__/art-562-compile-model-risk-lineage-pack.proptest.mjs",
      "properties_tested": ["stage_partition_bounded_and_disjoint", "adding_stage_ref_never_decreases_count", "stage_flags_agree_with_count"],
      "fixture_oracle_result": "PASS (4/4 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-588-docket-deadline-sweep",
      "class": "B",
      "float_sensitive": false,
      "ulp_forcing_present": false,
      "ulp_forcing_note": "stated float:no per the WU row — every comparison is integer calendar-day arithmetic (UTC-midnight ms differences divided by exactly 86400000), never a continuous float threshold; forced CATEGORICAL boundary cases (one day overdue, exactly-at due-soon threshold, one day past threshold, due today, malformed date, action conflict, done overrides date-derived band, empty records, weekend roll) used instead of ULP forcing",
      "kernel_digest": "sha256:54ec1d5b6fe7faac635820bc4b60de9ea75ea643abec9d1f312b6f54de3125fa",
      "proptest_file_digest": "sha256:99c9e8540412af8ba42772dbd5edc6a4cfbe8ae5437b18efa7177c6f2ce43fad",
      "proptest_file": "chaingraph/kernels/__proptests__/art-588-docket-deadline-sweep.proptest.mjs",
      "properties_tested": ["status_bounded_to_declared_bands", "done_records_never_dropped_status_always_DONE", "days_remaining_exact_recompute"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    },
    {
      "kernel_id": "art-235-test-hpml-escrow",
      "class": "B",
      "float_sensitive": true,
      "ulp_forcing_present": true,
      "kernel_digest": "sha256:41826ca9f3d3ba48ad150289c96f2aad017594ea96ff49fb448fabf84fdb6bef",
      "proptest_file_digest": "sha256:f9eb5ca9ff0ff0fc5555368e36d447a0a276b0161aae4d2f34078d1ada95e034",
      "proptest_file": "chaingraph/kernels/__proptests__/art-235-test-hpml-escrow.proptest.mjs",
      "properties_tested": ["is_hpml_monotonic_in_apr_spread", "escrow_required_implies_hpml_and_first_lien", "spread_threshold_tier_exact", "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 per the WU row — aat_completeness_score is round(present/4*100) over discrete field presence, no continuous float threshold; forced CATEGORICAL boundary cases (empty agent_identity, all-required-present, invalid action_class, malformed sha256_prev_record, uppercase-hex rejected, all-zero valid hex) used instead of ULP forcing",
      "kernel_digest": "sha256:4b708c0479222377ddaec18a19c7c15708dac8a9bc59d4e6e6b53661301c9801",
      "proptest_file_digest": "sha256:5656bd2d691298a214d47e10bf7f3ebfeaa2a8abdd620b526df4033f2d6cfb6a",
      "proptest_file": "chaingraph/kernels/__proptests__/art-237-validate-agent-audit-trail.proptest.mjs",
      "properties_tested": ["conformance_result_bounded_to_declared_enum", "completeness_score_exact_recompute", "chain_position_agrees_with_prev_record_presence"],
      "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 per the WU row — pure boolean obligation-status gates over a fixed obligations list, no float arithmetic; forced CATEGORICAL boundary cases (not high-risk, provider role excludes Art 26(6), all obligations implemented, nothing implemented, unknown category fallback, 5c insurance pricing) used instead of ULP forcing",
      "kernel_digest": "sha256:8bc32901d512c613154fd05bc8dba90a59d45911b83c8c2b2174ad8fddce59cb",
      "proptest_file_digest": "sha256:64fdf6b0c1511fcc739c2fa8f8af49e743d4ac662c6c8645d373194e4790f1a4",
      "proptest_file": "chaingraph/kernels/__proptests__/art-238-classify-annex3-decisioning-obligations.proptest.mjs",
      "properties_tested": ["scope_verdict_bounded_out_of_scope_when_not_high_risk", "implementing_a_flag_never_increases_compliance_gaps", "all_obligations_met_agrees_with_gaps_and_readiness"],
      "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:701d442f76691b38e5ab0fce5525b2d882260a259477651757e4f1cf0c4f9638",
      "proptest_file_digest": "sha256:c6f99662b30fd7dc51618a4637e3670b934af7a02a83eebd557b3e9f27d058b0",
      "proptest_file": "chaingraph/kernels/__proptests__/art-239-test-bifsg-bias-thresholds.proptest.mjs",
      "properties_tested": ["p_value_clamped_and_test_result_bounded", "bias_detected_agrees_with_prong_flags", "bias_detected_monotonic_in_marginal_effect_once_significant", "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 per the WU row — readiness_pct is an integer penalty score (100 - error_count*20, floored at 0), no continuous float threshold; forced CATEGORICAL boundary cases (empty address, unstructured-only, hybrid at the 2-AdrLine boundary and one past it, AdrLine at the 70-char boundary and one past it, invalid country code length, lowercase country normalization) used instead of ULP forcing",
      "kernel_digest": "sha256:63e488bc42ce3ecf75573b02a8fae9dd4044c91928f1f019e53895bf08f6bf86",
      "proptest_file_digest": "sha256:21c34d76d2979fe1f2ddc72c02e339b4fc49b390f6fceab9175093e86d355d0d",
      "proptest_file": "chaingraph/kernels/__proptests__/art-241-cbpr-structured-address-linter.proptest.mjs",
      "properties_tested": ["structure_type_and_readiness_bounded", "compliant_agrees_with_error_count_and_structure_type", "adrline_duplicating_structured_field_always_flagged"],
      "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 per the WU row — cpmi_d218_score is round(present/5*100) over discrete presence/format regex checks, no continuous float threshold; forced CATEGORICAL boundary cases (fully empty input, every field present and valid, wrong UUID version nibble, UUID missing hyphens, BIC 8-char form, BIC with digits in bank-code position, LEI 19 chars, purpose_code 2 chars) used instead of ULP forcing",
      "kernel_digest": "sha256:a003fc6cc8dfa80d68668f62938102ca8f06da330407616dc9d04f146303706e",
      "proptest_file_digest": "sha256:4bb57b4ff0063a1286f69a078f0c7b3602920b0daaf5678879c45d84b943f50f",
      "proptest_file": "chaingraph/kernels/__proptests__/art-242-pacs008-party-completeness-validator.proptest.mjs",
      "properties_tested": ["score_bounded_and_compliant_agrees_with_error_count", "cpmi_score_exact_recompute", "uuid_version_nibble_corruption_always_invalidates"],
      "fixture_oracle_result": "PASS (3/3 vectors)",
      "run_proptests_result": "PASS"
    }
  ]
}
