[js8.sh job] utc=2026-05-27T19:39:42Z [js8.sh job] build=step76-real-compressed-fixture-intake-helper [js8.sh job] root=/decoders/js8_decoder [js8.sh job] command=./run_js8_decoder_lab.sh real-compressed-fixture-intake-helper [js8.sh job] rx-only: no TX / no PTT / no Tune / no Send [webftr-js8-lab] command=real-compressed-fixture-intake-helper [webftr-js8-lab] root=/decoders/js8_decoder [webftr-js8-lab] log=/decoders/js8_decoder/logs/20260527T193942Z_real-compressed-fixture-intake-helper.log [webftr-js8-lab] manifest=/decoders/js8_decoder/logs/20260527T193942Z_real-compressed-fixture-intake-helper_manifest.json [webftr-js8-lab] utc=20260527T193942Z [webftr-js8-lab] rx-only guard: no TX / no PTT / no Tune / no Send [webftr-js8-lab] Step76 real compressed FrameDataCompressed fixture intake helper [webftr-js8-lab] fixture JSON or source-dir argument: auto-detect runtime/fixtures + source + JS8LAB_FIXTURE_* env [webftr-js8-lab] JSON output: /decoders/js8_decoder/logs/20260527T193942Z_real_fixture_intake_helper_output.json [webftr-js8-lab] JSON timeout guard: 180s { "ok": true, "tool": "webftr-js8-real-compressed-fixture-intake-helper", "tool_version": "step76-real-compressed-fixture-intake-helper", "schema": "webftr-js8-real-compressed-fixture-intake-helper-v1", "rx_only_guard": { "tx": false, "ptt": false, "tune": false, "send": false, "js8call_runtime_control": false, "webftr_productive_integration": false }, "no_gui_runtime_started": true, "root": "/decoders/js8_decoder", "log_dir": "/decoders/js8_decoder/logs", "state": "fixture_intake_ready_waiting_for_real_values", "intake_errors": [], "operator_input_seen": false, "normalized_message174": null, "target_fixture_file": "/decoders/js8_decoder/runtime/fixtures/js8_compressed_frame_fixtures.json", "fixture_write_result": null, "helper_files": { "readme": "/decoders/js8_decoder/runtime/fixtures/README_STEP76_REAL_FIXTURE_INTAKE.md", "shell_helper": "/decoders/js8_decoder/runtime/fixtures/add_real_js8_fixture_step76.sh" }, "step75_summary": { "tool_version": "step75-real-compressed-fixture-capture-request", "state": "waiting_for_real_compressed_framedata_fixture", "next_action": "Fill runtime/fixtures/js8_compressed_frame_fixtures.json from the generated template, then rerun Step75.", "step74_gate_summary": { "tool_version": "step75-real-compressed-fixture-capture-request", "verdict": "fixture_gate_selftest_ready_waiting_for_real_compressed_frame_fixture", "next_action": "Add a real fixture JSON under runtime/fixtures/js8_compressed_frame_fixtures.json or pass it as argument to Step74.", "source_found": true, "jsc_entry_count": 200000, "external_fixture_count": 0, "external_fixture_pass_count": 0, "external_source_comparison_pass_count": 0, "synthetic_selftest_fixture_count": 8, "synthetic_selftest_pass_count": 8, "synthetic_selftest_all_passed": true, "webftr_display_count": 0 }, "target_fixture_file": "/decoders/js8_decoder/runtime/fixtures/js8_compressed_frame_fixtures.json", "written_template": "/decoders/js8_decoder/runtime/fixtures/js8_compressed_frame_fixtures.template.json" }, "webftr_rx_rows": [], "webftr_display_count": 0, "webftr_adapter_hint": { "safe_to_poll_read_only": true, "productive_integration": false, "do_not_merge_as_chat_text_yet": true, "step68_contract_remains_current_ui_source": true, "step76_intake_latest": "/logs/js8_real_fixture_intake_helper_latest.json", "step75_request_latest": "/logs/js8_real_compressed_fixture_request_latest.json", "step74_gate_latest": "/logs/js8_compressed_frame_fixture_gate_latest.json" }, "one_command_examples": [ "JS8LAB_FIXTURE_MESSAGE174='12CHARSxxxxx' JS8LAB_FIXTURE_EXPECTED_TEXT='HELLO' JS8LAB_FIXTURE_REFERENCE='JS8Call reference log line' JS8LAB_FIXTURE_CONFIRM_EXTERNAL=1 ./RUN_JS8_STEP76_REAL_FIXTURE_INTAKE_HELPER.sh", "runtime/fixtures/add_real_js8_fixture_step76.sh 12CHARSxxxxx 'HELLO' 'JS8Call reference log line' /decoders/js8_test.wav" ], "warnings": [ "Step76 only imports and validates a real/reference compressed fixture; it does not release WebFTR chat text.", "A fixture must be externally confirmed against JS8Call/JS8Call-Improved or a trusted RF comparison before it can be used for a release gate.", "The package remains RX-only and never starts JS8Call GUI/runtime control or TX/PTT/Tune/Send actions." ], "next_action": "Use runtime/fixtures/add_real_js8_fixture_step76.sh or JS8LAB_FIXTURE_* environment variables to import one real JS8Call/RF comparison frame.", "stable_latest_written": "/decoders/js8_decoder/logs/js8_real_fixture_intake_helper_latest.json" } [webftr-js8-lab] OK [webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T193942Z_real-compressed-fixture-intake-helper.log [webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T193942Z_real-compressed-fixture-intake-helper_manifest.json [js8.sh job] finished utc=2026-05-27T19:39:47Z exit_code=0