{
  "schema": "webftr-js8-decoder-lab-log-manifest-v2",
  "project": "WebFTR JS8 Decoder Lab",
  "version": "step84-real-wav-status-surface-report-slim",
  "status": "ok",
  "exit_code": 0,
  "command": "real-wav-status-surface-regression",
  "timestamp_utc": "2026-05-28T03:56:09Z",
  "root": "/decoders/js8_decoder",
  "log_file": "/decoders/js8_decoder/logs/20260528T035339Z_real-wav-status-surface-regression.log",
  "python": "3.11.2",
  "platform": "Linux-6.12.75+rpt-rpi-v8-aarch64-with-glibc2.36",
  "rx_only_guard": {
    "tx": false,
    "ptt": false,
    "tune": false,
    "send": false,
    "note": "This lab wrapper performs RX-only WAV/source inspection and never starts JS8Call runtime TX actions."
  },
  "outputs": {
    "real_wav_message174_regeneration_json": "/decoders/js8_decoder/logs/20260528T035339Z_real_wav_message174_regeneration_output.json",
    "real_wav_message174_regeneration_latest_json": "/decoders/js8_decoder/logs/js8_real_wav_message174_regeneration_latest.json",
    "input_check_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_input_check_output.json",
    "quick_window_scan_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_quick_window_scan_output.json",
    "candidate_export_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_candidate_export_output.json",
    "post_ldpc_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_post_ldpc_info87_runtime_export_output.json",
    "source_exact_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_source_exact_map_probe_output.json",
    "message174_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_source_confirmed_message174_decode_output.json",
    "varicode_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_source_varicode_frame_unpack_probe_output.json",
    "rx_release_json": "/decoders/js8_decoder/logs/20260528T035339Z_step83_source_confirmed_control_frame_rx_release_output.json"
  },
  "step83": {
    "requested_path": "/decoders/js8_test.wav",
    "resolved_wav": "/decoders/js8_test.wav",
    "analysis_wav": "/decoders/js8_decoder/runtime/step83_quick_windows/js8_quick_selected_window.wav",
    "input_check_exit_code": 0,
    "quick_window_scan_exit_code": 0,
    "candidate_export_exit_code": 0,
    "post_ldpc_exit_code": 0,
    "source_exact_exit_code": 0,
    "message174_exit_code": 0,
    "varicode_exit_code": 0,
    "rx_release_exit_code": 0,
    "summary_exit_code": 0
  },
  "next_step": "Inspect /api/status latest_chain_summary and Step84 latest JSON. If message174/control-frame regeneration from the real WAV is confirmed, continue with wider real-WAV FrameDataCompressed search or a real JS8Call/RF fixture."
}