{
  "ok": true,
  "tool": "webftr-js8-post-ldpc-info87-runtime-export-probe",
  "tool_version": "step63-source-exact-interleaver-whitening-index-extract",
  "rx_only_guard": {
    "tx": false,
    "ptt": false,
    "tune": false,
    "send": false,
    "js8call_runtime_control": false
  },
  "no_gui_runtime_started": true,
  "input_wav": "/decoders/js8_decoder/runtime/step83_quick_windows/js8_quick_selected_window.wav",
  "log_dir": "/decoders/js8_decoder/logs",
  "output_dir": "/decoders/js8_decoder/runtime/step83_post_ldpc_info87",
  "candidate_json": "/decoders/js8_decoder/runtime/step83_post_ldpc_info87/js8_quick_selected_window_fec_candidate_step17.json",
  "matrix_error": null,
  "soft_error": null,
  "matrix_ok": true,
  "soft_ok": true,
  "runtime_info87_rows_count": 48,
  "zero_distance_candidate_count": 0,
  "best_distance": 3,
  "best_runtime_info87_row": {
    "source": "matrix_probe.all_matrix_probes",
    "row_name": "matrix_probe_10",
    "info87_bits": [
      1,
      1,
      1,
      0,
      0,
      0,
      0,
      1,
      1,
      0,
      0,
      1,
      0,
      0,
      1,
      1,
      1,
      1,
      0,
      0,
      1,
      0,
      1,
      1,
      0,
      1,
      0,
      1,
      1,
      1,
      1,
      0,
      1,
      0,
      0,
      1,
      1,
      0,
      1,
      0,
      1,
      1,
      1,
      0,
      1,
      1,
      0,
      0,
      1,
      0,
      1,
      1,
      0,
      0,
      1,
      1,
      1,
      0,
      0,
      1,
      0,
      1,
      1,
      1,
      0,
      0,
      1,
      1,
      0,
      1,
      1,
      0,
      0,
      1,
      0,
      1,
      0,
      0,
      1,
      1,
      1,
      0,
      0,
      0,
      1,
      0,
      0
    ],
    "info87_bitstring": "111000011001001111001011010111101001101011101100101100111001011100110110010100111000100",
    "info87_llr": [
      -3.047977,
      -4.155958,
      -0.023191,
      4.207657,
      1.410739,
      1.665052,
      1.454181,
      -2.438653,
      -4.194521,
      2.219934,
      0.11664,
      -3.560461,
      0.334628,
      1.637406,
      -0.59767,
      -0.397646,
      -1.721757,
      -2.878713,
      1.368584,
      1.213799,
      -3.584166,
      2.541138,
      -1.561438,
      -2.914095,
      3.62632,
      -0.897682,
      1.631603,
      -1.885947,
      -0.619573,
      -3.082027,
      -0.779222,
      2.234197,
      -4.180876,
      0.087415,
      0.761545,
      -1.416808,
      -3.570442,
      0.319197,
      -1.933004,
      -0.058456,
      -0.366029,
      -3.921789,
      -0.168437,
      0.08294,
      -3.97418,
      -0.830881,
      1.718498,
      2.287441,
      -1.436738,
      4.092575,
      0.10321,
      -3.635987,
      0.421501,
      3.123085,
      -2.173662,
      -3.277529,
      -0.140416,
      2.116817,
      2.52803,
      -3.286767,
      2.060533,
      -4.164351,
      -0.178782,
      -2.566592,
      2.471665,
      2.398868,
      -2.325211,
      -3.82675,
      0.441255,
      -2.565229,
      -1.451881,
      0.291266,
      3.020824,
      -1.326915,
      2.376504,
      -2.359538,
      0.068614,
      3.832182,
      -0.611708,
      -0.495566,
      -3.513463,
      4.133556,
      1.729699,
      0.99505,
      -2.936336,
      0.077355,
      1.766309
    ],
    "info87_llr_count": 87,
    "least_reliable_info87_indices": [
      2,
      39,
      76,
      85,
      43,
      33,
      50,
      10,
      56,
      42,
      62,
      71,
      37,
      12,
      40,
      15,
      52,
      68
    ],
    "message174_crc12": {
      "ok": true,
      "distance": 3,
      "crc_match": false,
      "received_crc12": 2500,
      "computed_crc12": 2188,
      "message_preview_12chars": "uPFBNfhiivSs",
      "message_words_6bit": [
        56,
        25,
        15,
        11,
        23,
        41,
        43,
        44,
        44,
        57,
        28,
        54
      ]
    },
    "source_index_context": {
      "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
      "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
      "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
      "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
    },
    "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits",
    "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver"
  },
  "runtime_info87_rows_preview": [
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_10",
      "info87_bits": [
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0
      ],
      "info87_bitstring": "111000011001001111001011010111101001101011101100101100111001011100110110010100111000100",
      "info87_llr": [
        -3.047977,
        -4.155958,
        -0.023191,
        4.207657,
        1.410739,
        1.665052,
        1.454181,
        -2.438653,
        -4.194521,
        2.219934,
        0.11664,
        -3.560461,
        0.334628,
        1.637406,
        -0.59767,
        -0.397646,
        -1.721757,
        -2.878713,
        1.368584,
        1.213799,
        -3.584166,
        2.541138,
        -1.561438,
        -2.914095,
        3.62632,
        -0.897682,
        1.631603,
        -1.885947,
        -0.619573,
        -3.082027,
        -0.779222,
        2.234197,
        -4.180876,
        0.087415,
        0.761545,
        -1.416808,
        -3.570442,
        0.319197,
        -1.933004,
        -0.058456,
        -0.366029,
        -3.921789,
        -0.168437,
        0.08294,
        -3.97418,
        -0.830881,
        1.718498,
        2.287441,
        -1.436738,
        4.092575,
        0.10321,
        -3.635987,
        0.421501,
        3.123085,
        -2.173662,
        -3.277529,
        -0.140416,
        2.116817,
        2.52803,
        -3.286767,
        2.060533,
        -4.164351,
        -0.178782,
        -2.566592,
        2.471665,
        2.398868,
        -2.325211,
        -3.82675,
        0.441255,
        -2.565229,
        -1.451881,
        0.291266,
        3.020824,
        -1.326915,
        2.376504,
        -2.359538,
        0.068614,
        3.832182,
        -0.611708,
        -0.495566,
        -3.513463,
        4.133556,
        1.729699,
        0.99505,
        -2.936336,
        0.077355,
        1.766309
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        2,
        39,
        76,
        85,
        43,
        33,
        50,
        10,
        56,
        42,
        62,
        71,
        37,
        12,
        40,
        15,
        52,
        68
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 3,
        "crc_match": false,
        "received_crc12": 2500,
        "computed_crc12": 2188,
        "message_preview_12chars": "uPFBNfhiivSs",
        "message_words_6bit": [
          56,
          25,
          15,
          11,
          23,
          41,
          43,
          44,
          44,
          57,
          28,
          54
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits",
      "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver"
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_10",
      "info87_bits": [
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0
      ],
      "info87_bitstring": "111000011001001111001011010111101001101011101100101100111001011100110110010100111000100",
      "info87_llr": [
        -3.047977,
        -4.155958,
        -0.023191,
        4.207657,
        1.410739,
        1.665052,
        1.454181,
        -2.438653,
        -4.194521,
        2.219934,
        0.11664,
        -3.560461,
        0.334628,
        1.637406,
        -0.59767,
        -0.397646,
        -1.721757,
        -2.878713,
        1.368584,
        1.213799,
        -3.584166,
        2.541138,
        -1.561438,
        -2.914095,
        3.62632,
        -0.897682,
        1.631603,
        -1.885947,
        -0.619573,
        -3.082027,
        -0.779222,
        2.234197,
        -4.180876,
        0.087415,
        0.761545,
        -1.416808,
        -3.570442,
        0.319197,
        -1.933004,
        -0.058456,
        -0.366029,
        -3.921789,
        -0.168437,
        0.08294,
        -3.97418,
        -0.830881,
        1.718498,
        2.287441,
        -1.436738,
        4.092575,
        0.10321,
        -3.635987,
        0.421501,
        3.123085,
        -2.173662,
        -3.277529,
        -0.140416,
        2.116817,
        2.52803,
        -3.286767,
        2.060533,
        -4.164351,
        -0.178782,
        -2.566592,
        2.471665,
        2.398868,
        -2.325211,
        -3.82675,
        0.441255,
        -2.565229,
        -1.451881,
        0.291266,
        3.020824,
        -1.326915,
        2.376504,
        -2.359538,
        0.068614,
        3.832182,
        -0.611708,
        -0.495566,
        -3.513463,
        4.133556,
        1.729699,
        0.99505,
        -2.936336,
        0.077355,
        1.766309
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        2,
        39,
        76,
        85,
        43,
        33,
        50,
        10,
        56,
        42,
        62,
        71,
        37,
        12,
        40,
        15,
        52,
        68
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 3,
        "crc_match": false,
        "received_crc12": 2500,
        "computed_crc12": 2188,
        "message_preview_12chars": "uPFBNfhiivSs",
        "message_words_6bit": [
          56,
          25,
          15,
          11,
          23,
          41,
          43,
          44,
          44,
          57,
          28,
          54
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "soft_decode.post_ldpc_info87_llr_rows",
      "row_name": "soft_export_5",
      "info87_bits": [
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0
      ],
      "info87_bitstring": "101111010110100000000011111100100010001100010010000000111001011000010000100111011111010",
      "info87_llr": [
        -3.595107,
        1.1952,
        -3.149991,
        -0.949382,
        -1.809129,
        -2.959276,
        0.993064,
        -3.458174,
        2.701443,
        -3.878589,
        -2.646413,
        0.663626,
        -0.008688,
        0.089283,
        2.965357,
        2.439579,
        0.945319,
        3.130713,
        1.620108,
        0.706913,
        -0.377184,
        1.63158,
        -1.450866,
        -3.194903,
        -2.739804,
        -4.097975,
        -1.33459,
        -0.186534,
        1.445121,
        0.094196,
        -1.206337,
        0.186371,
        0.907532,
        3.084383,
        -2.287204,
        2.058558,
        2.314691,
        2.305738,
        -2.565229,
        -0.881087,
        1.865991,
        -0.272949,
        3.744063,
        -1.944022,
        1.891631,
        0.934905,
        -4.031745,
        2.66712,
        3.024483,
        1.953202,
        3.123085,
        2.004651,
        2.978029,
        1.08372,
        -2.69733,
        -1.34906,
        -3.584166,
        0.198463,
        2.502631,
        -0.147196,
        0.378595,
        -1.626016,
        -0.068263,
        0.391078,
        0.064433,
        0.928286,
        1.616675,
        -1.511443,
        3.1736,
        -0.100065,
        0.305148,
        3.670105,
        -0.338181,
        1.903056,
        0.293322,
        -2.779974,
        -0.608455,
        -1.145169,
        0.466608,
        -1.919288,
        -3.169398,
        -0.13226,
        -1.71415,
        -1.993399,
        0.968797,
        -1.410878,
        2.376504
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        12,
        64,
        62,
        13,
        29,
        69,
        81,
        59,
        31,
        27,
        57,
        41,
        74,
        70,
        72,
        20,
        60,
        63
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 3,
        "crc_match": false,
        "received_crc12": 3834,
        "computed_crc12": 1626,
        "message_preview_12chars": "lMW3yYCI0vOG",
        "message_words_6bit": [
          47,
          22,
          32,
          3,
          60,
          34,
          12,
          18,
          0,
          57,
          24,
          16
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "soft_meta": {}
    },
    {
      "source": "soft_decode.soft_decode_results",
      "row_name": "soft_result_5",
      "info87_bits": [
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0
      ],
      "info87_bitstring": "101111010110100000000011111100100010001100010010000000111001011000010000100111011111010",
      "info87_llr": [
        -3.595107,
        1.1952,
        -3.149991,
        -0.949382,
        -1.809129,
        -2.959276,
        0.993064,
        -3.458174,
        2.701443,
        -3.878589,
        -2.646413,
        0.663626,
        -0.008688,
        0.089283,
        2.965357,
        2.439579,
        0.945319,
        3.130713,
        1.620108,
        0.706913,
        -0.377184,
        1.63158,
        -1.450866,
        -3.194903,
        -2.739804,
        -4.097975,
        -1.33459,
        -0.186534,
        1.445121,
        0.094196,
        -1.206337,
        0.186371,
        0.907532,
        3.084383,
        -2.287204,
        2.058558,
        2.314691,
        2.305738,
        -2.565229,
        -0.881087,
        1.865991,
        -0.272949,
        3.744063,
        -1.944022,
        1.891631,
        0.934905,
        -4.031745,
        2.66712,
        3.024483,
        1.953202,
        3.123085,
        2.004651,
        2.978029,
        1.08372,
        -2.69733,
        -1.34906,
        -3.584166,
        0.198463,
        2.502631,
        -0.147196,
        0.378595,
        -1.626016,
        -0.068263,
        0.391078,
        0.064433,
        0.928286,
        1.616675,
        -1.511443,
        3.1736,
        -0.100065,
        0.305148,
        3.670105,
        -0.338181,
        1.903056,
        0.293322,
        -2.779974,
        -0.608455,
        -1.145169,
        0.466608,
        -1.919288,
        -3.169398,
        -0.13226,
        -1.71415,
        -1.993399,
        0.968797,
        -1.410878,
        2.376504
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        12,
        64,
        62,
        13,
        29,
        69,
        81,
        59,
        31,
        27,
        57,
        41,
        74,
        70,
        72,
        20,
        60,
        63
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 3,
        "crc_match": false,
        "received_crc12": 3834,
        "computed_crc12": 1626,
        "message_preview_12chars": "lMW3yYCI0vOG",
        "message_words_6bit": [
          47,
          22,
          32,
          3,
          60,
          34,
          12,
          18,
          0,
          57,
          24,
          16
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits",
      "variant": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword"
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_13",
      "info87_bits": [
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0
      ],
      "info87_bitstring": "000100110010011001000001110100101010000100011001001010111001000111000101110111001001010",
      "info87_llr": [
        0.023191,
        0.109152,
        0.003204,
        -0.005848,
        1.467241,
        1.322815,
        -0.441255,
        -0.946443,
        0.106784,
        0.089358,
        -0.701319,
        0.046473,
        1.416808,
        -2.425171,
        -0.064905,
        0.439493,
        0.495566,
        -1.400655,
        0.991379,
        0.370453,
        -0.094143,
        2.372739,
        0.779222,
        -2.124451,
        -0.270012,
        -0.951204,
        0.159668,
        -0.222539,
        2.566592,
        3.609661,
        -0.355064,
        0.18297,
        -4.092575,
        0.739408,
        -0.783114,
        0.746296,
        1.174557,
        1.652756,
        1.721757,
        -1.27981,
        0.261761,
        0.033074,
        0.375346,
        -1.119567,
        -4.133556,
        1.083019,
        0.592435,
        -0.961822,
        2.325211,
        3.987519,
        -0.352283,
        1.4342,
        -1.522432,
        1.243735,
        -0.087415,
        -3.130713,
        -0.65147,
        1.135731,
        1.819281,
        0.137144,
        3.047977,
        2.959276,
        0.163216,
        -3.305025,
        -1.665216,
        -2.369784,
        2.057331,
        0.863014,
        1.436738,
        -2.392533,
        2.494333,
        -1.2965,
        -0.46386,
        -0.046885,
        0.397646,
        -1.20036,
        -0.134443,
        0.000596,
        3.104401,
        1.080763,
        -1.353406,
        1.490899,
        0.337135,
        -1.428769,
        2.173662,
        -1.450192,
        1.205602
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        77,
        2,
        3,
        0,
        41,
        11,
        73,
        14,
        54,
        9,
        20,
        8,
        1,
        76,
        59,
        26,
        62,
        31
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 3658,
        "computed_crc12": 3858,
        "message_preview_12chars": "4oP1qg4PAv75",
        "message_words_6bit": [
          4,
          50,
          25,
          1,
          52,
          42,
          4,
          25,
          10,
          57,
          7,
          5
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword",
      "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_15",
      "info87_bits": [
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1
      ],
      "info87_bitstring": "001011111000011011110000000001011011111011000001110011100010111111010111001100110111111",
      "info87_llr": [
        0.02153,
        0.107486,
        0.023972,
        0.000833,
        -1.369132,
        -1.328593,
        -0.428425,
        -0.931299,
        -0.000517,
        0.003968,
        -0.171071,
        -0.016894,
        1.932919,
        -1.734539,
        -0.186482,
        0.281054,
        -1.82367,
        -1.446893,
        -0.760804,
        -0.68079,
        0.195882,
        1.42747,
        0.734635,
        2.087743,
        0.356429,
        0.345315,
        0.157558,
        0.076637,
        3.135968,
        -2.348588,
        0.183124,
        -0.25836,
        -1.208803,
        0.779418,
        -0.628706,
        -0.667749,
        -0.567925,
        -0.917604,
        -0.148054,
        0.099794,
        -0.109547,
        -0.088963,
        0.936453,
        1.399062,
        1.511435,
        1.071481,
        0.19658,
        -0.283961,
        -2.815758,
        -3.878589,
        0.80317,
        0.8399,
        -1.96837,
        -0.721557,
        -0.085492,
        2.439579,
        0.394728,
        0.345352,
        -1.199431,
        0.605074,
        -3.235945,
        -2.723723,
        -0.007436,
        -0.285474,
        -2.828506,
        -1.264543,
        1.217978,
        -0.84723,
        0.963339,
        -2.368508,
        -2.162966,
        -1.040933,
        0.103309,
        0.17878,
        -0.989382,
        -1.61828,
        0.001049,
        0.000656,
        -0.431521,
        -0.448768,
        1.338373,
        -1.3742,
        -0.718002,
        -0.760588,
        -3.463112,
        -0.822402,
        -0.871297
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        8,
        77,
        3,
        76,
        9,
        62,
        11,
        0,
        2,
        27,
        54,
        41,
        39,
        72,
        1,
        40,
        38,
        26
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 2495,
        "computed_crc12": 186,
        "message_preview_12chars": "BuRm1Rx1pY+N",
        "message_words_6bit": [
          11,
          56,
          27,
          48,
          1,
          27,
          59,
          1,
          51,
          34,
          63,
          23
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits",
      "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_6",
      "info87_bits": [
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0
      ],
      "info87_bitstring": "110100000111011001000011111000001011000100011101001001110101000111100101110101000111010",
      "info87_llr": [
        -0.107486,
        -0.02153,
        0.000853,
        0.000395,
        1.453559,
        1.308647,
        0.931299,
        0.428425,
        0.004579,
        -0.000456,
        -0.700738,
        -0.066116,
        1.734539,
        -1.932919,
        -0.323275,
        0.190468,
        0.479533,
        -1.400655,
        0.510131,
        0.895273,
        0.210905,
        2.366177,
        -0.396257,
        -2.124451,
        -0.092593,
        -0.925269,
        -0.443723,
        0.074379,
        2.875371,
        3.609661,
        0.652368,
        0.346167,
        -4.092575,
        1.601492,
        -1.475376,
        -0.649796,
        0.644605,
        1.379848,
        1.721757,
        -1.020343,
        0.571953,
        0.380363,
        0.353638,
        -1.047591,
        -4.133556,
        -1.913352,
        1.32986,
        -0.455157,
        2.304873,
        3.987519,
        -0.78203,
        0.875538,
        1.751632,
        -1.094196,
        -0.001307,
        -3.130713,
        0.446137,
        -1.083605,
        0.829256,
        0.148798,
        3.037092,
        2.959276,
        0.073203,
        -2.986277,
        -1.763023,
        -2.364375,
        -2.089509,
        1.266954,
        0.761832,
        -2.392533,
        2.486479,
        -1.29019,
        -1.261046,
        -0.358262,
        0.374588,
        -1.20036,
        -0.017459,
        -0.083052,
        3.056828,
        1.059509,
        1.509939,
        -1.226631,
        -0.69291,
        -0.872813,
        2.159354,
        -1.450192,
        1.106864
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        3,
        9,
        2,
        54,
        8,
        76,
        1,
        11,
        62,
        27,
        77,
        24,
        0,
        59,
        15,
        20,
        14,
        31
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 2618,
        "computed_crc12": 2076,
        "message_preview_12chars": "q7P3uB4T9r7b",
        "message_words_6bit": [
          52,
          7,
          25,
          3,
          56,
          11,
          4,
          29,
          9,
          53,
          7,
          37
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword",
      "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_13",
      "info87_bits": [
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0
      ],
      "info87_bitstring": "000100110010011001000001110100101010000100011001001010111001000111000101110111001001010",
      "info87_llr": [
        0.023191,
        0.109152,
        0.003204,
        -0.005848,
        1.467241,
        1.322815,
        -0.441255,
        -0.946443,
        0.106784,
        0.089358,
        -0.701319,
        0.046473,
        1.416808,
        -2.425171,
        -0.064905,
        0.439493,
        0.495566,
        -1.400655,
        0.991379,
        0.370453,
        -0.094143,
        2.372739,
        0.779222,
        -2.124451,
        -0.270012,
        -0.951204,
        0.159668,
        -0.222539,
        2.566592,
        3.609661,
        -0.355064,
        0.18297,
        -4.092575,
        0.739408,
        -0.783114,
        0.746296,
        1.174557,
        1.652756,
        1.721757,
        -1.27981,
        0.261761,
        0.033074,
        0.375346,
        -1.119567,
        -4.133556,
        1.083019,
        0.592435,
        -0.961822,
        2.325211,
        3.987519,
        -0.352283,
        1.4342,
        -1.522432,
        1.243735,
        -0.087415,
        -3.130713,
        -0.65147,
        1.135731,
        1.819281,
        0.137144,
        3.047977,
        2.959276,
        0.163216,
        -3.305025,
        -1.665216,
        -2.369784,
        2.057331,
        0.863014,
        1.436738,
        -2.392533,
        2.494333,
        -1.2965,
        -0.46386,
        -0.046885,
        0.397646,
        -1.20036,
        -0.134443,
        0.000596,
        3.104401,
        1.080763,
        -1.353406,
        1.490899,
        0.337135,
        -1.428769,
        2.173662,
        -1.450192,
        1.205602
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        77,
        2,
        3,
        0,
        41,
        11,
        73,
        14,
        54,
        9,
        20,
        8,
        1,
        76,
        59,
        26,
        62,
        31
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 3658,
        "computed_crc12": 3858,
        "message_preview_12chars": "4oP1qg4PAv75",
        "message_words_6bit": [
          4,
          50,
          25,
          1,
          52,
          42,
          4,
          25,
          10,
          57,
          7,
          5
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_15",
      "info87_bits": [
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1
      ],
      "info87_bitstring": "001011111000011011110000000001011011111011000001110011100010111111010111001100110111111",
      "info87_llr": [
        0.02153,
        0.107486,
        0.023972,
        0.000833,
        -1.369132,
        -1.328593,
        -0.428425,
        -0.931299,
        -0.000517,
        0.003968,
        -0.171071,
        -0.016894,
        1.932919,
        -1.734539,
        -0.186482,
        0.281054,
        -1.82367,
        -1.446893,
        -0.760804,
        -0.68079,
        0.195882,
        1.42747,
        0.734635,
        2.087743,
        0.356429,
        0.345315,
        0.157558,
        0.076637,
        3.135968,
        -2.348588,
        0.183124,
        -0.25836,
        -1.208803,
        0.779418,
        -0.628706,
        -0.667749,
        -0.567925,
        -0.917604,
        -0.148054,
        0.099794,
        -0.109547,
        -0.088963,
        0.936453,
        1.399062,
        1.511435,
        1.071481,
        0.19658,
        -0.283961,
        -2.815758,
        -3.878589,
        0.80317,
        0.8399,
        -1.96837,
        -0.721557,
        -0.085492,
        2.439579,
        0.394728,
        0.345352,
        -1.199431,
        0.605074,
        -3.235945,
        -2.723723,
        -0.007436,
        -0.285474,
        -2.828506,
        -1.264543,
        1.217978,
        -0.84723,
        0.963339,
        -2.368508,
        -2.162966,
        -1.040933,
        0.103309,
        0.17878,
        -0.989382,
        -1.61828,
        0.001049,
        0.000656,
        -0.431521,
        -0.448768,
        1.338373,
        -1.3742,
        -0.718002,
        -0.760588,
        -3.463112,
        -0.822402,
        -0.871297
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        8,
        77,
        3,
        76,
        9,
        62,
        11,
        0,
        2,
        27,
        54,
        41,
        39,
        72,
        1,
        40,
        38,
        26
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 2495,
        "computed_crc12": 186,
        "message_preview_12chars": "BuRm1Rx1pY+N",
        "message_words_6bit": [
          11,
          56,
          27,
          48,
          1,
          27,
          59,
          1,
          51,
          34,
          63,
          23
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_6",
      "info87_bits": [
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0
      ],
      "info87_bitstring": "110100000111011001000011111000001011000100011101001001110101000111100101110101000111010",
      "info87_llr": [
        -0.107486,
        -0.02153,
        0.000853,
        0.000395,
        1.453559,
        1.308647,
        0.931299,
        0.428425,
        0.004579,
        -0.000456,
        -0.700738,
        -0.066116,
        1.734539,
        -1.932919,
        -0.323275,
        0.190468,
        0.479533,
        -1.400655,
        0.510131,
        0.895273,
        0.210905,
        2.366177,
        -0.396257,
        -2.124451,
        -0.092593,
        -0.925269,
        -0.443723,
        0.074379,
        2.875371,
        3.609661,
        0.652368,
        0.346167,
        -4.092575,
        1.601492,
        -1.475376,
        -0.649796,
        0.644605,
        1.379848,
        1.721757,
        -1.020343,
        0.571953,
        0.380363,
        0.353638,
        -1.047591,
        -4.133556,
        -1.913352,
        1.32986,
        -0.455157,
        2.304873,
        3.987519,
        -0.78203,
        0.875538,
        1.751632,
        -1.094196,
        -0.001307,
        -3.130713,
        0.446137,
        -1.083605,
        0.829256,
        0.148798,
        3.037092,
        2.959276,
        0.073203,
        -2.986277,
        -1.763023,
        -2.364375,
        -2.089509,
        1.266954,
        0.761832,
        -2.392533,
        2.486479,
        -1.29019,
        -1.261046,
        -0.358262,
        0.374588,
        -1.20036,
        -0.017459,
        -0.083052,
        3.056828,
        1.059509,
        1.509939,
        -1.226631,
        -0.69291,
        -0.872813,
        2.159354,
        -1.450192,
        1.106864
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        3,
        9,
        2,
        54,
        8,
        76,
        1,
        11,
        62,
        27,
        77,
        24,
        0,
        59,
        15,
        20,
        14,
        31
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 2618,
        "computed_crc12": 2076,
        "message_preview_12chars": "q7P3uB4T9r7b",
        "message_words_6bit": [
          52,
          7,
          25,
          3,
          56,
          11,
          4,
          29,
          9,
          53,
          7,
          37
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "soft_decode.post_ldpc_info87_llr_rows",
      "row_name": "soft_export_2",
      "info87_bits": [
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0
      ],
      "info87_bitstring": "000011010010100011010000111010010111110101010111110100000011001001110011000100001000110",
      "info87_llr": [
        0.109152,
        0.15427,
        3.436287,
        1.208803,
        -0.180994,
        -0.134256,
        1.855615,
        -3.019462,
        0.913454,
        2.847421,
        -0.111623,
        0.090034,
        -1.840237,
        -0.103331,
        0.31857,
        3.211936,
        -1.193577,
        -0.459023,
        2.898272,
        -1.163605,
        0.15367,
        3.511598,
        1.407238,
        0.765997,
        -0.395442,
        -0.921153,
        -0.503957,
        2.947802,
        -0.561645,
        0.435152,
        3.508884,
        -2.725181,
        0.78486,
        -2.425171,
        0.003413,
        0.0463,
        -1.511435,
        -0.633942,
        1.129622,
        -3.717748,
        0.191774,
        -2.619239,
        3.249021,
        -0.134714,
        -0.045788,
        -2.346952,
        -1.099571,
        -1.289165,
        -0.660757,
        -0.013967,
        0.617033,
        -2.179373,
        1.398706,
        1.142309,
        0.185494,
        0.32533,
        2.389458,
        1.01768,
        -1.705081,
        -0.566319,
        0.51066,
        2.62823,
        -0.225079,
        0.807113,
        1.574741,
        -0.462502,
        -0.946443,
        -0.658067,
        2.74253,
        0.148054,
        -2.362161,
        -0.046043,
        0.436728,
        0.527376,
        1.059178,
        -0.000613,
        0.030357,
        0.460503,
        1.643862,
        0.61102,
        -0.223196,
        0.699827,
        0.557829,
        0.746929,
        -1.983908,
        -0.047048,
        0.080619
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        75,
        34,
        49,
        76,
        44,
        71,
        35,
        85,
        86,
        11,
        13,
        0,
        10,
        5,
        43,
        69,
        20,
        1
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 2118,
        "computed_crc12": 1238,
        "message_preview_12chars": "3IZGwNrNq39p",
        "message_words_6bit": [
          3,
          18,
          35,
          16,
          58,
          23,
          53,
          23,
          52,
          3,
          9,
          51
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "soft_meta": {}
    },
    {
      "source": "soft_decode.soft_decode_results",
      "row_name": "soft_result_2",
      "info87_bits": [
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0
      ],
      "info87_bitstring": "000011010010100011010000111010010111110101010111110100000011001001110011000100001000110",
      "info87_llr": [
        0.109152,
        0.15427,
        3.436287,
        1.208803,
        -0.180994,
        -0.134256,
        1.855615,
        -3.019462,
        0.913454,
        2.847421,
        -0.111623,
        0.090034,
        -1.840237,
        -0.103331,
        0.31857,
        3.211936,
        -1.193577,
        -0.459023,
        2.898272,
        -1.163605,
        0.15367,
        3.511598,
        1.407238,
        0.765997,
        -0.395442,
        -0.921153,
        -0.503957,
        2.947802,
        -0.561645,
        0.435152,
        3.508884,
        -2.725181,
        0.78486,
        -2.425171,
        0.003413,
        0.0463,
        -1.511435,
        -0.633942,
        1.129622,
        -3.717748,
        0.191774,
        -2.619239,
        3.249021,
        -0.134714,
        -0.045788,
        -2.346952,
        -1.099571,
        -1.289165,
        -0.660757,
        -0.013967,
        0.617033,
        -2.179373,
        1.398706,
        1.142309,
        0.185494,
        0.32533,
        2.389458,
        1.01768,
        -1.705081,
        -0.566319,
        0.51066,
        2.62823,
        -0.225079,
        0.807113,
        1.574741,
        -0.462502,
        -0.946443,
        -0.658067,
        2.74253,
        0.148054,
        -2.362161,
        -0.046043,
        0.436728,
        0.527376,
        1.059178,
        -0.000613,
        0.030357,
        0.460503,
        1.643862,
        0.61102,
        -0.223196,
        0.699827,
        0.557829,
        0.746929,
        -1.983908,
        -0.047048,
        0.080619
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        75,
        34,
        49,
        76,
        44,
        71,
        35,
        85,
        86,
        11,
        13,
        0,
        10,
        5,
        43,
        69,
        20,
        1
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 4,
        "crc_match": false,
        "received_crc12": 2118,
        "computed_crc12": 1238,
        "message_preview_12chars": "3IZGwNrNq39p",
        "message_words_6bit": [
          3,
          18,
          35,
          16,
          58,
          23,
          53,
          23,
          52,
          3,
          9,
          51
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_primary_demap_lsb_input+no_interleaver",
      "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_17",
      "info87_bits": [
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0
      ],
      "info87_bitstring": "001010100000000000111100000110111101001011001111001101101000000000001101010001101100010",
      "info87_llr": [
        -1.20036,
        1.62877,
        -1.913352,
        -0.640802,
        0.085492,
        -2.359812,
        -0.341905,
        -0.95288,
        2.090533,
        0.205078,
        -0.009807,
        -1.998333,
        -1.807949,
        -3.446915,
        3.060736,
        2.959276,
        0.428425,
        3.829679,
        1.444088,
        -0.734635,
        0.213622,
        -3.768259,
        0.989382,
        -4.245366,
        2.051601,
        -1.518836,
        3.213009,
        1.328884,
        -0.168069,
        3.437723,
        -2.124451,
        1.895128,
        1.843682,
        0.512883,
        2.269732,
        1.601492,
        -0.982526,
        3.235945,
        -3.973349,
        -2.811583,
        -3.130713,
        0.91998,
        0.043763,
        2.200754,
        0.786963,
        2.890209,
        -3.544803,
        -0.071664,
        3.987519,
        -1.932919,
        -3.471709,
        0.055368,
        -3.135968,
        -0.08059,
        3.287228,
        -0.963339,
        -3.223279,
        -2.131525,
        -2.902462,
        1.486355,
        1.694474,
        2.936099,
        -0.218005,
        -1.400655,
        3.463112,
        2.217981,
        -2.392533,
        -0.629815,
        -1.020343,
        0.670592,
        2.815758,
        -3.670105,
        -0.777738,
        3.194903,
        1.169333,
        -1.450192,
        2.866248,
        0.5614,
        1.668942,
        3.609661,
        3.451604,
        -0.02153,
        -4.236574,
        1.438205,
        1.82367,
        -0.00057,
        4.251272
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        85,
        10,
        81,
        42,
        51,
        47,
        53,
        4,
        28,
        9,
        20,
        62,
        6,
        16,
        33,
        77,
        67,
        3
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 5,
        "crc_match": false,
        "received_crc12": 866,
        "computed_crc12": 3186,
        "message_preview_12chars": "AW0y6zBFDe0D",
        "message_words_6bit": [
          10,
          32,
          0,
          60,
          6,
          61,
          11,
          15,
          13,
          40,
          0,
          13
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse",
      "variant": "reverse_symbol_order"
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_17",
      "info87_bits": [
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0
      ],
      "info87_bitstring": "001010100000000000111100000110111101001011001111001101101000000000001101010001101100010",
      "info87_llr": [
        -1.20036,
        1.62877,
        -1.913352,
        -0.640802,
        0.085492,
        -2.359812,
        -0.341905,
        -0.95288,
        2.090533,
        0.205078,
        -0.009807,
        -1.998333,
        -1.807949,
        -3.446915,
        3.060736,
        2.959276,
        0.428425,
        3.829679,
        1.444088,
        -0.734635,
        0.213622,
        -3.768259,
        0.989382,
        -4.245366,
        2.051601,
        -1.518836,
        3.213009,
        1.328884,
        -0.168069,
        3.437723,
        -2.124451,
        1.895128,
        1.843682,
        0.512883,
        2.269732,
        1.601492,
        -0.982526,
        3.235945,
        -3.973349,
        -2.811583,
        -3.130713,
        0.91998,
        0.043763,
        2.200754,
        0.786963,
        2.890209,
        -3.544803,
        -0.071664,
        3.987519,
        -1.932919,
        -3.471709,
        0.055368,
        -3.135968,
        -0.08059,
        3.287228,
        -0.963339,
        -3.223279,
        -2.131525,
        -2.902462,
        1.486355,
        1.694474,
        2.936099,
        -0.218005,
        -1.400655,
        3.463112,
        2.217981,
        -2.392533,
        -0.629815,
        -1.020343,
        0.670592,
        2.815758,
        -3.670105,
        -0.777738,
        3.194903,
        1.169333,
        -1.450192,
        2.866248,
        0.5614,
        1.668942,
        3.609661,
        3.451604,
        -0.02153,
        -4.236574,
        1.438205,
        1.82367,
        -0.00057,
        4.251272
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        85,
        10,
        81,
        42,
        51,
        47,
        53,
        4,
        28,
        9,
        20,
        62,
        6,
        16,
        33,
        77,
        67,
        3
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 5,
        "crc_match": false,
        "received_crc12": 866,
        "computed_crc12": 3186,
        "message_preview_12chars": "AW0y6zBFDe0D",
        "message_words_6bit": [
          10,
          32,
          0,
          60,
          6,
          61,
          11,
          15,
          13,
          40,
          0,
          13
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_12",
      "info87_bits": [
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1
      ],
      "info87_bitstring": "101011111010010100111001111111001010011010010100010100110001110101111111011101111011111",
      "info87_llr": [
        -3.97418,
        1.763023,
        -0.078888,
        0.798712,
        -0.154149,
        -0.397325,
        -1.631146,
        -1.509939,
        -0.454024,
        3.123085,
        -0.004579,
        0.004094,
        0.741529,
        -0.571953,
        1.261046,
        -3.286767,
        0.092593,
        0.096735,
        -0.879368,
        -0.446137,
        -0.938269,
        2.398868,
        1.210346,
        -1.453559,
        -1.062531,
        -0.887838,
        -0.644605,
        -2.311624,
        -0.189591,
        -0.210905,
        2.376504,
        1.888363,
        -1.751632,
        3.832182,
        0.017459,
        -0.012762,
        2.974191,
        -0.556587,
        -0.599448,
        0.157071,
        -0.072162,
        0.873716,
        0.077355,
        -0.000853,
        0.020054,
        -1.592993,
        1.475376,
        2.089509,
        1.631603,
        -0.510131,
        0.223775,
        -2.808024,
        0.78203,
        0.69291,
        -4.180876,
        -2.93074,
        0.700738,
        0.251999,
        0.238069,
        -0.353638,
        -2.139124,
        -1.751902,
        0.443723,
        -3.921789,
        1.978019,
        -0.829256,
        -3.560461,
        -2.486479,
        -0.822253,
        -1.146529,
        -0.837572,
        -1.187952,
        2.487475,
        -1.106864,
        -0.233518,
        -3.584166,
        0.323275,
        -0.000221,
        -1.384555,
        -1.32986,
        -3.056828,
        1.071481,
        -1.034034,
        -0.652368,
        -2.891885,
        -0.06759,
        -0.073203
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        77,
        43,
        11,
        10,
        35,
        34,
        44,
        85,
        40,
        86,
        42,
        2,
        16,
        17,
        4,
        39,
        28,
        29
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 3039,
        "computed_crc12": 1436,
        "message_preview_12chars": "hwKv+AQKKnr+",
        "message_words_6bit": [
          43,
          58,
          20,
          57,
          63,
          10,
          26,
          20,
          20,
          49,
          53,
          63
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_alt_high_demap_msb_input+no_interleaver+inverted_bits",
      "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_2",
      "info87_bits": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1
      ],
      "info87_bitstring": "000000010010110011010000111010010110110101000111110100110011001001110010000000001000101",
      "info87_llr": [
        0.109152,
        0.15427,
        3.436287,
        1.208803,
        -0.180994,
        -0.134256,
        1.855615,
        -3.019462,
        0.913454,
        2.847421,
        -0.111623,
        0.090034,
        -1.840237,
        -0.103331,
        0.31857,
        3.211936,
        -1.193577,
        -0.459023,
        2.898272,
        -1.163605,
        0.15367,
        3.511598,
        1.407238,
        0.765997,
        -0.395442,
        -0.921153,
        -0.503957,
        2.947802,
        -0.561645,
        0.435152,
        3.508884,
        -2.725181,
        0.78486,
        -2.425171,
        0.003413,
        0.0463,
        -1.511435,
        -0.633942,
        1.129622,
        -3.717748,
        0.191774,
        -2.619239,
        3.249021,
        -0.134714,
        -0.045788,
        -2.346952,
        -1.099571,
        -1.289165,
        -0.660757,
        -0.013967,
        0.617033,
        -2.179373,
        1.398706,
        1.142309,
        0.185494,
        0.32533,
        2.389458,
        1.01768,
        -1.705081,
        -0.566319,
        0.51066,
        2.62823,
        -0.225079,
        0.807113,
        1.574741,
        -0.462502,
        -0.946443,
        -0.658067,
        2.74253,
        0.148054,
        -2.362161,
        -0.046043,
        0.436728,
        0.527376,
        1.059178,
        -0.000613,
        0.030357,
        0.460503,
        1.643862,
        0.61102,
        -0.223196,
        0.699827,
        0.557829,
        0.746929,
        -1.983908,
        -0.047048,
        0.080619
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        75,
        34,
        49,
        76,
        44,
        71,
        35,
        85,
        86,
        11,
        13,
        0,
        10,
        5,
        43,
        69,
        20,
        1
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 69,
        "computed_crc12": 310,
        "message_preview_12chars": "0IpGwMr7qp9o",
        "message_words_6bit": [
          0,
          18,
          51,
          16,
          58,
          22,
          53,
          7,
          52,
          51,
          9,
          50
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_primary_demap_lsb_input+no_interleaver",
      "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_7",
      "info87_bits": [
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0
      ],
      "info87_bitstring": "000101101101001000101000111110101010001011000111010001001101110111001011100001110100010",
      "info87_llr": [
        3.595107,
        3.507464,
        0.157294,
        -4.207657,
        0.890898,
        -2.210815,
        -1.875167,
        1.627596,
        -3.556098,
        -3.024483,
        0.195966,
        -0.228982,
        1.24689,
        0.321006,
        -0.117042,
        0.788813,
        0.571522,
        1.58426,
        -1.368584,
        0.781598,
        -1.612565,
        1.272116,
        0.880283,
        1.684975,
        -3.62632,
        -0.897728,
        -1.358784,
        -2.696081,
        -0.50802,
        0.617556,
        -0.998807,
        0.86857,
        -3.211451,
        0.029294,
        -0.698713,
        -0.046151,
        3.570442,
        1.248112,
        -0.690512,
        0.357277,
        -0.343452,
        -2.602985,
        0.613777,
        -0.067115,
        -0.211641,
        -1.896431,
        -1.402237,
        -1.108442,
        1.226465,
        -2.299957,
        0.038192,
        3.635987,
        1.708345,
        -1.392495,
        2.307302,
        2.637825,
        0.339064,
        -2.116817,
        1.686126,
        -3.592031,
        -2.417021,
        -0.306957,
        3.062981,
        -3.418347,
        -1.781726,
        -2.19326,
        2.68093,
        3.232332,
        -0.727366,
        2.565229,
        -2.498444,
        -0.25866,
        -3.163131,
        1.25154,
        1.430761,
        2.69733,
        0.559044,
        -0.463833,
        -1.440389,
        -0.376752,
        0.650106,
        -4.133556,
        0.51672,
        1.171632,
        3.559494,
        -0.076837,
        0.054874
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        33,
        50,
        35,
        86,
        43,
        85,
        14,
        2,
        10,
        44,
        11,
        71,
        61,
        13,
        56,
        40,
        39,
        79
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 930,
        "computed_crc12": 2416,
        "message_preview_12chars": "5j8e-gB7HDtB",
        "message_words_6bit": [
          5,
          45,
          8,
          40,
          62,
          42,
          11,
          7,
          17,
          13,
          55,
          11
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "ft8_gray_primary_demap_msb_input+no_interleaver",
      "variant": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.all_matrix_probes",
      "row_name": "matrix_probe_8",
      "info87_bits": [
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0
      ],
      "info87_bitstring": "110110111101100110110000010011111101100110001010110110001010001000000011100100100100010",
      "info87_llr": [
        -3.595107,
        -2.348588,
        2.502631,
        -4.180876,
        -1.460526,
        2.702687,
        -1.721757,
        -2.779974,
        -4.031745,
        -1.226465,
        2.428139,
        -4.194521,
        -2.964235,
        3.163131,
        2.771841,
        -0.004984,
        -4.097975,
        3.62632,
        -0.783466,
        -1.437112,
        -0.185494,
        0.089283,
        2.24179,
        2.902462,
        0.988042,
        -3.570442,
        2.439579,
        1.903056,
        -3.584166,
        -0.315753,
        -3.559494,
        -1.71415,
        -3.829679,
        -1.24689,
        2.618929,
        -0.560624,
        -3.97418,
        0.391078,
        2.808398,
        -0.619573,
        -0.886974,
        1.684572,
        2.417021,
        1.20036,
        -0.111616,
        -0.205078,
        -2.68093,
        0.761545,
        -3.533642,
        -3.878589,
        1.368584,
        -1.61828,
        -1.206337,
        0.660757,
        3.446915,
        0.229575,
        -3.564003,
        2.376504,
        -0.613777,
        0.705034,
        2.124451,
        1.631603,
        -1.337102,
        3.084383,
        3.744063,
        2.359812,
        1.875167,
        3.223279,
        3.158724,
        1.511435,
        -1.919288,
        -1.081328,
        -1.814096,
        3.743445,
        1.983908,
        -2.307302,
        3.768259,
        1.865991,
        -3.987519,
        1.440389,
        1.616675,
        -3.684946,
        0.998807,
        1.638686,
        3.387134,
        -0.532839,
        0.95288
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        15,
        21,
        44,
        20,
        45,
        55,
        29,
        37,
        85,
        35,
        58,
        39,
        53,
        59,
        47,
        18,
        40,
        86
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 2338,
        "computed_crc12": 1536,
        "message_preview_12chars": "szcmJzcAsA83",
        "message_words_6bit": [
          54,
          61,
          38,
          48,
          19,
          61,
          38,
          10,
          54,
          10,
          8,
          3
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "transform": "raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits",
      "variant": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse"
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_12",
      "info87_bits": [
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1
      ],
      "info87_bitstring": "101011111010010100111001111111001010011010010100010100110001110101111111011101111011111",
      "info87_llr": [
        -3.97418,
        1.763023,
        -0.078888,
        0.798712,
        -0.154149,
        -0.397325,
        -1.631146,
        -1.509939,
        -0.454024,
        3.123085,
        -0.004579,
        0.004094,
        0.741529,
        -0.571953,
        1.261046,
        -3.286767,
        0.092593,
        0.096735,
        -0.879368,
        -0.446137,
        -0.938269,
        2.398868,
        1.210346,
        -1.453559,
        -1.062531,
        -0.887838,
        -0.644605,
        -2.311624,
        -0.189591,
        -0.210905,
        2.376504,
        1.888363,
        -1.751632,
        3.832182,
        0.017459,
        -0.012762,
        2.974191,
        -0.556587,
        -0.599448,
        0.157071,
        -0.072162,
        0.873716,
        0.077355,
        -0.000853,
        0.020054,
        -1.592993,
        1.475376,
        2.089509,
        1.631603,
        -0.510131,
        0.223775,
        -2.808024,
        0.78203,
        0.69291,
        -4.180876,
        -2.93074,
        0.700738,
        0.251999,
        0.238069,
        -0.353638,
        -2.139124,
        -1.751902,
        0.443723,
        -3.921789,
        1.978019,
        -0.829256,
        -3.560461,
        -2.486479,
        -0.822253,
        -1.146529,
        -0.837572,
        -1.187952,
        2.487475,
        -1.106864,
        -0.233518,
        -3.584166,
        0.323275,
        -0.000221,
        -1.384555,
        -1.32986,
        -3.056828,
        1.071481,
        -1.034034,
        -0.652368,
        -2.891885,
        -0.06759,
        -0.073203
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        77,
        43,
        11,
        10,
        35,
        34,
        44,
        85,
        40,
        86,
        42,
        2,
        16,
        17,
        4,
        39,
        28,
        29
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 3039,
        "computed_crc12": 1436,
        "message_preview_12chars": "hwKv+AQKKnr+",
        "message_words_6bit": [
          43,
          58,
          20,
          57,
          63,
          10,
          26,
          20,
          20,
          49,
          53,
          63
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_2",
      "info87_bits": [
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1
      ],
      "info87_bitstring": "000000010010110011010000111010010110110101000111110100110011001001110010000000001000101",
      "info87_llr": [
        0.109152,
        0.15427,
        3.436287,
        1.208803,
        -0.180994,
        -0.134256,
        1.855615,
        -3.019462,
        0.913454,
        2.847421,
        -0.111623,
        0.090034,
        -1.840237,
        -0.103331,
        0.31857,
        3.211936,
        -1.193577,
        -0.459023,
        2.898272,
        -1.163605,
        0.15367,
        3.511598,
        1.407238,
        0.765997,
        -0.395442,
        -0.921153,
        -0.503957,
        2.947802,
        -0.561645,
        0.435152,
        3.508884,
        -2.725181,
        0.78486,
        -2.425171,
        0.003413,
        0.0463,
        -1.511435,
        -0.633942,
        1.129622,
        -3.717748,
        0.191774,
        -2.619239,
        3.249021,
        -0.134714,
        -0.045788,
        -2.346952,
        -1.099571,
        -1.289165,
        -0.660757,
        -0.013967,
        0.617033,
        -2.179373,
        1.398706,
        1.142309,
        0.185494,
        0.32533,
        2.389458,
        1.01768,
        -1.705081,
        -0.566319,
        0.51066,
        2.62823,
        -0.225079,
        0.807113,
        1.574741,
        -0.462502,
        -0.946443,
        -0.658067,
        2.74253,
        0.148054,
        -2.362161,
        -0.046043,
        0.436728,
        0.527376,
        1.059178,
        -0.000613,
        0.030357,
        0.460503,
        1.643862,
        0.61102,
        -0.223196,
        0.699827,
        0.557829,
        0.746929,
        -1.983908,
        -0.047048,
        0.080619
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        75,
        34,
        49,
        76,
        44,
        71,
        35,
        85,
        86,
        11,
        13,
        0,
        10,
        5,
        43,
        69,
        20,
        1
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 69,
        "computed_crc12": 310,
        "message_preview_12chars": "0IpGwMr7qp9o",
        "message_words_6bit": [
          0,
          18,
          51,
          16,
          58,
          22,
          53,
          7,
          52,
          51,
          9,
          50
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_7",
      "info87_bits": [
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0
      ],
      "info87_bitstring": "000101101101001000101000111110101010001011000111010001001101110111001011100001110100010",
      "info87_llr": [
        3.595107,
        3.507464,
        0.157294,
        -4.207657,
        0.890898,
        -2.210815,
        -1.875167,
        1.627596,
        -3.556098,
        -3.024483,
        0.195966,
        -0.228982,
        1.24689,
        0.321006,
        -0.117042,
        0.788813,
        0.571522,
        1.58426,
        -1.368584,
        0.781598,
        -1.612565,
        1.272116,
        0.880283,
        1.684975,
        -3.62632,
        -0.897728,
        -1.358784,
        -2.696081,
        -0.50802,
        0.617556,
        -0.998807,
        0.86857,
        -3.211451,
        0.029294,
        -0.698713,
        -0.046151,
        3.570442,
        1.248112,
        -0.690512,
        0.357277,
        -0.343452,
        -2.602985,
        0.613777,
        -0.067115,
        -0.211641,
        -1.896431,
        -1.402237,
        -1.108442,
        1.226465,
        -2.299957,
        0.038192,
        3.635987,
        1.708345,
        -1.392495,
        2.307302,
        2.637825,
        0.339064,
        -2.116817,
        1.686126,
        -3.592031,
        -2.417021,
        -0.306957,
        3.062981,
        -3.418347,
        -1.781726,
        -2.19326,
        2.68093,
        3.232332,
        -0.727366,
        2.565229,
        -2.498444,
        -0.25866,
        -3.163131,
        1.25154,
        1.430761,
        2.69733,
        0.559044,
        -0.463833,
        -1.440389,
        -0.376752,
        0.650106,
        -4.133556,
        0.51672,
        1.171632,
        3.559494,
        -0.076837,
        0.054874
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        33,
        50,
        35,
        86,
        43,
        85,
        14,
        2,
        10,
        44,
        11,
        71,
        61,
        13,
        56,
        40,
        39,
        79
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 930,
        "computed_crc12": 2416,
        "message_preview_12chars": "5j8e-gB7HDtB",
        "message_words_6bit": [
          5,
          45,
          8,
          40,
          62,
          42,
          11,
          7,
          17,
          13,
          55,
          11
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "matrix_probe.post_ldpc_info87_llr_rows",
      "row_name": "matrix_export_8",
      "info87_bits": [
        1,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        0,
        1,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0
      ],
      "info87_bitstring": "110110111101100110110000010011111101100110001010110110001010001000000011100100100100010",
      "info87_llr": [
        -3.595107,
        -2.348588,
        2.502631,
        -4.180876,
        -1.460526,
        2.702687,
        -1.721757,
        -2.779974,
        -4.031745,
        -1.226465,
        2.428139,
        -4.194521,
        -2.964235,
        3.163131,
        2.771841,
        -0.004984,
        -4.097975,
        3.62632,
        -0.783466,
        -1.437112,
        -0.185494,
        0.089283,
        2.24179,
        2.902462,
        0.988042,
        -3.570442,
        2.439579,
        1.903056,
        -3.584166,
        -0.315753,
        -3.559494,
        -1.71415,
        -3.829679,
        -1.24689,
        2.618929,
        -0.560624,
        -3.97418,
        0.391078,
        2.808398,
        -0.619573,
        -0.886974,
        1.684572,
        2.417021,
        1.20036,
        -0.111616,
        -0.205078,
        -2.68093,
        0.761545,
        -3.533642,
        -3.878589,
        1.368584,
        -1.61828,
        -1.206337,
        0.660757,
        3.446915,
        0.229575,
        -3.564003,
        2.376504,
        -0.613777,
        0.705034,
        2.124451,
        1.631603,
        -1.337102,
        3.084383,
        3.744063,
        2.359812,
        1.875167,
        3.223279,
        3.158724,
        1.511435,
        -1.919288,
        -1.081328,
        -1.814096,
        3.743445,
        1.983908,
        -2.307302,
        3.768259,
        1.865991,
        -3.987519,
        1.440389,
        1.616675,
        -3.684946,
        0.998807,
        1.638686,
        3.387134,
        -0.532839,
        0.95288
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        15,
        21,
        44,
        20,
        45,
        55,
        29,
        37,
        85,
        35,
        58,
        39,
        53,
        59,
        47,
        18,
        40,
        86
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 2338,
        "computed_crc12": 1536,
        "message_preview_12chars": "szcmJzcAsA83",
        "message_words_6bit": [
          54,
          61,
          38,
          48,
          19,
          61,
          38,
          10,
          54,
          10,
          8,
          3
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "matrix_meta": {}
    },
    {
      "source": "soft_decode.post_ldpc_info87_llr_rows",
      "row_name": "soft_export_3",
      "info87_bits": [
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0
      ],
      "info87_bitstring": "001111010100111011111110111110010010111010101001000100000011001101100100110010010011000",
      "info87_llr": [
        3.97418,
        0.72755,
        -2.287595,
        -2.000433,
        -0.893658,
        -2.702687,
        0.137351,
        -2.359812,
        3.416945,
        -1.631603,
        2.176659,
        0.618908,
        -1.463742,
        -3.163131,
        -0.163041,
        0.043763,
        -3.090949,
        -1.616675,
        -0.17546,
        -2.585658,
        -0.729583,
        -0.089283,
        -0.933797,
        1.437112,
        -0.921972,
        -3.744063,
        -0.746624,
        -0.925828,
        -1.354449,
        0.869893,
        3.559494,
        -1.581312,
        2.670532,
        1.24689,
        -1.358695,
        0.528863,
        -0.205197,
        -2.170599,
        -2.808398,
        0.572227,
        -4.245366,
        0.473933,
        -2.417021,
        1.551702,
        -0.084589,
        0.094661,
        3.560461,
        -0.177586,
        3.533642,
        0.004803,
        1.597346,
        -1.121301,
        1.44943,
        0.327257,
        2.964235,
        0.210066,
        3.829679,
        0.563142,
        -0.077355,
        -0.356846,
        1.867977,
        1.01594,
        -1.391352,
        -3.223279,
        0.322772,
        -2.571398,
        -1.875167,
        1.598737,
        1.287835,
        -1.213491,
        0.785417,
        1.081328,
        -1.385879,
        -3.743445,
        0.593685,
        4.180876,
        -0.767803,
        1.308875,
        3.304366,
        -1.440389,
        1.737191,
        2.40153,
        -2.376504,
        -1.263318,
        2.114884,
        0.489832,
        0.315753
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        49,
        15,
        58,
        44,
        21,
        45,
        6,
        14,
        18,
        47,
        36,
        55,
        86,
        64,
        53,
        59,
        41,
        85
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 1176,
        "computed_crc12": 2572,
        "message_preview_12chars": "FKx--Iwf43Da",
        "message_words_6bit": [
          15,
          20,
          59,
          62,
          62,
          18,
          58,
          41,
          4,
          3,
          13,
          36
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "soft_meta": {}
    },
    {
      "source": "soft_decode.post_ldpc_info87_llr_rows",
      "row_name": "soft_export_4",
      "info87_bits": [
        0,
        0,
        1,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        1,
        1,
        0,
        1,
        1,
        1,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        1,
        1,
        1,
        0,
        1,
        0,
        1,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        0,
        1,
        0,
        0,
        0,
        0,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        1,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        0,
        0,
        1,
        1,
        0,
        0,
        0
      ],
      "info87_bitstring": "001111010100111011111110111110010010111010101001000100000011001101100100110010010011000",
      "info87_llr": [
        3.97418,
        0.72755,
        -2.287595,
        -2.000433,
        -0.893658,
        -2.702687,
        0.137351,
        -2.359812,
        3.416945,
        -1.631603,
        2.176659,
        0.618908,
        -1.463742,
        -3.163131,
        -0.163041,
        0.043763,
        -3.090949,
        -1.616675,
        -0.17546,
        -2.585658,
        -0.729583,
        -0.089283,
        -0.933797,
        1.437112,
        -0.921972,
        -3.744063,
        -0.746624,
        -0.925828,
        -1.354449,
        0.869893,
        3.559494,
        -1.581312,
        2.670532,
        1.24689,
        -1.358695,
        0.528863,
        -0.205197,
        -2.170599,
        -2.808398,
        0.572227,
        -4.245366,
        0.473933,
        -2.417021,
        1.551702,
        -0.084589,
        0.094661,
        3.560461,
        -0.177586,
        3.533642,
        0.004803,
        1.597346,
        -1.121301,
        1.44943,
        0.327257,
        2.964235,
        0.210066,
        3.829679,
        0.563142,
        -0.077355,
        -0.356846,
        1.867977,
        1.01594,
        -1.391352,
        -3.223279,
        0.322772,
        -2.571398,
        -1.875167,
        1.598737,
        1.287835,
        -1.213491,
        0.785417,
        1.081328,
        -1.385879,
        -3.743445,
        0.593685,
        4.180876,
        -0.767803,
        1.308875,
        3.304366,
        -1.440389,
        1.737191,
        2.40153,
        -2.376504,
        -1.263318,
        2.114884,
        0.489832,
        0.315753
      ],
      "info87_llr_count": 87,
      "least_reliable_info87_indices": [
        49,
        15,
        58,
        44,
        21,
        45,
        6,
        14,
        18,
        47,
        36,
        55,
        86,
        64,
        53,
        59,
        41,
        85
      ],
      "message174_crc12": {
        "ok": true,
        "distance": 6,
        "crc_match": false,
        "received_crc12": 1176,
        "computed_crc12": 2572,
        "message_preview_12chars": "FKx--Iwf43Da",
        "message_words_6bit": [
          15,
          20,
          59,
          62,
          62,
          18,
          58,
          41,
          4,
          3,
          13,
          36
        ]
      },
      "source_index_context": {
        "info87_scope": "post-LDPC information bits 0..86 from source-aligned message174/CRC12 contract",
        "message_words": "bits 0..71 form 12 x 6-bit words in extractmessage174()",
        "crc12_contract": "CRC12 poly 0xc06, xor 42; checkCRC12() extracts received CRC from packed bytes bits[9]/bits[10] after MSB-first packing",
        "deinterleaver_whitening_status": "not asserted as final; this probe exports runtime rows so the next step can align source-derived reorder/whitening indices against real LDPC rows"
      },
      "soft_meta": {}
    }
  ],
  "outputs": {
    "post_ldpc_info87_runtime_export_json": "/decoders/js8_decoder/runtime/step83_post_ldpc_info87/step61_post_ldpc_info87_runtime_export.json"
  },
  "warnings": [
    "This is still a diagnostic runtime export, not a final JS8 text decoder.",
    "Step61 patches the runtime LDPC probes to expose post-LDPC info87 rows and source-index context for the next reorder/whitening alignment step."
  ],
  "next_action": "If best_distance is 0, implement source-confirmed message174 text unpack. If best_distance remains >0, build Step62 to test source-derived deinterleaver/whitening index maps against these exact runtime rows."
}
