{
  "ok": true,
  "mode": "JS8",
  "tool": "webftr-js8-soft-ldpc-minsum-probe",
  "tool_version": "step33-auto-anchor-candidate-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": "step33_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": 6400,
    "nsps_is_js8_realistic": true,
    "selected_profile": {
      "profile": "js8_near_6400",
      "nsps": 6400,
      "symbol_duration_seconds": 0.533333,
      "tone_spacing_hz": 1.875,
      "note": "0.533 s timing guard candidate",
      "ok": true,
      "sync": {
        "start_seconds": 4.8,
        "base_freq_hz": 1025.0,
        "candidate_score": 47.4,
        "costas_hits": 2,
        "avg_margin_db": 8.01,
        "candidate_count": 12
      },
      "frame": {
        "symbols_available_after_start": 103,
        "data_symbol_count_estimate": 58,
        "expected_data_symbols_candidate": 58
      },
      "fec": {
        "soft_bit_count_estimate": 174,
        "missing_soft_bits_estimate": 0,
        "complete_ldpc_input_candidate_estimate": true
      },
      "rank_score": 225.085
    },
    "selected_variant": {
      "name": "raw_msb_symbol_order",
      "rank_score": 127.195892,
      "complete_174bit_candidate": true,
      "hard_bits_sha256_16": "c87312f86dbe74fc",
      "hard_weight_174": 36,
      "llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      }
    }
  },
  "probe_count": 20,
  "best_soft_decode": {
    "variant": "raw_msb_symbol_order",
    "transform": "as_exported",
    "source_rank_score": 127.195892,
    "source_llr_stats": {
      "count": 174,
      "avg_abs": 2.298973,
      "min_abs": 0.012672,
      "max_abs": 4.421458,
      "positive": 141,
      "negative": 33,
      "zero": 0
    },
    "success": false,
    "iterations_used": 40,
    "final_syndrome_weight": 28,
    "message91": null,
    "message91_sha256_16": "78a9fa14ddd0c492",
    "codeword174_sha256_16": "a04e4233e614dfc1",
    "trace": [
      {
        "iteration": 0,
        "syndrome_weight": 41
      },
      {
        "iteration": 1,
        "syndrome_weight": 43
      },
      {
        "iteration": 2,
        "syndrome_weight": 46
      },
      {
        "iteration": 3,
        "syndrome_weight": 44
      },
      {
        "iteration": 4,
        "syndrome_weight": 46
      },
      {
        "iteration": 5,
        "syndrome_weight": 43
      },
      {
        "iteration": 6,
        "syndrome_weight": 45
      },
      {
        "iteration": 7,
        "syndrome_weight": 42
      },
      {
        "iteration": 8,
        "syndrome_weight": 37
      },
      {
        "iteration": 9,
        "syndrome_weight": 41
      },
      {
        "iteration": 10,
        "syndrome_weight": 45
      },
      {
        "iteration": 15,
        "syndrome_weight": 33
      },
      {
        "iteration": 20,
        "syndrome_weight": 34
      },
      {
        "iteration": 25,
        "syndrome_weight": 45
      },
      {
        "iteration": 30,
        "syndrome_weight": 40
      },
      {
        "iteration": 35,
        "syndrome_weight": 28
      },
      {
        "iteration": 40,
        "syndrome_weight": 46
      }
    ]
  },
  "soft_decode_results": [
    {
      "variant": "raw_msb_symbol_order",
      "transform": "as_exported",
      "source_rank_score": 127.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "78a9fa14ddd0c492",
      "codeword174_sha256_16": "a04e4233e614dfc1",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 43
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 44
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 43
        },
        {
          "iteration": 6,
          "syndrome_weight": 45
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 41
        },
        {
          "iteration": 10,
          "syndrome_weight": 45
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 34
        },
        {
          "iteration": 25,
          "syndrome_weight": 45
        },
        {
          "iteration": 30,
          "syndrome_weight": 40
        },
        {
          "iteration": 35,
          "syndrome_weight": 28
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "raw_msb_symbol_order",
      "transform": "inverted_bits",
      "source_rank_score": 127.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "3199c0e4c0337f30",
      "codeword174_sha256_16": "c05155822206704f",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 31
        },
        {
          "iteration": 1,
          "syndrome_weight": 29
        },
        {
          "iteration": 2,
          "syndrome_weight": 45
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 34
        },
        {
          "iteration": 6,
          "syndrome_weight": 40
        },
        {
          "iteration": 7,
          "syndrome_weight": 41
        },
        {
          "iteration": 8,
          "syndrome_weight": 29
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 44
        },
        {
          "iteration": 15,
          "syndrome_weight": 39
        },
        {
          "iteration": 20,
          "syndrome_weight": 39
        },
        {
          "iteration": 25,
          "syndrome_weight": 43
        },
        {
          "iteration": 30,
          "syndrome_weight": 36
        },
        {
          "iteration": 35,
          "syndrome_weight": 38
        },
        {
          "iteration": 40,
          "syndrome_weight": 44
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "as_exported",
      "source_rank_score": 119.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "78a9fa14ddd0c492",
      "codeword174_sha256_16": "a04e4233e614dfc1",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 43
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 44
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 43
        },
        {
          "iteration": 6,
          "syndrome_weight": 45
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 41
        },
        {
          "iteration": 10,
          "syndrome_weight": 45
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 34
        },
        {
          "iteration": 25,
          "syndrome_weight": 45
        },
        {
          "iteration": 30,
          "syndrome_weight": 40
        },
        {
          "iteration": 35,
          "syndrome_weight": 28
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "inverted_bits",
      "source_rank_score": 119.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "3199c0e4c0337f30",
      "codeword174_sha256_16": "c05155822206704f",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 31
        },
        {
          "iteration": 1,
          "syndrome_weight": 29
        },
        {
          "iteration": 2,
          "syndrome_weight": 45
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 34
        },
        {
          "iteration": 6,
          "syndrome_weight": 40
        },
        {
          "iteration": 7,
          "syndrome_weight": 41
        },
        {
          "iteration": 8,
          "syndrome_weight": 29
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 44
        },
        {
          "iteration": 15,
          "syndrome_weight": 39
        },
        {
          "iteration": 20,
          "syndrome_weight": 39
        },
        {
          "iteration": 25,
          "syndrome_weight": 43
        },
        {
          "iteration": 30,
          "syndrome_weight": 36
        },
        {
          "iteration": 35,
          "syndrome_weight": 38
        },
        {
          "iteration": 40,
          "syndrome_weight": 44
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "reverse_codeword",
      "source_rank_score": 113.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "78a9fa14ddd0c492",
      "codeword174_sha256_16": "a04e4233e614dfc1",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 43
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 44
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 43
        },
        {
          "iteration": 6,
          "syndrome_weight": 45
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 41
        },
        {
          "iteration": 10,
          "syndrome_weight": 45
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 34
        },
        {
          "iteration": 25,
          "syndrome_weight": 45
        },
        {
          "iteration": 30,
          "syndrome_weight": 40
        },
        {
          "iteration": 35,
          "syndrome_weight": 28
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 113.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "3199c0e4c0337f30",
      "codeword174_sha256_16": "c05155822206704f",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 31
        },
        {
          "iteration": 1,
          "syndrome_weight": 29
        },
        {
          "iteration": 2,
          "syndrome_weight": 45
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 34
        },
        {
          "iteration": 6,
          "syndrome_weight": 40
        },
        {
          "iteration": 7,
          "syndrome_weight": 41
        },
        {
          "iteration": 8,
          "syndrome_weight": 29
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 44
        },
        {
          "iteration": 15,
          "syndrome_weight": 39
        },
        {
          "iteration": 20,
          "syndrome_weight": 39
        },
        {
          "iteration": 25,
          "syndrome_weight": 43
        },
        {
          "iteration": 30,
          "syndrome_weight": 36
        },
        {
          "iteration": 35,
          "syndrome_weight": 38
        },
        {
          "iteration": 40,
          "syndrome_weight": 44
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "reverse_codeword",
      "source_rank_score": 112.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "78a9fa14ddd0c492",
      "codeword174_sha256_16": "a04e4233e614dfc1",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 43
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 44
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 43
        },
        {
          "iteration": 6,
          "syndrome_weight": 45
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 41
        },
        {
          "iteration": 10,
          "syndrome_weight": 45
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 34
        },
        {
          "iteration": 25,
          "syndrome_weight": 45
        },
        {
          "iteration": 30,
          "syndrome_weight": 40
        },
        {
          "iteration": 35,
          "syndrome_weight": 28
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 112.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "3199c0e4c0337f30",
      "codeword174_sha256_16": "c05155822206704f",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 31
        },
        {
          "iteration": 1,
          "syndrome_weight": 29
        },
        {
          "iteration": 2,
          "syndrome_weight": 45
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 34
        },
        {
          "iteration": 6,
          "syndrome_weight": 40
        },
        {
          "iteration": 7,
          "syndrome_weight": 41
        },
        {
          "iteration": 8,
          "syndrome_weight": 29
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 44
        },
        {
          "iteration": 15,
          "syndrome_weight": 39
        },
        {
          "iteration": 20,
          "syndrome_weight": 39
        },
        {
          "iteration": 25,
          "syndrome_weight": 43
        },
        {
          "iteration": 30,
          "syndrome_weight": 36
        },
        {
          "iteration": 35,
          "syndrome_weight": 38
        },
        {
          "iteration": 40,
          "syndrome_weight": 44
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "as_exported",
      "source_rank_score": 101.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "78a9fa14ddd0c492",
      "codeword174_sha256_16": "a04e4233e614dfc1",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 43
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 44
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 43
        },
        {
          "iteration": 6,
          "syndrome_weight": 45
        },
        {
          "iteration": 7,
          "syndrome_weight": 42
        },
        {
          "iteration": 8,
          "syndrome_weight": 37
        },
        {
          "iteration": 9,
          "syndrome_weight": 41
        },
        {
          "iteration": 10,
          "syndrome_weight": 45
        },
        {
          "iteration": 15,
          "syndrome_weight": 33
        },
        {
          "iteration": 20,
          "syndrome_weight": 34
        },
        {
          "iteration": 25,
          "syndrome_weight": 45
        },
        {
          "iteration": 30,
          "syndrome_weight": 40
        },
        {
          "iteration": 35,
          "syndrome_weight": 28
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "inverted_bits",
      "source_rank_score": 101.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 28,
      "message91": null,
      "message91_sha256_16": "3199c0e4c0337f30",
      "codeword174_sha256_16": "c05155822206704f",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 31
        },
        {
          "iteration": 1,
          "syndrome_weight": 29
        },
        {
          "iteration": 2,
          "syndrome_weight": 45
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 46
        },
        {
          "iteration": 5,
          "syndrome_weight": 34
        },
        {
          "iteration": 6,
          "syndrome_weight": 40
        },
        {
          "iteration": 7,
          "syndrome_weight": 41
        },
        {
          "iteration": 8,
          "syndrome_weight": 29
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 44
        },
        {
          "iteration": 15,
          "syndrome_weight": 39
        },
        {
          "iteration": 20,
          "syndrome_weight": 39
        },
        {
          "iteration": 25,
          "syndrome_weight": 43
        },
        {
          "iteration": 30,
          "syndrome_weight": 36
        },
        {
          "iteration": 35,
          "syndrome_weight": 38
        },
        {
          "iteration": 40,
          "syndrome_weight": 44
        }
      ]
    },
    {
      "variant": "raw_msb_symbol_order",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 127.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "9543c5d603c673e9",
      "codeword174_sha256_16": "c5e761d71d7175e8",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 31
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 41
        },
        {
          "iteration": 5,
          "syndrome_weight": 39
        },
        {
          "iteration": 6,
          "syndrome_weight": 37
        },
        {
          "iteration": 7,
          "syndrome_weight": 37
        },
        {
          "iteration": 8,
          "syndrome_weight": 41
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 41
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 38
        },
        {
          "iteration": 25,
          "syndrome_weight": 32
        },
        {
          "iteration": 30,
          "syndrome_weight": 43
        },
        {
          "iteration": 35,
          "syndrome_weight": 43
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 119.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "9543c5d603c673e9",
      "codeword174_sha256_16": "c5e761d71d7175e8",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 31
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 41
        },
        {
          "iteration": 5,
          "syndrome_weight": 39
        },
        {
          "iteration": 6,
          "syndrome_weight": 37
        },
        {
          "iteration": 7,
          "syndrome_weight": 37
        },
        {
          "iteration": 8,
          "syndrome_weight": 41
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 41
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 38
        },
        {
          "iteration": 25,
          "syndrome_weight": 32
        },
        {
          "iteration": 30,
          "syndrome_weight": 43
        },
        {
          "iteration": 35,
          "syndrome_weight": 43
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "inverted_bits",
      "source_rank_score": 113.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "9543c5d603c673e9",
      "codeword174_sha256_16": "c5e761d71d7175e8",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 31
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 41
        },
        {
          "iteration": 5,
          "syndrome_weight": 39
        },
        {
          "iteration": 6,
          "syndrome_weight": 37
        },
        {
          "iteration": 7,
          "syndrome_weight": 37
        },
        {
          "iteration": 8,
          "syndrome_weight": 41
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 41
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 38
        },
        {
          "iteration": 25,
          "syndrome_weight": 32
        },
        {
          "iteration": 30,
          "syndrome_weight": 43
        },
        {
          "iteration": 35,
          "syndrome_weight": 43
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "inverted_bits",
      "source_rank_score": 112.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "9543c5d603c673e9",
      "codeword174_sha256_16": "c5e761d71d7175e8",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 31
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 41
        },
        {
          "iteration": 5,
          "syndrome_weight": 39
        },
        {
          "iteration": 6,
          "syndrome_weight": 37
        },
        {
          "iteration": 7,
          "syndrome_weight": 37
        },
        {
          "iteration": 8,
          "syndrome_weight": 41
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 41
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 38
        },
        {
          "iteration": 25,
          "syndrome_weight": 32
        },
        {
          "iteration": 30,
          "syndrome_weight": 43
        },
        {
          "iteration": 35,
          "syndrome_weight": 43
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "reverse_inverted_codeword",
      "source_rank_score": 101.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 31,
      "message91": null,
      "message91_sha256_16": "9543c5d603c673e9",
      "codeword174_sha256_16": "c5e761d71d7175e8",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 31
        },
        {
          "iteration": 2,
          "syndrome_weight": 46
        },
        {
          "iteration": 3,
          "syndrome_weight": 40
        },
        {
          "iteration": 4,
          "syndrome_weight": 41
        },
        {
          "iteration": 5,
          "syndrome_weight": 39
        },
        {
          "iteration": 6,
          "syndrome_weight": 37
        },
        {
          "iteration": 7,
          "syndrome_weight": 37
        },
        {
          "iteration": 8,
          "syndrome_weight": 41
        },
        {
          "iteration": 9,
          "syndrome_weight": 39
        },
        {
          "iteration": 10,
          "syndrome_weight": 41
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 38
        },
        {
          "iteration": 25,
          "syndrome_weight": 32
        },
        {
          "iteration": 30,
          "syndrome_weight": 43
        },
        {
          "iteration": 35,
          "syndrome_weight": 43
        },
        {
          "iteration": 40,
          "syndrome_weight": 46
        }
      ]
    },
    {
      "variant": "raw_msb_symbol_order",
      "transform": "reverse_codeword",
      "source_rank_score": 127.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "0a905b169e9f9c25",
      "codeword174_sha256_16": "b022892192473a8d",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 49
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 39
        },
        {
          "iteration": 5,
          "syndrome_weight": 33
        },
        {
          "iteration": 6,
          "syndrome_weight": 38
        },
        {
          "iteration": 7,
          "syndrome_weight": 47
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 46
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 36
        },
        {
          "iteration": 25,
          "syndrome_weight": 42
        },
        {
          "iteration": 30,
          "syndrome_weight": 44
        },
        {
          "iteration": 35,
          "syndrome_weight": 35
        },
        {
          "iteration": 40,
          "syndrome_weight": 39
        }
      ]
    },
    {
      "variant": "lsb_within_each_tone",
      "transform": "reverse_codeword",
      "source_rank_score": 119.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "0a905b169e9f9c25",
      "codeword174_sha256_16": "b022892192473a8d",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 49
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 39
        },
        {
          "iteration": 5,
          "syndrome_weight": 33
        },
        {
          "iteration": 6,
          "syndrome_weight": 38
        },
        {
          "iteration": 7,
          "syndrome_weight": 47
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 46
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 36
        },
        {
          "iteration": 25,
          "syndrome_weight": 42
        },
        {
          "iteration": 30,
          "syndrome_weight": 44
        },
        {
          "iteration": 35,
          "syndrome_weight": 35
        },
        {
          "iteration": 40,
          "syndrome_weight": 39
        }
      ]
    },
    {
      "variant": "reverse_symbol_order",
      "transform": "as_exported",
      "source_rank_score": 113.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "0a905b169e9f9c25",
      "codeword174_sha256_16": "b022892192473a8d",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 49
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 39
        },
        {
          "iteration": 5,
          "syndrome_weight": 33
        },
        {
          "iteration": 6,
          "syndrome_weight": 38
        },
        {
          "iteration": 7,
          "syndrome_weight": 47
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 46
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 36
        },
        {
          "iteration": 25,
          "syndrome_weight": 42
        },
        {
          "iteration": 30,
          "syndrome_weight": 44
        },
        {
          "iteration": 35,
          "syndrome_weight": 35
        },
        {
          "iteration": 40,
          "syndrome_weight": 39
        }
      ]
    },
    {
      "variant": "reverse_full_bitstream",
      "transform": "as_exported",
      "source_rank_score": 112.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "0a905b169e9f9c25",
      "codeword174_sha256_16": "b022892192473a8d",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 49
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 39
        },
        {
          "iteration": 5,
          "syndrome_weight": 33
        },
        {
          "iteration": 6,
          "syndrome_weight": 38
        },
        {
          "iteration": 7,
          "syndrome_weight": 47
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 46
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 36
        },
        {
          "iteration": 25,
          "syndrome_weight": 42
        },
        {
          "iteration": 30,
          "syndrome_weight": 44
        },
        {
          "iteration": 35,
          "syndrome_weight": 35
        },
        {
          "iteration": 40,
          "syndrome_weight": 39
        }
      ]
    },
    {
      "variant": "lab_mask_xor_preview",
      "transform": "reverse_codeword",
      "source_rank_score": 101.195892,
      "source_llr_stats": {
        "count": 174,
        "avg_abs": 2.298973,
        "min_abs": 0.012672,
        "max_abs": 4.421458,
        "positive": 141,
        "negative": 33,
        "zero": 0
      },
      "success": false,
      "iterations_used": 40,
      "final_syndrome_weight": 33,
      "message91": null,
      "message91_sha256_16": "0a905b169e9f9c25",
      "codeword174_sha256_16": "b022892192473a8d",
      "trace": [
        {
          "iteration": 0,
          "syndrome_weight": 41
        },
        {
          "iteration": 1,
          "syndrome_weight": 40
        },
        {
          "iteration": 2,
          "syndrome_weight": 49
        },
        {
          "iteration": 3,
          "syndrome_weight": 41
        },
        {
          "iteration": 4,
          "syndrome_weight": 39
        },
        {
          "iteration": 5,
          "syndrome_weight": 33
        },
        {
          "iteration": 6,
          "syndrome_weight": 38
        },
        {
          "iteration": 7,
          "syndrome_weight": 47
        },
        {
          "iteration": 8,
          "syndrome_weight": 44
        },
        {
          "iteration": 9,
          "syndrome_weight": 43
        },
        {
          "iteration": 10,
          "syndrome_weight": 46
        },
        {
          "iteration": 15,
          "syndrome_weight": 41
        },
        {
          "iteration": 20,
          "syndrome_weight": 36
        },
        {
          "iteration": 25,
          "syndrome_weight": 42
        },
        {
          "iteration": 30,
          "syndrome_weight": 44
        },
        {
          "iteration": 35,
          "syndrome_weight": 35
        },
        {
          "iteration": 40,
          "syndrome_weight": 39
        }
      ]
    }
  ],
  "decodes": [],
  "outputs": {
    "ldpc_soft_decode_json": "/decoders/js8_decoder/runtime/ldpc_soft_decode/step33_ldpc_soft_decode.json"
  },
  "warnings": [
    "Step 33 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."
}
