{
  "schema": "webftr-js8-decoder-lab-log-manifest-v2",
  "project": "WebFTR JS8 Decoder Lab",
  "version": "step96-manifest-status-evidence-polish",
  "status": "ok",
  "exit_code": 0,
  "command": "real-wav-corpus-data-frame-hunt",
  "timestamp_utc": "2026-05-28T10:11:18Z",
  "root": "/decoders/js8_decoder",
  "log_file": "/decoders/js8_decoder/logs/20260528T100132Z_real-wav-corpus-data-frame-hunt.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_corpus_plan_json": "/decoders/js8_decoder/logs/20260528T100132Z_real_wav_corpus_plan_output.json",
    "real_wav_corpus_plan_latest_json": "/decoders/js8_decoder/logs/js8_real_wav_corpus_plan_latest.json",
    "real_wav_corpus_data_frame_hunt_json": "/decoders/js8_decoder/logs/20260528T100132Z_real_wav_corpus_data_frame_hunt_output.json",
    "real_wav_corpus_data_frame_hunt_latest_json": "/decoders/js8_decoder/logs/js8_real_wav_corpus_data_frame_hunt_latest.json",
    "result_list_file": "/decoders/js8_decoder/logs/20260528T100132Z_step87_result_jsons.txt"
  },
  "step87": {
    "requested_path": "/decoders/js8_test.wav",
    "resolved_primary_wav": "/decoders/js8_test.wav",
    "nested_failure_code": 0,
    "summary_exit_code": 0
  },
  "next_step": "If Step87 still reports Data/Compressed=0, add a WAV with a known JS8 free-text/Data/Compressed transmission under runtime/input_wavs or set JS8LAB_WAV_CORPUS_DIRS. If Data/Compressed appears, route it to the guarded text/release gate."
}