[webftr-js8-lab] command=ldpc-soft-decode [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260526T153519Z_ldpc-soft-decode.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260526T153519Z_ldpc-soft-decode_manifest.json [webftr-js8-lab] utc=20260526T153519Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260526T153519Z_ldpc_soft_decode_output.json [webftr-js8-lab] JSON timeout guard: 120s { "ok": true, "mode": "JS8", "tool": "webftr-js8-soft-ldpc-minsum-probe", "tool_version": "step33-auto-anchor-candidate-guard", "input_wav": null, "candidate_json": "/decoders/js8_decoder/runtime/fec_candidates/js8_quick_selected_window_fec_candidate_step17.json", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step33_soft_ldpc_minsum_probe_no_message_unpack", "matrix": { "code": "(174,91)", "message_bits": 91, "parity_bits": 83, "codeword_bits": 174, "check_count": 83 }, "decoder": { "algorithm": "normalized_min_sum", "max_iterations": 40, "alpha": 0.8, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely" }, "candidate_context": { "nsps_used": 6400, "nsps_is_js8_realistic": true, "selected_profile": { "profile": "js8_near_6400", "nsps": 6400, "symbol_duration_seconds": 0.533333, "tone_spacing_hz": 1.875, "note": "0.533 s timing guard candidate", "ok": true, "sync": { "start_seconds": 4.8, "base_freq_hz": 1025.0, "candidate_score": 47.4, "costas_hits": 2, "avg_margin_db": 8.01, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 103, "data_symbol_count_estimate": 58, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0, "complete_ldpc_input_candidate_estimate": true }, "rank_score": 225.085 }, "selected_variant": { "name": "raw_msb_symbol_order", "rank_score": 127.195892, "complete_174bit_candidate": true, "hard_bits_sha256_16": "c87312f86dbe74fc", "hard_weight_174": 36, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 } } }, "probe_count": 20, "best_soft_decode": { "variant": "raw_msb_symbol_order", "transform": "as_exported", "source_rank_score": 127.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "78a9fa14ddd0c492", "codeword174_sha256_16": "a04e4233e614dfc1", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 43 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 44 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 43 }, { "iteration": 6, "syndrome_weight": 45 }, { "iteration": 7, "syndrome_weight": 42 }, { "iteration": 8, "syndrome_weight": 37 }, { "iteration": 9, "syndrome_weight": 41 }, { "iteration": 10, "syndrome_weight": 45 }, { "iteration": 15, "syndrome_weight": 33 }, { "iteration": 20, "syndrome_weight": 34 }, { "iteration": 25, "syndrome_weight": 45 }, { "iteration": 30, "syndrome_weight": 40 }, { "iteration": 35, "syndrome_weight": 28 }, { "iteration": 40, "syndrome_weight": 46 } ] }, "soft_decode_results": [ { "variant": "raw_msb_symbol_order", "transform": "as_exported", "source_rank_score": 127.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "78a9fa14ddd0c492", "codeword174_sha256_16": "a04e4233e614dfc1", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 43 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 44 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 43 }, { "iteration": 6, "syndrome_weight": 45 }, { "iteration": 7, "syndrome_weight": 42 }, { "iteration": 8, "syndrome_weight": 37 }, { "iteration": 9, "syndrome_weight": 41 }, { "iteration": 10, "syndrome_weight": 45 }, { "iteration": 15, "syndrome_weight": 33 }, { "iteration": 20, "syndrome_weight": 34 }, { "iteration": 25, "syndrome_weight": 45 }, { "iteration": 30, "syndrome_weight": 40 }, { "iteration": 35, "syndrome_weight": 28 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "raw_msb_symbol_order", "transform": "inverted_bits", "source_rank_score": 127.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "3199c0e4c0337f30", "codeword174_sha256_16": "c05155822206704f", "trace": [ { "iteration": 0, "syndrome_weight": 31 }, { "iteration": 1, "syndrome_weight": 29 }, { "iteration": 2, "syndrome_weight": 45 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 34 }, { "iteration": 6, "syndrome_weight": 40 }, { "iteration": 7, "syndrome_weight": 41 }, { "iteration": 8, "syndrome_weight": 29 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 44 }, { "iteration": 15, "syndrome_weight": 39 }, { "iteration": 20, "syndrome_weight": 39 }, { "iteration": 25, "syndrome_weight": 43 }, { "iteration": 30, "syndrome_weight": 36 }, { "iteration": 35, "syndrome_weight": 38 }, { "iteration": 40, "syndrome_weight": 44 } ] }, { "variant": "lsb_within_each_tone", "transform": "as_exported", "source_rank_score": 119.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "78a9fa14ddd0c492", "codeword174_sha256_16": "a04e4233e614dfc1", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 43 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 44 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 43 }, { "iteration": 6, "syndrome_weight": 45 }, { "iteration": 7, "syndrome_weight": 42 }, { "iteration": 8, "syndrome_weight": 37 }, { "iteration": 9, "syndrome_weight": 41 }, { "iteration": 10, "syndrome_weight": 45 }, { "iteration": 15, "syndrome_weight": 33 }, { "iteration": 20, "syndrome_weight": 34 }, { "iteration": 25, "syndrome_weight": 45 }, { "iteration": 30, "syndrome_weight": 40 }, { "iteration": 35, "syndrome_weight": 28 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "lsb_within_each_tone", "transform": "inverted_bits", "source_rank_score": 119.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "3199c0e4c0337f30", "codeword174_sha256_16": "c05155822206704f", "trace": [ { "iteration": 0, "syndrome_weight": 31 }, { "iteration": 1, "syndrome_weight": 29 }, { "iteration": 2, "syndrome_weight": 45 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 34 }, { "iteration": 6, "syndrome_weight": 40 }, { "iteration": 7, "syndrome_weight": 41 }, { "iteration": 8, "syndrome_weight": 29 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 44 }, { "iteration": 15, "syndrome_weight": 39 }, { "iteration": 20, "syndrome_weight": 39 }, { "iteration": 25, "syndrome_weight": 43 }, { "iteration": 30, "syndrome_weight": 36 }, { "iteration": 35, "syndrome_weight": 38 }, { "iteration": 40, "syndrome_weight": 44 } ] }, { "variant": "reverse_symbol_order", "transform": "reverse_codeword", "source_rank_score": 113.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "78a9fa14ddd0c492", "codeword174_sha256_16": "a04e4233e614dfc1", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 43 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 44 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 43 }, { "iteration": 6, "syndrome_weight": 45 }, { "iteration": 7, "syndrome_weight": 42 }, { "iteration": 8, "syndrome_weight": 37 }, { "iteration": 9, "syndrome_weight": 41 }, { "iteration": 10, "syndrome_weight": 45 }, { "iteration": 15, "syndrome_weight": 33 }, { "iteration": 20, "syndrome_weight": 34 }, { "iteration": 25, "syndrome_weight": 45 }, { "iteration": 30, "syndrome_weight": 40 }, { "iteration": 35, "syndrome_weight": 28 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "reverse_symbol_order", "transform": "reverse_inverted_codeword", "source_rank_score": 113.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "3199c0e4c0337f30", "codeword174_sha256_16": "c05155822206704f", "trace": [ { "iteration": 0, "syndrome_weight": 31 }, { "iteration": 1, "syndrome_weight": 29 }, { "iteration": 2, "syndrome_weight": 45 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 34 }, { "iteration": 6, "syndrome_weight": 40 }, { "iteration": 7, "syndrome_weight": 41 }, { "iteration": 8, "syndrome_weight": 29 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 44 }, { "iteration": 15, "syndrome_weight": 39 }, { "iteration": 20, "syndrome_weight": 39 }, { "iteration": 25, "syndrome_weight": 43 }, { "iteration": 30, "syndrome_weight": 36 }, { "iteration": 35, "syndrome_weight": 38 }, { "iteration": 40, "syndrome_weight": 44 } ] }, { "variant": "reverse_full_bitstream", "transform": "reverse_codeword", "source_rank_score": 112.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "78a9fa14ddd0c492", "codeword174_sha256_16": "a04e4233e614dfc1", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 43 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 44 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 43 }, { "iteration": 6, "syndrome_weight": 45 }, { "iteration": 7, "syndrome_weight": 42 }, { "iteration": 8, "syndrome_weight": 37 }, { "iteration": 9, "syndrome_weight": 41 }, { "iteration": 10, "syndrome_weight": 45 }, { "iteration": 15, "syndrome_weight": 33 }, { "iteration": 20, "syndrome_weight": 34 }, { "iteration": 25, "syndrome_weight": 45 }, { "iteration": 30, "syndrome_weight": 40 }, { "iteration": 35, "syndrome_weight": 28 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "reverse_full_bitstream", "transform": "reverse_inverted_codeword", "source_rank_score": 112.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "3199c0e4c0337f30", "codeword174_sha256_16": "c05155822206704f", "trace": [ { "iteration": 0, "syndrome_weight": 31 }, { "iteration": 1, "syndrome_weight": 29 }, { "iteration": 2, "syndrome_weight": 45 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 34 }, { "iteration": 6, "syndrome_weight": 40 }, { "iteration": 7, "syndrome_weight": 41 }, { "iteration": 8, "syndrome_weight": 29 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 44 }, { "iteration": 15, "syndrome_weight": 39 }, { "iteration": 20, "syndrome_weight": 39 }, { "iteration": 25, "syndrome_weight": 43 }, { "iteration": 30, "syndrome_weight": 36 }, { "iteration": 35, "syndrome_weight": 38 }, { "iteration": 40, "syndrome_weight": 44 } ] }, { "variant": "lab_mask_xor_preview", "transform": "as_exported", "source_rank_score": 101.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "78a9fa14ddd0c492", "codeword174_sha256_16": "a04e4233e614dfc1", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 43 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 44 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 43 }, { "iteration": 6, "syndrome_weight": 45 }, { "iteration": 7, "syndrome_weight": 42 }, { "iteration": 8, "syndrome_weight": 37 }, { "iteration": 9, "syndrome_weight": 41 }, { "iteration": 10, "syndrome_weight": 45 }, { "iteration": 15, "syndrome_weight": 33 }, { "iteration": 20, "syndrome_weight": 34 }, { "iteration": 25, "syndrome_weight": 45 }, { "iteration": 30, "syndrome_weight": 40 }, { "iteration": 35, "syndrome_weight": 28 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "lab_mask_xor_preview", "transform": "inverted_bits", "source_rank_score": 101.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 28, "message91": null, "message91_sha256_16": "3199c0e4c0337f30", "codeword174_sha256_16": "c05155822206704f", "trace": [ { "iteration": 0, "syndrome_weight": 31 }, { "iteration": 1, "syndrome_weight": 29 }, { "iteration": 2, "syndrome_weight": 45 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 46 }, { "iteration": 5, "syndrome_weight": 34 }, { "iteration": 6, "syndrome_weight": 40 }, { "iteration": 7, "syndrome_weight": 41 }, { "iteration": 8, "syndrome_weight": 29 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 44 }, { "iteration": 15, "syndrome_weight": 39 }, { "iteration": 20, "syndrome_weight": 39 }, { "iteration": 25, "syndrome_weight": 43 }, { "iteration": 30, "syndrome_weight": 36 }, { "iteration": 35, "syndrome_weight": 38 }, { "iteration": 40, "syndrome_weight": 44 } ] }, { "variant": "raw_msb_symbol_order", "transform": "reverse_inverted_codeword", "source_rank_score": 127.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 31, "message91": null, "message91_sha256_16": "9543c5d603c673e9", "codeword174_sha256_16": "c5e761d71d7175e8", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 31 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 41 }, { "iteration": 5, "syndrome_weight": 39 }, { "iteration": 6, "syndrome_weight": 37 }, { "iteration": 7, "syndrome_weight": 37 }, { "iteration": 8, "syndrome_weight": 41 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 41 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 38 }, { "iteration": 25, "syndrome_weight": 32 }, { "iteration": 30, "syndrome_weight": 43 }, { "iteration": 35, "syndrome_weight": 43 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "lsb_within_each_tone", "transform": "reverse_inverted_codeword", "source_rank_score": 119.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 31, "message91": null, "message91_sha256_16": "9543c5d603c673e9", "codeword174_sha256_16": "c5e761d71d7175e8", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 31 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 41 }, { "iteration": 5, "syndrome_weight": 39 }, { "iteration": 6, "syndrome_weight": 37 }, { "iteration": 7, "syndrome_weight": 37 }, { "iteration": 8, "syndrome_weight": 41 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 41 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 38 }, { "iteration": 25, "syndrome_weight": 32 }, { "iteration": 30, "syndrome_weight": 43 }, { "iteration": 35, "syndrome_weight": 43 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "reverse_symbol_order", "transform": "inverted_bits", "source_rank_score": 113.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 31, "message91": null, "message91_sha256_16": "9543c5d603c673e9", "codeword174_sha256_16": "c5e761d71d7175e8", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 31 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 41 }, { "iteration": 5, "syndrome_weight": 39 }, { "iteration": 6, "syndrome_weight": 37 }, { "iteration": 7, "syndrome_weight": 37 }, { "iteration": 8, "syndrome_weight": 41 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 41 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 38 }, { "iteration": 25, "syndrome_weight": 32 }, { "iteration": 30, "syndrome_weight": 43 }, { "iteration": 35, "syndrome_weight": 43 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "reverse_full_bitstream", "transform": "inverted_bits", "source_rank_score": 112.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 31, "message91": null, "message91_sha256_16": "9543c5d603c673e9", "codeword174_sha256_16": "c5e761d71d7175e8", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 31 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 41 }, { "iteration": 5, "syndrome_weight": 39 }, { "iteration": 6, "syndrome_weight": 37 }, { "iteration": 7, "syndrome_weight": 37 }, { "iteration": 8, "syndrome_weight": 41 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 41 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 38 }, { "iteration": 25, "syndrome_weight": 32 }, { "iteration": 30, "syndrome_weight": 43 }, { "iteration": 35, "syndrome_weight": 43 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "lab_mask_xor_preview", "transform": "reverse_inverted_codeword", "source_rank_score": 101.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 31, "message91": null, "message91_sha256_16": "9543c5d603c673e9", "codeword174_sha256_16": "c5e761d71d7175e8", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 31 }, { "iteration": 2, "syndrome_weight": 46 }, { "iteration": 3, "syndrome_weight": 40 }, { "iteration": 4, "syndrome_weight": 41 }, { "iteration": 5, "syndrome_weight": 39 }, { "iteration": 6, "syndrome_weight": 37 }, { "iteration": 7, "syndrome_weight": 37 }, { "iteration": 8, "syndrome_weight": 41 }, { "iteration": 9, "syndrome_weight": 39 }, { "iteration": 10, "syndrome_weight": 41 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 38 }, { "iteration": 25, "syndrome_weight": 32 }, { "iteration": 30, "syndrome_weight": 43 }, { "iteration": 35, "syndrome_weight": 43 }, { "iteration": 40, "syndrome_weight": 46 } ] }, { "variant": "raw_msb_symbol_order", "transform": "reverse_codeword", "source_rank_score": 127.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 33, "message91": null, "message91_sha256_16": "0a905b169e9f9c25", "codeword174_sha256_16": "b022892192473a8d", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 40 }, { "iteration": 2, "syndrome_weight": 49 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 39 }, { "iteration": 5, "syndrome_weight": 33 }, { "iteration": 6, "syndrome_weight": 38 }, { "iteration": 7, "syndrome_weight": 47 }, { "iteration": 8, "syndrome_weight": 44 }, { "iteration": 9, "syndrome_weight": 43 }, { "iteration": 10, "syndrome_weight": 46 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 36 }, { "iteration": 25, "syndrome_weight": 42 }, { "iteration": 30, "syndrome_weight": 44 }, { "iteration": 35, "syndrome_weight": 35 }, { "iteration": 40, "syndrome_weight": 39 } ] }, { "variant": "lsb_within_each_tone", "transform": "reverse_codeword", "source_rank_score": 119.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 33, "message91": null, "message91_sha256_16": "0a905b169e9f9c25", "codeword174_sha256_16": "b022892192473a8d", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 40 }, { "iteration": 2, "syndrome_weight": 49 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 39 }, { "iteration": 5, "syndrome_weight": 33 }, { "iteration": 6, "syndrome_weight": 38 }, { "iteration": 7, "syndrome_weight": 47 }, { "iteration": 8, "syndrome_weight": 44 }, { "iteration": 9, "syndrome_weight": 43 }, { "iteration": 10, "syndrome_weight": 46 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 36 }, { "iteration": 25, "syndrome_weight": 42 }, { "iteration": 30, "syndrome_weight": 44 }, { "iteration": 35, "syndrome_weight": 35 }, { "iteration": 40, "syndrome_weight": 39 } ] }, { "variant": "reverse_symbol_order", "transform": "as_exported", "source_rank_score": 113.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 33, "message91": null, "message91_sha256_16": "0a905b169e9f9c25", "codeword174_sha256_16": "b022892192473a8d", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 40 }, { "iteration": 2, "syndrome_weight": 49 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 39 }, { "iteration": 5, "syndrome_weight": 33 }, { "iteration": 6, "syndrome_weight": 38 }, { "iteration": 7, "syndrome_weight": 47 }, { "iteration": 8, "syndrome_weight": 44 }, { "iteration": 9, "syndrome_weight": 43 }, { "iteration": 10, "syndrome_weight": 46 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 36 }, { "iteration": 25, "syndrome_weight": 42 }, { "iteration": 30, "syndrome_weight": 44 }, { "iteration": 35, "syndrome_weight": 35 }, { "iteration": 40, "syndrome_weight": 39 } ] }, { "variant": "reverse_full_bitstream", "transform": "as_exported", "source_rank_score": 112.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 33, "message91": null, "message91_sha256_16": "0a905b169e9f9c25", "codeword174_sha256_16": "b022892192473a8d", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 40 }, { "iteration": 2, "syndrome_weight": 49 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 39 }, { "iteration": 5, "syndrome_weight": 33 }, { "iteration": 6, "syndrome_weight": 38 }, { "iteration": 7, "syndrome_weight": 47 }, { "iteration": 8, "syndrome_weight": 44 }, { "iteration": 9, "syndrome_weight": 43 }, { "iteration": 10, "syndrome_weight": 46 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 36 }, { "iteration": 25, "syndrome_weight": 42 }, { "iteration": 30, "syndrome_weight": 44 }, { "iteration": 35, "syndrome_weight": 35 }, { "iteration": 40, "syndrome_weight": 39 } ] }, { "variant": "lab_mask_xor_preview", "transform": "reverse_codeword", "source_rank_score": 101.195892, "source_llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "success": false, "iterations_used": 40, "final_syndrome_weight": 33, "message91": null, "message91_sha256_16": "0a905b169e9f9c25", "codeword174_sha256_16": "b022892192473a8d", "trace": [ { "iteration": 0, "syndrome_weight": 41 }, { "iteration": 1, "syndrome_weight": 40 }, { "iteration": 2, "syndrome_weight": 49 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 39 }, { "iteration": 5, "syndrome_weight": 33 }, { "iteration": 6, "syndrome_weight": 38 }, { "iteration": 7, "syndrome_weight": 47 }, { "iteration": 8, "syndrome_weight": 44 }, { "iteration": 9, "syndrome_weight": 43 }, { "iteration": 10, "syndrome_weight": 46 }, { "iteration": 15, "syndrome_weight": 41 }, { "iteration": 20, "syndrome_weight": 36 }, { "iteration": 25, "syndrome_weight": 42 }, { "iteration": 30, "syndrome_weight": 44 }, { "iteration": 35, "syndrome_weight": 35 }, { "iteration": 40, "syndrome_weight": 39 } ] } ], "decodes": [], "outputs": { "ldpc_soft_decode_json": "/decoders/js8_decoder/runtime/ldpc_soft_decode/step33_ldpc_soft_decode.json" }, "warnings": [ "Step 33 runs a real normalized-min-sum soft LDPC probe against the public (174,91) matrix contract.", "This still does not unpack JS8 text or validate CRC/message payloads.", "If success is true and syndrome_weight is 0, the next step can unpack the 91-bit message. Otherwise more deinterleaver/order/LLR tuning is required." ], "next_action": "Upload logs. Next step: if no valid codeword, improve interleaver/order/LLR mapping; if valid, add JS8 message unpack/CRC." } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260526T153519Z_ldpc-soft-decode.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260526T153519Z_ldpc-soft-decode_manifest.json