{
  "schema": "webftr-js8-decoder-lab-log-manifest-v2",
  "project": "WebFTR JS8 Decoder Lab",
  "version": "step68-webftr-rx-ui-contract-export",
  "status": "ok",
  "exit_code": 0,
  "command": "webftr-rx-ui-contract-export",
  "timestamp_utc": "2026-05-27T18:07:12Z",
  "root": "/decoders/js8_decoder",
  "log_file": "/decoders/js8_decoder/logs/20260527T180708Z_webftr-rx-ui-contract-export.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": {
    "webftr_rx_ui_contract_json": "/decoders/js8_decoder/logs/20260527T180708Z_webftr_rx_ui_contract_output.json",
    "webftr_rx_ui_contract_latest_json": "/decoders/js8_decoder/logs/js8_webftr_rx_ui_contract_latest.json",
    "source_confirmed_control_frame_rx_release_json": "/decoders/js8_decoder/logs/20260527T180708Z_source_confirmed_control_frame_rx_release_output.json",
    "source_varicode_frame_unpack_probe_json": "/decoders/js8_decoder/logs/20260527T180708Z_source_varicode_frame_unpack_probe_output.json",
    "source_confirmed_message174_decode_json": "/decoders/js8_decoder/logs/20260527T180708Z_source_confirmed_message174_decode_output.json"
  },
  "input_arg": "",
  "source_arg": "",
  "next_step": "Use Step68 as a read-only WebFTR JS8 RX preview contract, then continue JSC::decompress/multi-frame assembly for free text."
}