[webftr-js8-lab] command=ldpc-matrix-probe [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T111109Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T111109Z_ldpc-matrix-probe_manifest.json [webftr-js8-lab] utc=20260527T111109Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T111109Z_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": "step51-source-aligned-tone-offset-cli-fix", "input_wav": null, "candidate_json": "/decoders/js8_decoder/runtime/timing_boundary_sweep/step51_source_aligned_best_timing_fec_candidate.json", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_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": 865, "max_rows": 72, "repair_rows": 10, "max_flips": 6, "candidate_pool": 12 }, "candidate_context": { "nsps_used": 6192, "nsps_is_js8_realistic": true, "selected_profile": null, "selected_variant": { "name": "step43_timing_sweep_best_syndrome_row", "rank_score": 1105.166392, "complete_174bit_candidate": true, "hard_bits_sha256_16": "95a1e941fbdff6b2", "hard_weight_174": 36, "llr_stats": { "count": 174, "avg_abs": 1.291598, "min_abs": 0.001433, "max_abs": 3.895705, "positive": 129, "negative": 45, "zero": 0 } } }, "variant_probe_count": 72, "best_matrix_probe": { "variant": "step43_timing_sweep_best_syndrome_row", "transform": "direct_timing_sweep_primary", "mapping_meta": { "direct_timing_sweep_primary": true, "source_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 }, "source_transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "source_variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver" }, "hard_weight_174": 36, "llr_avg_abs": 1001.2915982873564, "syndrome": { "bits_len": 174, "message91": "0000000100000001000001000100000000000010001000000000010000000000000001100000000101000100110", "parity83_observed": "00101000000010010001000000010000110101000000000011100101101000000000001001001000110", "parity83_expected": "10110000000000110101000000000011101111100000111011110101101001100000101001001100100", "syndrome83": "10011000000010100100000000010011011010100000111000010000000001100000100000000100010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "d4ca2a05f15dd009", "codeword174_sha256_16": "95a1e941fbdff6b2" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 22, "trace": [], "repaired_message91_sha256_16": "d4ca2a05f15dd009" } }, "all_matrix_probes": [ { "variant": "step43_timing_sweep_best_syndrome_row", "transform": "direct_timing_sweep_primary", "mapping_meta": { "direct_timing_sweep_primary": true, "source_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 }, "source_transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "source_variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver" }, "hard_weight_174": 36, "llr_avg_abs": 1001.2915982873564, "syndrome": { "bits_len": 174, "message91": "0000000100000001000001000100000000000010001000000000010000000000000001100000000101000100110", "parity83_observed": "00101000000010010001000000010000110101000000000011100101101000000000001001001000110", "parity83_expected": "10110000000000110101000000000011101111100000111011110101101001100000101001001100100", "syndrome83": "10011000000010100100000000010011011010100000111000010000000001100000100000000100010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "d4ca2a05f15dd009", "codeword174_sha256_16": "95a1e941fbdff6b2" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 22, "trace": [], "repaired_message91_sha256_16": "d4ca2a05f15dd009" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "hard_weight_174": 36, "llr_avg_abs": 1.2915982873563212, "syndrome": { "bits_len": 174, "message91": "0000000100000001000001000100000000000010001000000000010000000000000001100000000101000100110", "parity83_observed": "00101000000010010001000000010000110101000000000011100101101000000000001001001000110", "parity83_expected": "10110000000000110101000000000011101111100000111011110101101001100000101001001100100", "syndrome83": "10011000000010100100000000010011011010100000111000010000000001100000100000000100010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "d4ca2a05f15dd009", "codeword174_sha256_16": "95a1e941fbdff6b2" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 22, "trace": [], "repaired_message91_sha256_16": "d4ca2a05f15dd009" } }, { "variant": "step43_timing_sweep_best_syndrome_row", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "hard_weight_174": 36, "llr_avg_abs": 1.2915982873563212, "syndrome": { "bits_len": 174, "message91": "0000000100000001000001000100000000000010001000000000010000000000000001100000000101000100110", "parity83_observed": "00101000000010010001000000010000110101000000000011100101101000000000001001001000110", "parity83_expected": "10110000000000110101000000000011101111100000111011110101101001100000101001001100100", "syndrome83": "10011000000010100100000000010011011010100000111000010000000001100000100000000100010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "d4ca2a05f15dd009", "codeword174_sha256_16": "95a1e941fbdff6b2" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 22, "trace": [], "repaired_message91_sha256_16": "d4ca2a05f15dd009" } }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+no_interleaver", "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "hard_weight_174": 36, "llr_avg_abs": 1.2893225114942535, "syndrome": { "bits_len": 174, "message91": "0000000100000001000001000100000000000010001000000000010000000000000001100000000101000100110", "parity83_observed": "00101000000010010001000000010000110101000000000011100101101000000000001001001000110", "parity83_expected": "10110000000000110101000000000011101111100000111011110101101001100000101001001100100", "syndrome83": "10011000000010100100000000010011011010100000111000010000000001100000100000000100010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "d4ca2a05f15dd009", "codeword174_sha256_16": "95a1e941fbdff6b2" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 22, "trace": [], "repaired_message91_sha256_16": "d4ca2a05f15dd009" } }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_primary_demap_lsb_input+no_interleaver", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "none" }, "hard_weight_174": 61, "llr_avg_abs": 1.1143301551724138, "syndrome": { "bits_len": 174, "message91": "1100001110000000010110010110001010001010000010000001110001100011100110110000001010000010110", "parity83_observed": "00110000000011000110011000000110100100001001000110001100110000000011110110000000011", "parity83_expected": "00111100101110110000011000110111100101001001000110100101100101001111011111100010011", "syndrome83": "00001100101101110110000000110001000001000000000000101001010101001100101001100010000", "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "bab866be6de1cc5a", "codeword174_sha256_16": "4b4b446b1e4f7aae" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 1, "repair_success": false, "final_syndrome_weight": 26, "trace": [ { "flip_index": 165, "llr_abs": 0.041242, "gain": 1, "syndrome_weight_after": 26 } ], "repaired_message91_sha256_16": "bab866be6de1cc5a" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_primary_demap_lsb_input+no_interleaver", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "none" }, "hard_weight_174": 61, "llr_avg_abs": 1.0792917931034485, "syndrome": { "bits_len": 174, "message91": "1100001110000000010110010110001010001010000010000001110001100011100110110000001010000010110", "parity83_observed": "00110000000011000110011000000110100100001001000110001100110000000011110110000000011", "parity83_expected": "00111100101110110000011000110111100101001001000110100101100101001111011111100010011", "syndrome83": "00001100101101110110000000110001000001000000000000101001010101001100101001100010000", "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "bab866be6de1cc5a", "codeword174_sha256_16": "4b4b446b1e4f7aae" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 1, "repair_success": false, "final_syndrome_weight": 26, "trace": [ { "flip_index": 165, "llr_abs": 0.003629, "gain": 1, "syndrome_weight_after": 26 } ], "repaired_message91_sha256_16": "bab866be6de1cc5a" } }, { "variant": "lab_mask_xor_preview", "transform": "ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "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": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "hard_weight_174": 93, "llr_avg_abs": 1.818736224137931, "syndrome": { "bits_len": 174, "message91": "0011110111101100001011010010101110101000011100011010011111110101111100100101100100001011111", "parity83_observed": "00000111101100000100100110100110110100001011111101100100011010101010110111110010101", "parity83_expected": "00000011100100100100000110110101101100101111110011100101110010110000011100100111000", "syndrome83": "00000100001000100000100000010011011000100100001110000001101000011010101011010101101", "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "4439454e612f6636", "codeword174_sha256_16": "953e2bc596e8a67e" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 26, "trace": [ { "flip_index": 155, "llr_abs": 0.01702, "gain": 1, "syndrome_weight_after": 28 }, { "flip_index": 149, "llr_abs": 0.031568, "gain": 1, "syndrome_weight_after": 27 }, { "flip_index": 170, "llr_abs": 0.066433, "gain": 1, "syndrome_weight_after": 26 } ], "repaired_message91_sha256_16": "4439454e612f6636" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_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": 45, "llr_avg_abs": 1.6256335402298847, "syndrome": { "bits_len": 174, "message91": "1100000100110000000101000100000100001110000000001001000010000000001110000010000100100110000", "parity83_observed": "00100000000001001000010000010000000011010110001101000000000001100001100000110011010", "parity83_expected": "11010000101000001010101011011001000100110100011000010001100001000101110001110011000", "syndrome83": "11110000101001000010111011001001000111100010010101010001100000100100010001000000010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "1bf4f3a7e6e5f651", "codeword174_sha256_16": "daeb23bbbdf896b0" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 28, "trace": [ { "flip_index": 113, "llr_abs": 0.003629, "gain": 1, "syndrome_weight_after": 30 }, { "flip_index": 112, "llr_abs": 0.100589, "gain": 1, "syndrome_weight_after": 29 }, { "flip_index": 160, "llr_abs": 0.101553, "gain": 1, "syndrome_weight_after": 28 } ], "repaired_message91_sha256_16": "1bf4f3a7e6e5f651" } }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_alt_high_demap_msb_input+no_interleaver", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "none" }, "hard_weight_174": 45, "llr_avg_abs": 1.6172086091954023, "syndrome": { "bits_len": 174, "message91": "0000000110000001100001100110000000010010001101100000010000000000000000110000000110000000110", "parity83_observed": "00010000000101000111000000000000110111000000000001110111001000000000001001011000011", "parity83_expected": "01001010101000000111001100000110100111100010000101110001101101110110111011100000011", "syndrome83": "01011010101101000000001100000110010000100010000100000110100101110110110010111000000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "202d2650a31499d7", "codeword174_sha256_16": "6c43e3bd22022c79" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 28, "trace": [ { "flip_index": 167, "llr_abs": 0.001539, "gain": 1, "syndrome_weight_after": 30 }, { "flip_index": 166, "llr_abs": 0.029448, "gain": 1, "syndrome_weight_after": 29 }, { "flip_index": 124, "llr_abs": 0.064735, "gain": 1, "syndrome_weight_after": 28 } ], "repaired_message91_sha256_16": "202d2650a31499d7" } }, { "variant": "mapped_ft8_gray_primary_demap_lsb_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": 45, "llr_avg_abs": 1.6664229885057469, "syndrome": { "bits_len": 174, "message91": "1100000100110000000101000100000100001110000000001001000010000000001110000010000100100110000", "parity83_observed": "00100000000001001000010000010000000011010110001101000000000001100001100000110011010", "parity83_expected": "11010000101000001010101011011001000100110100011000010001100001000101110001110011000", "syndrome83": "11110000101001000010111011001001000111100010010101010001100000100100010001000000010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "1bf4f3a7e6e5f651", "codeword174_sha256_16": "daeb23bbbdf896b0" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 2, "repair_success": false, "final_syndrome_weight": 29, "trace": [ { "flip_index": 113, "llr_abs": 0.041242, "gain": 1, "syndrome_weight_after": 30 }, { "flip_index": 112, "llr_abs": 0.103273, "gain": 1, "syndrome_weight_after": 29 } ], "repaired_message91_sha256_16": "1bf4f3a7e6e5f651" } }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_lsb_input+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "none", "polarity": "inverted" }, "hard_weight_174": 127, "llr_avg_abs": 1.3337297126436785, "syndrome": { "bits_len": 174, "message91": "1111111001111111110011101101111000101111111000010011111111101110011001111111111011101111111", "parity83_observed": "11111001100111111110111111100001001100111100110111110111001111100001111110111111111", "parity83_expected": "10110001101001101110011110000001101010111101010101010001110111000111101100101000101", "syndrome83": "01001000001110010000100001100000100110000001100010100110111000100110010010010111010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "332fb0dabe874c89", "codeword174_sha256_16": "b69cc7a7a2c9cfc9" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "332fb0dabe874c89" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_lsb_input+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "none", "polarity": "inverted" }, "hard_weight_174": 127, "llr_avg_abs": 1.2983798793103447, "syndrome": { "bits_len": 174, "message91": "1111111001111111110011101101111000101111111000010011111111101110011001111111111011101111111", "parity83_observed": "11111001100111111110111111100001001100111100110111110111001111100001111110111111111", "parity83_expected": "10110001101001101110011110000001101010111101010101010001110111000111101100101000101", "syndrome83": "01001000001110010000100001100000100110000001100010100110111000100110010010010111010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "332fb0dabe874c89", "codeword174_sha256_16": "b69cc7a7a2c9cfc9" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "332fb0dabe874c89" } }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "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": 127, "llr_avg_abs": 1.2560504137931032, "syndrome": { "bits_len": 174, "message91": "1111111001111111110011101101111000101111111000010011111111101110011001111111111011101111111", "parity83_observed": "11111001100111111110111111100001001100111100110111110111001111100001111110111111111", "parity83_expected": "10110001101001101110011110000001101010111101010101010001110111000111101100101000101", "syndrome83": "01001000001110010000100001100000100110000001100010100110111000100110010010010111010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "332fb0dabe874c89", "codeword174_sha256_16": "b69cc7a7a2c9cfc9" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "332fb0dabe874c89" } }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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": 37, "llr_avg_abs": 1.2423823563218392, "syndrome": { "bits_len": 174, "message91": "0100010011001000000000000111000000100000000000010001110000000010000000100000000000011000010", "parity83_observed": "01000000000010010010000000100010000110100011000011001010000000000001000000011000001", "parity83_expected": "01001001001001100010101001101110001000001011100010111111100001000101001010000000000", "syndrome83": "00001001001011110000101001001100001110101000100001110101100001000100001010011000001", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "24f38de55dffa50e", "codeword174_sha256_16": "a5cef5b3b7fef29e" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "24f38de55dffa50e" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "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": 127, "llr_avg_abs": 1.217521729885057, "syndrome": { "bits_len": 174, "message91": "1111111001111111110011101101111000101111111000010011111111101110011001111111111011101111111", "parity83_observed": "11111001100111111110111111100001001100111100110111110111001111100001111110111111111", "parity83_expected": "10110001101001101110011110000001101010111101010101010001110111000111101100101000101", "syndrome83": "01001000001110010000100001100000100110000001100010100110111000100110010010010111010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "332fb0dabe874c89", "codeword174_sha256_16": "b69cc7a7a2c9cfc9" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "332fb0dabe874c89" } }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "hard_weight_174": 57, "llr_avg_abs": 1.208058896551724, "syndrome": { "bits_len": 174, "message91": "0010100010100001100000001000010000001000000010100010100000001111110000001001001011100101100", "parity83_observed": "00110000000100110100000010000100010000101101001010000101100110001000000100110111110", "parity83_expected": "01110111010100110100100110000000011111000100011001001110001010001011101100110010100", "syndrome83": "01000111010000000000100100000100001111101001010011001011101100000011101000000101010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "678915ad8b5b531e", "codeword174_sha256_16": "0bfb984669bc190f" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "678915ad8b5b531e" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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": 37, "llr_avg_abs": 1.2055921379310346, "syndrome": { "bits_len": 174, "message91": "0100010011001000000000000111000000100000000000010001110000000010000000100000000000011000010", "parity83_observed": "01000000000010010010000000100010000110100011000011001010000000000001000000011000001", "parity83_expected": "01001001001001100010101001101110001000001011100010111111100001000101001010000000000", "syndrome83": "00001001001011110000101001001100001110101000100001110101100001000100001010011000001", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "24f38de55dffa50e", "codeword174_sha256_16": "a5cef5b3b7fef29e" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "24f38de55dffa50e" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "hard_weight_174": 57, "llr_avg_abs": 1.1703414942528743, "syndrome": { "bits_len": 174, "message91": "0010100010100001100000001000010000001000000010100010100000001111110000001001001011100101100", "parity83_observed": "00110000000100110100000010000100010000101101001010000101100110001000000100110111110", "parity83_expected": "01110111010100110100100110000000011111000100011001001110001010001011101100110010100", "syndrome83": "01000111010000000000100100000100001111101001010011001011101100000011101000000101010", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "678915ad8b5b531e", "codeword174_sha256_16": "0bfb984669bc190f" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "678915ad8b5b531e" } }, { "variant": "lsb_within_each_tone", "transform": "raw_msb+ft8_bitrev_deinterleave_rx_to_codeword", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "hard_weight_174": 30, "llr_avg_abs": 2.2186752701149435, "syndrome": { "bits_len": 174, "message91": "0100000000000100011001000000000100000000000110000000001000000100000100010001001100000000001", "parity83_observed": "00001000000000010001100000010010001000010000000000110001010000100000000000000100000", "parity83_expected": "11010100100010100010111000111011101010000001011001100001100100010000100000001101000", "syndrome83": "11011100100010110011011000101001100010010001011001010000110100110000100000001001000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "770633de1c822554", "codeword174_sha256_16": "3605fe147cc4f9f8" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "770633de1c822554" } }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "hard_weight_174": 30, "llr_avg_abs": 2.2186752701149435, "syndrome": { "bits_len": 174, "message91": "0100000000000100011001000000000100000000000110000000001000000100000100010001001100000000001", "parity83_observed": "00001000000000010001100000010010001000010000000000110001010000100000000000000100000", "parity83_expected": "11010100100010100010111000111011101010000001011001100001100100010000100000001101000", "syndrome83": "11011100100010110011011000101001100010010001011001010000110100110000100000001001000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "770633de1c822554", "codeword174_sha256_16": "3605fe147cc4f9f8" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "770633de1c822554" } } ], "decodes": [], "outputs": { "ldpc_matrix_probe_json": "/decoders/js8_decoder/runtime/ldpc_matrix_probe/step43_ldpc_matrix_probe.json" }, "warnings": [ "Step 51 preserves the exact timing-sweep primary row in matrix ranking, then repairs only a 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/20260527T111109Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T111109Z_ldpc-matrix-probe_manifest.json