[webftr-js8-lab] command=server-deep-run [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T062127Z_server-deep-run.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T062127Z_server-deep-run_manifest.json [webftr-js8-lab] utc=20260527T062127Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] server DEEP runner [webftr-js8-lab] requested path: /decoders/js8_test.wav [webftr-js8-lab] This does not touch WebFTR productive code; it only reads a WAV and writes JS8Lab logs. [webftr-js8-lab] Deep path: real-run = input-check + dirty-window-scan + profile-scan + frame-recover + auto-ldpc-probe + candidate-export + fine timing-ridge sweep + LDPC probes + syndrome-closure repair candidates + bundle. [webftr-js8-lab] resolved WAV: /decoders/js8_test.wav [webftr-js8-lab] command=real-run [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T062127Z_real-run.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T062127Z_real-run_manifest.json [webftr-js8-lab] utc=20260527T062127Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] real-run for WAV: /decoders/js8_test.wav [webftr-js8-lab] This runs input-check, dirty-window-scan, profile-scan, frame-recover, auto-ldpc-probe, candidate-export, fine timing-ridge sweep, ldpc-matrix-probe, ldpc-soft-decode and creates a JS8Lab upload bundle. [webftr-js8-lab] Please upload the printed js8_decoder_lab_real_run_*.zip bundle. ========== REAL-RUN STEP 1/9: INPUT CHECK ========== [webftr-js8-lab] command=input-check [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T062127Z_input-check.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T062127Z_input-check_manifest.json [webftr-js8-lab] utc=20260527T062127Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062127Z_input_check_output.json [webftr-js8-lab] JSON timeout guard: 180s { "ok": true, "mode": "JS8", "tool": "webftr-js8-input-check", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_test.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "decodes": [], "warnings": [], "wav": { "path": "/decoders/js8_test.wav", "channels": 1, "sample_rate": 12000, "sample_width_bytes": 2, "frames": 2304199, "duration_seconds": 192.016583, "rms_dbfs": -9.14, "peak_dbfs": -0.72, "clipped": false }, "next_action": "Run profile-scan, then auto-ldpc-probe on this WAV." } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T062127Z_input-check.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T062127Z_input-check_manifest.json [webftr-js8-lab] input-check exit_code=0 ========== REAL-RUN STEP 2/9A: QUICK WINDOW PREFILTER ========== [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062127Z_real_run_quick_prefilter_output.json [webftr-js8-lab] JSON timeout guard: 60s [webftr-js8-lab] stderr log: /decoders/js8_decoder/logs/20260527T062127Z_real_run_quick_prefilter_output.stderr.log /decoders/js8_decoder/src/webftr_js8_lab/js8_quick_window_scan.py:4: DeprecationWarning: 'audioop' is deprecated and slated for removal in Python 3.13 import audioop { "ok": true, "mode": "JS8", "tool": "webftr-js8-quick-window-scan", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_test.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "wav": { "sample_rate": 12000, "duration_seconds": 192.016583, "frames": 2304199, "rms_dbfs": -9.164808449038551, "peak_dbfs": -0.7246929351669301, "clipped": false }, "scan_params": { "window_seconds": 60.0, "hop_seconds": 12.0, "max_seconds": 180.0, "output_dir": "/decoders/js8_decoder/runtime/quick_prefilter_windows" }, "selected_window": { "start_seconds": 24.0, "end_seconds": 84.0, "duration_seconds": 60.0, "avg_activity_score": -6.2272, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2728, "window_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "tone_candidates": [ { "freq_hz": 1025.0, "relative_db": 0.0, "power": 7.98385996 }, { "freq_hz": 1000.0, "relative_db": -0.38, "power": 7.31762699 }, { "freq_hz": 2025.0, "relative_db": -9.29, "power": 0.93974646 }, { "freq_hz": 975.0, "relative_db": -13.3, "power": 0.37314359 }, { "freq_hz": 1050.0, "relative_db": -25.6, "power": 0.02199227 }, { "freq_hz": 1775.0, "relative_db": -27.4, "power": 0.01453049 }, { "freq_hz": 1150.0, "relative_db": -27.44, "power": 0.01439727 }, { "freq_hz": 1425.0, "relative_db": -28.11, "power": 0.01233556 }, { "freq_hz": 1250.0, "relative_db": -29.08, "power": 0.00987629 }, { "freq_hz": 1825.0, "relative_db": -29.2, "power": 0.00959995 }, { "freq_hz": 1950.0, "relative_db": -29.78, "power": 0.00840634 }, { "freq_hz": 950.0, "relative_db": -29.91, "power": 0.00814511 } ] }, "selected_window_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "top_windows": [ { "start_seconds": 24.0, "end_seconds": 84.0, "duration_seconds": 60.0, "avg_activity_score": -6.2272, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2728, "window_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "tone_candidates": [ { "freq_hz": 1025.0, "relative_db": 0.0, "power": 7.98385996 }, { "freq_hz": 1000.0, "relative_db": -0.38, "power": 7.31762699 }, { "freq_hz": 2025.0, "relative_db": -9.29, "power": 0.93974646 }, { "freq_hz": 975.0, "relative_db": -13.3, "power": 0.37314359 }, { "freq_hz": 1050.0, "relative_db": -25.6, "power": 0.02199227 }, { "freq_hz": 1775.0, "relative_db": -27.4, "power": 0.01453049 }, { "freq_hz": 1150.0, "relative_db": -27.44, "power": 0.01439727 }, { "freq_hz": 1425.0, "relative_db": -28.11, "power": 0.01233556 }, { "freq_hz": 1250.0, "relative_db": -29.08, "power": 0.00987629 }, { "freq_hz": 1825.0, "relative_db": -29.2, "power": 0.00959995 }, { "freq_hz": 1950.0, "relative_db": -29.78, "power": 0.00840634 }, { "freq_hz": 950.0, "relative_db": -29.91, "power": 0.00814511 } ] }, { "start_seconds": 12.0, "end_seconds": 72.0, "duration_seconds": 60.0, "avg_activity_score": -6.2278, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2722 }, { "start_seconds": 36.0, "end_seconds": 96.0, "duration_seconds": 60.0, "avg_activity_score": -6.2346, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2654 }, { "start_seconds": 48.0, "end_seconds": 108.0, "duration_seconds": 60.0, "avg_activity_score": -6.2483, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2517 }, { "start_seconds": 0.0, "end_seconds": 60.0, "duration_seconds": 60.0, "avg_activity_score": -6.2606, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2394 }, { "start_seconds": 60.0, "end_seconds": 120.0, "duration_seconds": 60.0, "avg_activity_score": -6.2619, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2381 }, { "start_seconds": 108.0, "end_seconds": 168.0, "duration_seconds": 60.0, "avg_activity_score": -6.2716, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2284 }, { "start_seconds": 72.0, "end_seconds": 132.0, "duration_seconds": 60.0, "avg_activity_score": -6.2752, "active_chunks": 5, "chunk_count": 5, "selection_score": 11.2248 } ], "chunk_preview": [ { "chunk_index": 0, "start_seconds": 0.0, "end_seconds": 12.0, "rms_dbfs": -9.07, "peak_dbfs": -3.22, "activity_score": -6.2351 }, { "chunk_index": 1, "start_seconds": 12.0, "end_seconds": 24.0, "rms_dbfs": -9.27, "peak_dbfs": -3.01, "activity_score": -6.4225 }, { "chunk_index": 2, "start_seconds": 24.0, "end_seconds": 36.0, "rms_dbfs": -9.24, "peak_dbfs": -2.73, "activity_score": -6.3769 }, { "chunk_index": 3, "start_seconds": 36.0, "end_seconds": 48.0, "rms_dbfs": -9.24, "peak_dbfs": -2.39, "activity_score": -6.3632 }, { "chunk_index": 4, "start_seconds": 48.0, "end_seconds": 60.0, "rms_dbfs": -8.87, "peak_dbfs": -0.72, "activity_score": -5.9054 }, { "chunk_index": 5, "start_seconds": 60.0, "end_seconds": 72.0, "rms_dbfs": -9.03, "peak_dbfs": -0.72, "activity_score": -6.0711 }, { "chunk_index": 6, "start_seconds": 72.0, "end_seconds": 84.0, "rms_dbfs": -9.26, "peak_dbfs": -3.1, "activity_score": -6.4194 }, { "chunk_index": 7, "start_seconds": 84.0, "end_seconds": 96.0, "rms_dbfs": -9.29, "peak_dbfs": -2.42, "activity_score": -6.4141 } ], "chunk_tail_preview": [ { "chunk_index": 7, "start_seconds": 84.0, "end_seconds": 96.0, "rms_dbfs": -9.29, "peak_dbfs": -2.42, "activity_score": -6.4141 }, { "chunk_index": 8, "start_seconds": 96.0, "end_seconds": 108.0, "rms_dbfs": -9.3, "peak_dbfs": -2.65, "activity_score": -6.4314 }, { "chunk_index": 9, "start_seconds": 108.0, "end_seconds": 120.0, "rms_dbfs": -8.87, "peak_dbfs": -2.1, "activity_score": -5.9734 }, { "chunk_index": 10, "start_seconds": 120.0, "end_seconds": 132.0, "rms_dbfs": -9.02, "peak_dbfs": -2.36, "activity_score": -6.1378 }, { "chunk_index": 11, "start_seconds": 132.0, "end_seconds": 144.0, "rms_dbfs": -9.41, "peak_dbfs": -0.72, "activity_score": -6.4474 }, { "chunk_index": 12, "start_seconds": 144.0, "end_seconds": 156.0, "rms_dbfs": -9.3, "peak_dbfs": -2.31, "activity_score": -6.4185 }, { "chunk_index": 13, "start_seconds": 156.0, "end_seconds": 168.0, "rms_dbfs": -9.34, "peak_dbfs": -0.89, "activity_score": -6.3807 }, { "chunk_index": 14, "start_seconds": 168.0, "end_seconds": 180.0, "rms_dbfs": -8.99, "peak_dbfs": -3.03, "activity_score": -6.1457 } ], "decodes": [], "warnings": [ "Quick-window-scan only selects a likely analysis window; it is not a JS8 text decoder." ], "next_action": "Run sync/soft-symbol/FEC probes on selected_window_wav. Message unpack is not implemented in Step 43." } [webftr-js8-lab] quick-prefilter exit_code=0 [webftr-js8-lab] dirty-scan input WAV: /decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav ========== REAL-RUN STEP 2/9B: BOUNDED DIRTY WINDOW SCAN ========== [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062127Z_real_run_dirty_window_scan_output.json [webftr-js8-lab] JSON timeout guard: 60s [webftr-js8-lab] stderr log: /decoders/js8_decoder/logs/20260527T062127Z_real_run_dirty_window_scan_output.stderr.log /decoders/js8_decoder/src/webftr_js8_lab/js8_dirty_window_scan.py:4: DeprecationWarning: 'audioop' is deprecated and slated for removal in Python 3.13 import audioop { "ok": false, "error": "json_command_timeout_guard", "timeout_seconds": 60, "exit_code": 143, "command": [ "python3", "-m", "webftr_js8_lab.js8_dirty_window_scan", "--input", "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "--pretty", "--window-seconds", "54", "--hop-seconds", "30", "--max-seconds", "75", "--max-windows", "1", "--max-starts", "3", "--max-base-candidates", "2", "--output-dir", "/decoders/js8_decoder/runtime/dirty_windows", "--prefer-js8" ], "stderr_log": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_dirty_window_scan_output.stderr.log", "stderr_tail": "/decoders/js8_decoder/src/webftr_js8_lab/js8_dirty_window_scan.py:4: DeprecationWarning: 'audioop' is deprecated and slated for removal in Python 3.13\n import audioop\n", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "next_action": "Step 43 timeout guard stopped this expensive probe; preserved partial timing JSON when available. The real-run now continues with quick-window fallback when available; otherwise inspect stderr/log bundle." } [webftr-js8-lab] dirty-window-scan exit_code=143 [webftr-js8-lab] dirty scan failed/timed out, continuing with quick-window fallback: /decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav [webftr-js8-lab] Step 43: dirty scan is non-fatal when quick-window fallback exists. [webftr-js8-lab] analysis WAV for next steps: /decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav ========== REAL-RUN STEP 3/9: PROFILE SCAN ========== [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062127Z_real_run_profile_scan_output.json [webftr-js8-lab] JSON timeout guard: 120s { "ok": true, "mode": "JS8", "tool": "webftr-js8-profile-scan", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_fast_profile_scan_guard_no_message_unpack", "wav": { "sample_rate": 12000, "duration_seconds": 60.0, "frames": 720000 }, "profile_count": 4, "scan_limits": { "max_seconds": 60.0, "max_starts": 12, "max_base_candidates": 8, "deep": false }, "profiles": [ { "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 }, { "profile": "js8_normal_6192", "nsps": 6192, "symbol_duration_seconds": 0.516, "tone_spacing_hz": 1.937984, "note": "0.516 s symbols, 1.938 Hz spacing candidate used in earlier lab steps", "ok": true, "sync": { "start_seconds": 38.184, "base_freq_hz": 1012.5, "candidate_score": 44.78, "costas_hits": 3, "avg_margin_db": 4.05, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 42, "data_symbol_count_estimate": 35, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 105, "missing_soft_bits_estimate": 69, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 131.617793 }, { "profile": "mid_3840", "nsps": 3840, "symbol_duration_seconds": 0.32, "tone_spacing_hz": 3.125, "note": "0.320 s symbols, 3.125 Hz spacing candidate", "ok": true, "sync": { "start_seconds": 48.8, "base_freq_hz": 1015.0, "candidate_score": 47.2, "costas_hits": 3, "avg_margin_db": 3.8, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 35, "data_symbol_count_estimate": 28, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 84, "missing_soft_bits_estimate": 90, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 116.341034 }, { "profile": "js8_near_6000", "nsps": 6000, "symbol_duration_seconds": 0.5, "tone_spacing_hz": 2.0, "note": "0.500 s timing guard candidate", "ok": true, "sync": { "start_seconds": 52.25, "base_freq_hz": 1010.0, "candidate_score": 38.27, "costas_hits": 2, "avg_margin_db": 5.7, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 15, "data_symbol_count_estimate": 8, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 24, "missing_soft_bits_estimate": 150, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 61.900224 } ], "selected_profile": { "profile": "js8_near_6400", "nsps": 6400, "rank_score": 225.085, "complete_ldpc_input_candidate_estimate": true, "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0 }, "decodes": [], "warnings": [ "Step 43 selects the best timing/profile candidate only. It still does not decode final JS8 text." ], "next_action": "Run auto-ldpc-probe on the same WAV so the selected timing profile is fed into the LDPC probe harness." } [webftr-js8-lab] profile-scan exit_code=0 [webftr-js8-lab] profile-scan JSON: /decoders/js8_decoder/logs/20260527T062127Z_real_run_profile_scan_output.json ========== REAL-RUN STEP 4/9: FRAME RECOVER ========== [webftr-js8-lab] command=frame-recover [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T062406Z_frame-recover.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T062406Z_frame-recover_manifest.json [webftr-js8-lab] utc=20260527T062406Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062406Z_frame_recover_output.json [webftr-js8-lab] JSON timeout guard: 180s { "ok": true, "mode": "JS8", "tool": "webftr-js8-frame-recover", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_frame_recovery_guard_no_message_unpack", "wav": { "sample_rate": 12000, "duration_seconds": 60.0, "frames": 720000, "rms_dbfs": -9.127580437334753, "peak_dbfs": -0.7246929351669301, "clipped": false }, "frame_requirements": { "expected_bits": 174, "expected_data_symbols": 58, "leading_costas_symbols": 7, "minimum_symbols_for_174bit_candidate": 65, "full_ft8_like_symbols_reference": 79 }, "profile_scan": { "ok": true, "mode": "JS8", "tool": "webftr-js8-profile-scan", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_fast_profile_scan_guard_no_message_unpack", "wav": { "sample_rate": 12000, "duration_seconds": 60.0, "frames": 720000 }, "profile_count": 6, "scan_limits": { "max_seconds": 60.0, "max_starts": 14, "max_base_candidates": 8, "deep": true }, "profiles": [ { "profile": "js8_near_6000", "nsps": 6000, "symbol_duration_seconds": 0.5, "tone_spacing_hz": 2.0, "note": "0.500 s timing guard candidate", "ok": true, "sync": { "start_seconds": 8.25, "base_freq_hz": 1010.0, "candidate_score": 49.22, "costas_hits": 4, "avg_margin_db": 3.86, "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": 231.861 }, { "profile": "ft8_like_fast_1920", "nsps": 1920, "symbol_duration_seconds": 0.16, "tone_spacing_hz": 6.25, "note": "0.160 s symbols, 6.25 Hz spacing candidate", "ok": true, "sync": { "start_seconds": 29.68, "base_freq_hz": 980.0, "candidate_score": 47.58, "costas_hits": 3, "avg_margin_db": 5.94, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 189, "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": 228.079 }, { "profile": "js8_normal_6192", "nsps": 6192, "symbol_duration_seconds": 0.516, "tone_spacing_hz": 1.937984, "note": "0.516 s symbols, 1.938 Hz spacing candidate used in earlier lab steps", "ok": true, "sync": { "start_seconds": 33.024, "base_freq_hz": 1020.0, "candidate_score": 46.67, "costas_hits": 3, "avg_margin_db": 3.13, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 52, "data_symbol_count_estimate": 45, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 135, "missing_soft_bits_estimate": 39, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 154.466948 }, { "profile": "mid_3840", "nsps": 3840, "symbol_duration_seconds": 0.32, "tone_spacing_hz": 3.125, "note": "0.320 s symbols, 3.125 Hz spacing candidate", "ok": true, "sync": { "start_seconds": 45.76, "base_freq_hz": 1005.0, "candidate_score": 44.86, "costas_hits": 2, "avg_margin_db": 5.02, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 44, "data_symbol_count_estimate": 37, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 111, "missing_soft_bits_estimate": 63, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 131.754724 }, { "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": 45.466667, "base_freq_hz": 1000.0, "candidate_score": 40.55, "costas_hits": 2, "avg_margin_db": 8.4, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 27, "data_symbol_count_estimate": 20, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 60, "missing_soft_bits_estimate": 114, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 95.03181 }, { "profile": "slow_7680", "nsps": 7680, "symbol_duration_seconds": 0.64, "tone_spacing_hz": 1.5625, "note": "0.640 s symbols, 1.5625 Hz spacing candidate", "ok": true, "sync": { "start_seconds": 52.0, "base_freq_hz": 1017.5, "candidate_score": 46.55, "costas_hits": 4, "avg_margin_db": 1.01, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 12, "data_symbol_count_estimate": 5, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 15, "missing_soft_bits_estimate": 159, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 64.462328 } ], "selected_profile": { "profile": "js8_near_6000", "nsps": 6000, "rank_score": 231.861, "complete_ldpc_input_candidate_estimate": true, "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0 }, "decodes": [], "warnings": [ "Step 43 selects the best timing/profile candidate only. It still does not decode final JS8 text." ], "next_action": "Run auto-ldpc-probe on the same WAV so the selected timing profile is fed into the LDPC probe harness." }, "profile_guards": [ { "profile": "js8_near_6000", "nsps": 6000, "protocol_family": "js8_normal_candidate", "symbol_duration_seconds": 0.5, "tone_spacing_hz": 2.0, "sync": { "start_seconds": 8.25, "base_freq_hz": 1010.0, "candidate_score": 49.22, "costas_hits": 4, "avg_margin_db": 3.86, "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": 231.861, "guard_score": 306.861, "available_after_start_seconds": 51.75, "minimum_symbols_for_174bit_candidate": 65, "minimum_seconds_after_start_for_174bit_candidate": 32.5, "missing_seconds_for_174bit_candidate": 0.0, "full_frame_symbols_reference": 79, "missing_seconds_for_full_ft8_like_frame": 0.0, "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0, "enough_audio_for_174bit_candidate": true, "enough_audio_for_full_frame_reference": true, "guard_note": "Protocol-realistic JS8 timing candidate." }, { "profile": "ft8_like_fast_1920", "nsps": 1920, "protocol_family": "fast_diagnostic_candidate", "symbol_duration_seconds": 0.16, "tone_spacing_hz": 6.25, "sync": { "start_seconds": 29.68, "base_freq_hz": 980.0, "candidate_score": 47.58, "costas_hits": 3, "avg_margin_db": 5.94, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 189, "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": 228.079, "guard_score": 230.079, "available_after_start_seconds": 30.32, "minimum_symbols_for_174bit_candidate": 65, "minimum_seconds_after_start_for_174bit_candidate": 10.4, "missing_seconds_for_174bit_candidate": 0.0, "full_frame_symbols_reference": 79, "missing_seconds_for_full_ft8_like_frame": 0.0, "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0, "enough_audio_for_174bit_candidate": true, "enough_audio_for_full_frame_reference": true, "guard_note": "Diagnostic timing candidate. A short WAV can make this look better than real JS8 timing." }, { "profile": "js8_normal_6192", "nsps": 6192, "protocol_family": "js8_normal_candidate", "symbol_duration_seconds": 0.516, "tone_spacing_hz": 1.937984, "sync": { "start_seconds": 33.024, "base_freq_hz": 1020.0, "candidate_score": 46.67, "costas_hits": 3, "avg_margin_db": 3.13, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 52, "data_symbol_count_estimate": 45, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 135, "missing_soft_bits_estimate": 39, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 154.466948, "guard_score": 209.61481, "available_after_start_seconds": 26.976, "minimum_symbols_for_174bit_candidate": 65, "minimum_seconds_after_start_for_174bit_candidate": 33.54, "missing_seconds_for_174bit_candidate": 6.564, "full_frame_symbols_reference": 79, "missing_seconds_for_full_ft8_like_frame": 13.788, "soft_bit_count_estimate": 135, "missing_soft_bits_estimate": 39, "enough_audio_for_174bit_candidate": false, "enough_audio_for_full_frame_reference": false, "guard_note": "Protocol-realistic JS8 timing candidate." }, { "profile": "mid_3840", "nsps": 3840, "protocol_family": "mid_speed_diagnostic_candidate", "symbol_duration_seconds": 0.32, "tone_spacing_hz": 3.125, "sync": { "start_seconds": 45.76, "base_freq_hz": 1005.0, "candidate_score": 44.86, "costas_hits": 2, "avg_margin_db": 5.02, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 44, "data_symbol_count_estimate": 37, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 111, "missing_soft_bits_estimate": 63, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 131.754724, "guard_score": 119.772655, "available_after_start_seconds": 14.24, "minimum_symbols_for_174bit_candidate": 65, "minimum_seconds_after_start_for_174bit_candidate": 20.8, "missing_seconds_for_174bit_candidate": 6.56, "full_frame_symbols_reference": 79, "missing_seconds_for_full_ft8_like_frame": 11.04, "soft_bit_count_estimate": 111, "missing_soft_bits_estimate": 63, "enough_audio_for_174bit_candidate": false, "enough_audio_for_full_frame_reference": false, "guard_note": "Diagnostic timing candidate. A short WAV can make this look better than real JS8 timing." }, { "profile": "js8_near_6400", "nsps": 6400, "protocol_family": "js8_normal_candidate", "symbol_duration_seconds": 0.533333, "tone_spacing_hz": 1.875, "sync": { "start_seconds": 45.466667, "base_freq_hz": 1000.0, "candidate_score": 40.55, "costas_hits": 2, "avg_margin_db": 8.4, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 27, "data_symbol_count_estimate": 20, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 60, "missing_soft_bits_estimate": 114, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 95.03181, "guard_score": 110.10997, "available_after_start_seconds": 14.533333, "minimum_symbols_for_174bit_candidate": 65, "minimum_seconds_after_start_for_174bit_candidate": 34.666667, "missing_seconds_for_174bit_candidate": 20.133334, "full_frame_symbols_reference": 79, "missing_seconds_for_full_ft8_like_frame": 27.6, "soft_bit_count_estimate": 60, "missing_soft_bits_estimate": 114, "enough_audio_for_174bit_candidate": false, "enough_audio_for_full_frame_reference": false, "guard_note": "Protocol-realistic JS8 timing candidate." }, { "profile": "slow_7680", "nsps": 7680, "protocol_family": "slow_diagnostic_candidate", "symbol_duration_seconds": 0.64, "tone_spacing_hz": 1.5625, "sync": { "start_seconds": 52.0, "base_freq_hz": 1017.5, "candidate_score": 46.55, "costas_hits": 4, "avg_margin_db": 1.01, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 12, "data_symbol_count_estimate": 5, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 15, "missing_soft_bits_estimate": 159, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 64.462328, "guard_score": -28.151465, "available_after_start_seconds": 8.0, "minimum_symbols_for_174bit_candidate": 65, "minimum_seconds_after_start_for_174bit_candidate": 41.6, "missing_seconds_for_174bit_candidate": 33.6, "full_frame_symbols_reference": 79, "missing_seconds_for_full_ft8_like_frame": 42.56, "soft_bit_count_estimate": 15, "missing_soft_bits_estimate": 159, "enough_audio_for_174bit_candidate": false, "enough_audio_for_full_frame_reference": false, "guard_note": "Diagnostic timing candidate. A short WAV can make this look better than real JS8 timing." } ], "selected_guard_profile": { "profile": "js8_near_6000", "nsps": 6000, "protocol_family": "js8_normal_candidate", "symbol_duration_seconds": 0.5, "tone_spacing_hz": 2.0, "sync": { "start_seconds": 8.25, "base_freq_hz": 1010.0, "candidate_score": 49.22, "costas_hits": 4, "avg_margin_db": 3.86, "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": 231.861, "guard_score": 306.861, "available_after_start_seconds": 51.75, "minimum_symbols_for_174bit_candidate": 65, "minimum_seconds_after_start_for_174bit_candidate": 32.5, "missing_seconds_for_174bit_candidate": 0.0, "full_frame_symbols_reference": 79, "missing_seconds_for_full_ft8_like_frame": 0.0, "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0, "enough_audio_for_174bit_candidate": true, "enough_audio_for_full_frame_reference": true, "guard_note": "Protocol-realistic JS8 timing candidate." }, "selected_ldpc_probe": { "ok": true, "sync_candidate": { "start_sample": 99000, "start_seconds": 8.25, "base_freq_hz": 1010.0, "tone_spacing_hz": 2.0, "nsps": 6000, "candidate_score": 49.22, "costas_hits": 4, "avg_margin_db": 3.86 }, "frame_candidate": { "input_symbol_count": 96, "excluded_costas_symbol_count": 0, "detected_costas_blocks": [], "data_symbol_count_available": 96, "data_symbol_count_used": 58, "expected_data_symbols_candidate": 58, "costas_policy": "js8_leading_only" }, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "selected_variant": "reverse_full_bitstream", "ready_for_real_ldpc_matrix": true }, "decodes": [], "warnings": [ "Step 43 selects the best timing/profile candidate only. It still does not decode final JS8 text.", "Step 43 is still RX-only and diagnostic: it guards profile selection and frame length before final LDPC/message work." ], "next_action": "If selected_guard_profile.enough_audio_for_174bit_candidate is false, make a longer WAV capture. If true, the next lab step can move to real LDPC/FEC matrix integration and JS8 message unpacking." } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T062406Z_frame-recover.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T062406Z_frame-recover_manifest.json [webftr-js8-lab] frame-recover exit_code=0 ========== REAL-RUN STEP 5/9: AUTO LDPC PROBE ========== [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062127Z_real_run_auto_ldpc_probe_output.json [webftr-js8-lab] JSON timeout guard: 180s { "ok": true, "mode": "JS8", "tool": "webftr-js8-auto-ldpc-probe", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_auto_profile_to_ldpc_probe_no_message_unpack", "selected_profile": { "profile": "js8_near_6400", "nsps": 6400, "rank_score": 225.085, "complete_ldpc_input_candidate_estimate": true, "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0 }, "profile_scan": { "ok": true, "mode": "JS8", "tool": "webftr-js8-profile-scan", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_fast_profile_scan_guard_no_message_unpack", "wav": { "sample_rate": 12000, "duration_seconds": 60.0, "frames": 720000 }, "profile_count": 4, "scan_limits": { "max_seconds": 60.0, "max_starts": 12, "max_base_candidates": 8, "deep": false }, "profiles": [ { "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 }, { "profile": "js8_normal_6192", "nsps": 6192, "symbol_duration_seconds": 0.516, "tone_spacing_hz": 1.937984, "note": "0.516 s symbols, 1.938 Hz spacing candidate used in earlier lab steps", "ok": true, "sync": { "start_seconds": 38.184, "base_freq_hz": 1012.5, "candidate_score": 44.78, "costas_hits": 3, "avg_margin_db": 4.05, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 42, "data_symbol_count_estimate": 35, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 105, "missing_soft_bits_estimate": 69, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 131.617793 }, { "profile": "mid_3840", "nsps": 3840, "symbol_duration_seconds": 0.32, "tone_spacing_hz": 3.125, "note": "0.320 s symbols, 3.125 Hz spacing candidate", "ok": true, "sync": { "start_seconds": 48.8, "base_freq_hz": 1015.0, "candidate_score": 47.2, "costas_hits": 3, "avg_margin_db": 3.8, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 35, "data_symbol_count_estimate": 28, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 84, "missing_soft_bits_estimate": 90, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 116.341034 }, { "profile": "js8_near_6000", "nsps": 6000, "symbol_duration_seconds": 0.5, "tone_spacing_hz": 2.0, "note": "0.500 s timing guard candidate", "ok": true, "sync": { "start_seconds": 52.25, "base_freq_hz": 1010.0, "candidate_score": 38.27, "costas_hits": 2, "avg_margin_db": 5.7, "candidate_count": 12 }, "frame": { "symbols_available_after_start": 15, "data_symbol_count_estimate": 8, "expected_data_symbols_candidate": 58 }, "fec": { "soft_bit_count_estimate": 24, "missing_soft_bits_estimate": 150, "complete_ldpc_input_candidate_estimate": false }, "rank_score": 61.900224 } ], "selected_profile": { "profile": "js8_near_6400", "nsps": 6400, "rank_score": 225.085, "complete_ldpc_input_candidate_estimate": true, "soft_bit_count_estimate": 174, "missing_soft_bits_estimate": 0 }, "decodes": [], "warnings": [ "Step 43 selects the best timing/profile candidate only. It still does not decode final JS8 text." ], "next_action": "Run auto-ldpc-probe on the same WAV so the selected timing profile is fed into the LDPC probe harness." }, "ldpc_probe": { "expected_bits": 174, "matrix": { "provided": false, "real_protocol_matrix": false, "status": "no_external_h_matrix_supplied", "note": "No JS8/FT8 LDPC H matrix was supplied. Step 43 therefore reports readiness/LLR quality and a prototype parity probe only; it does not claim real FEC decode." }, "prototype_parity_rows_used": true, "prototype_row_count": 32, "variant_count": 23, "variants": [ { "name": "raw_msb_symbol_order", "description": "Current FEC bridge: Costas-stripped symbols, MSB-first tone bits.", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 19, "satisfied_rows": 13, "unsatisfied_ratio": 0.59375, "syndrome_preview": [ 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 94.352142 }, { "name": "lsb_within_each_tone", "description": "Same symbols, but each 3-bit tone value reversed for bit-order comparison.", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 17, "satisfied_rows": 15, "unsatisfied_ratio": 0.53125, "syndrome_preview": [ 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.914642 }, { "name": "reverse_symbol_order", "description": "Same 3-bit symbols in reverse order; diagnostic only.", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 18, "satisfied_rows": 14, "unsatisfied_ratio": 0.5625, "syndrome_preview": [ 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.133392 }, { "name": "reverse_full_bitstream", "description": "Full hard-bit stream reversed; diagnostic only.", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 16, "satisfied_rows": 16, "unsatisfied_ratio": 0.5, "syndrome_preview": [ 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 96.695892 }, { "name": "lab_mask_xor_preview", "description": "Deterministic lab-only XOR mask preview; not the real JS8 whitening polynomial.", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 85, "hard_zero_preview": 89, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 14, "satisfied_rows": 18, "unsatisfied_ratio": 0.4375, "syndrome_preview": [ 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 98.258392 }, { "name": "mapped_raw_msb+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'raw_msb', 'interleaver': 'none'}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 19, "satisfied_rows": 13, "unsatisfied_ratio": 0.59375, "syndrome_preview": [ 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 94.352142 }, { "name": "mapped_raw_msb+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'raw_msb', 'interleaver': 'ft8_bitrev', 'direction': 'deinterleave_rx_to_codeword', 'order_len': 174}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 19, "satisfied_rows": 13, "unsatisfied_ratio": 0.59375, "syndrome_preview": [ 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 94.352142 }, { "name": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'raw_msb', 'interleaver': 'ft8_bitrev', 'direction': 'interleave_codeword_to_rx_inverse', 'order_len': 174}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 11, "satisfied_rows": 21, "unsatisfied_ratio": 0.34375, "syndrome_preview": [ 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 100.602142 }, { "name": "mapped_lsb_within_each_tone+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'lsb_within_each_tone', 'interleaver': 'none'}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 17, "satisfied_rows": 15, "unsatisfied_ratio": 0.53125, "syndrome_preview": [ 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.914642 }, { "name": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'lsb_within_each_tone', 'interleaver': 'ft8_bitrev', 'direction': 'deinterleave_rx_to_codeword', 'order_len': 174}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 18, "satisfied_rows": 14, "unsatisfied_ratio": 0.5625, "syndrome_preview": [ 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.133392 }, { "name": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'lsb_within_each_tone', 'interleaver': 'ft8_bitrev', 'direction': 'interleave_codeword_to_rx_inverse', 'order_len': 174}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 36, "hard_zero_preview": 138, "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive_llr_count": 141, "negative_llr_count": 33, "zero_llr_count": 0, "sign_balance": 0.62069 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 16, "satisfied_rows": 16, "unsatisfied_ratio": 0.5, "syndrome_preview": [ 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 96.695892 }, { "name": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': False, 'interleaver': 'none'}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 40, "hard_zero_preview": 134, "llr_stats": { "count": 174, "avg_abs": 1.927169, "min_abs": 0.001731, "max_abs": 4.421458, "positive_llr_count": 137, "negative_llr_count": 37, "zero_llr_count": 0, "sign_balance": 0.574713 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 14, "satisfied_rows": 18, "unsatisfied_ratio": 0.4375, "syndrome_preview": [ 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 96.771176 }, { "name": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 40, "hard_zero_preview": 134, "llr_stats": { "count": 174, "avg_abs": 1.927169, "min_abs": 0.001731, "max_abs": 4.421458, "positive_llr_count": 137, "negative_llr_count": 37, "zero_llr_count": 0, "sign_balance": 0.574713 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 16, "satisfied_rows": 16, "unsatisfied_ratio": 0.5, "syndrome_preview": [ 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.208676 }, { "name": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 40, "hard_zero_preview": 134, "llr_stats": { "count": 174, "avg_abs": 1.927169, "min_abs": 0.001731, "max_abs": 4.421458, "positive_llr_count": 137, "negative_llr_count": 37, "zero_llr_count": 0, "sign_balance": 0.574713 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 9, "satisfied_rows": 23, "unsatisfied_ratio": 0.28125, "syndrome_preview": [ 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 100.677426 }, { "name": "mapped_ft8_gray_primary_demap_lsb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': True, 'interleaver': 'none'}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 54, "hard_zero_preview": 120, "llr_stats": { "count": 174, "avg_abs": 1.733097, "min_abs": 0.001731, "max_abs": 4.14242, "positive_llr_count": 121, "negative_llr_count": 53, "zero_llr_count": 0, "sign_balance": 0.390805 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 19, "satisfied_rows": 13, "unsatisfied_ratio": 0.59375, "syndrome_preview": [ 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 92.088638 }, { "name": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': True, 'interleaver': 'ft8_bitrev', 'direction': 'deinterleave_rx_to_codeword', 'order_len': 174}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 54, "hard_zero_preview": 120, "llr_stats": { "count": 174, "avg_abs": 1.733097, "min_abs": 0.001731, "max_abs": 4.14242, "positive_llr_count": 121, "negative_llr_count": 53, "zero_llr_count": 0, "sign_balance": 0.390805 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 16, "satisfied_rows": 16, "unsatisfied_ratio": 0.5, "syndrome_preview": [ 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 94.432388 }, { "name": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', '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}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 54, "hard_zero_preview": 120, "llr_stats": { "count": 174, "avg_abs": 1.733097, "min_abs": 0.001731, "max_abs": 4.14242, "positive_llr_count": 121, "negative_llr_count": 53, "zero_llr_count": 0, "sign_balance": 0.390805 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 17, "satisfied_rows": 15, "unsatisfied_ratio": 0.53125, "syndrome_preview": [ 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 93.651138 }, { "name": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_alt_high', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': False, 'interleaver': 'none'}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 42, "hard_zero_preview": 132, "llr_stats": { "count": 174, "avg_abs": 1.894503, "min_abs": 0.002971, "max_abs": 4.421458, "positive_llr_count": 134, "negative_llr_count": 40, "zero_llr_count": 0, "sign_balance": 0.54023 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 15, "satisfied_rows": 17, "unsatisfied_ratio": 0.46875, "syndrome_preview": [ 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.859262 }, { "name": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 42, "hard_zero_preview": 132, "llr_stats": { "count": 174, "avg_abs": 1.894503, "min_abs": 0.002971, "max_abs": 4.421458, "positive_llr_count": 134, "negative_llr_count": 40, "zero_llr_count": 0, "sign_balance": 0.54023 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 15, "satisfied_rows": 17, "unsatisfied_ratio": 0.46875, "syndrome_preview": [ 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.859262 }, { "name": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 42, "hard_zero_preview": 132, "llr_stats": { "count": 174, "avg_abs": 1.894503, "min_abs": 0.002971, "max_abs": 4.421458, "positive_llr_count": 134, "negative_llr_count": 40, "zero_llr_count": 0, "sign_balance": 0.54023 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 10, "satisfied_rows": 22, "unsatisfied_ratio": 0.3125, "syndrome_preview": [ 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 99.765512 }, { "name": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_alt_high', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': True, 'interleaver': 'none'}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 56, "hard_zero_preview": 118, "llr_stats": { "count": 174, "avg_abs": 1.700431, "min_abs": 0.002971, "max_abs": 4.14242, "positive_llr_count": 118, "negative_llr_count": 56, "zero_llr_count": 0, "sign_balance": 0.356322 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 20, "satisfied_rows": 12, "unsatisfied_ratio": 0.625, "syndrome_preview": [ 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 91.176724 }, { "name": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 56, "hard_zero_preview": 118, "llr_stats": { "count": 174, "avg_abs": 1.700431, "min_abs": 0.002971, "max_abs": 4.14242, "positive_llr_count": 118, "negative_llr_count": 56, "zero_llr_count": 0, "sign_balance": 0.356322 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 15, "satisfied_rows": 17, "unsatisfied_ratio": 0.46875, "syndrome_preview": [ 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 95.082974 }, { "name": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "complete_174bit_candidate": true, "preview_bits_available": 174, "hard_weight_preview": 56, "hard_zero_preview": 118, "llr_stats": { "count": 174, "avg_abs": 1.700431, "min_abs": 0.002971, "max_abs": 4.14242, "positive_llr_count": 118, "negative_llr_count": 56, "zero_llr_count": 0, "sign_balance": 0.356322 }, "syndrome_probe": { "available": true, "row_count": 32, "unsatisfied_rows": 18, "satisfied_rows": 14, "unsatisfied_ratio": 0.5625, "syndrome_preview": [ 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1 ] }, "real_ldpc_decode_attempted": false, "real_ldpc_decode_success": false, "rank_score": 92.739224 } ], "selected_variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "selected_variant_rank_score": 100.677426, "ready_for_real_ldpc_matrix": true, "real_ldpc_decode": false, "message_unpack": false }, "sync_candidate": { "start_sample": 57600, "start_seconds": 4.8, "base_freq_hz": 1025.0, "tone_spacing_hz": 1.875, "nsps": 6400, "candidate_score": 47.4, "costas_hits": 2, "avg_margin_db": 8.01 }, "frame_candidate": { "input_symbol_count": 96, "excluded_costas_symbol_count": 0, "detected_costas_blocks": [], "data_symbol_count_available": 96, "data_symbol_count_used": 58, "expected_data_symbols_candidate": 58, "costas_policy": "js8_leading_only" }, "soft_symbol_summary": { "symbol_count": 96, "avg_confidence_db": 3.08, "min_confidence_db": 0.01, "strong_symbol_count": 28, "weak_symbol_count": 29, "tone_histogram": { "0": 48, "1": 22, "2": 14, "3": 6, "4": 4, "5": 1, "6": 1, "7": 0 } }, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "decodes": [], "warnings": [ "Step 43 selects the best timing/profile candidate only. It still does not decode final JS8 text.", "No JS8 text decode is expected in Step 43. Final real LDPC/FEC and Varicode/message unpack are not implemented yet.", "Costas7 scoring is a lab candidate extractor; real decoder validation requires actual JS8 WAV samples.", "No JS8 text decode is expected in Step 43. Final real LDPC/FEC and Varicode/message unpack are still not implemented.", "hard_bits_msb_candidate is a lab preview only; real JS8 requires deinterleaving, whitening and LDPC/FEC.", "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation.", "Step 43 LDPC probe harness is wired, but no real JS8/FT8 H matrix is supplied yet; prototype parity rows are diagnostic only.", "No JS8 message text is decoded in Step 43. Next step must connect/extract the real LDPC matrix/decoder and then the JS8 message unpacker." ], "next_action": "Next step should connect a confirmed JS8/FT8 LDPC matrix/decoder and then message unpacking after the timing profile is stable." } [webftr-js8-lab] auto-ldpc-probe exit_code=0 [webftr-js8-lab] auto-ldpc-probe JSON: /decoders/js8_decoder/logs/20260527T062127Z_real_run_auto_ldpc_probe_output.json ========== REAL-RUN STEP 6/9: CANDIDATE EXPORT ========== [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062127Z_real_run_candidate_export_output.json [webftr-js8-lab] JSON timeout guard: 60s { "ok": true, "mode": "JS8", "tool": "webftr-js8-fec-candidate-export", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_profile_anchor_candidate_export_no_message_unpack", "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 }, "profile_selection_source": "profile_scan_json_anchor", "profile_scan_json": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_profile_scan_output.json", "anchor_json": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_auto_ldpc_probe_output.json", "anchor_selection": { "source": "profile_scan_json", "path": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_profile_scan_output.json", "selection": "profile_scan_selected_profile", "nsps": 6400, "start_seconds": 4.8, "base_freq_hz": 1025.0, "tone_spacing_hz": 1.875 }, "anchor_attempts": [ { "source": "profile_scan_json", "path": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_profile_scan_output.json", "selection": "profile_scan_selected_profile", "nsps": 6400, "start_seconds": 4.8, "base_freq_hz": 1025.0, "tone_spacing_hz": 1.875 } ], "anchor_expected_enabled": true, "prefer_js8_realistic_profile": true, "nsps_used": 6400, "nsps_is_js8_realistic": true, "wav": { "path": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "channels": 1, "sample_rate": 12000, "sample_width_bytes": 2, "frames": 720000, "duration_seconds": 60.0, "rms_dbfs": -9.13, "peak_dbfs": -0.72, "clipped": false }, "sync_candidate": { "start_sample": 57600, "start_seconds": 4.8, "base_freq_hz": 1025.0, "tone_spacing_hz": 1.875, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "profile_scan_json" }, "frame_candidate": { "input_symbol_count": 96, "excluded_costas_symbol_count": 0, "detected_costas_blocks": [], "data_symbol_count_available": 96, "data_symbol_count_used": 58, "expected_data_symbols_candidate": 58, "costas_policy": "js8_leading_only" }, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "anchor_context": { "enabled": true, "source": "profile_scan_json", "start_seconds": 4.8, "base_freq_hz": 1025.0, "tone_spacing_hz": 1.875, "nsps": 6400, "symbol_count_extracted": 96 }, "variant_count": 23, "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 } }, "variants": [ { "name": "raw_msb_symbol_order", "description": "Current FEC bridge: Costas-stripped symbols, MSB-first tone bits.", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000010000010011000001000110101000011010000010010000001000000011011011000000000000000000000011000000001000010001001010001000010010000001010000010000001001000000", "hard_bits_sha256_16": "c87312f86dbe74fc", "hard_weight_174": 36, "llr_full_174": [ 4.145349, 4.116374, 3.511245, 4.180269, 4.169674, 4.14242, 4.168008, 4.153984, 4.12139, 4.168076, 4.135428, 4.11961, 4.07648, 4.076237, 4.08862, 2.756476, 2.742424, 3.003457, 2.955568, -1.875523, 1.978199, 2.658519, 0.652185, 1.080854, 3.045159, -2.198749, 1.333744, 0.789541, 0.471669, -0.473047, 2.454295, 1.837215, 1.942431, 3.352145, 2.163158, -2.926977, 3.300296, 1.818615, 2.678266, 0.27805, -1.765651, 0.507303, 0.384955, 0.866369, -0.118003, 3.200765, 2.063815, 1.87262, 1.0381, -1.355162, -1.599648, 3.332469, -2.249717, 1.748972, 3.56793, 3.262649, 3.617447, 2.319559, -1.211827, 1.719706, 3.019019, -3.210486, 3.575036, 2.726546, 0.281133, 1.361861, 0.844266, 0.012672, -0.477879, 2.427052, 0.927501, 2.023583, 1.640172, 0.441842, 1.473774, 0.724531, -1.103418, -1.264035, 0.966046, -0.916188, -0.820746, 2.920695, -1.395798, -1.732909, 4.123045, 3.154533, 1.694026, 4.167475, 4.14333, 4.094062, 4.166411, 4.137106, 4.073255, 4.16641, 4.1509, 4.091336, 4.16914, 4.045318, 3.8423, 4.098287, 3.599922, 1.677122, 3.447718, 0.044719, 2.01941, 3.666068, -1.085865, -1.807547, 2.689748, 0.585744, 2.065345, 3.083072, 2.617179, 1.346997, 2.548193, 2.264806, -0.571842, 2.351419, 1.247615, 1.499097, 3.383096, -3.47555, 3.593033, 0.355702, 2.45095, -3.635826, 2.165497, 2.132701, -2.226011, 2.192378, -1.921746, 1.999342, 3.137893, 2.980057, -2.621792, 3.666644, 0.533081, 1.582817, 3.285701, -3.283029, 3.223063, 2.568732, -0.251398, 0.268492, 1.534973, 1.692448, 1.48451, 3.152828, 0.300403, -0.280146, 1.052121, -0.948727, 1.008293, 0.777135, 0.891886, 0.17487, 2.402306, -2.356355, 2.750596, 1.575325, 0.833633, 2.006609, 1.914037, 2.633553, -1.988459, 1.730599, 1.570304, -1.598288, 4.421458, 0.617935, 1.642426, 3.964669, 3.566732, 3.449224 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 127.195892 }, { "name": "lsb_within_each_tone", "description": "Same symbols, but each 3-bit tone value reversed for bit-order comparison.", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000010000010110000100000011101000110010000010010000100000000110110110000000000000000000000110000000100000010100100010100000010010000100010000010000100100000000", "hard_bits_sha256_16": "1caf67e82a3cc0f1", "hard_weight_174": 36, "llr_full_174": [ 4.145349, 4.116374, 3.511245, 4.180269, 4.169674, 4.14242, 4.168008, 4.153984, 4.12139, 4.168076, 4.135428, 4.11961, 4.07648, 4.076237, 4.08862, 2.756476, 2.742424, 3.003457, 2.955568, -1.875523, 1.978199, 2.658519, 0.652185, 1.080854, 3.045159, -2.198749, 1.333744, 0.789541, 0.471669, -0.473047, 2.454295, 1.837215, 1.942431, 3.352145, 2.163158, -2.926977, 3.300296, 1.818615, 2.678266, 0.27805, -1.765651, 0.507303, 0.384955, 0.866369, -0.118003, 3.200765, 2.063815, 1.87262, 1.0381, -1.355162, -1.599648, 3.332469, -2.249717, 1.748972, 3.56793, 3.262649, 3.617447, 2.319559, -1.211827, 1.719706, 3.019019, -3.210486, 3.575036, 2.726546, 0.281133, 1.361861, 0.844266, 0.012672, -0.477879, 2.427052, 0.927501, 2.023583, 1.640172, 0.441842, 1.473774, 0.724531, -1.103418, -1.264035, 0.966046, -0.916188, -0.820746, 2.920695, -1.395798, -1.732909, 4.123045, 3.154533, 1.694026, 4.167475, 4.14333, 4.094062, 4.166411, 4.137106, 4.073255, 4.16641, 4.1509, 4.091336, 4.16914, 4.045318, 3.8423, 4.098287, 3.599922, 1.677122, 3.447718, 0.044719, 2.01941, 3.666068, -1.085865, -1.807547, 2.689748, 0.585744, 2.065345, 3.083072, 2.617179, 1.346997, 2.548193, 2.264806, -0.571842, 2.351419, 1.247615, 1.499097, 3.383096, -3.47555, 3.593033, 0.355702, 2.45095, -3.635826, 2.165497, 2.132701, -2.226011, 2.192378, -1.921746, 1.999342, 3.137893, 2.980057, -2.621792, 3.666644, 0.533081, 1.582817, 3.285701, -3.283029, 3.223063, 2.568732, -0.251398, 0.268492, 1.534973, 1.692448, 1.48451, 3.152828, 0.300403, -0.280146, 1.052121, -0.948727, 1.008293, 0.777135, 0.891886, 0.17487, 2.402306, -2.356355, 2.750596, 1.575325, 0.833633, 2.006609, 1.914037, 2.633553, -1.988459, 1.730599, 1.570304, -1.598288, 4.421458, 0.617935, 1.642426, 3.964669, 3.566732, 3.449224 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 119.195892 }, { "name": "reverse_symbol_order", "description": "Same 3-bit symbols in reverse order; diagnostic only.", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000001001000010000010001000010010000001010001001010000001000000011000000000000000000000011011011000000001000010010000010011000101110000001000011010000010000000000000000000", "hard_bits_sha256_16": "1c72d827ce8d55e5", "hard_weight_174": 36, "llr_full_174": [ 3.449224, 3.566732, 3.964669, 1.642426, 0.617935, 4.421458, -1.598288, 1.570304, 1.730599, -1.988459, 2.633553, 1.914037, 2.006609, 0.833633, 1.575325, 2.750596, -2.356355, 2.402306, 0.17487, 0.891886, 0.777135, 1.008293, -0.948727, 1.052121, -0.280146, 0.300403, 3.152828, 1.48451, 1.692448, 1.534973, 0.268492, -0.251398, 2.568732, 3.223063, -3.283029, 3.285701, 1.582817, 0.533081, 3.666644, -2.621792, 2.980057, 3.137893, 1.999342, -1.921746, 2.192378, -2.226011, 2.132701, 2.165497, -3.635826, 2.45095, 0.355702, 3.593033, -3.47555, 3.383096, 1.499097, 1.247615, 2.351419, -0.571842, 2.264806, 2.548193, 1.346997, 2.617179, 3.083072, 2.065345, 0.585744, 2.689748, -1.807547, -1.085865, 3.666068, 2.01941, 0.044719, 3.447718, 1.677122, 3.599922, 4.098287, 3.8423, 4.045318, 4.16914, 4.091336, 4.1509, 4.16641, 4.073255, 4.137106, 4.166411, 4.094062, 4.14333, 4.167475, 1.694026, 3.154533, 4.123045, -1.732909, -1.395798, 2.920695, -0.820746, -0.916188, 0.966046, -1.264035, -1.103418, 0.724531, 1.473774, 0.441842, 1.640172, 2.023583, 0.927501, 2.427052, -0.477879, 0.012672, 0.844266, 1.361861, 0.281133, 2.726546, 3.575036, -3.210486, 3.019019, 1.719706, -1.211827, 2.319559, 3.617447, 3.262649, 3.56793, 1.748972, -2.249717, 3.332469, -1.599648, -1.355162, 1.0381, 1.87262, 2.063815, 3.200765, -0.118003, 0.866369, 0.384955, 0.507303, -1.765651, 0.27805, 2.678266, 1.818615, 3.300296, -2.926977, 2.163158, 3.352145, 1.942431, 1.837215, 2.454295, -0.473047, 0.471669, 0.789541, 1.333744, -2.198749, 3.045159, 1.080854, 0.652185, 2.658519, 1.978199, -1.875523, 2.955568, 3.003457, 2.742424, 2.756476, 4.08862, 4.076237, 4.07648, 4.11961, 4.135428, 4.168076, 4.12139, 4.153984, 4.168008, 4.14242, 4.169674, 4.180269, 3.511245, 4.116374, 4.145349 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 113.195892 }, { "name": "reverse_full_bitstream", "description": "Full hard-bit stream reversed; diagnostic only.", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000100100000010000010100000010010000100010100100010000100000000110000000000000000000000110110110000000100000010010000010110000101011000100000110010000010000000000000000000", "hard_bits_sha256_16": "99d197b705881255", "hard_weight_174": 36, "llr_full_174": [ 3.449224, 3.566732, 3.964669, 1.642426, 0.617935, 4.421458, -1.598288, 1.570304, 1.730599, -1.988459, 2.633553, 1.914037, 2.006609, 0.833633, 1.575325, 2.750596, -2.356355, 2.402306, 0.17487, 0.891886, 0.777135, 1.008293, -0.948727, 1.052121, -0.280146, 0.300403, 3.152828, 1.48451, 1.692448, 1.534973, 0.268492, -0.251398, 2.568732, 3.223063, -3.283029, 3.285701, 1.582817, 0.533081, 3.666644, -2.621792, 2.980057, 3.137893, 1.999342, -1.921746, 2.192378, -2.226011, 2.132701, 2.165497, -3.635826, 2.45095, 0.355702, 3.593033, -3.47555, 3.383096, 1.499097, 1.247615, 2.351419, -0.571842, 2.264806, 2.548193, 1.346997, 2.617179, 3.083072, 2.065345, 0.585744, 2.689748, -1.807547, -1.085865, 3.666068, 2.01941, 0.044719, 3.447718, 1.677122, 3.599922, 4.098287, 3.8423, 4.045318, 4.16914, 4.091336, 4.1509, 4.16641, 4.073255, 4.137106, 4.166411, 4.094062, 4.14333, 4.167475, 1.694026, 3.154533, 4.123045, -1.732909, -1.395798, 2.920695, -0.820746, -0.916188, 0.966046, -1.264035, -1.103418, 0.724531, 1.473774, 0.441842, 1.640172, 2.023583, 0.927501, 2.427052, -0.477879, 0.012672, 0.844266, 1.361861, 0.281133, 2.726546, 3.575036, -3.210486, 3.019019, 1.719706, -1.211827, 2.319559, 3.617447, 3.262649, 3.56793, 1.748972, -2.249717, 3.332469, -1.599648, -1.355162, 1.0381, 1.87262, 2.063815, 3.200765, -0.118003, 0.866369, 0.384955, 0.507303, -1.765651, 0.27805, 2.678266, 1.818615, 3.300296, -2.926977, 2.163158, 3.352145, 1.942431, 1.837215, 2.454295, -0.473047, 0.471669, 0.789541, 1.333744, -2.198749, 3.045159, 1.080854, 0.652185, 2.658519, 1.978199, -1.875523, 2.955568, 3.003457, 2.742424, 2.756476, 4.08862, 4.076237, 4.07648, 4.11961, 4.135428, 4.168076, 4.12139, 4.153984, 4.168008, 4.14242, 4.169674, 4.180269, 3.511245, 4.116374, 4.145349 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 112.195892 }, { "name": "mapped_raw_msb+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'raw_msb', 'interleaver': 'none'}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000010000010011000001000110101000011010000010010000001000000011011011000000000000000000000011000000001000010001001010001000010010000001010000010000001001000000", "hard_bits_sha256_16": "c87312f86dbe74fc", "hard_weight_174": 36, "llr_full_174": [ 4.145349, 4.116374, 3.511245, 4.180269, 4.169674, 4.14242, 4.168008, 4.153984, 4.12139, 4.168076, 4.135428, 4.11961, 4.07648, 4.076237, 4.08862, 2.756476, 2.742424, 3.003457, 2.955568, -1.875523, 1.978199, 2.658519, 0.652185, 1.080854, 3.045159, -2.198749, 1.333744, 0.789541, 0.471669, -0.473047, 2.454295, 1.837215, 1.942431, 3.352145, 2.163158, -2.926977, 3.300296, 1.818615, 2.678266, 0.27805, -1.765651, 0.507303, 0.384955, 0.866369, -0.118003, 3.200765, 2.063815, 1.87262, 1.0381, -1.355162, -1.599648, 3.332469, -2.249717, 1.748972, 3.56793, 3.262649, 3.617447, 2.319559, -1.211827, 1.719706, 3.019019, -3.210486, 3.575036, 2.726546, 0.281133, 1.361861, 0.844266, 0.012672, -0.477879, 2.427052, 0.927501, 2.023583, 1.640172, 0.441842, 1.473774, 0.724531, -1.103418, -1.264035, 0.966046, -0.916188, -0.820746, 2.920695, -1.395798, -1.732909, 4.123045, 3.154533, 1.694026, 4.167475, 4.14333, 4.094062, 4.166411, 4.137106, 4.073255, 4.16641, 4.1509, 4.091336, 4.16914, 4.045318, 3.8423, 4.098287, 3.599922, 1.677122, 3.447718, 0.044719, 2.01941, 3.666068, -1.085865, -1.807547, 2.689748, 0.585744, 2.065345, 3.083072, 2.617179, 1.346997, 2.548193, 2.264806, -0.571842, 2.351419, 1.247615, 1.499097, 3.383096, -3.47555, 3.593033, 0.355702, 2.45095, -3.635826, 2.165497, 2.132701, -2.226011, 2.192378, -1.921746, 1.999342, 3.137893, 2.980057, -2.621792, 3.666644, 0.533081, 1.582817, 3.285701, -3.283029, 3.223063, 2.568732, -0.251398, 0.268492, 1.534973, 1.692448, 1.48451, 3.152828, 0.300403, -0.280146, 1.052121, -0.948727, 1.008293, 0.777135, 0.891886, 0.17487, 2.402306, -2.356355, 2.750596, 1.575325, 0.833633, 2.006609, 1.914037, 2.633553, -1.988459, 1.730599, 1.570304, -1.598288, 4.421458, 0.617935, 1.642426, 3.964669, 3.566732, 3.449224 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 109.195892 }, { "name": "mapped_raw_msb+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'raw_msb', 'interleaver': 'ft8_bitrev', 'direction': 'deinterleave_rx_to_codeword', 'order_len': 174}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "001000000001001100101000001010100001100000100011000000000101100000000010000010100011000011000100001000000000010000000010000001000000000000000100000011000001101000000001000000", "hard_bits_sha256_16": "3c11aac3c214ac9f", "hard_weight_174": 36, "llr_full_174": [ 4.145349, 4.167475, -0.118003, 1.999342, 0.652185, 0.585744, 0.844266, 0.777135, 4.11961, 3.8423, 3.262649, -0.251398, 3.352145, 3.383096, -1.264035, -1.988459, 4.168008, 4.16641, -1.599648, 1.582817, 0.471669, 2.264806, 1.640172, 1.575325, 3.003457, 2.01941, -3.210486, 0.300403, 0.27805, 2.165497, -1.395798, 0.617935, 4.180269, 4.166411, 1.87262, -2.621792, -2.198749, 2.617179, 2.427052, 2.402306, 4.08862, 1.677122, -1.211827, 1.692448, 3.300296, 0.355702, -0.820746, -1.598288, 4.168076, 4.16914, 1.748972, 3.223063, 1.837215, 1.247615, 0.724531, 1.914037, 1.978199, -1.807547, 0.281133, -0.948727, 0.384955, 2.192378, 3.154533, 3.566732, 3.511245, 4.094062, 2.063815, 2.980057, 3.045159, 3.083072, -0.477879, 0.17487, 4.076237, 3.599922, 2.319559, 1.534973, -2.926977, 3.593033, -0.916188, 1.570304, 4.12139, 4.091336, -2.249717, -3.283029, 2.454295, 2.351419, 1.473774, 2.006609, -1.875523, -1.085865, 2.726546, 1.052121, 0.507303, -2.226011, 4.123045, 3.964669, 4.14242, 4.073255, -1.355162, 0.533081, 0.789541, 2.548193, 2.023583, 2.750596, 2.742424, 0.044719, 3.019019, 3.152828, 2.678266, -3.635826, 2.920695, 4.421458, 4.135428, 4.045318, 3.56793, 2.568732, 1.942431, 1.499097, -1.103418, 2.633553, 2.658519, 2.689748, 1.361861, 1.008293, 0.866369, -1.921746, 1.694026, 3.449224, 4.116374, 4.14333, 3.200765, 3.137893, 1.080854, 2.065345, 0.012672, 0.891886, 4.07648, 4.098287, 3.617447, 0.268492, 2.163158, -3.47555, 0.966046, 1.730599, 4.153984, 4.1509, 3.332469, 3.285701, -0.473047, -0.571842, 0.441842, 0.833633, 2.955568, 3.666068, 3.575036, -0.280146, -1.765651, 2.132701, -1.732909, 1.642426, 4.169674, 4.137106, 1.0381, 3.666644, 1.333744, 1.346997, 0.927501, -2.356355, 2.756476, 3.447718, 1.719706, 1.48451, 1.818615, 2.45095 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 109.195892 }, { "name": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'raw_msb', 'interleaver': 'ft8_bitrev', 'direction': 'interleave_codeword_to_rx_inverse', 'order_len': 174}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "010000001000001000000000101000011001100100000100000011000010100010010000000000100000000000000000100000001000100000001000001000110110001001010001000100000000110010000010000000", "hard_bits_sha256_16": "3eca32111a82bfa5", "hard_weight_174": 36, "llr_full_174": [ 4.145349, -2.226011, 0.281133, 1.942431, 0.833633, 4.16914, 2.742424, 1.534973, -0.820746, 1.0381, 2.617179, 4.12139, 0.533081, 1.640172, -1.765651, 4.421458, 2.01941, 3.045159, 1.008293, 4.14333, 3.617447, 3.383096, 4.169674, 3.137893, -0.477879, 3.300296, -1.988459, 3.599922, 1.978199, 0.300403, 4.123045, -2.249717, -0.571842, 4.07648, 3.223063, -1.103418, -0.118003, 3.566732, 2.689748, 0.471669, 2.402306, 4.073255, 3.019019, 2.45095, 3.511245, -1.921746, 0.844266, 2.163158, 1.914037, 3.8423, 2.955568, 1.48451, -1.395798, -1.599648, 2.548193, 4.135428, 3.285701, 1.473774, 0.384955, 1.642426, -1.085865, 1.333744, 0.891886, 4.166411, -1.211827, 3.593033, 4.168008, -2.621792, 0.927501, 2.678266, 1.570304, 3.447718, 0.652185, 1.052121, 1.694026, 3.56793, 1.247615, 4.08862, -0.251398, 0.966046, 2.063815, 2.065345, 2.454295, 2.750596, 4.1509, 3.575036, 2.165497, 4.116374, 2.192378, 1.361861, 3.352145, 2.006609, 4.045318, 3.003457, 1.692448, 2.920695, -1.355162, 1.346997, 4.168076, 1.582817, 0.441842, 0.507303, 0.617935, 3.666068, -2.198749, 0.777135, 4.094062, 2.319559, -3.47555, 4.14242, 2.980057, 2.427052, 1.818615, 1.730599, 1.677122, 2.658519, -0.280146, 3.154533, 1.748972, 2.351419, 4.076237, 2.568732, -1.264035, 3.200765, 3.449224, 0.585744, -0.473047, -2.356355, 4.16641, -3.210486, -3.635826, 4.180269, 1.999342, 0.012672, -2.926977, 2.633553, 4.098287, -1.875523, 3.152828, -1.732909, 3.332469, 2.264806, 4.11961, -3.283029, 0.724531, 0.866369, 3.964669, -1.807547, 0.789541, 0.17487, 4.137106, 1.719706, 0.355702, 4.153984, 3.666644, 2.023583, 0.27805, -1.598288, 0.044719, 1.080854, -0.948727, 4.167475, 3.262649, 1.499097, 2.756476, 0.268492, -0.916188, 1.87262, 3.083072, 1.837215, 1.575325, 4.091336, 2.726546, 2.132701 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 109.195892 }, { "name": "mapped_lsb_within_each_tone+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'lsb_within_each_tone', 'interleaver': 'none'}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000010000010110000100000011101000110010000010010000100000000110110110000000000000000000000110000000100000010100100010100000010010000100010000010000100100000000", "hard_bits_sha256_16": "1caf67e82a3cc0f1", "hard_weight_174": 36, "llr_full_174": [ 3.511245, 4.116374, 4.145349, 4.14242, 4.169674, 4.180269, 4.12139, 4.153984, 4.168008, 4.11961, 4.135428, 4.168076, 4.08862, 4.076237, 4.07648, 3.003457, 2.742424, 2.756476, 1.978199, -1.875523, 2.955568, 1.080854, 0.652185, 2.658519, 1.333744, -2.198749, 3.045159, -0.473047, 0.471669, 0.789541, 1.942431, 1.837215, 2.454295, -2.926977, 2.163158, 3.352145, 2.678266, 1.818615, 3.300296, 0.507303, -1.765651, 0.27805, -0.118003, 0.866369, 0.384955, 1.87262, 2.063815, 3.200765, -1.599648, -1.355162, 1.0381, 1.748972, -2.249717, 3.332469, 3.617447, 3.262649, 3.56793, 1.719706, -1.211827, 2.319559, 3.575036, -3.210486, 3.019019, 1.361861, 0.281133, 2.726546, -0.477879, 0.012672, 0.844266, 2.023583, 0.927501, 2.427052, 1.473774, 0.441842, 1.640172, -1.264035, -1.103418, 0.724531, -0.820746, -0.916188, 0.966046, -1.732909, -1.395798, 2.920695, 1.694026, 3.154533, 4.123045, 4.094062, 4.14333, 4.167475, 4.073255, 4.137106, 4.166411, 4.091336, 4.1509, 4.16641, 3.8423, 4.045318, 4.16914, 1.677122, 3.599922, 4.098287, 2.01941, 0.044719, 3.447718, -1.807547, -1.085865, 3.666068, 2.065345, 0.585744, 2.689748, 1.346997, 2.617179, 3.083072, -0.571842, 2.264806, 2.548193, 1.499097, 1.247615, 2.351419, 3.593033, -3.47555, 3.383096, -3.635826, 2.45095, 0.355702, -2.226011, 2.132701, 2.165497, 1.999342, -1.921746, 2.192378, -2.621792, 2.980057, 3.137893, 1.582817, 0.533081, 3.666644, 3.223063, -3.283029, 3.285701, 0.268492, -0.251398, 2.568732, 1.48451, 1.692448, 1.534973, -0.280146, 0.300403, 3.152828, 1.008293, -0.948727, 1.052121, 0.17487, 0.891886, 0.777135, 2.750596, -2.356355, 2.402306, 2.006609, 0.833633, 1.575325, -1.988459, 2.633553, 1.914037, -1.598288, 1.570304, 1.730599, 1.642426, 0.617935, 4.421458, 3.449224, 3.566732, 3.964669 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 109.195892 }, { "name": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'lsb_within_each_tone', 'interleaver': 'ft8_bitrev', 'direction': 'deinterleave_rx_to_codeword', 'order_len': 174}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "001000100001100000001000001001100000100000100100000000110001100000000000000000100011000011001000001011000001001000000010000001000001000000000111000000000100100000100001000000", "hard_bits_sha256_16": "c16db5c46eb49777", "hard_weight_174": 36, "llr_full_174": [ 3.511245, 4.094062, 0.384955, 2.192378, 0.652185, 0.585744, -0.477879, 0.17487, 4.168076, 4.16914, 3.262649, -0.251398, -2.926977, 3.593033, 0.724531, 1.914037, 4.12139, 4.091336, 1.0381, 3.666644, 0.471669, 2.264806, 1.473774, 2.006609, 2.756476, 3.447718, -3.210486, 0.300403, 0.507303, -2.226011, -1.395798, 0.617935, 4.14242, 4.073255, 3.200765, 3.137893, -2.198749, 2.617179, 2.023583, 2.750596, 4.07648, 4.098287, -1.211827, 1.692448, 2.678266, -3.635826, 0.966046, 1.730599, 4.11961, 3.8423, 3.332469, 3.285701, 1.837215, 1.247615, -1.264035, -1.988459, 2.955568, 3.666068, 0.281133, -0.948727, -0.118003, 1.999342, 3.154533, 3.566732, 4.145349, 4.167475, 2.063815, 2.980057, 1.333744, 1.346997, 0.844266, 0.777135, 4.076237, 3.599922, 1.719706, 1.48451, 3.352145, 3.383096, -0.916188, 1.570304, 4.168008, 4.16641, -2.249717, -3.283029, 1.942431, 1.499097, 1.640172, 1.575325, -1.875523, -1.085865, 1.361861, 1.008293, 0.27805, 2.165497, 1.694026, 3.449224, 4.180269, 4.166411, -1.355162, 0.533081, -0.473047, -0.571842, 2.427052, 2.402306, 2.742424, 0.044719, 3.575036, -0.280146, 3.300296, 0.355702, -1.732909, 1.642426, 4.135428, 4.045318, 3.617447, 0.268492, 2.454295, 2.351419, -1.103418, 2.633553, 1.080854, 2.065345, 2.726546, 1.052121, 0.866369, -1.921746, 4.123045, 3.964669, 4.116374, 4.14333, 1.87262, -2.621792, 2.658519, 2.689748, 0.012672, 0.891886, 4.08862, 1.677122, 3.56793, 2.568732, 2.163158, -3.47555, -0.820746, -1.598288, 4.153984, 4.1509, 1.748972, 3.223063, 0.789541, 2.548193, 0.441842, 0.833633, 1.978199, -1.807547, 3.019019, 3.152828, -1.765651, 2.132701, 2.920695, 4.421458, 4.169674, 4.137106, -1.599648, 1.582817, 3.045159, 3.083072, 0.927501, -2.356355, 3.003457, 2.01941, 2.319559, 1.534973, 1.818615, 2.45095 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 109.195892 }, { "name": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'lsb_within_each_tone', 'interleaver': 'ft8_bitrev', 'direction': 'interleave_codeword_to_rx_inverse', 'order_len': 174}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000100001000000001000000010001100100000110100010100010100010000000000000110000001000100001100001011000100001000000000000010100000001100001100010001000000010000010000000", "hard_bits_sha256_16": "2349237a6c1ad4a1", "hard_weight_174": 36, "llr_full_174": [ 3.511245, 2.165497, 0.281133, 2.454295, 0.833633, 3.8423, 2.742424, 1.48451, 0.966046, -1.599648, 2.617179, 4.168008, 0.533081, 1.473774, -1.765651, 1.642426, 3.447718, 1.333744, 1.052121, 4.14333, 3.56793, 3.593033, 4.169674, -2.621792, 0.844266, 2.678266, 1.914037, 3.599922, 2.955568, 0.300403, 1.694026, -2.249717, 2.548193, 4.08862, 3.285701, -1.103418, 0.384955, 3.566732, 2.065345, 0.471669, 2.750596, 4.166411, 3.575036, 2.45095, 4.145349, -1.921746, -0.477879, 2.163158, -1.988459, 4.16914, 1.978199, 1.534973, -1.395798, 1.0381, -0.571842, 4.135428, 3.223063, 1.640172, -0.118003, 4.421458, -1.085865, 3.045159, 0.891886, 4.073255, -1.211827, 3.383096, 4.12139, 3.137893, 0.927501, 3.300296, 1.570304, 2.01941, 0.652185, 1.008293, 4.123045, 3.617447, 1.247615, 4.07648, -0.251398, -0.820746, 2.063815, 2.689748, 1.942431, 2.402306, 4.1509, 3.019019, -2.226011, 4.116374, 1.999342, 2.726546, -2.926977, 1.575325, 4.045318, 2.756476, 1.692448, -1.732909, -1.355162, 3.083072, 4.11961, 3.666644, 0.441842, 0.27805, 0.617935, -1.807547, -2.198749, 0.17487, 4.167475, 1.719706, -3.47555, 4.180269, 2.980057, 2.023583, 1.818615, -1.598288, 4.098287, 1.080854, 3.152828, 3.154533, 3.332469, 1.499097, 4.076237, 0.268492, 0.724531, 1.87262, 3.964669, 0.585744, 0.789541, -2.356355, 4.091336, -3.210486, 0.355702, 4.14242, 2.192378, 0.012672, 3.352145, 2.633553, 1.677122, -1.875523, -0.280146, 2.920695, 1.748972, 2.264806, 4.168076, -3.283029, -1.264035, 0.866369, 3.449224, 3.666068, -0.473047, 0.777135, 4.137106, 2.319559, -3.635826, 4.153984, 1.582817, 2.427052, 0.507303, 1.730599, 0.044719, 2.658519, -0.948727, 4.094062, 3.262649, 2.351419, 3.003457, 2.568732, -0.916188, 3.200765, 1.346997, 1.837215, 2.006609, 4.16641, 1.361861, 2.132701 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 109.195892 }, { "name": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': False, 'interleaver': 'none'}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000011000011010000001000101100000010011000011011000001000000010010010000000000000000000000010000000001000011001001011001000011011000001011000011000001001000000", "hard_bits_sha256_16": "df16269c1fa0fa06", "hard_weight_174": 40, "llr_full_174": [ 4.145349, 3.452473, 3.086486, 4.180269, 3.489968, 3.470833, 4.168008, 3.476142, 3.45256, 4.168076, 3.466732, 3.442433, 4.07648, 3.391909, 3.398004, 2.756476, 2.085357, 2.201863, 2.955568, -1.622839, -1.279105, 2.658519, 0.584512, 0.334781, 3.045159, -1.913077, -1.05028, 0.789541, 0.355787, 0.070686, 2.454295, 1.465874, 1.259168, 3.352145, 2.148484, -1.593118, 3.300296, 1.631791, 1.487633, 0.27805, -0.679046, -0.859382, 0.384955, 0.516186, 0.304115, 3.200765, 1.8241, 1.313865, 1.0381, -1.202946, 0.271605, 3.332469, -2.000617, -1.317992, 3.56793, 2.723053, 2.74392, 2.319559, -0.99225, -0.827198, 3.019019, -2.4347, -2.703961, 2.726546, 0.253328, 0.172804, 0.844266, 0.009756, 0.001731, 2.427052, 0.7793, 0.708649, 1.640172, 0.322631, 0.301313, 0.724531, -0.918917, 0.050637, 0.966046, -0.745342, 0.005093, 2.920695, -1.36693, 0.77557, 4.123045, 2.877556, 1.508338, 4.167475, 3.470682, 3.433481, 4.166411, 3.467154, 3.419835, 4.16641, 3.474034, 3.435811, 4.16914, 3.422479, 3.254487, 4.098287, 3.187851, 1.562671, 3.447718, 0.042283, 0.03456, 3.666068, -1.076662, 0.695554, 2.689748, 0.516457, 0.457348, 3.083072, 2.218749, 1.160866, 2.548193, 2.037409, -0.303721, 2.351419, 1.033145, 0.774902, 3.383096, -2.750704, -2.856231, 0.355702, 2.334924, -0.246542, 2.165497, 2.051906, -1.067205, 2.192378, -1.42718, -1.339671, 3.137893, 2.926083, -1.778059, 3.666644, 0.510044, 0.351311, 3.285701, -2.612578, -2.58036, 2.568732, -0.230927, -0.048807, 1.534973, 1.07191, 1.044958, 3.152828, 0.289654, -0.027576, 1.052121, -0.562778, -0.546582, 0.777135, 0.565054, 0.316264, 2.402306, -1.726242, -1.882543, 1.575325, 0.564689, 0.656222, 1.914037, 2.436748, -0.998732, 1.730599, 1.457999, -0.555668, 4.421458, 0.604867, 0.41283, 3.964669, 3.066087, 2.824202 ], "llr_stats": { "count": 174, "avg_abs": 1.927169, "min_abs": 0.001731, "max_abs": 4.421458, "positive": 137, "negative": 37, "zero": 0 }, "rank_score": 107.708676 }, { "name": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000100000001000100001000001010100001100000100001001100001001100000000010000011100011000011001100001000010000010000000010000101000000000000010100000001000011000000001001001000", "hard_bits_sha256_16": "ae82c24c7b38f3d2", "hard_weight_174": 40, "llr_full_174": [ 4.145349, 4.167475, 0.304115, -1.339671, 0.584512, 0.516457, 0.844266, 0.777135, 3.442433, 3.254487, 2.723053, -0.230927, 3.352145, 3.383096, 0.050637, -0.998732, 4.168008, 4.16641, 0.271605, 0.351311, 0.355787, 2.037409, 1.640172, 1.575325, 2.201863, 0.03456, -2.4347, 0.289654, 0.27805, 2.165497, -1.36693, 0.604867, 4.180269, 4.166411, 1.313865, -1.778059, -1.913077, 2.218749, 2.427052, 2.402306, 3.398004, 1.562671, -0.99225, 1.07191, 3.300296, 0.355702, 0.005093, -0.555668, 4.168076, 4.16914, -1.317992, -2.58036, 1.465874, 1.033145, 0.724531, 1.914037, -1.279105, 0.695554, 0.253328, -0.562778, 0.384955, 2.192378, 2.877556, 3.066087, 3.086486, 3.433481, 1.8241, 2.926083, 3.045159, 3.083072, 0.001731, 0.316264, 3.391909, 3.187851, 2.319559, 1.534973, -1.593118, -2.856231, -0.745342, 1.457999, 3.45256, 3.435811, -2.000617, -2.612578, 2.454295, 2.351419, 0.301313, 0.656222, -1.622839, -1.076662, 2.726546, 1.052121, -0.859382, -1.067205, 4.123045, 3.964669, 3.470833, 3.419835, -1.202946, 0.510044, 0.789541, 2.548193, 0.708649, -1.882543, 2.085357, 0.042283, 3.019019, 3.152828, 1.487633, -0.246542, 2.920695, 4.421458, 3.466732, 3.422479, 3.56793, 2.568732, 1.259168, 0.774902, -0.918917, 2.436748, 2.658519, 2.689748, 0.172804, -0.546582, 0.516186, -1.42718, 1.508338, 2.824202, 3.452473, 3.470682, 3.200765, 3.137893, 0.334781, 0.457348, 0.009756, 0.565054, 4.07648, 4.098287, 2.74392, -0.048807, 2.148484, -2.750704, 0.966046, 1.730599, 3.476142, 3.474034, 3.332469, 3.285701, 0.070686, -0.303721, 0.322631, 0.564689, 2.955568, 3.666068, -2.703961, -0.027576, -0.679046, 2.051906, 0.77557, 0.41283, 3.489968, 3.467154, 1.0381, 3.666644, -1.05028, 1.160866, 0.7793, -1.726242, 2.756476, 3.447718, -0.827198, 1.044958, 1.631791, 2.334924 ], "llr_stats": { "count": 174, "avg_abs": 1.927169, "min_abs": 0.001731, "max_abs": 4.421458, "positive": 137, "negative": 37, "zero": 0 }, "rank_score": 107.708676 }, { "name": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "010000000000000000100000101010011011000100000100000010000010110011010000000000100001010000000000100001001000100000001010000000010110101001000001000000010000110010000110000000", "hard_bits_sha256_16": "295f8a69db86c215", "hard_weight_174": 40, "llr_full_174": [ 4.145349, -1.067205, 0.253328, 1.259168, 0.564689, 4.16914, 2.085357, 1.534973, 0.005093, 1.0381, 2.218749, 3.45256, 0.510044, 1.640172, -0.679046, 4.421458, 0.03456, 3.045159, -0.546582, 3.470682, 2.74392, 3.383096, 3.489968, 3.137893, 0.001731, 3.300296, -0.998732, 3.187851, -1.279105, 0.289654, 4.123045, -2.000617, -0.303721, 4.07648, -2.58036, -0.918917, 0.304115, 3.066087, 2.689748, 0.355787, 2.402306, 3.419835, 3.019019, 2.334924, 3.086486, -1.42718, 0.844266, 2.148484, 1.914037, 3.254487, 2.955568, 1.044958, -1.36693, 0.271605, 2.548193, 3.466732, 3.285701, 0.301313, 0.384955, 0.41283, -1.076662, -1.05028, 0.565054, 4.166411, -0.99225, -2.856231, 4.168008, -1.778059, 0.7793, 1.487633, 1.457999, 3.447718, 0.584512, 1.052121, 1.508338, 3.56793, 1.033145, 3.398004, -0.230927, 0.966046, 1.8241, 0.457348, 2.454295, -1.882543, 3.474034, -2.703961, 2.165497, 3.452473, 2.192378, 0.172804, 3.352145, 0.656222, 3.422479, 2.201863, 1.07191, 2.920695, -1.202946, 1.160866, 4.168076, 0.351311, 0.322631, -0.859382, 0.604867, 3.666068, -1.913077, 0.777135, 3.433481, 2.319559, -2.750704, 3.470833, 2.926083, 2.427052, 1.631791, 1.730599, 1.562671, 2.658519, -0.027576, 2.877556, -1.317992, 2.351419, 3.391909, 2.568732, 0.050637, 3.200765, 2.824202, 0.516457, 0.070686, -1.726242, 4.16641, -2.4347, -0.246542, 4.180269, -1.339671, 0.009756, -1.593118, 2.436748, 4.098287, -1.622839, 3.152828, 0.77557, 3.332469, 2.037409, 3.442433, -2.612578, 0.724531, 0.516186, 3.964669, 0.695554, 0.789541, 0.316264, 3.467154, -0.827198, 0.355702, 3.476142, 3.666644, 0.708649, 0.27805, -0.555668, 0.042283, 0.334781, -0.562778, 4.167475, 2.723053, 0.774902, 2.756476, -0.048807, -0.745342, 1.313865, 3.083072, 1.465874, 1.575325, 3.435811, 2.726546, 2.051906 ], "llr_stats": { "count": 174, "avg_abs": 1.927169, "min_abs": 0.001731, "max_abs": 4.421458, "positive": 137, "negative": 37, "zero": 0 }, "rank_score": 107.708676 }, { "name": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_alt_high', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': False, 'interleaver': 'none'}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000011000011010000001000101111000010011000011011000001000000010010010000000000000000000000010000000001000011001001011001000011011000001011000011000001001000000", "hard_bits_sha256_16": "ca523696fc2e0440", "hard_weight_174": 42, "llr_full_174": [ 4.145349, 3.437868, 3.076058, 4.180269, 3.482047, 3.463052, 4.168008, 3.468067, 3.444662, 4.168076, 3.458719, 3.4346, 4.07648, 3.383499, 3.389547, 2.756476, 2.060361, 2.174491, 2.955568, -1.591113, -1.253376, 2.658519, 0.56185, 0.31333, 3.045159, -1.847073, -1.011161, 0.789541, 0.174324, -0.107643, 2.454295, 1.419337, 1.217867, 3.352145, 1.901332, -1.786838, 3.300296, 1.619799, 1.476712, 0.27805, -0.196181, -0.355267, 0.384955, 0.155455, -0.048096, 3.200765, 1.790739, 1.289837, 1.0381, -0.578368, 0.827582, 3.332469, -1.961803, -1.29335, 3.56793, 2.711617, 2.732275, 2.319559, -0.955261, -0.79266, 3.019019, -2.418998, -2.684222, 2.726546, 0.246221, 0.165756, 0.844266, 0.005053, -0.002971, 2.427052, 0.760335, 0.690148, 1.640172, 0.29567, 0.274437, 0.724531, -0.352049, 0.576942, 0.966046, -0.389375, 0.336351, 2.920695, -1.212139, 0.899911, 4.123045, 2.833396, 1.4931, 4.167475, 3.462428, 3.42551, 4.166411, 3.458752, 3.411796, 4.16641, 3.465722, 3.427791, 4.16914, 3.412437, 3.245894, 4.098287, 3.125681, 1.545767, 3.447718, 0.04196, 0.034236, 3.666068, -1.021437, 0.743729, 2.689748, 0.507762, 0.448774, 3.083072, 2.133428, 1.118333, 2.548193, 1.711438, -0.459934, 2.351419, 0.988211, 0.73449, 3.383096, -2.736158, -2.840271, 0.355702, 0.298316, -2.186416, 2.165497, 1.469319, -1.497835, 2.192378, -1.370996, -1.28627, 3.137893, 2.364918, -2.095502, 3.666644, 0.505329, 0.346751, 3.285701, -2.59262, -2.560943, 2.568732, -0.215309, -0.033375, 1.534973, 0.95636, 0.930803, 3.152828, 0.275455, -0.0415, 1.052121, -0.432768, -0.417069, 0.777135, 0.312353, 0.07304, 2.402306, -1.69446, -1.847061, 1.575325, 0.530183, 0.620799, 1.914037, 1.527821, -1.576503, 1.730599, 0.990283, -0.932253, 4.421458, 0.602345, 0.410424, 3.964669, 3.053424, 2.814003 ], "llr_stats": { "count": 174, "avg_abs": 1.894503, "min_abs": 0.002971, "max_abs": 4.421458, "positive": 134, "negative": 40, "zero": 0 }, "rank_score": 107.578012 }, { "name": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "001100000001000100001000001010100001100000100001001100001001100000000010000011100011000011001100001000010000010000000010000111000000000000010100000001000011000000001001001000", "hard_bits_sha256_16": "2663b8086b53d8ff", "hard_weight_174": 42, "llr_full_174": [ 4.145349, 4.167475, -0.048096, -1.28627, 0.56185, 0.507762, 0.844266, 0.777135, 3.4346, 3.245894, 2.711617, -0.215309, 3.352145, 3.383096, 0.576942, -1.576503, 4.168008, 4.16641, 0.827582, 0.346751, 0.174324, 1.711438, 1.640172, 1.575325, 2.174491, 0.034236, -2.418998, 0.275455, 0.27805, 2.165497, -1.212139, 0.602345, 4.180269, 4.166411, 1.289837, -2.095502, -1.847073, 2.133428, 2.427052, 2.402306, 3.389547, 1.545767, -0.955261, 0.95636, 3.300296, 0.355702, 0.336351, -0.932253, 4.168076, 4.16914, -1.29335, -2.560943, 1.419337, 0.988211, 0.724531, 1.914037, -1.253376, 0.743729, 0.246221, -0.432768, 0.384955, 2.192378, 2.833396, 3.053424, 3.076058, 3.42551, 1.790739, 2.364918, 3.045159, 3.083072, -0.002971, 0.07304, 3.383499, 3.125681, 2.319559, 1.534973, -1.786838, -2.840271, -0.389375, 0.990283, 3.444662, 3.427791, -1.961803, -2.59262, 2.454295, 2.351419, 0.274437, 0.620799, -1.591113, -1.021437, 2.726546, 1.052121, -0.355267, -1.497835, 4.123045, 3.964669, 3.463052, 3.411796, -0.578368, 0.505329, 0.789541, 2.548193, 0.690148, -1.847061, 2.060361, 0.04196, 3.019019, 3.152828, 1.476712, -2.186416, 2.920695, 4.421458, 3.458719, 3.412437, 3.56793, 2.568732, 1.217867, 0.73449, -0.352049, 1.527821, 2.658519, 2.689748, 0.165756, -0.417069, 0.155455, -1.370996, 1.4931, 2.814003, 3.437868, 3.462428, 3.200765, 3.137893, 0.31333, 0.448774, 0.005053, 0.312353, 4.07648, 4.098287, 2.732275, -0.033375, 1.901332, -2.736158, 0.966046, 1.730599, 3.468067, 3.465722, 3.332469, 3.285701, -0.107643, -0.459934, 0.29567, 0.530183, 2.955568, 3.666068, -2.684222, -0.0415, -0.196181, 1.469319, 0.899911, 0.410424, 3.482047, 3.458752, 1.0381, 3.666644, -1.011161, 1.118333, 0.760335, -1.69446, 2.756476, 3.447718, -0.79266, 0.930803, 1.619799, 0.298316 ], "llr_stats": { "count": 174, "avg_abs": 1.894503, "min_abs": 0.002971, "max_abs": 4.421458, "positive": 134, "negative": 40, "zero": 0 }, "rank_score": 107.578012 }, { "name": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "010000000000000000100000101010011011100100000100000010000010110011010000000000100001010000000000100001001000100000001010000000010110101001000001010000010000110010000110000000", "hard_bits_sha256_16": "cd7e0a7d331a9605", "hard_weight_174": 42, "llr_full_174": [ 4.145349, -1.497835, 0.246221, 1.217867, 0.530183, 4.16914, 2.060361, 1.534973, 0.336351, 1.0381, 2.133428, 3.444662, 0.505329, 1.640172, -0.196181, 4.421458, 0.034236, 3.045159, -0.417069, 3.462428, 2.732275, 3.383096, 3.482047, 3.137893, -0.002971, 3.300296, -1.576503, 3.125681, -1.253376, 0.275455, 4.123045, -1.961803, -0.459934, 4.07648, -2.560943, -0.352049, -0.048096, 3.053424, 2.689748, 0.174324, 2.402306, 3.411796, 3.019019, 0.298316, 3.076058, -1.370996, 0.844266, 1.901332, 1.914037, 3.245894, 2.955568, 0.930803, -1.212139, 0.827582, 2.548193, 3.458719, 3.285701, 0.274437, 0.384955, 0.410424, -1.021437, -1.011161, 0.312353, 4.166411, -0.955261, -2.840271, 4.168008, -2.095502, 0.760335, 1.476712, 0.990283, 3.447718, 0.56185, 1.052121, 1.4931, 3.56793, 0.988211, 3.389547, -0.215309, 0.966046, 1.790739, 0.448774, 2.454295, -1.847061, 3.465722, -2.684222, 2.165497, 3.437868, 2.192378, 0.165756, 3.352145, 0.620799, 3.412437, 2.174491, 0.95636, 2.920695, -0.578368, 1.118333, 4.168076, 0.346751, 0.29567, -0.355267, 0.602345, 3.666068, -1.847073, 0.777135, 3.42551, 2.319559, -2.736158, 3.463052, 2.364918, 2.427052, 1.619799, 1.730599, 1.545767, 2.658519, -0.0415, 2.833396, -1.29335, 2.351419, 3.383499, 2.568732, 0.576942, 3.200765, 2.814003, 0.507762, -0.107643, -1.69446, 4.16641, -2.418998, -2.186416, 4.180269, -1.28627, 0.005053, -1.786838, 1.527821, 4.098287, -1.591113, 3.152828, 0.899911, 3.332469, 1.711438, 3.4346, -2.59262, 0.724531, 0.155455, 3.964669, 0.743729, 0.789541, 0.07304, 3.458752, -0.79266, 0.355702, 3.468067, 3.666644, 0.690148, 0.27805, -0.932253, 0.04196, 0.31333, -0.432768, 4.167475, 2.711617, 0.73449, 2.756476, -0.033375, -0.389375, 1.289837, 3.083072, 1.419337, 1.575325, 3.427791, 2.726546, 1.469319 ], "llr_stats": { "count": 174, "avg_abs": 1.894503, "min_abs": 0.002971, "max_abs": 4.421458, "positive": 134, "negative": 40, "zero": 0 }, "rank_score": 107.578012 }, { "name": "mapped_ft8_gray_primary_demap_lsb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': True, 'interleaver': 'none'}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000011000011101000110000010100000101011000011011000110000000101101101000000000000000000000101000000110000011110110011110000011011000110011000011000110110000000", "hard_bits_sha256_16": "11a8af0598c33a55", "hard_weight_174": 54, "llr_full_174": [ 3.511245, 3.086486, 3.452473, 4.14242, 3.470833, 3.489968, 4.12139, 3.45256, 3.476142, 4.11961, 3.442433, 3.466732, 4.08862, 3.398004, 3.391909, 3.003457, 2.201863, 2.085357, 1.978199, -1.279105, -1.622839, 1.080854, 0.334781, 0.584512, 1.333744, -1.05028, -1.913077, -0.473047, 0.070686, 0.355787, 1.942431, 1.259168, 1.465874, -2.926977, -1.593118, 2.148484, 2.678266, 1.487633, 1.631791, 0.507303, -0.859382, -0.679046, -0.118003, 0.304115, 0.516186, 1.87262, 1.313865, 1.8241, -1.599648, 0.271605, -1.202946, 1.748972, -1.317992, -2.000617, 3.617447, 2.74392, 2.723053, 1.719706, -0.827198, -0.99225, 3.575036, -2.703961, -2.4347, 1.361861, 0.172804, 0.253328, -0.477879, 0.001731, 0.009756, 2.023583, 0.708649, 0.7793, 1.473774, 0.301313, 0.322631, -1.264035, 0.050637, -0.918917, -0.820746, 0.005093, -0.745342, -1.732909, 0.77557, -1.36693, 1.694026, 1.508338, 2.877556, 4.094062, 3.433481, 3.470682, 4.073255, 3.419835, 3.467154, 4.091336, 3.435811, 3.474034, 3.8423, 3.254487, 3.422479, 1.677122, 1.562671, 3.187851, 2.01941, 0.03456, 0.042283, -1.807547, 0.695554, -1.076662, 2.065345, 0.457348, 0.516457, 1.346997, 1.160866, 2.218749, -0.571842, -0.303721, 2.037409, 1.499097, 0.774902, 1.033145, 3.593033, -2.856231, -2.750704, -3.635826, -0.246542, 2.334924, -2.226011, -1.067205, 2.051906, 1.999342, -1.339671, -1.42718, -2.621792, -1.778059, 2.926083, 1.582817, 0.351311, 0.510044, 3.223063, -2.58036, -2.612578, 0.268492, -0.048807, -0.230927, 1.48451, 1.044958, 1.07191, -0.280146, -0.027576, 0.289654, 1.008293, -0.546582, -0.562778, 0.17487, 0.316264, 0.565054, 2.750596, -1.882543, -1.726242, 2.006609, 0.656222, 0.564689, -1.988459, -0.998732, 2.436748, -1.598288, -0.555668, 1.457999, 1.642426, 0.41283, 0.604867, 3.449224, 2.824202, 3.066087 ], "llr_stats": { "count": 174, "avg_abs": 1.733097, "min_abs": 0.001731, "max_abs": 4.14242, "positive": 121, "negative": 53, "zero": 0 }, "rank_score": 106.932388 }, { "name": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': True, 'interleaver': 'ft8_bitrev', 'direction': 'deinterleave_rx_to_codeword', 'order_len': 174}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000100100001101000100100001101000000100000100110001100111101100000010000000001010011000010000000000011010001001000000001000101000001001000011111000010000110111000101001001001", "hard_bits_sha256_16": "cf6690c1042ed612", "hard_weight_174": 54, "llr_full_174": [ 3.511245, 4.094062, 0.516186, -1.42718, 0.334781, 0.457348, -0.477879, 0.17487, 3.466732, 3.422479, 2.74392, -0.048807, -2.926977, 3.593033, -0.918917, 2.436748, 4.12139, 4.091336, -1.202946, 0.510044, 0.070686, -0.303721, 1.473774, 2.006609, 2.085357, 0.042283, -2.703961, -0.027576, 0.507303, -2.226011, 0.77557, 0.41283, 4.14242, 4.073255, 1.8241, 2.926083, -1.05028, 1.160866, 2.023583, 2.750596, 3.391909, 3.187851, -0.827198, 1.044958, 2.678266, -3.635826, -0.745342, 1.457999, 4.11961, 3.8423, -2.000617, -2.612578, 1.259168, 0.774902, -1.264035, -1.988459, -1.622839, -1.076662, 0.172804, -0.546582, -0.118003, 1.999342, 1.508338, 2.824202, 3.452473, 3.470682, 1.313865, -1.778059, 1.333744, 1.346997, 0.009756, 0.565054, 3.398004, 1.562671, 1.719706, 1.48451, 2.148484, -2.750704, 0.005093, -0.555668, 3.476142, 3.474034, -1.317992, -2.58036, 1.942431, 1.499097, 0.322631, 0.564689, -1.279105, 0.695554, 1.361861, 1.008293, -0.679046, 2.051906, 1.694026, 3.449224, 3.489968, 3.467154, 0.271605, 0.351311, -0.473047, -0.571842, 0.7793, -1.726242, 2.201863, 0.03456, 3.575036, -0.280146, 1.631791, 2.334924, -1.732909, 1.642426, 3.442433, 3.254487, 3.617447, 0.268492, 1.465874, 1.033145, 0.050637, -0.998732, 1.080854, 2.065345, 0.253328, -0.562778, 0.304115, -1.339671, 2.877556, 3.066087, 3.086486, 3.433481, 1.87262, -2.621792, 0.584512, 0.516457, 0.001731, 0.316264, 4.08862, 1.677122, 2.723053, -0.230927, -1.593118, -2.856231, -0.820746, -1.598288, 3.45256, 3.435811, 1.748972, 3.223063, 0.355787, 2.037409, 0.301313, 0.656222, 1.978199, -1.807547, -2.4347, 0.289654, -0.859382, -1.067205, -1.36693, 0.604867, 3.470833, 3.419835, -1.599648, 1.582817, -1.913077, 2.218749, 0.708649, -1.882543, 3.003457, 2.01941, -0.99225, 1.07191, 1.487633, -0.246542 ], "llr_stats": { "count": 174, "avg_abs": 1.733097, "min_abs": 0.001731, "max_abs": 4.14242, "positive": 121, "negative": 53, "zero": 0 }, "rank_score": 106.932388 }, { "name": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_primary', '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}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000001100001000100001000011010010000000010111100001100010010011000010000000110001011000100001000000011000101001000010001000110100110101110101100110011000000010000100000001", "hard_bits_sha256_16": "677c5f0295abfd3d", "hard_weight_174": 54, "llr_full_174": [ 3.511245, 2.051906, 0.172804, 1.465874, 0.656222, 3.8423, 2.201863, 1.48451, -0.745342, -1.599648, 1.160866, 3.476142, 0.351311, 1.473774, -0.859382, 1.642426, 0.042283, 1.333744, -0.562778, 3.433481, 2.723053, 3.593033, 3.470833, -2.621792, 0.009756, 2.678266, 2.436748, 1.562671, -1.622839, -0.027576, 1.694026, -1.317992, 2.037409, 4.08862, -2.612578, 0.050637, 0.516186, 2.824202, 2.065345, 0.070686, 2.750596, 3.467154, 3.575036, -0.246542, 3.452473, -1.339671, -0.477879, -1.593118, -1.988459, 3.422479, 1.978199, 1.07191, 0.77557, -1.202946, -0.571842, 3.442433, 3.223063, 0.322631, -0.118003, 0.604867, 0.695554, -1.913077, 0.316264, 4.073255, -0.827198, -2.750704, 4.12139, 2.926083, 0.708649, 1.631791, -0.555668, 2.01941, 0.334781, 1.008293, 2.877556, 3.617447, 0.774902, 3.391909, -0.048807, -0.820746, 1.313865, 0.516457, 1.942431, -1.726242, 3.435811, -2.4347, -2.226011, 3.086486, 1.999342, 0.253328, -2.926977, 0.564689, 3.254487, 2.085357, 1.044958, -1.732909, 0.271605, 2.218749, 4.11961, 0.510044, 0.301313, -0.679046, 0.41283, -1.807547, -1.05028, 0.17487, 3.470682, 1.719706, -2.856231, 3.489968, -1.778059, 2.023583, 1.487633, -1.598288, 3.187851, 1.080854, 0.289654, 1.508338, -2.000617, 1.499097, 3.398004, 0.268492, -0.918917, 1.87262, 3.066087, 0.457348, 0.355787, -1.882543, 4.091336, -2.703961, 2.334924, 4.14242, -1.42718, 0.001731, 2.148484, -0.998732, 1.677122, -1.279105, -0.280146, -1.36693, 1.748972, -0.303721, 3.466732, -2.58036, -1.264035, 0.304115, 3.449224, -1.076662, -0.473047, 0.565054, 3.419835, -0.99225, -3.635826, 3.45256, 1.582817, 0.7793, 0.507303, 1.457999, 0.03456, 0.584512, -0.546582, 4.094062, 2.74392, 1.033145, 3.003457, -0.230927, 0.005093, 1.8241, 1.346997, 1.259168, 2.006609, 3.474034, 1.361861, -1.067205 ], "llr_stats": { "count": 174, "avg_abs": 1.733097, "min_abs": 0.001731, "max_abs": 4.14242, "positive": 121, "negative": 53, "zero": 0 }, "rank_score": 106.932388 }, { "name": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "description": "Step 43 mapped LDPC candidate: {'tone_mapping': 'ft8_gray_alt_high', 'gray_direction': 'inverse_observed_to_plain', 'reverse_bits_within_tone_before_gray': True, 'interleaver': 'none'}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000000000000000011000011101000110000010111000101011000011011000110000000101101101000000000000000000000101000000110000011110110011110000011011000110011000011000110110000000", "hard_bits_sha256_16": "59ffe501f1e043cb", "hard_weight_174": 56, "llr_full_174": [ 3.511245, 3.076058, 3.437868, 4.14242, 3.463052, 3.482047, 4.12139, 3.444662, 3.468067, 4.11961, 3.4346, 3.458719, 4.08862, 3.389547, 3.383499, 3.003457, 2.174491, 2.060361, 1.978199, -1.253376, -1.591113, 1.080854, 0.31333, 0.56185, 1.333744, -1.011161, -1.847073, -0.473047, -0.107643, 0.174324, 1.942431, 1.217867, 1.419337, -2.926977, -1.786838, 1.901332, 2.678266, 1.476712, 1.619799, 0.507303, -0.355267, -0.196181, -0.118003, -0.048096, 0.155455, 1.87262, 1.289837, 1.790739, -1.599648, 0.827582, -0.578368, 1.748972, -1.29335, -1.961803, 3.617447, 2.732275, 2.711617, 1.719706, -0.79266, -0.955261, 3.575036, -2.684222, -2.418998, 1.361861, 0.165756, 0.246221, -0.477879, -0.002971, 0.005053, 2.023583, 0.690148, 0.760335, 1.473774, 0.274437, 0.29567, -1.264035, 0.576942, -0.352049, -0.820746, 0.336351, -0.389375, -1.732909, 0.899911, -1.212139, 1.694026, 1.4931, 2.833396, 4.094062, 3.42551, 3.462428, 4.073255, 3.411796, 3.458752, 4.091336, 3.427791, 3.465722, 3.8423, 3.245894, 3.412437, 1.677122, 1.545767, 3.125681, 2.01941, 0.034236, 0.04196, -1.807547, 0.743729, -1.021437, 2.065345, 0.448774, 0.507762, 1.346997, 1.118333, 2.133428, -0.571842, -0.459934, 1.711438, 1.499097, 0.73449, 0.988211, 3.593033, -2.840271, -2.736158, -3.635826, -2.186416, 0.298316, -2.226011, -1.497835, 1.469319, 1.999342, -1.28627, -1.370996, -2.621792, -2.095502, 2.364918, 1.582817, 0.346751, 0.505329, 3.223063, -2.560943, -2.59262, 0.268492, -0.033375, -0.215309, 1.48451, 0.930803, 0.95636, -0.280146, -0.0415, 0.275455, 1.008293, -0.417069, -0.432768, 0.17487, 0.07304, 0.312353, 2.750596, -1.847061, -1.69446, 2.006609, 0.620799, 0.530183, -1.988459, -1.576503, 1.527821, -1.598288, -0.932253, 0.990283, 1.642426, 0.410424, 0.602345, 3.449224, 2.814003, 3.053424 ], "llr_stats": { "count": 174, "avg_abs": 1.700431, "min_abs": 0.002971, "max_abs": 4.14242, "positive": 118, "negative": 56, "zero": 0 }, "rank_score": 106.801724 }, { "name": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "001100100001101000100100001101000000100000100110001100111101100000010000000001010011000010000000000011010001001000000001000111000001001000011111000010000110111000101001001001", "hard_bits_sha256_16": "ff8640fb5870e924", "hard_weight_174": 56, "llr_full_174": [ 3.511245, 4.094062, 0.155455, -1.370996, 0.31333, 0.448774, -0.477879, 0.17487, 3.458719, 3.412437, 2.732275, -0.033375, -2.926977, 3.593033, -0.352049, 1.527821, 4.12139, 4.091336, -0.578368, 0.505329, -0.107643, -0.459934, 1.473774, 2.006609, 2.060361, 0.04196, -2.684222, -0.0415, 0.507303, -2.226011, 0.899911, 0.410424, 4.14242, 4.073255, 1.790739, 2.364918, -1.011161, 1.118333, 2.023583, 2.750596, 3.383499, 3.125681, -0.79266, 0.930803, 2.678266, -3.635826, -0.389375, 0.990283, 4.11961, 3.8423, -1.961803, -2.59262, 1.217867, 0.73449, -1.264035, -1.988459, -1.591113, -1.021437, 0.165756, -0.417069, -0.118003, 1.999342, 1.4931, 2.814003, 3.437868, 3.462428, 1.289837, -2.095502, 1.333744, 1.346997, 0.005053, 0.312353, 3.389547, 1.545767, 1.719706, 1.48451, 1.901332, -2.736158, 0.336351, -0.932253, 3.468067, 3.465722, -1.29335, -2.560943, 1.942431, 1.499097, 0.29567, 0.530183, -1.253376, 0.743729, 1.361861, 1.008293, -0.196181, 1.469319, 1.694026, 3.449224, 3.482047, 3.458752, 0.827582, 0.346751, -0.473047, -0.571842, 0.760335, -1.69446, 2.174491, 0.034236, 3.575036, -0.280146, 1.619799, 0.298316, -1.732909, 1.642426, 3.4346, 3.245894, 3.617447, 0.268492, 1.419337, 0.988211, 0.576942, -1.576503, 1.080854, 2.065345, 0.246221, -0.432768, -0.048096, -1.28627, 2.833396, 3.053424, 3.076058, 3.42551, 1.87262, -2.621792, 0.56185, 0.507762, -0.002971, 0.07304, 4.08862, 1.677122, 2.711617, -0.215309, -1.786838, -2.840271, -0.820746, -1.598288, 3.444662, 3.427791, 1.748972, 3.223063, 0.174324, 1.711438, 0.274437, 0.620799, 1.978199, -1.807547, -2.418998, 0.275455, -0.355267, -1.497835, -1.212139, 0.602345, 3.463052, 3.411796, -1.599648, 1.582817, -1.847073, 2.133428, 0.690148, -1.847061, 3.003457, 2.01941, -0.955261, 0.95636, 1.476712, -2.186416 ], "llr_stats": { "count": 174, "avg_abs": 1.700431, "min_abs": 0.002971, "max_abs": 4.14242, "positive": 118, "negative": 56, "zero": 0 }, "rank_score": 106.801724 }, { "name": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "description": "Step 43 mapped LDPC candidate: {'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}", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "000000001100001000100001000011010010100000010111100001100010010011000010000000110001011000100001000000011000101001000010001000110100110101110101110110011000000010000100000001", "hard_bits_sha256_16": "bfb5977abc51e8a1", "hard_weight_174": 56, "llr_full_174": [ 3.511245, 1.469319, 0.165756, 1.419337, 0.620799, 3.8423, 2.174491, 1.48451, -0.389375, -1.599648, 1.118333, 3.468067, 0.346751, 1.473774, -0.355267, 1.642426, 0.04196, 1.333744, -0.432768, 3.42551, 2.711617, 3.593033, 3.463052, -2.621792, 0.005053, 2.678266, 1.527821, 1.545767, -1.591113, -0.0415, 1.694026, -1.29335, 1.711438, 4.08862, -2.59262, 0.576942, 0.155455, 2.814003, 2.065345, -0.107643, 2.750596, 3.458752, 3.575036, -2.186416, 3.437868, -1.28627, -0.477879, -1.786838, -1.988459, 3.412437, 1.978199, 0.95636, 0.899911, -0.578368, -0.571842, 3.4346, 3.223063, 0.29567, -0.118003, 0.602345, 0.743729, -1.847073, 0.07304, 4.073255, -0.79266, -2.736158, 4.12139, 2.364918, 0.690148, 1.619799, -0.932253, 2.01941, 0.31333, 1.008293, 2.833396, 3.617447, 0.73449, 3.383499, -0.033375, -0.820746, 1.289837, 0.507762, 1.942431, -1.69446, 3.427791, -2.418998, -2.226011, 3.076058, 1.999342, 0.246221, -2.926977, 0.530183, 3.245894, 2.060361, 0.930803, -1.732909, 0.827582, 2.133428, 4.11961, 0.505329, 0.274437, -0.196181, 0.410424, -1.807547, -1.011161, 0.17487, 3.462428, 1.719706, -2.840271, 3.482047, -2.095502, 2.023583, 1.476712, -1.598288, 3.125681, 1.080854, 0.275455, 1.4931, -1.961803, 1.499097, 3.389547, 0.268492, -0.352049, 1.87262, 3.053424, 0.448774, 0.174324, -1.847061, 4.091336, -2.684222, 0.298316, 4.14242, -1.370996, -0.002971, 1.901332, -1.576503, 1.677122, -1.253376, -0.280146, -1.212139, 1.748972, -0.459934, 3.458719, -2.560943, -1.264035, -0.048096, 3.449224, -1.021437, -0.473047, 0.312353, 3.411796, -0.955261, -3.635826, 3.444662, 1.582817, 0.760335, 0.507303, 0.990283, 0.034236, 0.56185, -0.417069, 4.094062, 2.732275, 0.988211, 3.003457, -0.215309, 0.336351, 1.790739, 1.346997, 1.217867, 2.006609, 3.465722, 1.361861, -1.497835 ], "llr_stats": { "count": 174, "avg_abs": 1.700431, "min_abs": 0.002971, "max_abs": 4.14242, "positive": 118, "negative": 56, "zero": 0 }, "rank_score": 106.801724 }, { "name": "lab_mask_xor_preview", "description": "Deterministic lab-only XOR mask preview; not the real JS8 whitening polynomial.", "bit_count": 174, "llr_count": 174, "complete_174bit_candidate": true, "hard_bits_174": "100000110011010100101001101000010001101100010110111111000100101000110111100010101100100101100100100000010010001100011111000111111010010001111000011101101101111000011100011111", "hard_bits_sha256_16": "b1bb86c852f0f4ca", "hard_weight_174": 85, "llr_full_174": [ 4.145349, 4.116374, 3.511245, 4.180269, 4.169674, 4.14242, 4.168008, 4.153984, 4.12139, 4.168076, 4.135428, 4.11961, 4.07648, 4.076237, 4.08862, 2.756476, 2.742424, 3.003457, 2.955568, -1.875523, 1.978199, 2.658519, 0.652185, 1.080854, 3.045159, -2.198749, 1.333744, 0.789541, 0.471669, -0.473047, 2.454295, 1.837215, 1.942431, 3.352145, 2.163158, -2.926977, 3.300296, 1.818615, 2.678266, 0.27805, -1.765651, 0.507303, 0.384955, 0.866369, -0.118003, 3.200765, 2.063815, 1.87262, 1.0381, -1.355162, -1.599648, 3.332469, -2.249717, 1.748972, 3.56793, 3.262649, 3.617447, 2.319559, -1.211827, 1.719706, 3.019019, -3.210486, 3.575036, 2.726546, 0.281133, 1.361861, 0.844266, 0.012672, -0.477879, 2.427052, 0.927501, 2.023583, 1.640172, 0.441842, 1.473774, 0.724531, -1.103418, -1.264035, 0.966046, -0.916188, -0.820746, 2.920695, -1.395798, -1.732909, 4.123045, 3.154533, 1.694026, 4.167475, 4.14333, 4.094062, 4.166411, 4.137106, 4.073255, 4.16641, 4.1509, 4.091336, 4.16914, 4.045318, 3.8423, 4.098287, 3.599922, 1.677122, 3.447718, 0.044719, 2.01941, 3.666068, -1.085865, -1.807547, 2.689748, 0.585744, 2.065345, 3.083072, 2.617179, 1.346997, 2.548193, 2.264806, -0.571842, 2.351419, 1.247615, 1.499097, 3.383096, -3.47555, 3.593033, 0.355702, 2.45095, -3.635826, 2.165497, 2.132701, -2.226011, 2.192378, -1.921746, 1.999342, 3.137893, 2.980057, -2.621792, 3.666644, 0.533081, 1.582817, 3.285701, -3.283029, 3.223063, 2.568732, -0.251398, 0.268492, 1.534973, 1.692448, 1.48451, 3.152828, 0.300403, -0.280146, 1.052121, -0.948727, 1.008293, 0.777135, 0.891886, 0.17487, 2.402306, -2.356355, 2.750596, 1.575325, 0.833633, 2.006609, 1.914037, 2.633553, -1.988459, 1.730599, 1.570304, -1.598288, 4.421458, 0.617935, 1.642426, 3.964669, 3.566732, 3.449224 ], "llr_stats": { "count": 174, "avg_abs": 2.298973, "min_abs": 0.012672, "max_abs": 4.421458, "positive": 141, "negative": 33, "zero": 0 }, "rank_score": 101.195892 } ], "outputs": { "candidate_json": "/decoders/js8_decoder/runtime/fec_candidates/js8_quick_selected_window_fec_candidate_step17.json", "selected_bits_file": "/decoders/js8_decoder/runtime/fec_candidates/js8_quick_selected_window_fec_candidate_step17.bits" }, "decodes": [], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation.", "Step 43 locks candidate export to JS8-realistic timing and reuses the selected profile sync anchor for FEC symbol extraction where available.", "It still does not perform real LDPC/FEC decode or message unpack.", "Next step can tune real JS8/FT8 LDPC matrix/deinterleaver/message unpack against this anchored candidate contract." ], "next_action": "Run collect-logs and upload the JS8Lab bundle. If selected_variant.complete_174bit_candidate is true, proceed to LDPC/deinterleaver/message-unpack tuning." } [webftr-js8-lab] candidate-export exit_code=0 [webftr-js8-lab] candidate-export JSON: /decoders/js8_decoder/logs/20260527T062127Z_real_run_candidate_export_output.json [webftr-js8-lab] Step 43 LDPC probes reuse anchored candidate JSON: /decoders/js8_decoder/runtime/fec_candidates/js8_quick_selected_window_fec_candidate_step17.json ========== REAL-RUN STEP 7/10: TIMING / BOUNDARY SWEEP ========== [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T062127Z_real_run_timing_boundary_sweep_output.json [webftr-js8-lab] JSON timeout guard: 300s { "ok": true, "mode": "JS8", "tool": "webftr-js8-timing-boundary-candidate-sweep", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": "/decoders/js8_decoder/runtime/quick_prefilter_windows/js8_quick_selected_window.wav", "profile_scan_json": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_profile_scan_output.json", "anchor_json": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_auto_ldpc_probe_output.json", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_timing_boundary_syndrome_sweep_no_message_unpack", "anchor_selection": { "source": "profile_scan_json", "path": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_profile_scan_output.json", "selection": "profile_scan_selected_profile", "nsps": 6400, "start_seconds": 4.8, "base_freq_hz": 1025.0, "tone_spacing_hz": 1.875 }, "partial": false, "partial_reason": "complete", "sweep_elapsed_seconds": 158.88, "sweep_grid": { "start_offsets_s": [ 0.03, 0.06, 0.09 ], "base_freq_offsets_hz": [ 2.5, 2.75, 3.0, 3.25, 3.5 ], "tone_spacing_offsets_hz": [ 0.015, 0.03, 0.045 ], "max_combinations": 45, "actual_combinations": 45, "processed_combinations": 45, "time_budget_seconds": 210.0 }, "decode_found": false, "best_final_syndrome_weight": 22, "best_candidate": { "combination_index": 23, "offsets": { "start_offset_s": 0.06, "base_freq_offset_hz": 3.0, "tone_spacing_offset_hz": 0.03 }, "anchor_applied": { "start_seconds": 4.859999999999999, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.905, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58320, "start_seconds": 4.86, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.905, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:23" }, "best_row": { "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" }, "bit_count": 174, "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 }, "source_rank_score": 107.311136, "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, "top_rows": [ { "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" }, "bit_count": 174, "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 }, "source_rank_score": 107.311136, "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, { "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" }, "bit_count": 174, "hard_weight_174": 127, "llr_stats": { "count": 174, "avg_abs": 1.67241, "min_abs": 0.015278, "max_abs": 4.092886, "positive": 43, "negative": 131, "zero": 0 }, "source_rank_score": 106.68964, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "6a76c3f6f4855f72", "codeword174_sha256_16": "e94fe0f75c74d230" }, { "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 }, "bit_count": 174, "hard_weight_174": 35, "llr_stats": { "count": 174, "avg_abs": 1.591212, "min_abs": 0.003661, "max_abs": 4.126624, "positive": 139, "negative": 35, "zero": 0 }, "source_rank_score": 106.364848, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "4f673c96b1f1de5c", "codeword174_sha256_16": "90bdd003a67ea079" }, { "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 }, "bit_count": 174, "hard_weight_174": 36, "llr_stats": { "count": 174, "avg_abs": 1.64278, "min_abs": 0.002394, "max_abs": 4.126624, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 106.57112, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "4f673c96b1f1de5c", "codeword174_sha256_16": "eb17c3d482c6c1fa" }, { "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" }, "bit_count": 174, "hard_weight_174": 83, "llr_stats": { "count": 174, "avg_abs": 1.882468, "min_abs": 0.003299, "max_abs": 4.126624, "positive": 26, "negative": 148, "zero": 0 }, "source_rank_score": 99.529872, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "e3f175dd3a2c81b2", "codeword174_sha256_16": "d5da07ca10be5a38" }, { "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" }, "bit_count": 174, "hard_weight_174": 138, "llr_stats": { "count": 174, "avg_abs": 2.265758, "min_abs": 0.020953, "max_abs": 4.126624, "positive": 35, "negative": 139, "zero": 0 }, "source_rank_score": 109.063032, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "d5fd881ddc0d6fa3", "codeword174_sha256_16": "524f6b31360d4b54" }, { "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" }, "bit_count": 174, "hard_weight_174": 121, "llr_stats": { "count": 174, "avg_abs": 1.882468, "min_abs": 0.003299, "max_abs": 4.126624, "positive": 26, "negative": 148, "zero": 0 }, "source_rank_score": 111.529872, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "eaf8f2e0f46bfa41" }, { "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" }, "bit_count": 174, "hard_weight_174": 123, "llr_stats": { "count": 174, "avg_abs": 1.827784, "min_abs": 0.008053, "max_abs": 4.126624, "positive": 36, "negative": 138, "zero": 0 }, "source_rank_score": 111.311136, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "3bc0238a33865be3" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, "top_candidates": [ { "combination_index": 23, "offsets": { "start_offset_s": 0.06, "base_freq_offset_hz": 3.0, "tone_spacing_offset_hz": 0.03 }, "anchor_applied": { "start_seconds": 4.859999999999999, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.905, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58320, "start_seconds": 4.86, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.905, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:23" }, "best_row": { "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" }, "bit_count": 174, "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 }, "source_rank_score": 107.311136, "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, "top_rows": [ { "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" }, "bit_count": 174, "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 }, "source_rank_score": 107.311136, "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "0228efbd612c9092" }, { "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" }, "bit_count": 174, "hard_weight_174": 127, "llr_stats": { "count": 174, "avg_abs": 1.67241, "min_abs": 0.015278, "max_abs": 4.092886, "positive": 43, "negative": 131, "zero": 0 }, "source_rank_score": 106.68964, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "6a76c3f6f4855f72", "codeword174_sha256_16": "e94fe0f75c74d230" }, { "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 }, "bit_count": 174, "hard_weight_174": 35, "llr_stats": { "count": 174, "avg_abs": 1.591212, "min_abs": 0.003661, "max_abs": 4.126624, "positive": 139, "negative": 35, "zero": 0 }, "source_rank_score": 106.364848, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "4f673c96b1f1de5c", "codeword174_sha256_16": "90bdd003a67ea079" }, { "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 }, "bit_count": 174, "hard_weight_174": 36, "llr_stats": { "count": 174, "avg_abs": 1.64278, "min_abs": 0.002394, "max_abs": 4.126624, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 106.57112, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "4f673c96b1f1de5c", "codeword174_sha256_16": "eb17c3d482c6c1fa" }, { "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" }, "bit_count": 174, "hard_weight_174": 83, "llr_stats": { "count": 174, "avg_abs": 1.882468, "min_abs": 0.003299, "max_abs": 4.126624, "positive": 26, "negative": 148, "zero": 0 }, "source_rank_score": 99.529872, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "e3f175dd3a2c81b2", "codeword174_sha256_16": "d5da07ca10be5a38" }, { "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" }, "bit_count": 174, "hard_weight_174": 138, "llr_stats": { "count": 174, "avg_abs": 2.265758, "min_abs": 0.020953, "max_abs": 4.126624, "positive": 35, "negative": 139, "zero": 0 }, "source_rank_score": 109.063032, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "d5fd881ddc0d6fa3", "codeword174_sha256_16": "524f6b31360d4b54" }, { "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" }, "bit_count": 174, "hard_weight_174": 121, "llr_stats": { "count": 174, "avg_abs": 1.882468, "min_abs": 0.003299, "max_abs": 4.126624, "positive": 26, "negative": 148, "zero": 0 }, "source_rank_score": 111.529872, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "eaf8f2e0f46bfa41" }, { "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" }, "bit_count": 174, "hard_weight_174": 123, "llr_stats": { "count": 174, "avg_abs": 1.827784, "min_abs": 0.008053, "max_abs": 4.126624, "positive": 36, "negative": 138, "zero": 0 }, "source_rank_score": 111.311136, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "b5db807c301847ac", "codeword174_sha256_16": "3bc0238a33865be3" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 34, "offsets": { "start_offset_s": 0.09, "base_freq_offset_hz": 2.75, "tone_spacing_offset_hz": 0.015 }, "anchor_applied": { "start_seconds": 4.89, "base_freq_hz": 1027.75, "tone_spacing_hz": 1.89, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58680, "start_seconds": 4.89, "base_freq_hz": 1027.75, "tone_spacing_hz": 1.89, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:34" }, "best_row": { "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_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" }, "bit_count": 174, "hard_weight_174": 122, "llr_stats": { "count": 174, "avg_abs": 1.349276, "min_abs": 0.000824, "max_abs": 3.832662, "positive": 48, "negative": 126, "zero": 0 }, "source_rank_score": 105.397104, "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "f0b9fd8275af36c7", "codeword174_sha256_16": "a2df0840cd4835fb" }, "top_rows": [ { "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_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" }, "bit_count": 174, "hard_weight_174": 122, "llr_stats": { "count": 174, "avg_abs": 1.349276, "min_abs": 0.000824, "max_abs": 3.832662, "positive": 48, "negative": 126, "zero": 0 }, "source_rank_score": 105.397104, "syndrome_weight": 22, "valid_codeword_hard_decision": false, "message91_sha256_16": "f0b9fd8275af36c7", "codeword174_sha256_16": "a2df0840cd4835fb" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 31, "llr_stats": { "count": 174, "avg_abs": 2.062752, "min_abs": 0.015792, "max_abs": 4.062193, "positive": 144, "negative": 30, "zero": 0 }, "source_rank_score": 108.251008, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "9ff5d9aede7d6cb9", "codeword174_sha256_16": "c5d7db01a6e72868" }, { "variant": "mapped_raw_msb+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" }, "bit_count": 174, "hard_weight_174": 148, "llr_stats": { "count": 174, "avg_abs": 2.421507, "min_abs": 0.016094, "max_abs": 4.062193, "positive": 26, "negative": 148, "zero": 0 }, "source_rank_score": 109.686028, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "31e68b38619644e3", "codeword174_sha256_16": "56f6e3eee1194db0" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 33, "llr_stats": { "count": 174, "avg_abs": 2.004834, "min_abs": 0.011334, "max_abs": 4.062193, "positive": 141, "negative": 33, "zero": 0 }, "source_rank_score": 108.019336, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "9ff5d9aede7d6cb9", "codeword174_sha256_16": "f6c9985e3b4f0c3a" }, { "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" }, "bit_count": 174, "hard_weight_174": 122, "llr_stats": { "count": 174, "avg_abs": 1.349276, "min_abs": 0.000824, "max_abs": 3.832662, "positive": 48, "negative": 126, "zero": 0 }, "source_rank_score": 105.397104, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "473d813dca6fa058", "codeword174_sha256_16": "280938c2b2bceff7" }, { "variant": "raw_msb_symbol_order", "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" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 2.004834, "min_abs": 0.011334, "max_abs": 4.062193, "positive": 33, "negative": 141, "zero": 0 }, "source_rank_score": 126.019336, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "39fdca8a564f75d1", "codeword174_sha256_16": "c860a66dc39291cd" }, { "variant": "lsb_within_each_tone", "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" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 1.801076, "min_abs": 0.011334, "max_abs": 3.832662, "positive": 41, "negative": 133, "zero": 0 }, "source_rank_score": 117.204304, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "39fdca8a564f75d1", "codeword174_sha256_16": "c860a66dc39291cd" }, { "variant": "reverse_symbol_order", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 39, "llr_stats": { "count": 174, "avg_abs": 2.062752, "min_abs": 0.015792, "max_abs": 4.062193, "positive": 144, "negative": 30, "zero": 0 }, "source_rank_score": 112.251008, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "8fb2d18adf6d12a0", "codeword174_sha256_16": "e257f609e418cd23" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 17, "offsets": { "start_offset_s": 0.06, "base_freq_offset_hz": 2.5, "tone_spacing_offset_hz": 0.03 }, "anchor_applied": { "start_seconds": 4.859999999999999, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.905, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58320, "start_seconds": 4.86, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.905, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:17" }, "best_row": { "variant": "reverse_symbol_order", "transform": "ft8_gray_alt_high_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 130, "llr_stats": { "count": 174, "avg_abs": 1.889166, "min_abs": 0.023337, "max_abs": 4.389904, "positive": 34, "negative": 140, "zero": 0 }, "source_rank_score": 111.556664, "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "339b76da8237e87f", "codeword174_sha256_16": "89e62c1df19546da" }, "top_rows": [ { "variant": "reverse_symbol_order", "transform": "ft8_gray_alt_high_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 130, "llr_stats": { "count": 174, "avg_abs": 1.889166, "min_abs": 0.023337, "max_abs": 4.389904, "positive": 34, "negative": 140, "zero": 0 }, "source_rank_score": 111.556664, "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "339b76da8237e87f", "codeword174_sha256_16": "89e62c1df19546da" }, { "variant": "reverse_full_bitstream", "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" }, "bit_count": 174, "hard_weight_174": 130, "llr_stats": { "count": 174, "avg_abs": 1.699718, "min_abs": 0.023337, "max_abs": 3.983109, "positive": 45, "negative": 129, "zero": 0 }, "source_rank_score": 109.798872, "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "339b76da8237e87f", "codeword174_sha256_16": "89e62c1df19546da" }, { "variant": "reverse_symbol_order", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 128, "llr_stats": { "count": 174, "avg_abs": 1.958645, "min_abs": 0.001909, "max_abs": 4.389904, "positive": 28, "negative": 146, "zero": 0 }, "source_rank_score": 111.83458, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "339b76da8237e87f", "codeword174_sha256_16": "7f5e77fbd6502d39" }, { "variant": "reverse_full_bitstream", "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" }, "bit_count": 174, "hard_weight_174": 128, "llr_stats": { "count": 174, "avg_abs": 1.769196, "min_abs": 0.001909, "max_abs": 3.983109, "positive": 39, "negative": 135, "zero": 0 }, "source_rank_score": 110.076784, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "339b76da8237e87f", "codeword174_sha256_16": "7f5e77fbd6502d39" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+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" }, "bit_count": 174, "hard_weight_174": 139, "llr_stats": { "count": 174, "avg_abs": 1.958645, "min_abs": 0.001909, "max_abs": 4.389904, "positive": 28, "negative": 146, "zero": 0 }, "source_rank_score": 107.83458, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "c6a1e6c5b701ae09", "codeword174_sha256_16": "a5675f82762f2950" }, { "variant": "mapped_ft8_gray_primary_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 }, "bit_count": 174, "hard_weight_174": 35, "llr_stats": { "count": 174, "avg_abs": 1.958645, "min_abs": 0.001909, "max_abs": 4.389904, "positive": 146, "negative": 28, "zero": 0 }, "source_rank_score": 107.83458, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "967cb52d8f49fa2f", "codeword174_sha256_16": "4e74d4ad99e81b39" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "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" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 1.889166, "min_abs": 0.023337, "max_abs": 4.389904, "positive": 34, "negative": 140, "zero": 0 }, "source_rank_score": 107.556664, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "75d9cca113318b71", "codeword174_sha256_16": "5b3a16c7d8de82d0" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+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" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 1.889166, "min_abs": 0.023337, "max_abs": 4.389904, "positive": 34, "negative": 140, "zero": 0 }, "source_rank_score": 107.556664, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "c6a1e6c5b701ae09", "codeword174_sha256_16": "92bf3b362ca2fc1d" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 31, "offsets": { "start_offset_s": 0.09, "base_freq_offset_hz": 2.5, "tone_spacing_offset_hz": 0.015 }, "anchor_applied": { "start_seconds": 4.89, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.89, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58680, "start_seconds": 4.89, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.89, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:31" }, "best_row": { "variant": "mapped_raw_msb+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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.305805, "min_abs": 0.009668, "max_abs": 4.051845, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 109.22322, "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "e63e2dff4d094385", "codeword174_sha256_16": "111c5c6e6c16fbd1" }, "top_rows": [ { "variant": "mapped_raw_msb+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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.305805, "min_abs": 0.009668, "max_abs": 4.051845, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 109.22322, "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "e63e2dff4d094385", "codeword174_sha256_16": "111c5c6e6c16fbd1" }, { "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_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" }, "bit_count": 174, "hard_weight_174": 125, "llr_stats": { "count": 174, "avg_abs": 1.239198, "min_abs": 0.000225, "max_abs": 3.772346, "positive": 47, "negative": 127, "zero": 0 }, "source_rank_score": 104.956792, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "cf4abb6a65fe7e7c", "codeword174_sha256_16": "b5adfbc8c1e943cd" }, { "variant": "raw_msb_symbol_order", "transform": "ft8_gray_alt_high_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 133, "llr_stats": { "count": 174, "avg_abs": 1.713292, "min_abs": 0.008399, "max_abs": 3.772346, "positive": 43, "negative": 131, "zero": 0 }, "source_rank_score": 124.853168, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "78045427f8b643b0", "codeword174_sha256_16": "937e096a3d463604" }, { "variant": "lsb_within_each_tone", "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" }, "bit_count": 174, "hard_weight_174": 133, "llr_stats": { "count": 174, "avg_abs": 1.850344, "min_abs": 0.008399, "max_abs": 4.04042, "positive": 31, "negative": 143, "zero": 0 }, "source_rank_score": 117.401376, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "78045427f8b643b0", "codeword174_sha256_16": "937e096a3d463604" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "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" }, "bit_count": 174, "hard_weight_174": 135, "llr_stats": { "count": 174, "avg_abs": 1.796418, "min_abs": 0.031925, "max_abs": 3.772346, "positive": 37, "negative": 137, "zero": 0 }, "source_rank_score": 107.185672, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "c0dca813515c5608", "codeword174_sha256_16": "dae498783f10cdea" }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "raw_msb+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none", "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 133, "llr_stats": { "count": 174, "avg_abs": 1.713292, "min_abs": 0.008399, "max_abs": 3.772346, "positive": 43, "negative": 131, "zero": 0 }, "source_rank_score": 106.853168, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "78045427f8b643b0", "codeword174_sha256_16": "937e096a3d463604" }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "transform": "raw_msb+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 133, "llr_stats": { "count": 174, "avg_abs": 1.713292, "min_abs": 0.008399, "max_abs": 3.772346, "positive": 43, "negative": 131, "zero": 0 }, "source_rank_score": 106.853168, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "78045427f8b643b0", "codeword174_sha256_16": "937e096a3d463604" }, { "variant": "mapped_lsb_within_each_tone+no_interleaver", "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" }, "bit_count": 174, "hard_weight_174": 133, "llr_stats": { "count": 174, "avg_abs": 1.713292, "min_abs": 0.008399, "max_abs": 3.772346, "positive": 43, "negative": 131, "zero": 0 }, "source_rank_score": 106.853168, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "78045427f8b643b0", "codeword174_sha256_16": "937e096a3d463604" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 37, "offsets": { "start_offset_s": 0.09, "base_freq_offset_hz": 3.0, "tone_spacing_offset_hz": 0.015 }, "anchor_applied": { "start_seconds": 4.89, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.89, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58680, "start_seconds": 4.89, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.89, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:37" }, "best_row": { "variant": "lab_mask_xor_preview", "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 }, "bit_count": 174, "hard_weight_174": 84, "llr_stats": { "count": 174, "avg_abs": 2.306334, "min_abs": 0.004878, "max_abs": 4.045851, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 101.225336, "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "e9bb19c064bcec63", "codeword174_sha256_16": "fd5332baa35f631d" }, "top_rows": [ { "variant": "lab_mask_xor_preview", "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 }, "bit_count": 174, "hard_weight_174": 84, "llr_stats": { "count": 174, "avg_abs": 2.306334, "min_abs": 0.004878, "max_abs": 4.045851, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 101.225336, "syndrome_weight": 24, "valid_codeword_hard_decision": false, "message91_sha256_16": "e9bb19c064bcec63", "codeword174_sha256_16": "fd5332baa35f631d" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+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" }, "bit_count": 174, "hard_weight_174": 42, "llr_stats": { "count": 174, "avg_abs": 1.32816, "min_abs": 0.00017, "max_abs": 4.045851, "positive": 131, "negative": 43, "zero": 0 }, "source_rank_score": 105.31264, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "b6d6785c8ae79391", "codeword174_sha256_16": "21c35b5525d28e22" }, { "variant": "mapped_ft8_gray_primary_demap_msb_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 }, "bit_count": 174, "hard_weight_174": 36, "llr_stats": { "count": 174, "avg_abs": 1.920126, "min_abs": 0.00231, "max_abs": 4.045851, "positive": 137, "negative": 37, "zero": 0 }, "source_rank_score": 107.680504, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "8f597f3674152345", "codeword174_sha256_16": "67d95ed18df97bd6" }, { "variant": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "bit_count": 174, "hard_weight_174": 42, "llr_stats": { "count": 174, "avg_abs": 1.659556, "min_abs": 0.003745, "max_abs": 4.01432, "positive": 127, "negative": 47, "zero": 0 }, "source_rank_score": 106.638224, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "928c192124744709", "codeword174_sha256_16": "da3d3dc3f1f60e86" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "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" }, "bit_count": 174, "hard_weight_174": 53, "llr_stats": { "count": 174, "avg_abs": 1.244368, "min_abs": 0.00017, "max_abs": 4.01432, "positive": 122, "negative": 52, "zero": 0 }, "source_rank_score": 104.977472, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "12b95fa147075493", "codeword174_sha256_16": "e1bf76aa5d353a0b" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_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" }, "bit_count": 174, "hard_weight_174": 115, "llr_stats": { "count": 174, "avg_abs": 1.194398, "min_abs": 0.000191, "max_abs": 3.780018, "positive": 54, "negative": 120, "zero": 0 }, "source_rank_score": 104.777592, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "6dadc28d307ba7a7", "codeword174_sha256_16": "c2f7a65c3a3074c4" }, { "variant": "reverse_symbol_order", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 132, "llr_stats": { "count": 174, "avg_abs": 1.920126, "min_abs": 0.00231, "max_abs": 4.045851, "positive": 37, "negative": 137, "zero": 0 }, "source_rank_score": 111.680504, "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "574cd6fc6bce0dd7", "codeword174_sha256_16": "ad93c86d7bf38473" }, { "variant": "reverse_symbol_order", "transform": "ft8_gray_alt_high_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 130, "llr_stats": { "count": 174, "avg_abs": 1.874215, "min_abs": 0.000221, "max_abs": 4.045851, "positive": 37, "negative": 137, "zero": 0 }, "source_rank_score": 111.49686, "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "574cd6fc6bce0dd7", "codeword174_sha256_16": "e02bcc851fff16de" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 39, "offsets": { "start_offset_s": 0.09, "base_freq_offset_hz": 3.0, "tone_spacing_offset_hz": 0.045 }, "anchor_applied": { "start_seconds": 4.89, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.92, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58680, "start_seconds": 4.89, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.92, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:39" }, "best_row": { "variant": "mapped_ft8_gray_alt_high_demap_lsb_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" }, "bit_count": 174, "hard_weight_174": 113, "llr_stats": { "count": 174, "avg_abs": 1.260058, "min_abs": 0.004711, "max_abs": 3.879143, "positive": 56, "negative": 118, "zero": 0 }, "source_rank_score": 105.040232, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "52864d19425ece47", "codeword174_sha256_16": "b7770fab709aa574" }, "top_rows": [ { "variant": "mapped_ft8_gray_alt_high_demap_lsb_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" }, "bit_count": 174, "hard_weight_174": 113, "llr_stats": { "count": 174, "avg_abs": 1.260058, "min_abs": 0.004711, "max_abs": 3.879143, "positive": 56, "negative": 118, "zero": 0 }, "source_rank_score": 105.040232, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "52864d19425ece47", "codeword174_sha256_16": "b7770fab709aa574" }, { "variant": "lab_mask_xor_preview", "transform": "lsb_within_each_tone+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none", "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 87, "llr_stats": { "count": 174, "avg_abs": 2.363992, "min_abs": 0.010306, "max_abs": 4.139371, "positive": 31, "negative": 143, "zero": 0 }, "source_rank_score": 101.455968, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "8662a06ff0d6dc1d", "codeword174_sha256_16": "c824d47b54a64594" }, { "variant": "raw_msb_symbol_order", "transform": "lsb_within_each_tone+no_interleaver", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none" }, "bit_count": 174, "hard_weight_174": 32, "llr_stats": { "count": 174, "avg_abs": 2.363992, "min_abs": 0.010306, "max_abs": 4.139371, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 127.455968, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "4c4a3dd52502f75a", "codeword174_sha256_16": "fc709bd42bf70453" }, { "variant": "lsb_within_each_tone", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "bit_count": 174, "hard_weight_174": 32, "llr_stats": { "count": 174, "avg_abs": 2.363992, "min_abs": 0.010306, "max_abs": 4.139371, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 119.455968, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "4c4a3dd52502f75a", "codeword174_sha256_16": "fc709bd42bf70453" }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "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 }, "bit_count": 174, "hard_weight_174": 32, "llr_stats": { "count": 174, "avg_abs": 2.363992, "min_abs": 0.010306, "max_abs": 4.139371, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 109.455968, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "4c4a3dd52502f75a", "codeword174_sha256_16": "fc709bd42bf70453" }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "bit_count": 174, "hard_weight_174": 32, "llr_stats": { "count": 174, "avg_abs": 2.363992, "min_abs": 0.010306, "max_abs": 4.139371, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 109.455968, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "4c4a3dd52502f75a", "codeword174_sha256_16": "fc709bd42bf70453" }, { "variant": "mapped_lsb_within_each_tone+no_interleaver", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "bit_count": 174, "hard_weight_174": 32, "llr_stats": { "count": 174, "avg_abs": 2.363992, "min_abs": 0.010306, "max_abs": 4.139371, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 109.455968, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "4c4a3dd52502f75a", "codeword174_sha256_16": "fc709bd42bf70453" }, { "variant": "mapped_raw_msb+no_interleaver", "transform": "lsb_within_each_tone+no_interleaver", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none" }, "bit_count": 174, "hard_weight_174": 32, "llr_stats": { "count": 174, "avg_abs": 2.363992, "min_abs": 0.010306, "max_abs": 4.139371, "positive": 143, "negative": 31, "zero": 0 }, "source_rank_score": 109.455968, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "4c4a3dd52502f75a", "codeword174_sha256_16": "fc709bd42bf70453" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 13, "offsets": { "start_offset_s": 0.03, "base_freq_offset_hz": 3.5, "tone_spacing_offset_hz": 0.015 }, "anchor_applied": { "start_seconds": 4.83, "base_freq_hz": 1028.5, "tone_spacing_hz": 1.89, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 57960, "start_seconds": 4.83, "base_freq_hz": 1028.5, "tone_spacing_hz": 1.89, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:13" }, "best_row": { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits", "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, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 127, "llr_stats": { "count": 174, "avg_abs": 1.189787, "min_abs": 0.003369, "max_abs": 3.239839, "positive": 49, "negative": 125, "zero": 0 }, "source_rank_score": 104.759148, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "18e408df8b7088eb", "codeword174_sha256_16": "637b60031dda7c15" }, "top_rows": [ { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits", "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, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 127, "llr_stats": { "count": 174, "avg_abs": 1.189787, "min_abs": 0.003369, "max_abs": 3.239839, "positive": 49, "negative": 125, "zero": 0 }, "source_rank_score": 104.759148, "syndrome_weight": 25, "valid_codeword_hard_decision": false, "message91_sha256_16": "18e408df8b7088eb", "codeword174_sha256_16": "637b60031dda7c15" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver", "transform": "ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+inverted_bits", "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, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 127, "llr_stats": { "count": 174, "avg_abs": 1.214585, "min_abs": 0.005073, "max_abs": 3.249783, "positive": 47, "negative": 127, "zero": 0 }, "source_rank_score": 104.85834, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "18e408df8b7088eb", "codeword174_sha256_16": "159d4394aeba05bd" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+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 }, "bit_count": 174, "hard_weight_174": 74, "llr_stats": { "count": 174, "avg_abs": 1.108029, "min_abs": 0.017419, "max_abs": 3.914567, "positive": 100, "negative": 74, "zero": 0 }, "source_rank_score": 104.432116, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "2599f14030519483", "codeword174_sha256_16": "fba3ec8a63d90877" }, { "variant": "lab_mask_xor_preview", "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 }, "bit_count": 174, "hard_weight_174": 96, "llr_stats": { "count": 174, "avg_abs": 1.929145, "min_abs": 0.066005, "max_abs": 4.16568, "positive": 140, "negative": 34, "zero": 0 }, "source_rank_score": 99.71658, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "ee9a0ed56c63818c", "codeword174_sha256_16": "5468a175ee86ed1e" }, { "variant": "raw_msb_symbol_order", "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" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 1.929145, "min_abs": 0.066005, "max_abs": 4.16568, "positive": 34, "negative": 140, "zero": 0 }, "source_rank_score": 125.71658, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "0ad8753e2726f4fb", "codeword174_sha256_16": "c5a59548f6922a4c" }, { "variant": "lsb_within_each_tone", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 1.679287, "min_abs": 0.066005, "max_abs": 3.914567, "positive": 49, "negative": 125, "zero": 0 }, "source_rank_score": 116.717148, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "0ad8753e2726f4fb", "codeword174_sha256_16": "c5a59548f6922a4c" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "raw_msb+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none", "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 1.929145, "min_abs": 0.066005, "max_abs": 4.16568, "positive": 34, "negative": 140, "zero": 0 }, "source_rank_score": 107.71658, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "0ad8753e2726f4fb", "codeword174_sha256_16": "c5a59548f6922a4c" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver", "transform": "raw_msb+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 141, "llr_stats": { "count": 174, "avg_abs": 1.929145, "min_abs": 0.066005, "max_abs": 4.16568, "positive": 34, "negative": 140, "zero": 0 }, "source_rank_score": 107.71658, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "0ad8753e2726f4fb", "codeword174_sha256_16": "c5a59548f6922a4c" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 4, "offsets": { "start_offset_s": 0.03, "base_freq_offset_hz": 2.75, "tone_spacing_offset_hz": 0.015 }, "anchor_applied": { "start_seconds": 4.83, "base_freq_hz": 1027.75, "tone_spacing_hz": 1.89, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 57960, "start_seconds": 4.83, "base_freq_hz": 1027.75, "tone_spacing_hz": 1.89, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:4" }, "best_row": { "variant": "raw_msb_symbol_order", "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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.288443, "min_abs": 0.048119, "max_abs": 4.36961, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 127.153772, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "921b6c6ee3f73bf7", "codeword174_sha256_16": "6fc262e6166da69f" }, "top_rows": [ { "variant": "raw_msb_symbol_order", "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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.288443, "min_abs": 0.048119, "max_abs": 4.36961, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 127.153772, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "921b6c6ee3f73bf7", "codeword174_sha256_16": "6fc262e6166da69f" }, { "variant": "lsb_within_each_tone", "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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.288443, "min_abs": 0.048119, "max_abs": 4.36961, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 119.153772, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "921b6c6ee3f73bf7", "codeword174_sha256_16": "6fc262e6166da69f" }, { "variant": "mapped_lsb_within_each_tone+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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.288443, "min_abs": 0.048119, "max_abs": 4.36961, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 109.153772, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "921b6c6ee3f73bf7", "codeword174_sha256_16": "6fc262e6166da69f" }, { "variant": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "raw_msb+no_interleaver", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none" }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.288443, "min_abs": 0.048119, "max_abs": 4.36961, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 109.153772, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "921b6c6ee3f73bf7", "codeword174_sha256_16": "6fc262e6166da69f" }, { "variant": "mapped_raw_msb+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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.288443, "min_abs": 0.048119, "max_abs": 4.36961, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 109.153772, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "921b6c6ee3f73bf7", "codeword174_sha256_16": "6fc262e6166da69f" }, { "variant": "lab_mask_xor_preview", "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" }, "bit_count": 174, "hard_weight_174": 86, "llr_stats": { "count": 174, "avg_abs": 1.6075, "min_abs": 0.018792, "max_abs": 4.020367, "positive": 41, "negative": 133, "zero": 0 }, "source_rank_score": 98.43, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "4c0b7d9708741dab", "codeword174_sha256_16": "5dca1ad45c1f670d" }, { "variant": "mapped_raw_msb+ft8_bitrev_deinterleave_rx_to_codeword", "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" }, "bit_count": 174, "hard_weight_174": 137, "llr_stats": { "count": 174, "avg_abs": 1.736756, "min_abs": 0.012377, "max_abs": 4.156154, "positive": 37, "negative": 137, "zero": 0 }, "source_rank_score": 106.947024, "syndrome_weight": 29, "valid_codeword_hard_decision": false, "message91_sha256_16": "f206ff2cb3a94e83", "codeword174_sha256_16": "d2cb98189648a53f" }, { "variant": "reverse_symbol_order", "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 }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 2.288443, "min_abs": 0.048119, "max_abs": 4.36961, "positive": 148, "negative": 26, "zero": 0 }, "source_rank_score": 113.153772, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b98c824f4ee038", "codeword174_sha256_16": "5306bc6cd2d03406" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 7, "offsets": { "start_offset_s": 0.03, "base_freq_offset_hz": 3.0, "tone_spacing_offset_hz": 0.015 }, "anchor_applied": { "start_seconds": 4.83, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.89, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 57960, "start_seconds": 4.83, "base_freq_hz": 1028.0, "tone_spacing_hz": 1.89, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:7" }, "best_row": { "variant": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "bit_count": 174, "hard_weight_174": 36, "llr_stats": { "count": 174, "avg_abs": 1.76413, "min_abs": 0.00248, "max_abs": 4.16203, "positive": 137, "negative": 37, "zero": 0 }, "source_rank_score": 107.05652, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "e9cc65e438e4a75e", "codeword174_sha256_16": "86d347e4cf309d9a" }, "top_rows": [ { "variant": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "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 }, "bit_count": 174, "hard_weight_174": 36, "llr_stats": { "count": 174, "avg_abs": 1.76413, "min_abs": 0.00248, "max_abs": 4.16203, "positive": 137, "negative": 37, "zero": 0 }, "source_rank_score": 107.05652, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "e9cc65e438e4a75e", "codeword174_sha256_16": "86d347e4cf309d9a" }, { "variant": "mapped_lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "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" }, "bit_count": 174, "hard_weight_174": 144, "llr_stats": { "count": 174, "avg_abs": 2.366842, "min_abs": 0.004374, "max_abs": 4.48302, "positive": 29, "negative": 145, "zero": 0 }, "source_rank_score": 109.467368, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "ba9613f6a417de79", "codeword174_sha256_16": "4c6e56ffc0a00a61" }, { "variant": "mapped_raw_msb+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+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": "interleave_codeword_to_rx_inverse", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 130, "llr_stats": { "count": 174, "avg_abs": 1.797029, "min_abs": 0.004156, "max_abs": 4.125536, "positive": 42, "negative": 132, "zero": 0 }, "source_rank_score": 107.188116, "syndrome_weight": 28, "valid_codeword_hard_decision": false, "message91_sha256_16": "c33ef1555b97e502", "codeword174_sha256_16": "96395eb54b9b5868" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver", "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" }, "bit_count": 174, "hard_weight_174": 142, "llr_stats": { "count": 174, "avg_abs": 2.022316, "min_abs": 0.004374, "max_abs": 4.48302, "positive": 30, "negative": 144, "zero": 0 }, "source_rank_score": 108.089264, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "85eadda5ee933279", "codeword174_sha256_16": "dd3e3880c290fb9b" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "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" }, "bit_count": 174, "hard_weight_174": 144, "llr_stats": { "count": 174, "avg_abs": 1.97756, "min_abs": 0.001838, "max_abs": 4.48302, "positive": 31, "negative": 143, "zero": 0 }, "source_rank_score": 107.91024, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "d03b75984bd588cb", "codeword174_sha256_16": "016862cef9fa0d75" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+no_interleaver", "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" }, "bit_count": 174, "hard_weight_174": 129, "llr_stats": { "count": 174, "avg_abs": 1.31118, "min_abs": 5.7e-05, "max_abs": 4.125536, "positive": 44, "negative": 130, "zero": 0 }, "source_rank_score": 105.24472, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "815682423d76ab87", "codeword174_sha256_16": "c6400e08eead342e" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_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" }, "bit_count": 174, "hard_weight_174": 121, "llr_stats": { "count": 174, "avg_abs": 1.242828, "min_abs": 0.010817, "max_abs": 4.125536, "positive": 47, "negative": 127, "zero": 0 }, "source_rank_score": 104.971312, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "7575b94421742271", "codeword174_sha256_16": "92b2847209b267f4" }, { "variant": "reverse_symbol_order", "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 }, "bit_count": 174, "hard_weight_174": 30, "llr_stats": { "count": 174, "avg_abs": 2.366842, "min_abs": 0.004374, "max_abs": 4.48302, "positive": 145, "negative": 29, "zero": 0 }, "source_rank_score": 113.467368, "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "43a8d3f963560ac1", "codeword174_sha256_16": "971991e76e98db92" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 32, "offsets": { "start_offset_s": 0.09, "base_freq_offset_hz": 2.5, "tone_spacing_offset_hz": 0.03 }, "anchor_applied": { "start_seconds": 4.89, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.905, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58680, "start_seconds": 4.89, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.905, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:32" }, "best_row": { "variant": "mapped_raw_msb+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" }, "bit_count": 174, "hard_weight_174": 42, "llr_stats": { "count": 174, "avg_abs": 1.742539, "min_abs": 0.000578, "max_abs": 4.060392, "positive": 130, "negative": 44, "zero": 0 }, "source_rank_score": 106.970156, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "860ce09d9dc2df0d", "codeword174_sha256_16": "e5ab101e21fcf648" }, "top_rows": [ { "variant": "mapped_raw_msb+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" }, "bit_count": 174, "hard_weight_174": 42, "llr_stats": { "count": 174, "avg_abs": 1.742539, "min_abs": 0.000578, "max_abs": 4.060392, "positive": 130, "negative": 44, "zero": 0 }, "source_rank_score": 106.970156, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "860ce09d9dc2df0d", "codeword174_sha256_16": "e5ab101e21fcf648" }, { "variant": "mapped_raw_msb+ft8_bitrev_interleave_codeword_to_rx_inverse", "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" }, "bit_count": 174, "hard_weight_174": 42, "llr_stats": { "count": 174, "avg_abs": 1.699652, "min_abs": 0.004875, "max_abs": 4.060392, "positive": 130, "negative": 44, "zero": 0 }, "source_rank_score": 106.798608, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "860ce09d9dc2df0d", "codeword174_sha256_16": "e5ab101e21fcf648" }, { "variant": "raw_msb_symbol_order", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 131, "llr_stats": { "count": 174, "avg_abs": 1.803172, "min_abs": 0.049536, "max_abs": 3.834545, "positive": 42, "negative": 132, "zero": 0 }, "source_rank_score": 125.212688, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "90d23a0ae7e11e20", "codeword174_sha256_16": "61f8634e446972ef" }, { "variant": "lsb_within_each_tone", "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" }, "bit_count": 174, "hard_weight_174": 131, "llr_stats": { "count": 174, "avg_abs": 1.950249, "min_abs": 0.024011, "max_abs": 4.065687, "positive": 31, "negative": 143, "zero": 0 }, "source_rank_score": 117.800996, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "90d23a0ae7e11e20", "codeword174_sha256_16": "61f8634e446972ef" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "raw_msb+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none", "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 131, "llr_stats": { "count": 174, "avg_abs": 1.803172, "min_abs": 0.049536, "max_abs": 3.834545, "positive": 42, "negative": 132, "zero": 0 }, "source_rank_score": 107.212688, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "90d23a0ae7e11e20", "codeword174_sha256_16": "61f8634e446972ef" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+no_interleaver", "transform": "raw_msb+ft8_bitrev_deinterleave_rx_to_codeword+inverted_bits", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 131, "llr_stats": { "count": 174, "avg_abs": 1.803172, "min_abs": 0.049536, "max_abs": 3.834545, "positive": 42, "negative": 132, "zero": 0 }, "source_rank_score": 107.212688, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "90d23a0ae7e11e20", "codeword174_sha256_16": "61f8634e446972ef" }, { "variant": "mapped_lsb_within_each_tone+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" }, "bit_count": 174, "hard_weight_174": 131, "llr_stats": { "count": 174, "avg_abs": 1.803172, "min_abs": 0.049536, "max_abs": 3.834545, "positive": 42, "negative": 132, "zero": 0 }, "source_rank_score": 107.212688, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "90d23a0ae7e11e20", "codeword174_sha256_16": "61f8634e446972ef" }, { "variant": "mapped_raw_msb+no_interleaver", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 131, "llr_stats": { "count": 174, "avg_abs": 1.803172, "min_abs": 0.049536, "max_abs": 3.834545, "positive": 42, "negative": 132, "zero": 0 }, "source_rank_score": 107.212688, "syndrome_weight": 27, "valid_codeword_hard_decision": false, "message91_sha256_16": "90d23a0ae7e11e20", "codeword174_sha256_16": "61f8634e446972ef" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 20, "offsets": { "start_offset_s": 0.06, "base_freq_offset_hz": 2.75, "tone_spacing_offset_hz": 0.03 }, "anchor_applied": { "start_seconds": 4.859999999999999, "base_freq_hz": 1027.75, "tone_spacing_hz": 1.905, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 58320, "start_seconds": 4.86, "base_freq_hz": 1027.75, "tone_spacing_hz": 1.905, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:20" }, "best_row": { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "transform": "lsb_within_each_tone+no_interleaver", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none" }, "bit_count": 174, "hard_weight_174": 40, "llr_stats": { "count": 174, "avg_abs": 1.654305, "min_abs": 0.021019, "max_abs": 3.975782, "positive": 134, "negative": 40, "zero": 0 }, "source_rank_score": 106.61722, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "c4d4ee11f559aeb5", "codeword174_sha256_16": "11c10d0d45c477e4" }, "top_rows": [ { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+no_interleaver", "transform": "lsb_within_each_tone+no_interleaver", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "none" }, "bit_count": 174, "hard_weight_174": 40, "llr_stats": { "count": 174, "avg_abs": 1.654305, "min_abs": 0.021019, "max_abs": 3.975782, "positive": 134, "negative": 40, "zero": 0 }, "source_rank_score": 106.61722, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "c4d4ee11f559aeb5", "codeword174_sha256_16": "11c10d0d45c477e4" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+no_interleaver", "transform": "ft8_gray_alt_high_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse+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": "interleave_codeword_to_rx_inverse", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 148, "llr_stats": { "count": 174, "avg_abs": 1.614129, "min_abs": 0.000212, "max_abs": 4.060512, "positive": 23, "negative": 151, "zero": 0 }, "source_rank_score": 106.456516, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "3bb3d85bf20ab067", "codeword174_sha256_16": "bbb9edf43d37b383" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+no_interleaver", "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" }, "bit_count": 174, "hard_weight_174": 148, "llr_stats": { "count": 174, "avg_abs": 1.606431, "min_abs": 0.002254, "max_abs": 4.060512, "positive": 23, "negative": 151, "zero": 0 }, "source_rank_score": 106.425724, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "645ce0057ab189e4", "codeword174_sha256_16": "67bb4f055ec3ccd9" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 46, "llr_stats": { "count": 174, "avg_abs": 1.392733, "min_abs": 0.001535, "max_abs": 3.988301, "positive": 138, "negative": 36, "zero": 0 }, "source_rank_score": 105.570932, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "9da4ddf486c4cd82", "codeword174_sha256_16": "42026394f5f8bf4b" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "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 }, "bit_count": 174, "hard_weight_174": 46, "llr_stats": { "count": 174, "avg_abs": 1.314552, "min_abs": 0.003518, "max_abs": 3.988301, "positive": 135, "negative": 39, "zero": 0 }, "source_rank_score": 105.258208, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "9da4ddf486c4cd82", "codeword174_sha256_16": "42026394f5f8bf4b" }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_deinterleave_rx_to_codeword", "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" }, "bit_count": 174, "hard_weight_174": 48, "llr_stats": { "count": 174, "avg_abs": 1.20974, "min_abs": 0.006552, "max_abs": 3.975782, "positive": 126, "negative": 48, "zero": 0 }, "source_rank_score": 104.83896, "syndrome_weight": 30, "valid_codeword_hard_decision": false, "message91_sha256_16": "0f68e23dedbcebcf", "codeword174_sha256_16": "28d4156dd8362fdc" }, { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "lsb_within_each_tone+ft8_bitrev_deinterleave_rx_to_codeword", "mapping_meta": { "tone_mapping": "lsb_within_each_tone", "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 29, "llr_stats": { "count": 174, "avg_abs": 1.914595, "min_abs": 0.011069, "max_abs": 4.060512, "positive": 150, "negative": 24, "zero": 0 }, "source_rank_score": 107.65838, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "3e6b223e41b812c4", "codeword174_sha256_16": "3a704799b5a17668" }, { "variant": "lab_mask_xor_preview", "transform": "raw_msb+no_interleaver+inverted_bits", "mapping_meta": { "tone_mapping": "raw_msb", "interleaver": "none", "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 95, "llr_stats": { "count": 174, "avg_abs": 2.288777, "min_abs": 0.028218, "max_abs": 4.506179, "positive": 26, "negative": 148, "zero": 0 }, "source_rank_score": 101.155108, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "478f4d5f2ea10adb", "codeword174_sha256_16": "b0e0b25e5850deb1" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] }, { "combination_index": 2, "offsets": { "start_offset_s": 0.03, "base_freq_offset_hz": 2.5, "tone_spacing_offset_hz": 0.03 }, "anchor_applied": { "start_seconds": 4.83, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.905, "nsps": 6400 }, "pipeline_ok": true, "fec_input_summary": { "soft_bit_count": 174, "missing_soft_bits": 0, "complete_ldpc_input_candidate": true, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely, MSB-first candidate" }, "sync_candidate": { "start_sample": 57960, "start_seconds": 4.83, "base_freq_hz": 1027.5, "tone_spacing_hz": 1.905, "nsps": 6400, "candidate_score": null, "costas_hits": null, "avg_margin_db": null, "anchor_source": "step43_timing_boundary_sweep:2" }, "best_row": { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 38, "llr_stats": { "count": 174, "avg_abs": 1.435602, "min_abs": 0.001426, "max_abs": 4.091276, "positive": 141, "negative": 33, "zero": 0 }, "source_rank_score": 105.742408, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "5f214ae2f0fb2f36", "codeword174_sha256_16": "64ae541c28b71f69" }, "top_rows": [ { "variant": "mapped_ft8_gray_primary_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 38, "llr_stats": { "count": 174, "avg_abs": 1.435602, "min_abs": 0.001426, "max_abs": 4.091276, "positive": 141, "negative": 33, "zero": 0 }, "source_rank_score": 105.742408, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "5f214ae2f0fb2f36", "codeword174_sha256_16": "64ae541c28b71f69" }, { "variant": "mapped_ft8_gray_alt_high_demap_msb_input+ft8_bitrev_deinterleave_rx_to_codeword", "transform": "ft8_gray_primary_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "interleave_codeword_to_rx_inverse", "order_len": 174 }, "bit_count": 174, "hard_weight_174": 38, "llr_stats": { "count": 174, "avg_abs": 1.384195, "min_abs": 0.000995, "max_abs": 4.091276, "positive": 139, "negative": 35, "zero": 0 }, "source_rank_score": 105.53678, "syndrome_weight": 26, "valid_codeword_hard_decision": false, "message91_sha256_16": "5f214ae2f0fb2f36", "codeword174_sha256_16": "64ae541c28b71f69" }, { "variant": "mapped_ft8_gray_primary_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_alt_high_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 123, "llr_stats": { "count": 174, "avg_abs": 1.194786, "min_abs": 0.000574, "max_abs": 3.71937, "positive": 55, "negative": 119, "zero": 0 }, "source_rank_score": 104.779144, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "df9a107315483691", "codeword174_sha256_16": "9987222aa18746e4" }, { "variant": "mapped_ft8_gray_alt_high_demap_lsb_input+ft8_bitrev_interleave_codeword_to_rx_inverse", "transform": "ft8_gray_alt_high_demap_lsb_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": true, "interleaver": "ft8_bitrev", "direction": "deinterleave_rx_to_codeword", "order_len": 174, "polarity": "inverted" }, "bit_count": 174, "hard_weight_174": 123, "llr_stats": { "count": 174, "avg_abs": 1.137638, "min_abs": 0.000202, "max_abs": 3.575371, "positive": 58, "negative": 116, "zero": 0 }, "source_rank_score": 104.550552, "syndrome_weight": 31, "valid_codeword_hard_decision": false, "message91_sha256_16": "df9a107315483691", "codeword174_sha256_16": "9987222aa18746e4" }, { "variant": "raw_msb_symbol_order", "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" }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 1.971302, "min_abs": 0.003869, "max_abs": 4.310037, "positive": 150, "negative": 24, "zero": 0 }, "source_rank_score": 125.885208, "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "7eb8521bc797d417", "codeword174_sha256_16": "57e8972b644f146e" }, { "variant": "raw_msb_symbol_order", "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" }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 1.909894, "min_abs": 0.003655, "max_abs": 4.310037, "positive": 146, "negative": 28, "zero": 0 }, "source_rank_score": 125.639576, "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "7eb8521bc797d417", "codeword174_sha256_16": "57e8972b644f146e" }, { "variant": "lsb_within_each_tone", "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" }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 1.768455, "min_abs": 0.003869, "max_abs": 3.884903, "positive": 136, "negative": 38, "zero": 0 }, "source_rank_score": 117.07382, "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "7eb8521bc797d417", "codeword174_sha256_16": "57e8972b644f146e" }, { "variant": "lsb_within_each_tone", "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" }, "bit_count": 174, "hard_weight_174": 26, "llr_stats": { "count": 174, "avg_abs": 1.707047, "min_abs": 0.003655, "max_abs": 3.884903, "positive": 132, "negative": 42, "zero": 0 }, "source_rank_score": 116.828188, "syndrome_weight": 32, "valid_codeword_hard_decision": false, "message91_sha256_16": "7eb8521bc797d417", "codeword174_sha256_16": "57e8972b644f146e" } ], "warnings": [ "Step 43 JS8 Costas guard uses leading-only Costas exclusion by default to preserve 58 data symbols / 174 soft bits on JS8Lab windows; full FT8 middle/trailing exclusion remains diagnostic-only.", "Step 43 profile-anchor guard: FEC symbols were extracted from the selected profile sync anchor instead of re-running an independent sync search.", "Step 43 prepares LDPC/FEC input candidates and an LDPC probe harness only; it does not yet run final real JS8 LDPC decode or unpack text.", "Step 43 does not decode JS8 text yet. It probes FT8-style Gray de-mapping, bit order and 174-bit interleaver candidates for real LDPC/FEC integration.", "lab_mask_xor_preview is only a repeatable diagnostic mask, not a confirmed JS8 whitening implementation." ] } ], "outputs": { "timing_boundary_sweep_json": "/decoders/js8_decoder/runtime/timing_boundary_sweep/step43_timing_boundary_sweep.json", "timing_best_candidate_json": "/decoders/js8_decoder/runtime/timing_boundary_sweep/step43_best_timing_fec_candidate.json", "checkpoint_json": "/decoders/js8_decoder/logs/20260527T062127Z_real_run_timing_boundary_sweep_output.json" }, "decodes": [], "warnings": [ "Step 43 expands the Step36 edge hit and exports the best timing candidate for downstream LDPC soft-decode.", "No JS8 text unpack or CRC validation is performed yet.", "No valid LDPC codeword found is a diagnostic warning, not a hard command failure." ], "next_action": "Use outputs.timing_best_candidate_json for LDPC matrix/soft decode. If syndrome is still far from 0, continue interleaver/LLR and symbol-boundary tuning around the best_candidate." }[webftr-js8-lab] timing-boundary-sweep exit_code=0 [webftr-js8-lab] timing-boundary-sweep JSON: /decoders/js8_decoder/logs/20260527T062127Z_real_run_timing_boundary_sweep_output.json [webftr-js8-lab] Step 43 LDPC probes now use timing-best candidate JSON: /decoders/js8_decoder/runtime/timing_boundary_sweep/step43_best_timing_fec_candidate.json ========== REAL-RUN STEP 8/10: LDPC MATRIX PROBE ========== [webftr-js8-lab] command=ldpc-matrix-probe [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T063116Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T063116Z_ldpc-matrix-probe_manifest.json [webftr-js8-lab] utc=20260527T063116Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T063116Z_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": "step43-syndrome-closure-repair-candidates", "input_wav": null, "candidate_json": "/decoders/js8_decoder/runtime/timing_boundary_sweep/step43_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": 6400, "nsps_is_js8_realistic": true, "selected_profile": null, "selected_variant": { "name": "step43_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": "step43_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": "step43_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": "step43_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/step43_ldpc_matrix_probe.json" }, "warnings": [ "Step 43 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/20260527T063116Z_ldpc-matrix-probe.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T063116Z_ldpc-matrix-probe_manifest.json [webftr-js8-lab] ldpc-matrix-probe exit_code=0 ========== REAL-RUN STEP 9/10: LDPC SOFT DECODE ========== [webftr-js8-lab] command=ldpc-soft-decode [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T063119Z_ldpc-soft-decode.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T063119Z_ldpc-soft-decode_manifest.json [webftr-js8-lab] utc=20260527T063119Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T063119Z_ldpc_soft_decode_output.json [webftr-js8-lab] JSON timeout guard: 75s { "ok": true, "mode": "JS8", "tool": "webftr-js8-soft-ldpc-minsum-probe", "tool_version": "step43-syndrome-closure-repair-candidates", "input_wav": null, "candidate_json": "/decoders/js8_decoder/runtime/timing_boundary_sweep/step43_best_timing_fec_candidate.json", "rx_only": true, "safety": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false }, "implementation_stage": "step43_direct_primary_syndrome_closure_repair_candidates_no_message_unpack", "matrix": { "code": "(174,91)", "message_bits": 91, "parity_bits": 83, "codeword_bits": 174, "check_count": 83 }, "decoder": { "algorithm": "normalized_min_sum_multi_trial", "max_iterations": 32, "default_alpha": 0.8, "llr_convention": "positive=bit0_more_likely, negative=bit1_more_likely", "mapping_expansion": "ft8_gray_demap_plus_bitrev_interleaver_candidates", "max_decode_rows": 1, "fast_trials": true, "trial_count": 2, "timeout_avoidance": "direct_primary_first_default_1_row", "direct_timing_primary_preserved": true, "hard_repair_probe": { "repair_rows": 1, "repair_pool_size": 18, "repair_max_depth": 2 } }, "candidate_context": { "nsps_used": 6400, "nsps_is_js8_realistic": true, "selected_profile": null, "selected_variant": { "name": "step43_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 } } }, "candidate_mapping_rows": 865, "probe_count": 2, "best_soft_decode": { "variant": "step43_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" }, "decoder_trial": { "llr_scale": 0.75, "alpha": 0.7 }, "source_rank_score": 3107.3111360000003, "source_llr_stats": { "count": 174, "avg_abs": 1.827784, "min_abs": 0.008053, "max_abs": 4.126624, "positive": 36, "negative": 138, "zero": 0 }, "success": false, "iterations_used": 32, "final_syndrome_weight": 30, "message91": null, "message91_sha256_16": "95cb11678c7a80df", "codeword174_sha256_16": "57946ed9075f03b0", "trace": [ { "iteration": 0, "syndrome_weight": 42 }, { "iteration": 1, "syndrome_weight": 39 }, { "iteration": 2, "syndrome_weight": 43 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 38 }, { "iteration": 5, "syndrome_weight": 45 }, { "iteration": 6, "syndrome_weight": 39 }, { "iteration": 7, "syndrome_weight": 46 }, { "iteration": 8, "syndrome_weight": 45 }, { "iteration": 9, "syndrome_weight": 40 }, { "iteration": 10, "syndrome_weight": 42 }, { "iteration": 15, "syndrome_weight": 44 }, { "iteration": 20, "syndrome_weight": 50 }, { "iteration": 25, "syndrome_weight": 40 }, { "iteration": 30, "syndrome_weight": 40 } ], "hard_repair_probe": { "ok": true, "initial_syndrome_weight": 22, "best_syndrome_weight": 20, "best_flip_indices": [ 128, 156 ], "best_flip_count": 2, "pool_size": 18, "max_depth": 2, "probes": 171, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "3e21661e33a987a7" }, "syndrome_closure_repair_probe": { "ok": true, "diagnostic_only": true, "method": "systematic_syndrome_closure_ranked_by_llr_cost", "initial_syndrome_weight": 22, "initial_unsatisfied_checks": [ 2, 3, 4, 6, 13, 16, 19, 20, 28, 30, 31, 32, 33, 37, 46, 54, 55, 58, 65, 75, 79, 81 ], "message_pool_size": 18, "message_pool_indices": [ 64, 1, 49, 41, 30, 29, 69, 80, 52, 85, 90, 47, 63, 6, 67, 66, 5, 60 ], "max_message_depth": 3, "evaluated_candidates": 988, "best": { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, "top_candidates": [ { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, { "message_flip_indices": [ 41, 52, 47 ], "parity_flip_indices": [ 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "all_flip_indices": [ 41, 52, 47, 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.589221, "parity_flip_cost": 44.127699, "total_reliability_cost": 44.71692, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111111011101111101011111010111111111011101111111", "message91_sha256_16": "e10741a139273238", "codeword174_sha256_16": "aa6488edc411b037" }, { "message_flip_indices": [ 1, 5 ], "parity_flip_indices": [ 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "all_flip_indices": [ 1, 5, 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "message_flip_count": 2, "parity_flip_count": 30, "total_flip_count": 32, "message_flip_cost": 0.584389, "parity_flip_cost": 44.563497, "total_reliability_cost": 45.147886, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1111110111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "406f8c0458a41fa6", "codeword174_sha256_16": "ecd6ba30d73a6c86" }, { "message_flip_indices": [ 41, 85, 67 ], "parity_flip_indices": [ 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "all_flip_indices": [ 41, 85, 67, 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 33, "total_flip_count": 36, "message_flip_cost": 0.854555, "parity_flip_cost": 45.803126, "total_reliability_cost": 46.657681, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111101011001111101011111110111111111011101011111", "message91_sha256_16": "20f6629199eaada3", "codeword174_sha256_16": "6ae1ef818a92cd18" }, { "message_flip_indices": [ 64, 52, 85 ], "parity_flip_indices": [ 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "all_flip_indices": [ 64, 52, 85, 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.449673, "parity_flip_cost": 46.520876, "total_reliability_cost": 46.970549, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011011010111111111011101011111", "message91_sha256_16": "3ab16fed959e7568", "codeword174_sha256_16": "75050aa5c244532f" }, { "message_flip_indices": [ 69, 47, 67 ], "parity_flip_indices": [ 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "all_flip_indices": [ 69, 47, 67, 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.999521, "parity_flip_cost": 46.683218, "total_reliability_cost": 47.682739, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111111011001111101011111111111111111011101111111", "message91_sha256_16": "98a23ee0cc41e788", "codeword174_sha256_16": "fc537cf08c151598" }, { "message_flip_indices": [ 69, 90, 66 ], "parity_flip_indices": [ 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "all_flip_indices": [ 69, 90, 66, 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.94397, "parity_flip_cost": 48.972852, "total_reliability_cost": 49.916822, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110011111111111011101111110", "message91_sha256_16": "30dd03b7de11be13", "codeword174_sha256_16": "b6c270d3aa51a282" }, { "message_flip_indices": [ 69, 67, 66 ], "parity_flip_indices": [ 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "all_flip_indices": [ 69, 67, 66, 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 1.170591, "parity_flip_cost": 48.765114, "total_reliability_cost": 49.935705, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110111111111111011101111111", "message91_sha256_16": "8665604134db9f8b", "codeword174_sha256_16": "55ae0659353d3c4e" }, { "message_flip_indices": [ 30, 29, 80 ], "parity_flip_indices": [ 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "all_flip_indices": [ 30, 29, 80, 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.274747, "parity_flip_cost": 50.102218, "total_reliability_cost": 50.376965, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111000111111101110111101011001111101011111010111111111001101111111", "message91_sha256_16": "87320eb9f8923b18", "codeword174_sha256_16": "e819b7503c7ac99b" }, { "message_flip_indices": [ 52, 85, 90 ], "parity_flip_indices": [ 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "all_flip_indices": [ 52, 85, 90, 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.745046, "parity_flip_cost": 50.83093, "total_reliability_cost": 51.575976, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011111010111111111011101011110", "message91_sha256_16": "06f1492d4004ad05", "codeword174_sha256_16": "e01aee569d423294" }, { "message_flip_indices": [ 85 ], "parity_flip_indices": [ 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "all_flip_indices": [ 85, 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "message_flip_count": 1, "parity_flip_count": 33, "total_flip_count": 34, "message_flip_cost": 0.275273, "parity_flip_cost": 51.719249, "total_reliability_cost": 51.994522, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101011111", "message91_sha256_16": "6830a3cab7de2075", "codeword174_sha256_16": "b50b960ae03a0ea9" }, { "message_flip_indices": [ 49, 30, 85 ], "parity_flip_indices": [ 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "all_flip_indices": [ 49, 30, 85, 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.353937, "parity_flip_cost": 52.218387, "total_reliability_cost": 52.572324, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111010111111101110111101111001111101011111010111111111011101011111", "message91_sha256_16": "ec338375494e781a", "codeword174_sha256_16": "96eccd15b2b6fe05" } ], "warning": "Syndrome closure can always form a codeword by parity repair; this is only a ranked candidate generator until JS8 message unpack/CRC validates a candidate." } }, "best_hard_repair_probe": { "ok": true, "initial_syndrome_weight": 22, "best_syndrome_weight": 20, "best_flip_indices": [ 128, 156 ], "best_flip_count": 2, "pool_size": 18, "max_depth": 2, "probes": 171, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "3e21661e33a987a7" }, "best_syndrome_closure_repair_probe": { "ok": true, "diagnostic_only": true, "method": "systematic_syndrome_closure_ranked_by_llr_cost", "initial_syndrome_weight": 22, "initial_unsatisfied_checks": [ 2, 3, 4, 6, 13, 16, 19, 20, 28, 30, 31, 32, 33, 37, 46, 54, 55, 58, 65, 75, 79, 81 ], "message_pool_size": 18, "message_pool_indices": [ 64, 1, 49, 41, 30, 29, 69, 80, 52, 85, 90, 47, 63, 6, 67, 66, 5, 60 ], "max_message_depth": 3, "evaluated_candidates": 988, "best": { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, "top_candidates": [ { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, { "message_flip_indices": [ 41, 52, 47 ], "parity_flip_indices": [ 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "all_flip_indices": [ 41, 52, 47, 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.589221, "parity_flip_cost": 44.127699, "total_reliability_cost": 44.71692, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111111011101111101011111010111111111011101111111", "message91_sha256_16": "e10741a139273238", "codeword174_sha256_16": "aa6488edc411b037" }, { "message_flip_indices": [ 1, 5 ], "parity_flip_indices": [ 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "all_flip_indices": [ 1, 5, 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "message_flip_count": 2, "parity_flip_count": 30, "total_flip_count": 32, "message_flip_cost": 0.584389, "parity_flip_cost": 44.563497, "total_reliability_cost": 45.147886, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1111110111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "406f8c0458a41fa6", "codeword174_sha256_16": "ecd6ba30d73a6c86" }, { "message_flip_indices": [ 41, 85, 67 ], "parity_flip_indices": [ 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "all_flip_indices": [ 41, 85, 67, 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 33, "total_flip_count": 36, "message_flip_cost": 0.854555, "parity_flip_cost": 45.803126, "total_reliability_cost": 46.657681, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111101011001111101011111110111111111011101011111", "message91_sha256_16": "20f6629199eaada3", "codeword174_sha256_16": "6ae1ef818a92cd18" }, { "message_flip_indices": [ 64, 52, 85 ], "parity_flip_indices": [ 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "all_flip_indices": [ 64, 52, 85, 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.449673, "parity_flip_cost": 46.520876, "total_reliability_cost": 46.970549, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011011010111111111011101011111", "message91_sha256_16": "3ab16fed959e7568", "codeword174_sha256_16": "75050aa5c244532f" }, { "message_flip_indices": [ 69, 47, 67 ], "parity_flip_indices": [ 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "all_flip_indices": [ 69, 47, 67, 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.999521, "parity_flip_cost": 46.683218, "total_reliability_cost": 47.682739, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111111011001111101011111111111111111011101111111", "message91_sha256_16": "98a23ee0cc41e788", "codeword174_sha256_16": "fc537cf08c151598" }, { "message_flip_indices": [ 69, 90, 66 ], "parity_flip_indices": [ 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "all_flip_indices": [ 69, 90, 66, 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.94397, "parity_flip_cost": 48.972852, "total_reliability_cost": 49.916822, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110011111111111011101111110", "message91_sha256_16": "30dd03b7de11be13", "codeword174_sha256_16": "b6c270d3aa51a282" }, { "message_flip_indices": [ 69, 67, 66 ], "parity_flip_indices": [ 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "all_flip_indices": [ 69, 67, 66, 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 1.170591, "parity_flip_cost": 48.765114, "total_reliability_cost": 49.935705, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110111111111111011101111111", "message91_sha256_16": "8665604134db9f8b", "codeword174_sha256_16": "55ae0659353d3c4e" }, { "message_flip_indices": [ 30, 29, 80 ], "parity_flip_indices": [ 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "all_flip_indices": [ 30, 29, 80, 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.274747, "parity_flip_cost": 50.102218, "total_reliability_cost": 50.376965, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111000111111101110111101011001111101011111010111111111001101111111", "message91_sha256_16": "87320eb9f8923b18", "codeword174_sha256_16": "e819b7503c7ac99b" }, { "message_flip_indices": [ 52, 85, 90 ], "parity_flip_indices": [ 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "all_flip_indices": [ 52, 85, 90, 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.745046, "parity_flip_cost": 50.83093, "total_reliability_cost": 51.575976, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011111010111111111011101011110", "message91_sha256_16": "06f1492d4004ad05", "codeword174_sha256_16": "e01aee569d423294" }, { "message_flip_indices": [ 85 ], "parity_flip_indices": [ 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "all_flip_indices": [ 85, 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "message_flip_count": 1, "parity_flip_count": 33, "total_flip_count": 34, "message_flip_cost": 0.275273, "parity_flip_cost": 51.719249, "total_reliability_cost": 51.994522, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101011111", "message91_sha256_16": "6830a3cab7de2075", "codeword174_sha256_16": "b50b960ae03a0ea9" }, { "message_flip_indices": [ 49, 30, 85 ], "parity_flip_indices": [ 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "all_flip_indices": [ 49, 30, 85, 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.353937, "parity_flip_cost": 52.218387, "total_reliability_cost": 52.572324, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111010111111101110111101111001111101011111010111111111011101011111", "message91_sha256_16": "ec338375494e781a", "codeword174_sha256_16": "96eccd15b2b6fe05" } ], "warning": "Syndrome closure can always form a codeword by parity repair; this is only a ranked candidate generator until JS8 message unpack/CRC validates a candidate." }, "soft_decode_results": [ { "variant": "step43_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" }, "decoder_trial": { "llr_scale": 0.75, "alpha": 0.7 }, "source_rank_score": 3107.3111360000003, "source_llr_stats": { "count": 174, "avg_abs": 1.827784, "min_abs": 0.008053, "max_abs": 4.126624, "positive": 36, "negative": 138, "zero": 0 }, "success": false, "iterations_used": 32, "final_syndrome_weight": 30, "message91": null, "message91_sha256_16": "95cb11678c7a80df", "codeword174_sha256_16": "57946ed9075f03b0", "trace": [ { "iteration": 0, "syndrome_weight": 42 }, { "iteration": 1, "syndrome_weight": 39 }, { "iteration": 2, "syndrome_weight": 43 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 38 }, { "iteration": 5, "syndrome_weight": 45 }, { "iteration": 6, "syndrome_weight": 39 }, { "iteration": 7, "syndrome_weight": 46 }, { "iteration": 8, "syndrome_weight": 45 }, { "iteration": 9, "syndrome_weight": 40 }, { "iteration": 10, "syndrome_weight": 42 }, { "iteration": 15, "syndrome_weight": 44 }, { "iteration": 20, "syndrome_weight": 50 }, { "iteration": 25, "syndrome_weight": 40 }, { "iteration": 30, "syndrome_weight": 40 } ], "hard_repair_probe": { "ok": true, "initial_syndrome_weight": 22, "best_syndrome_weight": 20, "best_flip_indices": [ 128, 156 ], "best_flip_count": 2, "pool_size": 18, "max_depth": 2, "probes": 171, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "3e21661e33a987a7" }, "syndrome_closure_repair_probe": { "ok": true, "diagnostic_only": true, "method": "systematic_syndrome_closure_ranked_by_llr_cost", "initial_syndrome_weight": 22, "initial_unsatisfied_checks": [ 2, 3, 4, 6, 13, 16, 19, 20, 28, 30, 31, 32, 33, 37, 46, 54, 55, 58, 65, 75, 79, 81 ], "message_pool_size": 18, "message_pool_indices": [ 64, 1, 49, 41, 30, 29, 69, 80, 52, 85, 90, 47, 63, 6, 67, 66, 5, 60 ], "max_message_depth": 3, "evaluated_candidates": 988, "best": { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, "top_candidates": [ { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, { "message_flip_indices": [ 41, 52, 47 ], "parity_flip_indices": [ 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "all_flip_indices": [ 41, 52, 47, 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.589221, "parity_flip_cost": 44.127699, "total_reliability_cost": 44.71692, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111111011101111101011111010111111111011101111111", "message91_sha256_16": "e10741a139273238", "codeword174_sha256_16": "aa6488edc411b037" }, { "message_flip_indices": [ 1, 5 ], "parity_flip_indices": [ 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "all_flip_indices": [ 1, 5, 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "message_flip_count": 2, "parity_flip_count": 30, "total_flip_count": 32, "message_flip_cost": 0.584389, "parity_flip_cost": 44.563497, "total_reliability_cost": 45.147886, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1111110111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "406f8c0458a41fa6", "codeword174_sha256_16": "ecd6ba30d73a6c86" }, { "message_flip_indices": [ 41, 85, 67 ], "parity_flip_indices": [ 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "all_flip_indices": [ 41, 85, 67, 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 33, "total_flip_count": 36, "message_flip_cost": 0.854555, "parity_flip_cost": 45.803126, "total_reliability_cost": 46.657681, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111101011001111101011111110111111111011101011111", "message91_sha256_16": "20f6629199eaada3", "codeword174_sha256_16": "6ae1ef818a92cd18" }, { "message_flip_indices": [ 64, 52, 85 ], "parity_flip_indices": [ 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "all_flip_indices": [ 64, 52, 85, 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.449673, "parity_flip_cost": 46.520876, "total_reliability_cost": 46.970549, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011011010111111111011101011111", "message91_sha256_16": "3ab16fed959e7568", "codeword174_sha256_16": "75050aa5c244532f" }, { "message_flip_indices": [ 69, 47, 67 ], "parity_flip_indices": [ 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "all_flip_indices": [ 69, 47, 67, 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.999521, "parity_flip_cost": 46.683218, "total_reliability_cost": 47.682739, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111111011001111101011111111111111111011101111111", "message91_sha256_16": "98a23ee0cc41e788", "codeword174_sha256_16": "fc537cf08c151598" }, { "message_flip_indices": [ 69, 90, 66 ], "parity_flip_indices": [ 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "all_flip_indices": [ 69, 90, 66, 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.94397, "parity_flip_cost": 48.972852, "total_reliability_cost": 49.916822, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110011111111111011101111110", "message91_sha256_16": "30dd03b7de11be13", "codeword174_sha256_16": "b6c270d3aa51a282" }, { "message_flip_indices": [ 69, 67, 66 ], "parity_flip_indices": [ 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "all_flip_indices": [ 69, 67, 66, 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 1.170591, "parity_flip_cost": 48.765114, "total_reliability_cost": 49.935705, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110111111111111011101111111", "message91_sha256_16": "8665604134db9f8b", "codeword174_sha256_16": "55ae0659353d3c4e" }, { "message_flip_indices": [ 30, 29, 80 ], "parity_flip_indices": [ 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "all_flip_indices": [ 30, 29, 80, 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.274747, "parity_flip_cost": 50.102218, "total_reliability_cost": 50.376965, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111000111111101110111101011001111101011111010111111111001101111111", "message91_sha256_16": "87320eb9f8923b18", "codeword174_sha256_16": "e819b7503c7ac99b" }, { "message_flip_indices": [ 52, 85, 90 ], "parity_flip_indices": [ 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "all_flip_indices": [ 52, 85, 90, 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.745046, "parity_flip_cost": 50.83093, "total_reliability_cost": 51.575976, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011111010111111111011101011110", "message91_sha256_16": "06f1492d4004ad05", "codeword174_sha256_16": "e01aee569d423294" }, { "message_flip_indices": [ 85 ], "parity_flip_indices": [ 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "all_flip_indices": [ 85, 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "message_flip_count": 1, "parity_flip_count": 33, "total_flip_count": 34, "message_flip_cost": 0.275273, "parity_flip_cost": 51.719249, "total_reliability_cost": 51.994522, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101011111", "message91_sha256_16": "6830a3cab7de2075", "codeword174_sha256_16": "b50b960ae03a0ea9" }, { "message_flip_indices": [ 49, 30, 85 ], "parity_flip_indices": [ 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "all_flip_indices": [ 49, 30, 85, 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.353937, "parity_flip_cost": 52.218387, "total_reliability_cost": 52.572324, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111010111111101110111101111001111101011111010111111111011101011111", "message91_sha256_16": "ec338375494e781a", "codeword174_sha256_16": "96eccd15b2b6fe05" } ], "warning": "Syndrome closure can always form a codeword by parity repair; this is only a ranked candidate generator until JS8 message unpack/CRC validates a candidate." } }, { "variant": "step43_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" }, "decoder_trial": { "llr_scale": 1.0, "alpha": 0.8 }, "source_rank_score": 3107.3111360000003, "source_llr_stats": { "count": 174, "avg_abs": 1.827784, "min_abs": 0.008053, "max_abs": 4.126624, "positive": 36, "negative": 138, "zero": 0 }, "success": false, "iterations_used": 32, "final_syndrome_weight": 36, "message91": null, "message91_sha256_16": "0e9ed1e0ca0159a7", "codeword174_sha256_16": "750e03954c49c465", "trace": [ { "iteration": 0, "syndrome_weight": 42 }, { "iteration": 1, "syndrome_weight": 39 }, { "iteration": 2, "syndrome_weight": 41 }, { "iteration": 3, "syndrome_weight": 41 }, { "iteration": 4, "syndrome_weight": 45 }, { "iteration": 5, "syndrome_weight": 37 }, { "iteration": 6, "syndrome_weight": 48 }, { "iteration": 7, "syndrome_weight": 48 }, { "iteration": 8, "syndrome_weight": 42 }, { "iteration": 9, "syndrome_weight": 47 }, { "iteration": 10, "syndrome_weight": 44 }, { "iteration": 15, "syndrome_weight": 38 }, { "iteration": 20, "syndrome_weight": 42 }, { "iteration": 25, "syndrome_weight": 42 }, { "iteration": 30, "syndrome_weight": 48 } ], "hard_repair_probe": { "ok": true, "initial_syndrome_weight": 22, "best_syndrome_weight": 20, "best_flip_indices": [ 128, 156 ], "best_flip_count": 2, "pool_size": 18, "max_depth": 2, "probes": 171, "valid_codeword_hard_decision": false, "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "3e21661e33a987a7" }, "syndrome_closure_repair_probe": { "ok": true, "diagnostic_only": true, "method": "systematic_syndrome_closure_ranked_by_llr_cost", "initial_syndrome_weight": 22, "initial_unsatisfied_checks": [ 2, 3, 4, 6, 13, 16, 19, 20, 28, 30, 31, 32, 33, 37, 46, 54, 55, 58, 65, 75, 79, 81 ], "message_pool_size": 18, "message_pool_indices": [ 64, 1, 49, 41, 30, 29, 69, 80, 52, 85, 90, 47, 63, 6, 67, 66, 5, 60 ], "max_message_depth": 3, "evaluated_candidates": 988, "best": { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, "top_candidates": [ { "message_flip_indices": [], "parity_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "all_flip_indices": [ 93, 94, 95, 97, 104, 107, 110, 111, 119, 121, 122, 123, 124, 128, 137, 145, 146, 149, 156, 166, 170, 172 ], "message_flip_count": 0, "parity_flip_count": 22, "total_flip_count": 22, "message_flip_cost": 0.0, "parity_flip_cost": 32.134663, "total_reliability_cost": 32.134663, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "67b59638aa8882d6", "codeword174_sha256_16": "cf123b1eebebc310" }, { "message_flip_indices": [ 41, 52, 47 ], "parity_flip_indices": [ 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "all_flip_indices": [ 41, 52, 47, 93, 95, 97, 99, 105, 106, 107, 112, 118, 121, 122, 123, 124, 128, 129, 130, 133, 137, 142, 143, 145, 146, 153, 154, 156, 166, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.589221, "parity_flip_cost": 44.127699, "total_reliability_cost": 44.71692, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111111011101111101011111010111111111011101111111", "message91_sha256_16": "e10741a139273238", "codeword174_sha256_16": "aa6488edc411b037" }, { "message_flip_indices": [ 1, 5 ], "parity_flip_indices": [ 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "all_flip_indices": [ 1, 5, 93, 94, 95, 96, 97, 98, 99, 104, 108, 110, 111, 114, 122, 123, 125, 127, 128, 130, 134, 135, 140, 149, 151, 156, 160, 164, 167, 169, 171, 173 ], "message_flip_count": 2, "parity_flip_count": 30, "total_flip_count": 32, "message_flip_cost": 0.584389, "parity_flip_cost": 44.563497, "total_reliability_cost": 45.147886, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1111110111111101111111111111011111111101110111101011001111101011111010111111111011101111111", "message91_sha256_16": "406f8c0458a41fa6", "codeword174_sha256_16": "ecd6ba30d73a6c86" }, { "message_flip_indices": [ 41, 85, 67 ], "parity_flip_indices": [ 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "all_flip_indices": [ 41, 85, 67, 91, 93, 96, 97, 101, 106, 107, 108, 110, 111, 112, 113, 121, 124, 125, 127, 134, 136, 137, 144, 145, 147, 149, 151, 153, 154, 164, 167, 168, 169, 170, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 33, "total_flip_count": 36, "message_flip_cost": 0.854555, "parity_flip_cost": 45.803126, "total_reliability_cost": 46.657681, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101100111101011001111101011111110111111111011101011111", "message91_sha256_16": "20f6629199eaada3", "codeword174_sha256_16": "6ae1ef818a92cd18" }, { "message_flip_indices": [ 64, 52, 85 ], "parity_flip_indices": [ 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "all_flip_indices": [ 64, 52, 85, 92, 93, 94, 95, 97, 98, 100, 102, 109, 115, 121, 122, 128, 130, 136, 137, 139, 140, 146, 147, 148, 149, 151, 153, 154, 156, 157, 162, 165, 166, 167, 168, 169, 171, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.449673, "parity_flip_cost": 46.520876, "total_reliability_cost": 46.970549, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011011010111111111011101011111", "message91_sha256_16": "3ab16fed959e7568", "codeword174_sha256_16": "75050aa5c244532f" }, { "message_flip_indices": [ 69, 47, 67 ], "parity_flip_indices": [ 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "all_flip_indices": [ 69, 47, 67, 91, 93, 97, 100, 101, 104, 105, 110, 111, 112, 113, 119, 121, 122, 123, 124, 133, 134, 137, 139, 140, 145, 146, 147, 149, 155, 157, 158, 169, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.999521, "parity_flip_cost": 46.683218, "total_reliability_cost": 47.682739, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111111011001111101011111111111111111011101111111", "message91_sha256_16": "98a23ee0cc41e788", "codeword174_sha256_16": "fc537cf08c151598" }, { "message_flip_indices": [ 69, 90, 66 ], "parity_flip_indices": [ 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "all_flip_indices": [ 69, 90, 66, 93, 101, 104, 107, 108, 110, 112, 113, 117, 118, 119, 121, 124, 125, 127, 128, 134, 136, 139, 145, 147, 148, 149, 153, 154, 156, 157, 158, 161, 163, 168, 169, 171, 172, 173 ], "message_flip_count": 3, "parity_flip_count": 35, "total_flip_count": 38, "message_flip_cost": 0.94397, "parity_flip_cost": 48.972852, "total_reliability_cost": 49.916822, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110011111111111011101111110", "message91_sha256_16": "30dd03b7de11be13", "codeword174_sha256_16": "b6c270d3aa51a282" }, { "message_flip_indices": [ 69, 67, 66 ], "parity_flip_indices": [ 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "all_flip_indices": [ 69, 67, 66, 95, 101, 104, 105, 106, 107, 113, 117, 119, 120, 121, 123, 124, 126, 128, 131, 135, 137, 142, 143, 145, 146, 150, 151, 156, 157, 164, 165, 166, 168, 170 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 1.170591, "parity_flip_cost": 48.765114, "total_reliability_cost": 49.935705, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011110111111111111011101111111", "message91_sha256_16": "8665604134db9f8b", "codeword174_sha256_16": "55ae0659353d3c4e" }, { "message_flip_indices": [ 30, 29, 80 ], "parity_flip_indices": [ 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "all_flip_indices": [ 30, 29, 80, 93, 103, 105, 106, 118, 119, 121, 123, 125, 129, 130, 133, 135, 136, 140, 143, 144, 145, 146, 147, 149, 151, 154, 155, 156, 160, 162, 164, 167, 170, 171 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.274747, "parity_flip_cost": 50.102218, "total_reliability_cost": 50.376965, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111000111111101110111101011001111101011111010111111111001101111111", "message91_sha256_16": "87320eb9f8923b18", "codeword174_sha256_16": "e819b7503c7ac99b" }, { "message_flip_indices": [ 52, 85, 90 ], "parity_flip_indices": [ 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "all_flip_indices": [ 52, 85, 90, 93, 96, 97, 98, 99, 105, 111, 112, 113, 114, 116, 124, 125, 127, 132, 134, 137, 140, 141, 144, 147, 150, 151, 154, 155, 166, 168, 169, 173 ], "message_flip_count": 3, "parity_flip_count": 29, "total_flip_count": 32, "message_flip_cost": 0.745046, "parity_flip_cost": 50.83093, "total_reliability_cost": 51.575976, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011101111101011111010111111111011101011110", "message91_sha256_16": "06f1492d4004ad05", "codeword174_sha256_16": "e01aee569d423294" }, { "message_flip_indices": [ 85 ], "parity_flip_indices": [ 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "all_flip_indices": [ 85, 91, 95, 101, 104, 105, 110, 112, 115, 117, 118, 123, 124, 128, 130, 133, 135, 136, 137, 142, 145, 146, 152, 153, 154, 159, 162, 163, 164, 166, 169, 170, 171, 172 ], "message_flip_count": 1, "parity_flip_count": 33, "total_flip_count": 34, "message_flip_cost": 0.275273, "parity_flip_cost": 51.719249, "total_reliability_cost": 51.994522, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111011111111101110111101011001111101011111010111111111011101011111", "message91_sha256_16": "6830a3cab7de2075", "codeword174_sha256_16": "b50b960ae03a0ea9" }, { "message_flip_indices": [ 49, 30, 85 ], "parity_flip_indices": [ 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "all_flip_indices": [ 49, 30, 85, 96, 97, 99, 101, 102, 105, 110, 111, 115, 116, 117, 119, 121, 124, 125, 126, 131, 134, 135, 137, 140, 141, 145, 146, 147, 150, 161, 162, 166, 171, 172 ], "message_flip_count": 3, "parity_flip_count": 31, "total_flip_count": 34, "message_flip_cost": 0.353937, "parity_flip_cost": 52.218387, "total_reliability_cost": 52.572324, "closed_syndrome_weight": 999, "valid_codeword_hard_decision": true, "message91": "1011100111111101111111111111010111111101110111101111001111101011111010111111111011101011111", "message91_sha256_16": "ec338375494e781a", "codeword174_sha256_16": "96eccd15b2b6fe05" } ], "warning": "Syndrome closure can always form a codeword by parity repair; this is only a ranked candidate generator until JS8 message unpack/CRC validates a candidate." } } ], "decodes": [], "outputs": { "ldpc_soft_decode_json": "/decoders/js8_decoder/runtime/ldpc_soft_decode/step43_ldpc_soft_decode.json" }, "warnings": [ "Step 43 keeps the direct timing-sweep primary row first and adds a bounded syndrome-closure repair candidate generator ranked by LLR reliability cost.", "Step 43 syndrome-closure repair is diagnostic only: parity repair can force syndrome zero, so candidates still need JS8 message unpack/CRC validation before they count as real decodes.", "This still does not unpack JS8 text or validate CRC/message payloads.", "If soft success is true or a syndrome-closure candidate passes future JS8 message/CRC validation, the next step can unpack the 91-bit message. Otherwise continue timing/interleaver/LLR tuning." ], "next_action": "Inspect best_syndrome_closure_repair_probe.top_candidates. Next step should add bounded JS8 91-bit message unpack/CRC validation for the ranked candidate messages while keeping timing best row unchanged." } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T063119Z_ldpc-soft-decode.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T063119Z_ldpc-soft-decode_manifest.json [webftr-js8-lab] ldpc-soft-decode exit_code=0 ========== REAL-RUN STEP 10/10: JS8LAB LOG BUNDLE ========== [webftr-js8-lab] collecting JS8Lab logs from /decoders/js8_decoder/logs [webftr-js8-lab] upload this JS8Lab bundle: /decoders/js8_decoder/logs/js8_decoder_lab_real_run_20260527T062127Z.zip [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T062127Z_real-run.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T062127Z_real-run_manifest.json [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T062127Z_server-deep-run.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T062127Z_server-deep-run_manifest.json