diagnostics_ok/decoders/js8_decoder/decoders/js8_test.wav?t=1779908993932 ]
}
]
},
"input_reports": [
{
"path": "/decoders/js8_decoder/logs/20260527T183918Z_data_frame_text_unpack_probe_output.json",
"exists": true,
"selected_latest": true,
"input_kind": "step70_data_frame_probe"
},
{
"path": "/decoders/js8_decoder/logs/20260527T180708Z_source_varicode_frame_unpack_probe_output.json",
"exists": true,
"selected_latest": true,
"input_kind": "step66_frame_unpack"
},
{
"path": "/decoders/js8_decoder/logs/20260527T180708Z_source_confirmed_control_frame_rx_release_output.json",
"exists": true,
"selected_latest": true,
"input_kind": "step67_control_release"
},
{
"path": "/decoders/js8_decoder/logs/20260527T180708Z_source_confirmed_message174_decode_output.json",
"exists": true,
"selected_latest": true,
"input_kind": "step64_message174"
}
],
"source_bridge_contract": {
"message174_to_bits72": "unpack72bits(message174_text) -> 64-bit value + 8-bit remainder",
"compressed_frame_requirement": "bits72[0]=1 and bits72[1]=1",
"jsc_payload_bitvec": "bits72[2:last_zero] where last_zero is the final zero delimiter",
"decompress_target": "Step72 jsc_decompress_bits/JSC::decompress port",
"chat_release": "disabled in Step73; diagnostics and fixture validation only"
},
"current_fixture_has_compressed_data_frames": false,
"compressed_candidate_count": 0,
"compressed_candidate_rows": [],
"synthetic_compressed_selftest_fixtures": [
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "CQ",
"map_index": 121,
"separate": false,
"payload_bitvec": "0111111000100",
"message174_text_12chars": "tuZ+++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "CQ",
"expected_text": "CQ",
"passes": true,
"bridge": {
"message_text_12chars": "tuZ+++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "110111111000100011111111111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 15,
"payload_bit_count": 13,
"payload_bitvec": "0111111000100",
"payload_preview_bits": "0111111000100",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
},
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "CQ",
"map_index": 121,
"separate": true,
"payload_bitvec": "0111111000101",
"message174_text_12chars": "tuh+++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "CQ ",
"expected_text": "CQ ",
"passes": true,
"bridge": {
"message_text_12chars": "tuh+++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "110111111000101011111111111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 15,
"payload_bit_count": 13,
"payload_bitvec": "0111111000101",
"payload_preview_bits": "0111111000101",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
},
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "TEST",
"map_index": 240,
"separate": false,
"payload_bitvec": "1001110100100",
"message174_text_12chars": "vqZ+++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "TEST",
"expected_text": "TEST",
"passes": true,
"bridge": {
"message_text_12chars": "vqZ+++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "111001110100100011111111111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 15,
"payload_bit_count": 13,
"payload_bitvec": "1001110100100",
"payload_preview_bits": "1001110100100",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
},
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "TEST",
"map_index": 240,
"separate": true,
"payload_bitvec": "1001110100101",
"message174_text_12chars": "vqh+++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "TEST ",
"expected_text": "TEST ",
"passes": true,
"bridge": {
"message_text_12chars": "vqh+++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "111001110100101011111111111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 15,
"payload_bit_count": 13,
"payload_bitvec": "1001110100101",
"payload_preview_bits": "1001110100101",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
},
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "HELLO",
"map_index": 6571,
"separate": false,
"payload_bitvec": "011110001011100001010",
"message174_text_12chars": "tYuK++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "HELLO",
"expected_text": "HELLO",
"passes": true,
"bridge": {
"message_text_12chars": "tYuK++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "110111100010111000010100111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 23,
"payload_bit_count": 21,
"payload_bitvec": "011110001011100001010",
"payload_preview_bits": "011110001011100001010",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
},
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "HELLO",
"map_index": 6571,
"separate": true,
"payload_bitvec": "011110001011100001011",
"message174_text_12chars": "tYuM++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "HELLO ",
"expected_text": "HELLO ",
"passes": true,
"bridge": {
"message_text_12chars": "tYuM++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "110111100010111000010110111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 23,
"payload_bit_count": 21,
"payload_bitvec": "011110001011100001011",
"payload_preview_bits": "011110001011100001011",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
},
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "DE",
"map_index": 125,
"separate": false,
"payload_bitvec": "0111111001100",
"message174_text_12chars": "tvZ+++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "DE",
"expected_text": "DE",
"passes": true,
"bridge": {
"message_text_12chars": "tvZ+++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "110111111001100011111111111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 15,
"payload_bit_count": 13,
"payload_bitvec": "0111111001100",
"payload_preview_bits": "0111111001100",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
},
{
"fixture_kind": "synthetic_single_frame_FrameDataCompressed_JSC_word",
"fixture_word": "DE",
"map_index": 125,
"separate": true,
"payload_bitvec": "0111111001101",
"message174_text_12chars": "tvh+++++++++",
"frame_probe_type": "FrameDataCompressed",
"decoded_text": "DE ",
"expected_text": "DE ",
"passes": true,
"bridge": {
"message_text_12chars": "tvh+++++++++",
"ok": true,
"is_data": true,
"compressed": true,
"release_allowed": false,
"release_guard": "step73_diagnostics_only_no_chat_release",
"bits72_preview": "110111111001101011111111111111111111111111111111111111111111111111111111",
"top2_bits": "11",
"last_zero_index": 15,
"payload_bit_count": 13,
"payload_bitvec": "0111111001101",
"payload_preview_bits": "0111111001101",
"source_bridge_contract": "unpack72bits -> bits72; require bit0=data and bit1=compressed; pass bits[2:last_zero] to JSC::decompress",
"bridge_status": "compressed_payload_bitvec_ready"
}
}
],
"selftest_fixture_count": 8,
"selftest_fixture_pass_count": 8,
"selftest_all_passed": true,
"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,
"candidate_latest_file": "/logs/js8_varicode_compressed_bitslice_jsc_bridge_latest.json"
},
"warnings": [
"Step73 validates the Varicode compressed bit-slice bridge to the JSC decompressor, but keeps chat display blocked.",
"Synthetic single-frame compressed fixtures are not a substitute for real RF/JS8Call comparison fixtures.",
"Multi-frame assembly and final display-release plausibility are still future steps."
],
"verdict": "compressed_bitslice_jsc_bridge_selftest_ready_no_current_compressed_frames",
"next_action": "Capture or inject a real FrameDataCompressed row; then validate JSC text against JS8Call before any WebFTR chat release.",
"stable_latest_written": "/decoders/js8_decoder/logs/js8_varicode_compressed_bitslice_jsc_bridge_latest.json"
}
[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260527T190533Z_varicode-compressed-bitslice-jsc-bridge-probe.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260527T190533Z_varicode-compressed-bitslice-jsc-bridge-probe_manifest.json
Auto-Refresh alle 5 Sekunden mit frischem ?t=.... RX-only: kein TX, kein PTT, kein Tune, kein Send.