JS8Lab step81-jsc-cpp-reference-map-transport-fix

Status

FERTIG / BEREIT

State: diagnostics_ok
Detail: Diagnose fertig
Diagnose läuft: nein Server läuft: ja
Letzte Manifest-Auswertung: ok
Version: step81-jsc-cpp-reference-map-transport-fix
Root: /decoders/js8_decoder
WAV: /decoders/js8_test.wav

Links

/api/status frisch /api/report frisch /logs/ frisch Diagnose-Startlog frisch Lab latest.log frisch Report JSON frisch
Cache-Buster dieses Abrufs: ?t=1779937968524

Bundles

js8_decoder_lab_real_run_20260527T110128Z.zip 5270021 B
js8_decoder_lab_real_run_20260527T104133Z.zip 4699383 B
js8_decoder_lab_full_audit_20260527T100315Z.zip 4129065 B
js8_decoder_lab_full_audit_20260527T084305Z.zip 4007964 B
js8_decoder_lab_real_run_20260527T082046Z.zip 4028163 B
js8_decoder_lab_real_run_20260527T080216Z.zip 3541087 B
js8_decoder_lab_real_run_20260527T073615Z.zip 3065595 B
js8_decoder_lab_real_run_20260527T072638Z.zip 2615145 B
js8_decoder_lab_real_run_20260527T070658Z.zip 2232505 B
js8_decoder_lab_real_run_20260527T064500Z.zip 1771764 B
js8_decoder_lab_real_run_20260527T062127Z.zip 1595958 B
js8_decoder_lab_real_run_20260527T055654Z.zip 1408988 B

Latest log tail

