{
  "schema": "webftr-js8lab-daemon-status-v2",
  "version": "step88-real-wav-corpus-intake-status-slim",
  "created_utc": "2026-05-26T07:46:12Z",
  "updated_utc": "2026-05-28T05:48:39Z",
  "state": "diagnostics_ok",
  "detail": "Diagnose fertig",
  "exit_code": 0,
  "root": "/decoders/js8_decoder",
  "expected_root": "/decoders/js8_decoder",
  "wav": "/decoders/js8_test.wav",
  "mode": "real-wav-corpus-intake-status-slim",
  "start_guard": {
    "start_stops_existing_instance": true,
    "stale_pid_cleanup": true,
    "root_orphan_cleanup": true,
    "port_guard": true,
    "foreign_port_owner_not_killed": true
  },
  "server": {
    "host": "0.0.0.0",
    "port": 8000,
    "pid": 112430,
    "running": true,
    "log": "/decoders/js8_decoder/logs/js8_browser_server.log"
  },
  "diagnostics": {
    "pid": 112446,
    "running": false,
    "log": "/decoders/js8_decoder/logs/js8_start_diagnostics_latest.log",
    "last_command": "./run_js8_decoder_lab.sh real-wav-corpus-intake-status-slim /decoders/js8_test.wav"
  },
  "latest_chain_summary": {
    "available": true,
    "path": "/decoders/js8_decoder/logs/js8_real_wav_corpus_intake_status_latest.json",
    "stat": {
      "exists": true,
      "size": 3273,
      "mtime_utc": "2026-05-28T05:48:38Z"
    },
    "tool_version": "step88-real-wav-corpus-intake-status-slim",
    "created_utc": "2026-05-28T05:48:38Z",
    "verdict": "step88_waiting_for_additional_real_js8_freetext_wav",
    "wav_was_read": false,
    "planned_wav_count": 1,
    "tested_wav_count": 0,
    "data_frame_candidate_count": 0,
    "compressed_data_frame_candidate_count": 0,
    "extra_wav_count": 0,
    "discovered_wav_count": 1,
    "latest_step87_summary": {
      "path": "/decoders/js8_decoder/logs/js8_real_wav_corpus_data_frame_hunt_latest.json",
      "stat": {
        "path": "/decoders/js8_decoder/logs/js8_real_wav_corpus_data_frame_hunt_latest.json",
        "exists": true,
        "is_file": true,
        "size": 7303,
        "mtime_utc": "2026-05-28T05:20:57Z"
      },
      "available": true,
      "tool_version": "step87-real-wav-corpus-data-frame-hunt",
      "created_utc": "2026-05-28T05:20:57Z",
      "verdict": "step87_corpus_control_frames_only_no_data_frames",
      "tested_wav_count": 1,
      "planned_wav_count": 1,
      "data_frame_candidate_count": 0,
      "compressed_data_frame_candidate_count": 0,
      "unique_control_frame_total_across_wavs": 2
    },
    "operator_files": {
      "input_wavs_dir": "/decoders/js8_decoder/runtime/input_wavs",
      "fixtures_wavs_dir": "/decoders/js8_decoder/runtime/fixtures/wavs",
      "readme": "/decoders/js8_decoder/runtime/input_wavs/README_STEP88_WAV_CORPUS_INTAKE.md",
      "helper": "/decoders/js8_decoder/runtime/input_wavs/add_wav_to_corpus_step88.sh",
      "readme_stat": {
        "path": "/decoders/js8_decoder/runtime/input_wavs/README_STEP88_WAV_CORPUS_INTAKE.md",
        "exists": true,
        "is_file": true,
        "size": 427,
        "mtime_utc": "2026-05-28T05:48:38Z"
      },
      "helper_stat": {
        "path": "/decoders/js8_decoder/runtime/input_wavs/add_wav_to_corpus_step88.sh",
        "exists": true,
        "is_file": true,
        "size": 446,
        "mtime_utc": "2026-05-28T05:48:38Z"
      }
    },
    "next_action": "Add a real JS8 WAV with free-text/Data/Compressed transmission under runtime/input_wavs or set JS8LAB_WAV_CORPUS_DIRS, then rerun ./start.sh. If only /decoders/js8_test.wav is present, the known result remains two unique control frames and zero Data/Compressed frames."
  },
  "links": {
    "home": "/",
    "api_report": "/api/report",
    "api_status": "/api/status",
    "logs": "/logs/",
    "latest_log": "/logs/latest.log",
    "start_diagnostics_log": "/logs/js8_start_diagnostics_latest.log",
    "server_log": "/logs/js8_browser_server.log"
  },
  "rx_only_guard": {
    "tx": false,
    "ptt": false,
    "tune": false,
    "send": false,
    "js8call_runtime_control": false
  },
  "history": [
    {
      "utc": "2026-05-28T02:57:05Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T02:57:13Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:07:25Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:07:26Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:07:27Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:07:27Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: jsc-cpp-reference-map-transport-fix ",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:07:28Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:07:40Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:18:38Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:18:38Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:18:39Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:18:39Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: real-wav-full-chain-regression /decoders/js8_test.wav",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:18:40Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:19:11Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:38:58Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:38:58Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:38:59Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:38:59Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: real-wav-message174-regeneration /decoders/js8_test.wav",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:39:01Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:41:40Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:53:37Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:53:37Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:53:39Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T03:53:39Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: real-wav-status-surface-regression /decoders/js8_test.wav",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:53:40Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T03:56:11Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T04:10:53Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:10:53Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:10:54Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T04:10:54Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: real-wav-wide-data-frame-search /decoders/js8_test.wav",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:10:55Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:18:43Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T04:36:38Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:36:38Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:36:39Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T04:36:40Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: real-wav-unique-frame-census /decoders/js8_test.wav",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:36:41Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T04:44:08Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T05:11:47Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:11:47Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:11:48Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T05:11:48Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: real-wav-corpus-data-frame-hunt /decoders/js8_test.wav",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:11:50Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:21:01Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T05:48:36Z",
      "state": "restarting",
      "detail": "Start-Guard: bestehende JS8Lab-Instanz wird geprüft und beendet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:48:37Z",
      "state": "server_starting",
      "detail": "Browser-Logserver startet auf 0.0.0.0:8000",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:48:38Z",
      "state": "server_running",
      "detail": "Browser-Logserver läuft auf 0.0.0.0:8000",
      "exit_code": 0
    },
    {
      "utc": "2026-05-28T05:48:38Z",
      "state": "diagnostics_running",
      "detail": "Diagnose läuft: real-wav-corpus-intake-status-slim /decoders/js8_test.wav",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:48:39Z",
      "state": "diagnostics_running",
      "detail": "Diagnosejob im Hintergrund gestartet",
      "exit_code": null
    },
    {
      "utc": "2026-05-28T05:48:39Z",
      "state": "diagnostics_ok",
      "detail": "Diagnose fertig",
      "exit_code": 0
    }
  ],
  "status_file": "/decoders/js8_decoder/runtime/js8lab_status.json"
}