{
  "ok": true,
  "mode": "JS8",
  "tool": "webftr-js8-soft-ldpc-minsum-probe",
  "tool_version": "step32-anchored-candidate-fast-export-guard",
  "input_wav": null,
  "candidate_json": "/decoders/js8_decoder/runtime/fec_candidates/js8_quick_selected_window_fec_candidate_step17.json",
  "rx_only": true,
  "safety": {
    "tx": false,
    "ptt": false,
    "tune": false,
    "send": false,
    "js8call_runtime_control": false
  },
  "implementation_stage": "step32_soft_ldpc_minsum_probe_no_message_unpack",
  "matrix": {
    "code": "(174,91)",
    "message_bits": 91,
    "parity_bits": 83,
    "codeword_bits": 174,
    "check_count": 83
  },
  "decoder": {
    "algorithm": "normalized_min_sum",
    "max_iterations": 40,
    "alpha": 0.8,
    "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely"
  },
  "candidate_context": {
    "nsps_used": 6192,
    "nsps_is_js8_realistic": true,
    "selected_profile": {},
    "selected_variant": {
      "name": "raw_msb_symbol_order",
      "rank_score": 127.389188,
      "complete_174bit_candidate": true,
      "hard_bits_sha256_16": "aa237514554a5da8",
      "hard_weight_174": 42,
      "llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      }
    }
  },
  "probe_count": 20,
  "best_soft_decode": {
    "variant": "raw_msb_symbol_order",
    "transform": "inverted_bits",
    "source_rank_score": 127.389188,
    "source_llr_stats": {
      "count": 174,
      "avg_abs": 2.347297,
      "min_abs": 0.029594,
      "max_abs": 4.31172,
      "positive": 133,
      "negative": 41,
      "zero": 0
    },
    "success": false,
    "iterations_used": 40,
    "final_syndrome_weight": 29,
    "message91": null,
    "message91_sha256_16": "c4420e8a3025fa0b",
    "codeword174_sha256_16": "a6cbd3921428e957",
    "trace": [
      {
        "iteration": 0,
        "syndrome_weight": 41
      },
      {
        "iteration": 1,
        "syndrome_weight": 40
      },
      {
        "iteration": 2,
        "syndrome_weight": 29
      },
      {
        "iteration": 3,
        "syndrome_weight": 49
      },
      {
        "iteration": 4,
        "syndrome_weight": 40
      },
      {
        "iteration": 5,
        "syndrome_weight": 32
      },
      {
        "iteration": 6,
        "syndrome_weight": 39
      },
      {
        "iteration": 7,
        "syndrome_weight": 46
      },
      {
        "iteration": 8,
        "syndrome_weight": 38
      },
      {
        "iteration": 9,
        "syndrome_weight": 45
      },
      {
        "iteration": 10,
        "syndrome_weight": 39
      },
      {
        "iteration": 15,
        "syndrome_weight": 43
      },
      {
        "iteration": 20,
        "syndrome_weight": 42
      },
      {
        "iteration": 25,
        "syndrome_weight": 40
      },
      {
        "iteration": 30,
        "syndrome_weight": 45
      },
      {
        "iteration": 35,
        "syndrome_weight": 39
      },
      {
        "iteration": 40,
        "syndrome_weight": 51
      }
    ]
  },
  "soft_decode_results": [
    {
      "variant": "raw_msb_symbol_order",
      "transform": "inverted_bits",
      "source_rank_score": 127.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 29,
      "message91": null,
      "message91_sha256_16": "c4420e8a3025fa0b",
      "codeword174_sha256_16": "a6cbd3921428e957",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 29
        },
        {
          "iteration": 3,
          "syndrome_weight": 49
        },
        {
          "iteration": 4,
          "syndrome_weight": 40
        },
        {
          "iteration": 5,
          "syndrome_weight": 32
        },
        {
          "iteration": 6,
          "syndrome_weight": 39
        },
        {
          "iteration": 7,
          "syndrome_weight": 46
        },
        {
          "iteration": 8,
          "syndrome_weight": 38
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 43
        },
        {
          "iteration": 20,
          "syndrome_weight": 42
        },
        {
          "iteration": 25,
          "syndrome_weight": 40
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 39
        },
        {
          "iteration": 40,
          "syndrome_weight": 51
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "inverted_bits",
      "source_rank_score": 119.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 29,
      "message91": null,
      "message91_sha256_16": "c4420e8a3025fa0b",
      "codeword174_sha256_16": "a6cbd3921428e957",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 29
        },
        {
          "iteration": 3,
          "syndrome_weight": 49
        },
        {
          "iteration": 4,
          "syndrome_weight": 40
        },
        {
          "iteration": 5,
          "syndrome_weight": 32
        },
        {
          "iteration": 6,
          "syndrome_weight": 39
        },
        {
          "iteration": 7,
          "syndrome_weight": 46
        },
        {
          "iteration": 8,
          "syndrome_weight": 38
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 43
        },
        {
          "iteration": 20,
          "syndrome_weight": 42
        },
        {
          "iteration": 25,
          "syndrome_weight": 40
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 39
        },
        {
          "iteration": 40,
          "syndrome_weight": 51
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 113.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 29,
      "message91": null,
      "message91_sha256_16": "c4420e8a3025fa0b",
      "codeword174_sha256_16": "a6cbd3921428e957",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 29
        },
        {
          "iteration": 3,
          "syndrome_weight": 49
        },
        {
          "iteration": 4,
          "syndrome_weight": 40
        },
        {
          "iteration": 5,
          "syndrome_weight": 32
        },
        {
          "iteration": 6,
          "syndrome_weight": 39
        },
        {
          "iteration": 7,
          "syndrome_weight": 46
        },
        {
          "iteration": 8,
          "syndrome_weight": 38
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 43
        },
        {
          "iteration": 20,
          "syndrome_weight": 42
        },
        {
          "iteration": 25,
          "syndrome_weight": 40
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 39
        },
        {
          "iteration": 40,
          "syndrome_weight": 51
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 112.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 29,
      "message91": null,
      "message91_sha256_16": "c4420e8a3025fa0b",
      "codeword174_sha256_16": "a6cbd3921428e957",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 29
        },
        {
          "iteration": 3,
          "syndrome_weight": 49
        },
        {
          "iteration": 4,
          "syndrome_weight": 40
        },
        {
          "iteration": 5,
          "syndrome_weight": 32
        },
        {
          "iteration": 6,
          "syndrome_weight": 39
        },
        {
          "iteration": 7,
          "syndrome_weight": 46
        },
        {
          "iteration": 8,
          "syndrome_weight": 38
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 43
        },
        {
          "iteration": 20,
          "syndrome_weight": 42
        },
        {
          "iteration": 25,
          "syndrome_weight": 40
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 39
        },
        {
          "iteration": 40,
          "syndrome_weight": 51
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "inverted_bits",
      "source_rank_score": 101.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 29,
      "message91": null,
      "message91_sha256_16": "c4420e8a3025fa0b",
      "codeword174_sha256_16": "a6cbd3921428e957",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 29
        },
        {
          "iteration": 3,
          "syndrome_weight": 49
        },
        {
          "iteration": 4,
          "syndrome_weight": 40
        },
        {
          "iteration": 5,
          "syndrome_weight": 32
        },
        {
          "iteration": 6,
          "syndrome_weight": 39
        },
        {
          "iteration": 7,
          "syndrome_weight": 46
        },
        {
          "iteration": 8,
          "syndrome_weight": 38
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 43
        },
        {
          "iteration": 20,
          "syndrome_weight": 42
        },
        {
          "iteration": 25,
          "syndrome_weight": 40
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 39
        },
        {
          "iteration": 40,
          "syndrome_weight": 51
        }
      ]
    },
    {
      "variant": "raw_msb_symbol_order",
      "transform": "reverse_codeword",
      "source_rank_score": 127.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "ac67150b95806719",
      "codeword174_sha256_16": "a5cb1fcaa6b0cc6a",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 42
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 36
        },
        {
          "iteration": 5,
          "syndrome_weight": 37
        },
        {
          "iteration": 6,
          "syndrome_weight": 49
        },
        {
          "iteration": 7,
          "syndrome_weight": 34
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 32
        },
        {
          "iteration": 10,
          "syndrome_weight": 36
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 46
        },
        {
          "iteration": 25,
          "syndrome_weight": 46
        },
        {
          "iteration": 30,
          "syndrome_weight": 34
        },
        {
          "iteration": 35,
          "syndrome_weight": 45
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "reverse_codeword",
      "source_rank_score": 119.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "ac67150b95806719",
      "codeword174_sha256_16": "a5cb1fcaa6b0cc6a",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 42
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 36
        },
        {
          "iteration": 5,
          "syndrome_weight": 37
        },
        {
          "iteration": 6,
          "syndrome_weight": 49
        },
        {
          "iteration": 7,
          "syndrome_weight": 34
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 32
        },
        {
          "iteration": 10,
          "syndrome_weight": 36
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 46
        },
        {
          "iteration": 25,
          "syndrome_weight": 46
        },
        {
          "iteration": 30,
          "syndrome_weight": 34
        },
        {
          "iteration": 35,
          "syndrome_weight": 45
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "as_exported",
      "source_rank_score": 113.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "ac67150b95806719",
      "codeword174_sha256_16": "a5cb1fcaa6b0cc6a",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 42
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 36
        },
        {
          "iteration": 5,
          "syndrome_weight": 37
        },
        {
          "iteration": 6,
          "syndrome_weight": 49
        },
        {
          "iteration": 7,
          "syndrome_weight": 34
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 32
        },
        {
          "iteration": 10,
          "syndrome_weight": 36
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 46
        },
        {
          "iteration": 25,
          "syndrome_weight": 46
        },
        {
          "iteration": 30,
          "syndrome_weight": 34
        },
        {
          "iteration": 35,
          "syndrome_weight": 45
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "as_exported",
      "source_rank_score": 112.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "ac67150b95806719",
      "codeword174_sha256_16": "a5cb1fcaa6b0cc6a",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 42
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 36
        },
        {
          "iteration": 5,
          "syndrome_weight": 37
        },
        {
          "iteration": 6,
          "syndrome_weight": 49
        },
        {
          "iteration": 7,
          "syndrome_weight": 34
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 32
        },
        {
          "iteration": 10,
          "syndrome_weight": 36
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 46
        },
        {
          "iteration": 25,
          "syndrome_weight": 46
        },
        {
          "iteration": 30,
          "syndrome_weight": 34
        },
        {
          "iteration": 35,
          "syndrome_weight": 45
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "reverse_codeword",
      "source_rank_score": 101.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "ac67150b95806719",
      "codeword174_sha256_16": "a5cb1fcaa6b0cc6a",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 42
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 36
        },
        {
          "iteration": 5,
          "syndrome_weight": 37
        },
        {
          "iteration": 6,
          "syndrome_weight": 49
        },
        {
          "iteration": 7,
          "syndrome_weight": 34
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 32
        },
        {
          "iteration": 10,
          "syndrome_weight": 36
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 46
        },
        {
          "iteration": 25,
          "syndrome_weight": 46
        },
        {
          "iteration": 30,
          "syndrome_weight": 34
        },
        {
          "iteration": 35,
          "syndrome_weight": 45
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "raw_msb_symbol_order",
      "transform": "as_exported",
      "source_rank_score": 127.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 32,
      "message91": null,
      "message91_sha256_16": "9286e1618d0e5dab",
      "codeword174_sha256_16": "f6869af30d1c1480",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 39
        },
        {
          "iteration": 1,
          "syndrome_weight": 38
        },
        {
          "iteration": 2,
          "syndrome_weight": 38
        },
        {
          "iteration": 3,
          "syndrome_weight": 42
        },
        {
          "iteration": 4,
          "syndrome_weight": 45
        },
        {
          "iteration": 5,
          "syndrome_weight": 44
        },
        {
          "iteration": 6,
          "syndrome_weight": 42
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 45
        },
        {
          "iteration": 20,
          "syndrome_weight": 50
        },
        {
          "iteration": 25,
          "syndrome_weight": 37
        },
        {
          "iteration": 30,
          "syndrome_weight": 42
        },
        {
          "iteration": 35,
          "syndrome_weight": 42
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "as_exported",
      "source_rank_score": 119.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 32,
      "message91": null,
      "message91_sha256_16": "9286e1618d0e5dab",
      "codeword174_sha256_16": "f6869af30d1c1480",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 39
        },
        {
          "iteration": 1,
          "syndrome_weight": 38
        },
        {
          "iteration": 2,
          "syndrome_weight": 38
        },
        {
          "iteration": 3,
          "syndrome_weight": 42
        },
        {
          "iteration": 4,
          "syndrome_weight": 45
        },
        {
          "iteration": 5,
          "syndrome_weight": 44
        },
        {
          "iteration": 6,
          "syndrome_weight": 42
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 45
        },
        {
          "iteration": 20,
          "syndrome_weight": 50
        },
        {
          "iteration": 25,
          "syndrome_weight": 37
        },
        {
          "iteration": 30,
          "syndrome_weight": 42
        },
        {
          "iteration": 35,
          "syndrome_weight": 42
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "reverse_codeword",
      "source_rank_score": 113.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 32,
      "message91": null,
      "message91_sha256_16": "9286e1618d0e5dab",
      "codeword174_sha256_16": "f6869af30d1c1480",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 39
        },
        {
          "iteration": 1,
          "syndrome_weight": 38
        },
        {
          "iteration": 2,
          "syndrome_weight": 38
        },
        {
          "iteration": 3,
          "syndrome_weight": 42
        },
        {
          "iteration": 4,
          "syndrome_weight": 45
        },
        {
          "iteration": 5,
          "syndrome_weight": 44
        },
        {
          "iteration": 6,
          "syndrome_weight": 42
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 45
        },
        {
          "iteration": 20,
          "syndrome_weight": 50
        },
        {
          "iteration": 25,
          "syndrome_weight": 37
        },
        {
          "iteration": 30,
          "syndrome_weight": 42
        },
        {
          "iteration": 35,
          "syndrome_weight": 42
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "reverse_codeword",
      "source_rank_score": 112.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 32,
      "message91": null,
      "message91_sha256_16": "9286e1618d0e5dab",
      "codeword174_sha256_16": "f6869af30d1c1480",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 39
        },
        {
          "iteration": 1,
          "syndrome_weight": 38
        },
        {
          "iteration": 2,
          "syndrome_weight": 38
        },
        {
          "iteration": 3,
          "syndrome_weight": 42
        },
        {
          "iteration": 4,
          "syndrome_weight": 45
        },
        {
          "iteration": 5,
          "syndrome_weight": 44
        },
        {
          "iteration": 6,
          "syndrome_weight": 42
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 45
        },
        {
          "iteration": 20,
          "syndrome_weight": 50
        },
        {
          "iteration": 25,
          "syndrome_weight": 37
        },
        {
          "iteration": 30,
          "syndrome_weight": 42
        },
        {
          "iteration": 35,
          "syndrome_weight": 42
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "as_exported",
      "source_rank_score": 101.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 32,
      "message91": null,
      "message91_sha256_16": "9286e1618d0e5dab",
      "codeword174_sha256_16": "f6869af30d1c1480",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 39
        },
        {
          "iteration": 1,
          "syndrome_weight": 38
        },
        {
          "iteration": 2,
          "syndrome_weight": 38
        },
        {
          "iteration": 3,
          "syndrome_weight": 42
        },
        {
          "iteration": 4,
          "syndrome_weight": 45
        },
        {
          "iteration": 5,
          "syndrome_weight": 44
        },
        {
          "iteration": 6,
          "syndrome_weight": 42
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 45
        },
        {
          "iteration": 10,
          "syndrome_weight": 39
        },
        {
          "iteration": 15,
          "syndrome_weight": 45
        },
        {
          "iteration": 20,
          "syndrome_weight": 50
        },
        {
          "iteration": 25,
          "syndrome_weight": 37
        },
        {
          "iteration": 30,
          "syndrome_weight": 42
        },
        {
          "iteration": 35,
          "syndrome_weight": 42
        },
        {
          "iteration": 40,
          "syndrome_weight": 45
        }
      ]
    },
    {
      "variant": "raw_msb_symbol_order",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 127.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "3da67efa8398894a",
      "codeword174_sha256_16": "c0ffb55faec27219",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 37
        },
        {
          "iteration": 1,
          "syndrome_weight": 33
        },
        {
          "iteration": 2,
          "syndrome_weight": 42
        },
        {
          "iteration": 3,
          "syndrome_weight": 38
        },
        {
          "iteration": 4,
          "syndrome_weight": 38
        },
        {
          "iteration": 5,
          "syndrome_weight": 42
        },
        {
          "iteration": 6,
          "syndrome_weight": 44
        },
        {
          "iteration": 7,
          "syndrome_weight": 40
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 40
        },
        {
          "iteration": 15,
          "syndrome_weight": 46
        },
        {
          "iteration": 20,
          "syndrome_weight": 41
        },
        {
          "iteration": 25,
          "syndrome_weight": 35
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 44
        },
        {
          "iteration": 40,
          "syndrome_weight": 34
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 119.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "3da67efa8398894a",
      "codeword174_sha256_16": "c0ffb55faec27219",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 37
        },
        {
          "iteration": 1,
          "syndrome_weight": 33
        },
        {
          "iteration": 2,
          "syndrome_weight": 42
        },
        {
          "iteration": 3,
          "syndrome_weight": 38
        },
        {
          "iteration": 4,
          "syndrome_weight": 38
        },
        {
          "iteration": 5,
          "syndrome_weight": 42
        },
        {
          "iteration": 6,
          "syndrome_weight": 44
        },
        {
          "iteration": 7,
          "syndrome_weight": 40
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 40
        },
        {
          "iteration": 15,
          "syndrome_weight": 46
        },
        {
          "iteration": 20,
          "syndrome_weight": 41
        },
        {
          "iteration": 25,
          "syndrome_weight": 35
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 44
        },
        {
          "iteration": 40,
          "syndrome_weight": 34
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "inverted_bits",
      "source_rank_score": 113.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "3da67efa8398894a",
      "codeword174_sha256_16": "c0ffb55faec27219",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 37
        },
        {
          "iteration": 1,
          "syndrome_weight": 33
        },
        {
          "iteration": 2,
          "syndrome_weight": 42
        },
        {
          "iteration": 3,
          "syndrome_weight": 38
        },
        {
          "iteration": 4,
          "syndrome_weight": 38
        },
        {
          "iteration": 5,
          "syndrome_weight": 42
        },
        {
          "iteration": 6,
          "syndrome_weight": 44
        },
        {
          "iteration": 7,
          "syndrome_weight": 40
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 40
        },
        {
          "iteration": 15,
          "syndrome_weight": 46
        },
        {
          "iteration": 20,
          "syndrome_weight": 41
        },
        {
          "iteration": 25,
          "syndrome_weight": 35
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 44
        },
        {
          "iteration": 40,
          "syndrome_weight": 34
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "inverted_bits",
      "source_rank_score": 112.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "3da67efa8398894a",
      "codeword174_sha256_16": "c0ffb55faec27219",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 37
        },
        {
          "iteration": 1,
          "syndrome_weight": 33
        },
        {
          "iteration": 2,
          "syndrome_weight": 42
        },
        {
          "iteration": 3,
          "syndrome_weight": 38
        },
        {
          "iteration": 4,
          "syndrome_weight": 38
        },
        {
          "iteration": 5,
          "syndrome_weight": 42
        },
        {
          "iteration": 6,
          "syndrome_weight": 44
        },
        {
          "iteration": 7,
          "syndrome_weight": 40
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 40
        },
        {
          "iteration": 15,
          "syndrome_weight": 46
        },
        {
          "iteration": 20,
          "syndrome_weight": 41
        },
        {
          "iteration": 25,
          "syndrome_weight": 35
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 44
        },
        {
          "iteration": 40,
          "syndrome_weight": 34
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 101.389188,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.347297,
        "min_abs": 0.029594,
        "max_abs": 4.31172,
        "positive": 133,
        "negative": 41,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "3da67efa8398894a",
      "codeword174_sha256_16": "c0ffb55faec27219",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 37
        },
        {
          "iteration": 1,
          "syndrome_weight": 33
        },
        {
          "iteration": 2,
          "syndrome_weight": 42
        },
        {
          "iteration": 3,
          "syndrome_weight": 38
        },
        {
          "iteration": 4,
          "syndrome_weight": 38
        },
        {
          "iteration": 5,
          "syndrome_weight": 42
        },
        {
          "iteration": 6,
          "syndrome_weight": 44
        },
        {
          "iteration": 7,
          "syndrome_weight": 40
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 40
        },
        {
          "iteration": 15,
          "syndrome_weight": 46
        },
        {
          "iteration": 20,
          "syndrome_weight": 41
        },
        {
          "iteration": 25,
          "syndrome_weight": 35
        },
        {
          "iteration": 30,
          "syndrome_weight": 45
        },
        {
          "iteration": 35,
          "syndrome_weight": 44
        },
        {
          "iteration": 40,
          "syndrome_weight": 34
        }
      ]
    }
  ],
  "decodes": [],
  "outputs": {
    "ldpc_soft_decode_json": "/decoders/js8_decoder/runtime/ldpc_soft_decode/step32_ldpc_soft_decode.json"
  },
  "warnings": [
    "Step 32 runs a real normalized-min-sum soft LDPC probe against the public (174,91) matrix contract.",
    "This still does not unpack JS8 text or validate CRC/message payloads.",
    "If success is true and syndrome_weight is 0, the next step can unpack the 91-bit message. Otherwise more deinterleaver/order/LLR tuning is required."
  ],
  "next_action": "Upload logs. Next step: if no valid codeword, improve interleaver/order/LLR mapping; if valid, add JS8 message unpack/CRC."
}
