[webftr-js8-lab] command=ldpc-matrix-probe [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T060649Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T060649Z_ldpc-matrix-probe_manifest.json [webftr-js8-lab] utc=20260527T060649Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T060649Z_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": "step42-direct-primary-bounded-repair", "input_wav": null, "candidate_json": "/decoders/js8_decoder/runtime/timing_boundary_sweep/step42_best_timing_fec_candidate.json", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step42_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": 6400, "nsps_is_js8_realistic": true, "selected_profile": null, "selected_variant": { "name": "step42_timing_sweep_best_syndrome_row", "rank_score": 1107.311136, "complete_174bit_candidate": true, "hard_bits_sha256_16": "0228efbd612c9092", "hard_weight_174": 140, "llr_stats": { "count": 174, "avg_abs": 1.827784, "min_abs": 0.008053, "max_abs": 4.126624, "positive": 36, "negative": 138, "zero": 0 } } }, "variant_probe_count": 72, "best_matrix_probe": { "variant": "step42_timing_sweep_best_syndrome_row", "transform": "direct_timing_sweep_primary", "mapping_meta": { "direct_timing_sweep_primary": true, "source_mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none", "polarity": "inverted" }, "source_transform": "lsb_within_each_tone+no_interleaver+inverted_bits", "source_variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse" }, "hard_weight_174": 140, "llr_avg_abs": 1001.8277836149425, "syndrome": { "bits_len": 174, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "parity83_observed": "11001100111111111110111110101111111111111011101111101111101101011001111111110101111", "parity83_expected": "11110110111110110111011110100100001110111011100111101100100101011101111111100100101", "syndrome83": "00111010000001001001100000001011110001000000001000000011001000000100000000010001010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 2, "repair_success": false, "final_syndrome_weight": 20, "trace": [ { "flip_index": 128, "llr_abs": 0.032754, "gain": 1, "syndrome_weight_after": 21 }, { "flip_index": 156, "llr_abs": 0.081417, "gain": 1, "syndrome_weight_after": 20 } ], "repaired_message91_sha256_16": "67b59638aa8882d6" } }, "all_matrix_probes": [ { "variant": "step42_timing_sweep_best_syndrome_row", "transform": "direct_timing_sweep_primary", "mapping_meta": { "direct_timing_sweep_primary": true, "source_mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none", "polarity": "inverted" }, "source_transform": "lsb_within_each_tone+no_interleaver+inverted_bits", "source_variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse" }, "hard_weight_174": 140, "llr_avg_abs": 1001.8277836149425, "syndrome": { "bits_len": 174, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "parity83_observed": "11001100111111111110111110101111111111111011101111101111101101011001111111110101111", "parity83_expected": "11110110111110110111011110100100001110111011100111101100100101011101111111100100101", "syndrome83": "00111010000001001001100000001011110001000000001000000011001000000100000000010001010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 2, "repair_success": false, "final_syndrome_weight": 20, "trace": [ { "flip_index": 128, "llr_abs": 0.032754, "gain": 1, "syndrome_weight_after": 21 }, { "flip_index": 156, "llr_abs": 0.081417, "gain": 1, "syndrome_weight_after": 20 } ], "repaired_message91_sha256_16": "67b59638aa8882d6" } }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "lsb_within_each_tone+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none", "polarity": "inverted" }, "hard_weight_174": 140, "llr_avg_abs": 1.8277836149425295, "syndrome": { "bits_len": 174, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "parity83_observed": "11001100111111111110111110101111111111111011101111101111101101011001111111110101111", "parity83_expected": "11110110111110110111011110100100001110111011100111101100100101011101111111100100101", "syndrome83": "00111010000001001001100000001011110001000000001000000011001000000100000000010001010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 2, "repair_success": false, "final_syndrome_weight": 20, "trace": [ { "flip_index": 128, "llr_abs": 0.032754, "gain": 1, "syndrome_weight_after": 21 }, { "flip_index": 156, "llr_abs": 0.081417, "gain": 1, "syndrome_weight_after": 20 } ], "repaired_message91_sha256_16": "67b59638aa8882d6" } }, { "variant": "step42_timing_sweep_best_syndrome_row", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "hard_weight_174": 140, "llr_avg_abs": 1.8277836149425295, "syndrome": { "bits_len": 174, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "parity83_observed": "11001100111111111110111110101111111111111011101111101111101101011001111111110101111", "parity83_expected": "11110110111110110111011110100100001110111011100111101100100101011101111111100100101", "syndrome83": "00111010000001001001100000001011110001000000001000000011001000000100000000010001010", "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 2, "repair_success": false, "final_syndrome_weight": 20, "trace": [ { "flip_index": 128, "llr_abs": 0.032754, "gain": 1, "syndrome_weight_after": 21 }, { "flip_index": 156, "llr_abs": 0.081417, "gain": 1, "syndrome_weight_after": 20 } ], "repaired_message91_sha256_16": "67b59638aa8882d6" } }, { "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": 35, "llr_avg_abs": 1.5912117011494256, "syndrome": { "bits_len": 174, "message91": "0011000011000000001110000100000000010000000100010010100010000000100000000000110000000010000", "parity83_observed": "00100001110100000001000000000000001000000010001010110000000000000001000001100011000", "parity83_expected": "00110001110111100010100000001100011010000011001000110100001101010101011100100011110", "syndrome83": "00010000000011100011100000001100010010000001000010000100001101010100011101000000110", "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "4f673c96b1f1de5c", "codeword174_sha256_16": "90bdd003a67ea079" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 22, "trace": [ { "flip_index": 105, "llr_abs": 0.008127, "gain": 1, "syndrome_weight_after": 24 }, { "flip_index": 149, "llr_abs": 0.012692, "gain": 1, "syndrome_weight_after": 23 }, { "flip_index": 139, "llr_abs": 0.045014, "gain": 1, "syndrome_weight_after": 22 } ], "repaired_message91_sha256_16": "4f673c96b1f1de5c" } }, { "variant": "mapped_ft8_gray_primary_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": 36, "llr_avg_abs": 1.6427796724137933, "syndrome": { "bits_len": 174, "message91": "0011000011000000001110000100000000010000000100010010100010000000100000000000110000000010000", "parity83_observed": "00100001110100000001000000000000001000000010001010110000010000000001000001100011000", "parity83_expected": "00110001110111100010100000001100011010000011001000110100001101010101011100100011110", "syndrome83": "00010000000011100011100000001100010010000001000010000100011101010100011101000000110", "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "4f673c96b1f1de5c", "codeword174_sha256_16": "eb17c3d482c6c1fa" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 23, "trace": [ { "flip_index": 105, "llr_abs": 0.003612, "gain": 1, "syndrome_weight_after": 25 }, { "flip_index": 149, "llr_abs": 0.013947, "gain": 1, "syndrome_weight_after": 24 }, { "flip_index": 148, "llr_abs": 0.032127, "gain": 1, "syndrome_weight_after": 23 } ], "repaired_message91_sha256_16": "4f673c96b1f1de5c" } }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "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": 127, "llr_avg_abs": 1.672409804597702, "syndrome": { "bits_len": 174, "message91": "0111101111111111110100111110001110111111010111100011111110111111100110101111101000101111111", "parity83_observed": "11111011100110111011001111111001111010001111001111011101111111110001010111111110111", "parity83_expected": "01111011100011100001010001101001111010000011001100011101011101100001000101110101100", "syndrome83": "10000000000101011010011110010000000000001100000011000000100010010000010010001011011", "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "6a76c3f6f4855f72", "codeword174_sha256_16": "e94fe0f75c74d230" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 1, "repair_success": false, "final_syndrome_weight": 24, "trace": [ { "flip_index": 104, "llr_abs": 0.094637, "gain": 1, "syndrome_weight_after": 24 } ], "repaired_message91_sha256_16": "6a76c3f6f4855f72" } }, { "variant": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "hard_weight_174": 138, "llr_avg_abs": 2.2657583620689654, "syndrome": { "bits_len": 174, "message91": "1111111010101111101101111100111011001101001111101111101111100111111111111111110011111111110", "parity83_observed": "10011110011111111011110111111111111110110100111111111100101111111110111111110110111", "parity83_expected": "10000101010110110001001111110001110100111100011111111101101010100100001111100000011", "syndrome83": "00011011001001001010111000001110001010001000100000000001000101011010110000010110100", "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "d5fd881ddc0d6fa3", "codeword174_sha256_16": "524f6b31360d4b54" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 3, "repair_success": false, "final_syndrome_weight": 27, "trace": [ { "flip_index": 98, "llr_abs": 0.093616, "gain": 1, "syndrome_weight_after": 29 }, { "flip_index": 155, "llr_abs": 0.114756, "gain": 1, "syndrome_weight_after": 28 }, { "flip_index": 95, "llr_abs": 0.157374, "gain": 1, "syndrome_weight_after": 27 } ], "repaired_message91_sha256_16": "d5fd881ddc0d6fa3" } }, { "variant": "lab_mask_xor_preview", "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": 83, "llr_avg_abs": 1.8824677988505754, "syndrome": { "bits_len": 174, "message91": "0001110001101100000000011000100010001100000100111011101100100100111000010101001001011011111", "parity83_observed": "00000110001010100101101111010111010101101010110111110100010110101001110010111000011", "parity83_expected": "00011100100111010101111101000101100000001011110111000100010010101110111011100000011", "syndrome83": "00011010101101110000010010010010110101100001000000110000000100000111001001011000000", "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "e3f175dd3a2c81b2", "codeword174_sha256_16": "d5da07ca10be5a38" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 1, "repair_success": false, "final_syndrome_weight": 28, "trace": [ { "flip_index": 105, "llr_abs": 0.056699, "gain": 1, "syndrome_weight_after": 28 } ], "repaired_message91_sha256_16": "e3f175dd3a2c81b2" } }, { "variant": "reverse_symbol_order", "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": 121, "llr_avg_abs": 1.8824677988505747, "syndrome": { "bits_len": 174, "message91": "1111110011111111111111111111000011110100010100011110101111110010011111101010011111111111111", "parity83_observed": "10101111001001111111111001111001010111001111111001100000001111001111111001111111001", "parity83_expected": "00001110001100001011010101010000011111000101111001101010000010000011001011001001001", "syndrome83": "10100001000101110100101100101001001000001010000000001010001101001100110010110110000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "eaf8f2e0f46bfa41" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 1, "repair_success": false, "final_syndrome_weight": 30, "trace": [ { "flip_index": 145, "llr_abs": 0.035267, "gain": 1, "syndrome_weight_after": 30 } ], "repaired_message91_sha256_16": "b5db807c301847ac" } }, { "variant": "reverse_symbol_order", "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": 123, "llr_avg_abs": 1.8277836149425288, "syndrome": { "bits_len": 174, "message91": "1111110011111111111111111111000011110100010100011110101111110010011111101010011111111111111", "parity83_observed": "10101111001001111111111001111001010111001111111001100011001111001111111001111111001", "parity83_expected": "00001110001100001011010101010000011111000101111001101010000010000011001011001001001", "syndrome83": "10100001000101110100101100101001001000001010000000001001001101001100110010110110000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "3bc0238a33865be3" }, "repair": { "attempted": true, "max_flips": 6, "candidate_pool": 12, "flip_count": 1, "repair_success": false, "final_syndrome_weight": 30, "trace": [ { "flip_index": 146, "llr_abs": 0.032754, "gain": 1, "syndrome_weight_after": 30 } ], "repaired_message91_sha256_16": "b5db807c301847ac" } }, { "variant": "reverse_full_bitstream", "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": 121, "llr_avg_abs": 1.7194752988505742, "syndrome": { "bits_len": 174, "message91": "1111110011111111111111111111000011110100010100011110101111110010011111101010011111111111111", "parity83_observed": "10101111001001111111111001111001010111001111111001100000001111001111111001111111001", "parity83_expected": "00001110001100001011010101010000011111000101111001101010000010000011001011001001001", "syndrome83": "10100001000101110100101100101001001000001010000000001010001101001100110010110110000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "eaf8f2e0f46bfa41" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "b5db807c301847ac" } }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_alt_high_demap_msb_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": false, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "hard_weight_174": 47, "llr_avg_abs": 1.7130608850574711, "syndrome": { "bits_len": 174, "message91": "1011100001010001001001000001000000101010110000000010000110000000001000100000011000100000000", "parity83_observed": "01000000000010010110000010000000110001000100011010110000011100011000000101010000100", "parity83_expected": "10000010000011010111011000001000001110000100111011101010111000000001010000111001100", "syndrome83": "11000010000001000001011010001000111111000000100001011010100100011001010101101001000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "10bccbb21b243c70", "codeword174_sha256_16": "3d241f2dee27cf8a" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "10bccbb21b243c70" } }, { "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": 123, "llr_avg_abs": 1.6647911149425294, "syndrome": { "bits_len": 174, "message91": "1001111111001111111001111001100011001111111001110101001111001111111111001001111010111111111", "parity83_observed": "11111100101011111100100111111010111100010100010111100001111111111111111111100111111", "parity83_expected": "11101110101001100110010101111011101101010010100101100111001100101100011111101010011", "syndrome83": "00010010000010011010110010000001010001000110110010000110110011010011100000001101100", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "ea3829fd4a89c4a1", "codeword174_sha256_16": "8aeb2df4b6f868f0" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "ea3829fd4a89c4a1" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "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": 51, "llr_avg_abs": 1.6647911149425283, "syndrome": { "bits_len": 174, "message91": "0000000110100100001100000111100100001000100110100000111010000000000001101100010000000110100", "parity83_observed": "00000101010001000110010000000110010010101010101000100110010000001000000000010100000", "parity83_expected": "00000100110001000100010000010111111111001001001000101011100100110001110100100110011", "syndrome83": "00000001100000000010000000010001101101100011100000001101110100111001110100110010011", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "7289260856bf46ac", "codeword174_sha256_16": "52fd9adeb14097f4" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "7289260856bf46ac" } }, { "variant": "reverse_full_bitstream", "transform": "ft8_gray_alt_high_demap_msb_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": false, "interleaver": "none", "polarity": "inverted" }, "hard_weight_174": 123, "llr_avg_abs": 1.664791114942528, "syndrome": { "bits_len": 174, "message91": "1111110011111111111111111111000011110100010100011110101111110010011111101010011111111111111", "parity83_observed": "10101111001001111111111001111001010111001111111001100011001111001111111001111111001", "parity83_expected": "00001110001100001011010101010000011111000101111001101010000010000011001011001001001", "syndrome83": "10100001000101110100101100101001001000001010000000001001001101001100110010110110000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "3bc0238a33865be3" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "b5db807c301847ac" } }, { "variant": "mapped_raw_msb+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_alt_high_demap_lsb_input+no_interleaver", "mapping_meta": { "tone_mapping": "ft8_gray_alt_high", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": true, "interleaver": "none" }, "hard_weight_174": 51, "llr_avg_abs": 1.613219333333333, "syndrome": { "bits_len": 174, "message91": "1100011100010000001000000000000001100000000111101100111100000000110000000111010010001100000", "parity83_observed": "00001110010001000110000000000000110000000011110011010000011000000000000110001101000", "parity83_expected": "00011100001101101101100000011010010000001110110001111100011011111001010111011111000", "syndrome83": "00010010011100101011100000011010100000001101000010101100000011111001010001010010000", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "6b88dc9388d32ed9", "codeword174_sha256_16": "80e4ac873aa43e30" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "6b88dc9388d32ed9" } }, { "variant": "mapped_ft8_gray_alt_high_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": 61, "llr_avg_abs": 1.0715886954022988, "syndrome": { "bits_len": 174, "message91": "0000101000010000000010100010011010001001010110011010001000010100110001101101011100110010100", "parity83_observed": "10000101011110000010010010011000111010100100000000100000101000000011010001100000001", "parity83_expected": "10000101100000110010010100010000110011100100101101110011110010011110011001001100000", "syndrome83": "00000000111110110000000110001000001001000000101101010011011010011101001000101100001", "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "8b19ee60d2508d5d", "codeword174_sha256_16": "d8393894fe20b24f" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 31, "trace": [], "repaired_message91_sha256_16": "8b19ee60d2508d5d" } }, { "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+inverted_bits", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174, "polarity": "inverted" }, "hard_weight_174": 138, "llr_avg_abs": 1.8824677988505751, "syndrome": { "bits_len": 174, "message91": "1011111111110111111111101111101001111110011111111011111111011111110110111111000110110110111", "parity83_observed": "10111011110011011101011111101111111100011101111101111111111101111101101111100111111", "parity83_expected": "00001011000010010101101111011000011100001000101101111110111000110100001001100010000", "syndrome83": "10110000110001001000110000110111100000010101010000000001000101001001100110000101111", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "08a9bfa00a31c778", "codeword174_sha256_16": "96c35e2c35fea733" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "08a9bfa00a31c778" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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": 116, "llr_avg_abs": 1.1495715689655168, "syndrome": { "bits_len": 174, "message91": "0100110111111110011101100111101111111110111111111010101111101100001100011101101010110110111", "parity83_observed": "11101110011111101010111000111011101111100111101110100111000101110101110011100001011", "parity83_expected": "00000100001011010011000010111000000101100101101011100000001011111101110111100000011", "syndrome83": "11101010010100111001111010000011101010000010000101000111001110001000000100000001000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "1661d9e1acea61ee", "codeword174_sha256_16": "419192bccb8097ba" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "1661d9e1acea61ee" } }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_primary_demap_msb_input+no_interleaver", "mapping_meta": { "tone_mapping": "ft8_gray_primary", "gray_direction": "inverse_observed_to_plain", "reverse_bits_within_tone_before_gray": false, "interleaver": "none" }, "hard_weight_174": 58, "llr_avg_abs": 1.1495715689655162, "syndrome": { "bits_len": 174, "message91": "1101000001010110100001000001100110000010000000010011000110110000100010110000001100000011011", "parity83_observed": "00011001101001001001100000000011001000000110001010000011011000011000000000011101001", "parity83_expected": "01011100010110000000110101000010111110000000011010011101011100111100000101011111001", "syndrome83": "01000101111111001001010101000001110110000110010000011110000100100100000101000010000", "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "caa2056a7c81f96b", "codeword174_sha256_16": "67b40f73f62e6c6c" }, "repair": { "attempted": false, "flip_count": 0, "repair_success": false, "final_syndrome_weight": 32, "trace": [], "repaired_message91_sha256_16": "caa2056a7c81f96b" } } ], "decodes": [], "outputs": { "ldpc_matrix_probe_json": "/decoders/js8_decoder/runtime/ldpc_matrix_probe/step42_ldpc_matrix_probe.json" }, "warnings": [ "Step 42 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/20260527T060649Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T060649Z_ldpc-matrix-probe_manifest.json