diagnostics_ok/decoders/js8_decoder/decoders/js8_test.wav?t=1779951003691Noch kein Bundle.
0,
"valid_extra_wav_count": 0,
"invalid_wav_count": 0,
"invalid_extra_wav_count": 0,
"primary_wav_valid": true,
"planned_wavs": [
{
"path": "/decoders/js8_test.wav",
"source": "primary",
"stat": {
"path": "/decoders/js8_test.wav",
"exists": true,
"is_file": true,
"size": 4608442,
"mtime_utc": "2026-05-26T06:05:27Z"
}
}
],
"validation_results": [
{
"path": "/decoders/js8_test.wav",
"source": "primary",
"stat": {
"path": "/decoders/js8_test.wav",
"exists": true,
"is_file": true,
"size": 4608442,
"mtime_utc": "2026-05-26T06:05:27Z"
},
"exists": true,
"is_file": true,
"readable_wav": true,
"valid_for_corpus_hunt": true,
"warnings": [],
"errors": [],
"sha256_first_2m": "c049995adf22be86b9acd8d57a566fba642f877fbcd24c1c120463a665956fbf",
"channels": 1,
"sample_width_bytes": 2,
"sample_rate_hz": 12000,
"frames": 2304199,
"duration_seconds": 192.017,
"compression_type": "NONE"
}
],
"valid_extra_wavs": [],
"invalid_wavs": [],
"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
},
"previous_step89_summary": {
"path": "/decoders/js8_decoder/logs/js8_real_wav_corpus_auto_handoff_latest.json",
"stat": {
"path": "/decoders/js8_decoder/logs/js8_real_wav_corpus_auto_handoff_latest.json",
"exists": true,
"is_file": true,
"size": 4026,
"mtime_utc": "2026-05-28T06:14:28Z"
},
"available": true,
"tool_version": "step89-real-wav-corpus-auto-handoff",
"created_utc": "2026-05-28T06:14:28Z",
"verdict": "step89_waiting_for_additional_real_js8_freetext_wav",
"action": "wait_for_extra_wav",
"full_hunt_ran": false,
"data_frame_candidate_count": 0,
"compressed_data_frame_candidate_count": 0
},
"previous_step90_summary": {
"path": "/decoders/js8_decoder/logs/js8_real_wav_intake_validator_auto_handoff_latest.json",
"stat": {
"path": "/decoders/js8_decoder/logs/js8_real_wav_intake_validator_auto_handoff_latest.json",
"exists": true,
"is_file": true,
"size": 6408,
"mtime_utc": "2026-05-28T06:38:59Z"
},
"available": true,
"tool_version": "step90-real-wav-intake-validator-auto-handoff",
"created_utc": "2026-05-28T06:38:59Z",
"verdict": "step90_waiting_for_valid_additional_real_js8_freetext_wav",
"action": "wait_for_extra_wav",
"full_hunt_ran": false,
"valid_extra_wav_count": 0,
"invalid_wav_count": 0,
"data_frame_candidate_count": 0,
"compressed_data_frame_candidate_count": 0
},
"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-28T06:38:59Z"
},
"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-28T06:38:59Z"
}
},
"step90_operator_files": {
"input_wavs_dir": "/decoders/js8_decoder/runtime/input_wavs",
"readme": "/decoders/js8_decoder/runtime/input_wavs/README_STEP90_WAV_INTAKE_VALIDATOR.md",
"helper": "/decoders/js8_decoder/runtime/input_wavs/validate_wav_corpus_step90.sh",
"readme_stat": {
"path": "/decoders/js8_decoder/runtime/input_wavs/README_STEP90_WAV_INTAKE_VALIDATOR.md",
"exists": true,
"is_file": true,
"size": 415,
"mtime_utc": "2026-05-28T06:38:59Z"
},
"helper_stat": {
"path": "/decoders/js8_decoder/runtime/input_wavs/validate_wav_corpus_step90.sh",
"exists": true,
"is_file": true,
"size": 194,
"mtime_utc": "2026-05-28T06:38:59Z"
}
},
"after_hunt": false,
"force_hunt": false,
"full_hunt_ran": false,
"data_frame_candidate_count": 0,
"compressed_data_frame_candidate_count": 0,
"action": "wait_for_extra_wav",
"verdict": "step90_waiting_for_valid_additional_real_js8_freetext_wav",
"warnings": [
"Step90 still does not release JS8 free text directly.",
"The primary /decoders/js8_test.wav is a control-frame reference and is not counted as an extra WAV.",
"Only valid extra WAVs trigger the full Step87 corpus hunt automatically."
],
"next_action": "Add a real JS8 WAV with free-text/Data/Compressed transmission to runtime/input_wavs or set JS8LAB_WAV_CORPUS_DIRS. Step90 validates the WAV first and then auto-runs the full corpus hunt only when a valid extra WAV is present. If Data/Compressed candidates appear, route them to the guarded release gate."
}
[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260528T063859Z_real-wav-intake-validator-auto-handoff.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260528T063859Z_real-wav-intake-validator-auto-handoff_manifest.json
Auto-Refresh alle 5 Sekunden mit frischem ?t=.... RX-only: kein TX, kein PTT, kein Tune, kein Send.