000101",
        "python_text": "CQ ",
        "cpp_text": "CQ ",
        "expected_text": "CQ ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 240,
        "word": "TEST",
        "separate": false,
        "bits": "1001110100100",
        "python_text": "TEST",
        "cpp_text": "TEST",
        "expected_text": "TEST",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 240,
        "word": "TEST",
        "separate": true,
        "bits": "1001110100101",
        "python_text": "TEST ",
        "cpp_text": "TEST ",
        "expected_text": "TEST ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 6571,
        "word": "HELLO",
        "separate": false,
        "bits": "011110001011100001010",
        "python_text": "HELLO",
        "cpp_text": "HELLO",
        "expected_text": "HELLO",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 6571,
        "word": "HELLO",
        "separate": true,
        "bits": "011110001011100001011",
        "python_text": "HELLO ",
        "cpp_text": "HELLO ",
        "expected_text": "HELLO ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 125,
        "word": "DE",
        "separate": false,
        "bits": "0111111001100",
        "python_text": "DE",
        "cpp_text": "DE",
        "expected_text": "DE",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 125,
        "word": "DE",
        "separate": true,
        "bits": "0111111001101",
        "python_text": "DE ",
        "cpp_text": "DE ",
        "expected_text": "DE ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 0,
        "word": "E",
        "separate": false,
        "bits": "00000",
        "python_text": "E",
        "cpp_text": "E",
        "expected_text": "E",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 0,
        "word": "E",
        "separate": true,
        "bits": "00001",
        "python_text": "E ",
        "cpp_text": "E ",
        "expected_text": "E ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 1,
        "word": "T",
        "separate": false,
        "bits": "00010",
        "python_text": "T",
        "cpp_text": "T",
        "expected_text": "T",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 1,
        "word": "T",
        "separate": true,
        "bits": "00011",
        "python_text": "T ",
        "cpp_text": "T ",
        "expected_text": "T ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 2,
        "word": "A",
        "separate": false,
        "bits": "00100",
        "python_text": "A",
        "cpp_text": "A",
        "expected_text": "A",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 2,
        "word": "A",
        "separate": true,
        "bits": "00101",
        "python_text": "A ",
        "cpp_text": "A ",
        "expected_text": "A ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 67,
        "word": " ",
        "separate": false,
        "bits": "111101000",
        "python_text": " ",
        "cpp_text": " ",
        "expected_text": " ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 67,
        "word": " ",
        "separate": true,
        "bits": "111101001",
        "python_text": "  ",
        "cpp_text": "  ",
        "expected_text": "  ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 3,
        "word": "O",
        "separate": false,
        "bits": "00110",
        "python_text": "O",
        "cpp_text": "O",
        "expected_text": "O",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 3,
        "word": "O",
        "separate": true,
        "bits": "00111",
        "python_text": "O ",
        "cpp_text": "O ",
        "expected_text": "O ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 6,
        "word": "S",
        "separate": false,
        "bits": "01100",
        "python_text": "S",
        "cpp_text": "S",
        "expected_text": "S",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 6,
        "word": "S",
        "separate": true,
        "bits": "01101",
        "python_text": "S ",
        "cpp_text": "S ",
        "expected_text": "S ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 7,
        "word": "H",
        "separate": false,
        "bits": "011100000",
        "python_text": "H",
        "cpp_text": "H",
        "expected_text": "H",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 7,
        "word": "H",
        "separate": true,
        "bits": "011100001",
        "python_text": "H ",
        "cpp_text": "H ",
        "expected_text": "H ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 8,
        "word": "R",
        "separate": false,
        "bits": "011100010",
        "python_text": "R",
        "cpp_text": "R",
        "expected_text": "R",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 8,
        "word": "R",
        "separate": true,
        "bits": "011100011",
        "python_text": "R ",
        "cpp_text": "R ",
        "expected_text": "R ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 15,
        "word": "F",
        "separate": false,
        "bits": "100000010",
        "python_text": "F",
        "cpp_text": "F",
        "expected_text": "F",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 15,
        "word": "F",
        "separate": true,
        "bits": "100000011",
        "python_text": "F ",
        "cpp_text": "F ",
        "expected_text": "F ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 31,
        "word": ")",
        "separate": false,
        "bits": "101000110",
        "python_text": ")",
        "cpp_text": ")",
        "expected_text": ")",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 31,
        "word": ")",
        "separate": true,
        "bits": "101000111",
        "python_text": ") ",
        "cpp_text": ") ",
        "expected_text": ") ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 100,
        "word": "BD",
        "separate": false,
        "bits": "0111101100100",
        "python_text": "BD",
        "cpp_text": "BD",
        "expected_text": "BD",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 100,
        "word": "BD",
        "separate": true,
        "bits": "0111101100101",
        "python_text": "BD ",
        "cpp_text": "BD ",
        "expected_text": "BD ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 1000,
        "word": "TNU",
        "separate": false,
        "bits": "01111100110101100",
        "python_text": "TNU",
        "cpp_text": "TNU",
        "expected_text": "TNU",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 1000,
        "word": "TNU",
        "separate": true,
        "bits": "01111100110101101",
        "python_text": "TNU ",
        "cpp_text": "TNU ",
        "expected_text": "TNU ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 12345,
        "word": "EB33",
        "separate": false,
        "bits": "100010011100111001000",
        "python_text": "EB33",
        "cpp_text": "EB33",
        "expected_text": "EB33",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 12345,
        "word": "EB33",
        "separate": true,
        "bits": "100010011100111001001",
        "python_text": "EB33 ",
        "cpp_text": "EB33 ",
        "expected_text": "EB33 ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 199999,
        "word": "LSYR",
        "separate": false,
        "bits": "1010100101111100101100100",
        "python_text": "LSYR",
        "cpp_text": "LSYR",
        "expected_text": "LSYR",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      },
      {
        "index": 199999,
        "word": "LSYR",
        "separate": true,
        "bits": "1010100101111100101100101",
        "python_text": "LSYR ",
        "cpp_text": "LSYR ",
        "expected_text": "LSYR ",
        "python_complete": true,
        "cpp_complete": true,
        "passes": true
      }
    ]
  },
  "release_gate_status": {
    "compressed_text_release_allowed": false,
    "productive_webftr_integration_allowed": false,
    "step79_release_gate_still_required": true,
    "external_fixture_still_required": true,
    "multi_frame_assembly_validated": false
  },
  "webftr_adapter_hint": {
    "safe_to_poll_read_only": true,
    "productive_integration": false,
    "step68_contract_remains_current_stable_ui_source": true,
    "cpp_reference_latest": "/logs/js8_jsc_cpp_reference_compare_latest.json",
    "do_not_merge_as_productive_chat_text_yet": true
  },
  "warnings": [
    "Step81 compares the Python JSC decompressor against an independent C++ harness using the source-extracted JSC map with a hex length-safe map transport.",
    "It still does not prove a real RF/JS8Call FrameDataCompressed text fixture.",
    "Compressed JS8 free-text release remains blocked until Step79 sees an externally confirmed fixture.",
    "RX-only safety remains enforced: no JS8Call runtime control and no TX/PTT/Tune/Send."
  ],
  "map_transport_fix": {
    "previous_step80_issue": "line-delimited-map-transport-corrupted-words-with-embedded-newlines-or-control-bytes",
    "current_transport": "hex-lines-utf8-v1",
    "purpose": "keep Python and C++ harness map indices byte-identical"
  },
  "verdict": "step81_cpp_reference_compare_passed_waiting_for_real_external_fixture",
  "next_action": "Import one externally confirmed compressed FrameDataCompressed fixture, then rerun Step79/Step81 before any lab text release.",
  "stable_latest_written": "/decoders/js8_decoder/logs/js8_jsc_cpp_reference_compare_latest.json"
}

[webftr-js8-lab] OK
[webftr-js8-lab] log file: /decoders/js8_decoder/logs/20260528T030727Z_jsc-cpp-reference-map-transport-fix.log
[webftr-js8-lab] manifest: /decoders/js8_decoder/logs/20260528T030727Z_jsc-cpp-reference-map-transport-fix_manifest.json

Auto-Refresh alle 5 Sekunden mit frischem ?t=.... RX-only: kein TX, kein PTT, kein Tune, kein Send.