[webftr-js8-lab] command=ldpc-matrix-probe [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T040519Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T040519Z_ldpc-matrix-probe_manifest.json [webftr-js8-lab] utc=20260527T040519Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T040519Z_ldpc_matrix_probe_output.json [webftr-js8-lab] JSON timeout guard: 60s { "ok": true, "mode": "JS8", "tool": "webftr-js8-real-ldpc-matrix-syndrome-probe", "tool_version": "step37-timing-best-candidate-softdecode", "input_wav": null, "candidate_json": "/decoders/js8_decoder/runtime/timing_boundary_sweep/step37_best_timing_fec_candidate.json", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step37_bounded_gray_interleaver_matrix_ranking_no_message_unpack", "matrix": { "code": "(174,91) LDPC generator matrix", "generator_rows": 83, "generator_cols": 91, "message_bits": 91, "parity_bits": 83, "source_file": "ldpc_174_91_c_generator.f90" }, "bounds": { "total_transform_rows_before_limit": 828, "max_rows": 72, "repair_rows": 10, "max_flips": 6, "candidate_pool": 12 }, "candidate_context": { "nsps_used": 6400, "nsps_is_js8_realistic": true, "selected_profile": null, "selected_variant": { "name": "raw_msb_symbol_order", "rank_score": 126.748644, "complete_174bit_candidate": true, "hard_bits_sha256_16": "a0f5d6c517051f17", "hard_weight_174": 39, "llr_stats": { "count": 174, "avg_abs": 2.187161, "min_abs": 0.036806, "max_abs": 4.061714, "positive": 136, "negative": 38, "zero": 0 } } }, "variant_probe_count": 72, "best_matrix_probe": { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 32, "llr_avg_abs": 1.7837172241379295, "syndrome": { "bits_len": 174, "message91": "0010000000001100000000010000010001111000000101000000000010000000100000000001000110100010000", "parity83_observed": "00001100000100100001010001000000000001010000011000000001000000000100000000001000000", "parity83_expected": "10001100110100100111010011001100000100010000111101010001000100001101100110111001010", "syndrome83": "10000000110000000110000010001100000101000000100101010000000100001001100110110001010", "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "400988287db337c2", "codeword174_sha256_16": "e737ddc1f2cfd29b" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 24, "trace": [], "repaired_message91_sha256_16": "400988287db337c2" } }, "all_matrix_probes": [ { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 32, "llr_avg_abs": 1.7837172241379295, "syndrome": { "bits_len": 174, "message91": "0010000000001100000000010000010001111000000101000000000010000000100000000001000110100010000", "parity83_observed": "00001100000100100001010001000000000001010000011000000001000000000100000000001000000", "parity83_expected": "10001100110100100111010011001100000100010000111101010001000100001101100110111001010", "syndrome83": "10000000110000000110000010001100000101000000100101010000000100001001100110110001010", "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "400988287db337c2", "codeword174_sha256_16": "e737ddc1f2cfd29b" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 24, "trace": [], "repaired_message91_sha256_16": "400988287db337c2" } }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "hard_weight_174": 60, "llr_avg_abs": 1.0454926149425285, "syndrome": { "bits_len": 174, "message91": "1000100110111100010000100010001100000000000100100010000000011000000000101000100010100001100", "parity83_observed": "10000110010001000011110101001011110101000101110110100110011000000000000010101100101", "parity83_expected": "01101101100011010110110101001001100101000110110100010011011000000001100001100110001", "syndrome83": "11101011110010010101000000000010010000000011000010110101000000000001100011001010100", "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "b419e71920db3585", "codeword174_sha256_16": "8bccbb10bbbf4d88" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 25, "trace": [ { "flip_index": 103, "llr_abs": 0.008536, "gain": 1, "syndrome_weight_after": 27 }, { "flip_index": 167, "llr_abs": 0.02524, "gain": 1, "syndrome_weight_after": 26 }, { "flip_index": 100, "llr_abs": 0.036806, "gain": 1, "syndrome_weight_after": 25 } ], "repaired_message91_sha256_16": "b419e71920db3585" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 50, "llr_avg_abs": 1.08062106321839, "syndrome": { "bits_len": 174, "message91": "0010000001001011000000010101110000111100000101000010110000010010100101000000000010001000110", "parity83_observed": "00000100110100001000010000000101100000000100001100001100000011010000000100010010011", "parity83_expected": "00000011110111001000000100000010011000101110001000000001100000010001000000101000010", "syndrome83": "00000111000011000000010100000111111000101010000100001101100011000001000100111010001", "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "ef548b254868b745", "codeword174_sha256_16": "3d5161b1e316b16f" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 4, "repair_success": false, "final_syndrome_weight": 26, "trace": [ { "flip_index": 114, "llr_abs": 0.000665, "gain": 1, "syndrome_weight_after": 29 }, { "flip_index": 143, "llr_abs": 0.002608, "gain": 1, "syndrome_weight_after": 28 }, { "flip_index": 173, "llr_abs": 0.025153, "gain": 1, "syndrome_weight_after": 27 }, { "flip_index": 167, "llr_abs": 0.051006, "gain": 1, "syndrome_weight_after": 26 } ], "repaired_message91_sha256_16": "ef548b254868b745" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "transform": "lsb_within_each_tone+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none", "polarity": "inverted" }, "hard_weight_174": 125, "llr_avg_abs": 1.568964528735632, "syndrome": { "bits_len": 174, "message91": "1111111111111001110101111111111001110101001100110101111000101110101111111000101001001111111", "parity83_observed": "11100111100111111111111111111111011100010001010101111111011111100111111111111010100", "parity83_expected": "01010000000011101110111110110100011101010111010111111010010100100100111001011111101", "syndrome83": "10110111100100010001000001001011000001000110000010000101001011000011000110100101001", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "9a6e72196d49d4ec", "codeword174_sha256_16": "5f766d9b3db3fe7a" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 5, "repair_success": false, "final_syndrome_weight": 26, "trace": [ { "flip_index": 128, "llr_abs": 0.036806, "gain": 1, "syndrome_weight_after": 30 }, { "flip_index": 99, "llr_abs": 0.065169, "gain": 1, "syndrome_weight_after": 29 }, { "flip_index": 132, "llr_abs": 0.106633, "gain": 1, "syndrome_weight_after": 28 }, { "flip_index": 139, "llr_abs": 0.133856, "gain": 1, "syndrome_weight_after": 27 }, { "flip_index": 133, "llr_abs": 0.147215, "gain": 1, "syndrome_weight_after": 26 } ], "repaired_message91_sha256_16": "9a6e72196d49d4ec" } }, { "variant": "lab_mask_xor_preview", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "hard_weight_174": 90, "llr_avg_abs": 2.187161362068966, "syndrome": { "bits_len": 174, "message91": "1000001100110111001000011110110110001100110000101111010011011110111111111010101111101001011", "parity83_observed": "00101100001010001001100010111010010111011001010011010011000111100101000010101000110", "parity83_expected": "01100101110111001101010110001000100111001101010011011000101111100100000110010100110", "syndrome83": "01001001111101000100110100110010110000010100000000001011101000000001000100111100000", "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "2d887c7972af6374", "codeword174_sha256_16": "e3a96fe6ad757407" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 27, "trace": [ { "flip_index": 100, "llr_abs": 0.075079, "gain": 1, "syndrome_weight_after": 29 }, { "flip_index": 101, "llr_abs": 0.1889, "gain": 1, "syndrome_weight_after": 28 }, { "flip_index": 104, "llr_abs": 0.435761, "gain": 1, "syndrome_weight_after": 27 } ], "repaired_message91_sha256_16": "2d887c7972af6374" } }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_primary_demap_msb_input+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "none", "polarity": "inverted" }, "hard_weight_174": 119, "llr_avg_abs": 1.6453519080459769, "syndrome": { "bits_len": 174, "message91": "1101111110010100011111111001111110000011111110011101111111001111001111111110011001001101001", "parity83_observed": "11110001111001011110100110111111111110100111101111110000111111100001111111110111100", "parity83_expected": "11011110000000111110100110011111110110001110000111010001110011001101001011011111111", "syndrome83": "00101111111001100000000000100000001000101001101000100001001100101100110100101000011", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "ad56c1db43052c18", "codeword174_sha256_16": "16aeb541b9fcee47" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 2, "repair_success": false, "final_syndrome_weight": 29, "trace": [ { "flip_index": 137, "llr_abs": 0.003492, "gain": 1, "syndrome_weight_after": 30 }, { "flip_index": 97, "llr_abs": 0.262041, "gain": 1, "syndrome_weight_after": 29 } ], "repaired_message91_sha256_16": "ad56c1db43052c18" } }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 53, "llr_avg_abs": 1.6351825689655177, "syndrome": { "bits_len": 174, "message91": "0001000000111000001100001011001100001101001110011100001001100001100000001001101000000100000", "parity83_observed": "00100000000000010000000000100000011000000011010011100010001110100000100110100110100", "parity83_expected": "01100100000000100111010000100110000000110101011010101101011001100100000100000110110", "syndrome83": "01000100000000110111010000000110011000110110001001001111010111000100100010100000010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "6a8d5bcbf434d857", "codeword174_sha256_16": "e5ec524c8f7f0cb9" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 2, "repair_success": false, "final_syndrome_weight": 29, "trace": [ { "flip_index": 106, "llr_abs": 0.0695, "gain": 1, "syndrome_weight_after": 30 }, { "flip_index": 133, "llr_abs": 0.096509, "gain": 1, "syndrome_weight_after": 29 } ], "repaired_message91_sha256_16": "6a8d5bcbf434d857" } }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 34, "llr_avg_abs": 1.8142508448275845, "syndrome": { "bits_len": 174, "message91": "1010000000100000100000000000000010100010000100010110000000000000101001000101010100000001001", "parity83_observed": "00010000000000000010000000000000010000010010010100001110010010010000000000001000000", "parity83_expected": "10010000101110001010101101001000110010000100110000101111010000010000111100111011010", "syndrome83": "10000000101110001000101101001000100010010110100100100001000010000000111100110011010", "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "94f535c19abe8e97", "codeword174_sha256_16": "e050196dd1284fb0" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 30, "trace": [], "repaired_message91_sha256_16": "94f535c19abe8e97" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "lsb_within_each_tone+no_interleaver", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none" }, "hard_weight_174": 49, "llr_avg_abs": 1.5689645287356309, "syndrome": { "bits_len": 174, "message91": "0000010100101001000110100001100011100000001000000000101010000110010100001110000011000010000", "parity83_observed": "01100000000000000111001001000100000000000000111000010010000101100011001011000100000", "parity83_expected": "11000000010001100011111111000101000101111000111001000100101101101010011111001111101", "syndrome83": "10100000010001100100110110000001000101111000000001010110101000001001010100001011101", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "53e2d678efaa9275", "codeword174_sha256_16": "7bbcf9fb91843ebc" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 1, "repair_success": false, "final_syndrome_weight": 30, "trace": [ { "flip_index": 27, "llr_abs": 0.036806, "gain": 1, "syndrome_weight_after": 30 } ], "repaired_message91_sha256_16": "13c359fe186f84d4" } }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver", "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "hard_weight_174": 133, "llr_avg_abs": 1.6063374252873568, "syndrome": { "bits_len": 174, "message91": "1100111111111101110011111111111011011111000110011111111101010111111011101111111110111101011", "parity83_observed": "10011110011111110001111110101110100101101111111011111111011111110110011111111110101", "parity83_expected": "10011100010101111101100010101000010101001100011010011100111010111001101101111100101", "syndrome83": "00000010001010001100011100000110110000100011100001100011100101001111110010000010000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "9c5c8e131830f6a9", "codeword174_sha256_16": "a799925e0e4517b4" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "9c5c8e131830f6a9" } }, { "variant": "lab_mask_xor_preview", "transform": "lsb_within_each_tone+no_interleaver", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none" }, "hard_weight_174": 90, "llr_avg_abs": 2.187161362068966, "syndrome": { "bits_len": 174, "message91": "0010000111101100010011001111101100000111100000101111011001011111101111111010101110110011010", "parity83_observed": "01101001100010100100001010111010010111110100010110010110000111001101000010101000011", "parity83_expected": "10100001000010001100100111000100110000110110010110110010010010100100000011101110010", "syndrome83": "11001000100000101000101101111110100111000010000000100100010101101001000001000110001", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "601cdb16e6f74276", "codeword174_sha256_16": "326d27f1d67791f5" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "601cdb16e6f74276" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "hard_weight_174": 32, "llr_avg_abs": 1.7837172241379298, "syndrome": { "bits_len": 174, "message91": "0111000010001000000010000000010000110000000101000000000011100000100100000000010010000000000", "parity83_observed": "00000100001100000001010100000000110000000000001110000000001001000000000000000000100", "parity83_expected": "00011001011001100110110110000000011100000000101010100010110011011110000101000110100", "syndrome83": "00011101010101100111100010000000101100000000100100100010111010011110000101000110000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "1ef6c5c26dfbc68b", "codeword174_sha256_16": "d96e8c7a3ce0490d" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "1ef6c5c26dfbc68b" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "transform": "raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 32, "llr_avg_abs": 1.7837172241379298, "syndrome": { "bits_len": 174, "message91": "0111000010001000000010000000010000110000000101000000000011100000100100000000010010000000000", "parity83_observed": "00000100001100000001010100000000110000000000001110000000001001000000000000000000100", "parity83_expected": "00011001011001100110110110000000011100000000101010100010110011011110000101000110100", "syndrome83": "00011101010101100111100010000000101100000000100100100010111010011110000101000110000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "1ef6c5c26dfbc68b", "codeword174_sha256_16": "d96e8c7a3ce0490d" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "1ef6c5c26dfbc68b" } }, { "variant": "mapped_lsb_within_each_tone+no_interleaver", "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 32, "llr_avg_abs": 1.7837172241379298, "syndrome": { "bits_len": 174, "message91": "0111000010001000000010000000010000110000000101000000000011100000100100000000010010000000000", "parity83_observed": "00000100001100000001010100000000110000000000001110000000001001000000000000000000100", "parity83_expected": "00011001011001100110110110000000011100000000101010100010110011011110000101000110100", "syndrome83": "00011101010101100111100010000000101100000000100100100010111010011110000101000110000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "1ef6c5c26dfbc68b", "codeword174_sha256_16": "d96e8c7a3ce0490d" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "1ef6c5c26dfbc68b" } }, { "variant": "mapped_raw_msb+no_interleaver", "transform": "ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 32, "llr_avg_abs": 1.7837172241379298, "syndrome": { "bits_len": 174, "message91": "0111000010001000000010000000010000110000000101000000000011100000100100000000010010000000000", "parity83_observed": "00000100001100000001010100000000110000000000001110000000001001000000000000000000100", "parity83_expected": "00011001011001100110110110000000011100000000101010100010110011011110000101000110100", "syndrome83": "00011101010101100111100010000000101100000000100100100010111010011110000101000110000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "1ef6c5c26dfbc68b", "codeword174_sha256_16": "d96e8c7a3ce0490d" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "1ef6c5c26dfbc68b" } }, { "variant": "raw_msb_symbol_order", "transform": "ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 32, "llr_avg_abs": 1.7837172241379298, "syndrome": { "bits_len": 174, "message91": "0111000010001000000010000000010000110000000101000000000011100000100100000000010010000000000", "parity83_observed": "00000100001100000001010100000000110000000000001110000000001001000000000000000000100", "parity83_expected": "00011001011001100110110110000000011100000000101010100010110011011110000101000110100", "syndrome83": "00011101010101100111100010000000101100000000100100100010111010011110000101000110000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "1ef6c5c26dfbc68b", "codeword174_sha256_16": "d96e8c7a3ce0490d" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "1ef6c5c26dfbc68b" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174, "polarity": "inverted" }, "hard_weight_174": 134, "llr_avg_abs": 1.5783320287356328, "syndrome": { "bits_len": 174, "message91": "1000111101110111111101111111011111101111111110111111101100001111011110111111101111111111101", "parity83_observed": "11111011010011111110101010111110001111101011110001111101110100111111111111110111011", "parity83_expected": "00111101001101011010011010110110001111011001101100111001110101111010000001111101010", "syndrome83": "11000110011110100100110000001000000000110010011101000100000001000101111110001010001", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "7fcb9ce8ce209d99", "codeword174_sha256_16": "fffaa3a9661b23ea" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "7fcb9ce8ce209d99" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "hard_weight_174": 40, "llr_avg_abs": 1.5783320287356315, "syndrome": { "bits_len": 174, "message91": "0001000000000010001100000000000100100000111001100000000010101000000100010000000001000010100", "parity83_observed": "01100001100000001110000001010001011010010000000100000000100000001001100000000001010", "parity83_expected": "11011011100000001111010110100011011010001100000100000111000000110100010001101001100", "syndrome83": "10111010000000000001010111110010000000011100000000000111100000111101110001101000110", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "eeb4d939762c19d7", "codeword174_sha256_16": "a064e1b9f911fff9" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "eeb4d939762c19d7" } }, { "variant": "lsb_within_each_tone", "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "hard_weight_174": 32, "llr_avg_abs": 1.5689645287356313, "syndrome": { "bits_len": 174, "message91": "0111000010001000000010000000010000110000000101000000000011100000100100000000010010000000000", "parity83_observed": "00000100001100000001010100000000110000000000001110000000001001000000000000000000100", "parity83_expected": "00011001011001100110110110000000011100000000101010100010110011011110000101000110100", "syndrome83": "00011101010101100111100010000000101100000000100100100010111010011110000101000110000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "1ef6c5c26dfbc68b", "codeword174_sha256_16": "d96e8c7a3ce0490d" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "1ef6c5c26dfbc68b" } }, { "variant": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_alt_high_demap_lsb_input+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "none", "polarity": "inverted" }, "hard_weight_174": 122, "llr_avg_abs": 1.5576050229885054, "syndrome": { "bits_len": 174, "message91": "0101100011111101110011111111001110011101111111101110010010111111001111101110011111111110011", "parity83_observed": "11111110000110111001100110111001101111111110001101001100001010111111111111111111110", "parity83_expected": "11111101000110001011000010011101101111100100010011000000110110010101110111100001011", "syndrome83": "00000011000000110010100100100100000000011010011110001100111100101010001000011110101", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "6b1e08b5e23278be", "codeword174_sha256_16": "2ebc0e51aa0056a9" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "6b1e08b5e23278be" } } ], "decodes": [], "outputs": { "ldpc_matrix_probe_json": "/decoders/js8_decoder/runtime/ldpc_matrix_probe/step37_ldpc_matrix_probe.json" }, "warnings": [ "Step 37 keeps the Step 37 Gray/interleaver probe but ranks all mappings first and repairs only the best bounded subset to avoid Raspberry Pi timeouts.", "This is still a diagnostic LDPC/FEC probe and does not unpack JS8 text yet.", "If best_matrix_probe reaches syndrome_weight 0, the next step can feed message91 into CRC/message unpack. Otherwise continue timing, symbol boundary, deinterleaver/order or LLR tuning using best mapping_meta." ], "next_action": "Upload Step35 logs. Inspect best_matrix_probe.mapping_meta and final_syndrome_weight; then either unpack message91 on syndrome 0 or continue bounded LDPC/timing tuning." } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T040519Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T040519Z_ldpc-matrix-probe_manifest.json