{
  "version": 1,
  "run_id": "id-881ba51b371247",
  "config": {
    "noise": "native",
    "echo": true,
    "regulator": "none",
    "normalization": "baseline",
    "silence": 450,
    "partial": 500,
    "mode": "redecode",
    "session": "id-d131543cbb7b00",
    "run": "id-881ba51b371247"
  },
  "details": {
    "browser_results": [
      {
        "browser_ms": 5930.9000000003725,
        "event": {
          "version": 1,
          "result_type": "final",
          "session_id": "id-d131543cbb7b00",
          "stream_id": "id-d002c4fc710eb8",
          "phrase_id": "id-d6d0ecaadce9ff",
          "revision": 2,
          "text": "Покажи маршрут на карте и расскажи, какая там сейчас погода.",
          "traceparent": "00-57d2f0949c127e188a709b16df64ccea-2d3572033c2940a4-01",
          "timings": {
            "version": 1,
            "asr": {
              "backend": "streaming_worker",
              "worker_queue_ms": 0.16416609287261963,
              "worker_decode_ms": 177.76666209101677,
              "decode_count": 1,
              "otel_trace_id": "57d2f0949c127e188a709b16df64ccea",
              "otel_span_id": "73331733d3cf4297",
              "last_speech_to_final_ms": 191.71037152409554
            }
          }
        }
      }
    ],
    "ready": {
      "type": "ready",
      "session_id": "id-d131543cbb7b00",
      "stream_id": "id-d002c4fc710eb8",
      "sample_rate": 16000,
      "asr_backend": "streaming_worker"
    },
    "connect_ms": 675.5,
    "sample_rate": 48000,
    "muted_without_capture": true,
    "control_flush_batch_samples": 12800,
    "control_pacing": "ingress_checkpoint_ack",
    "control_ack_reads": 26,
    "control_ack_samples": 323200,
    "capture_state": "muted",
    "mute_ms": 5649.0999999996275,
    "total_ms": 12623.300000000745,
    "sent_sequence": 102,
    "server_dropped": 0
  },
  "errors": [],
  "end": {
    "status": 200,
    "data": {
      "ok": true,
      "type": "stopped",
      "error": null
    }
  },
  "clock": "browser performance and ingress owner are independent",
  "item": {
    "run_id": "id-881ba51b371247",
    "kind": "control",
    "stage": 3,
    "scenario": 3,
    "profile": "input",
    "config": {
      "noise": "native",
      "echo": true,
      "regulator": "none",
      "normalization": "baseline",
      "silence": 450,
      "partial": 500,
      "mode": "redecode"
    },
    "reference": "Длинная нестабильная фраза может упереться в восьмисекундное окно.\nОкно сокращается после совпадения слов двух decode. Если устойчивый префикс не появляется, дальнейший рост приводит к overflow. Тест длинной фразы существует, но использует символический decoder, а не реальный Whisper",
    "expected_finals": 1,
    "seconds": 20.2126875,
    "pcm_id": "678bac9380468550d886b4bddbae2ba44d778174fa67bf3cad684b0b738707f5",
    "cache_key": "fde0344f8747f3e90270f43ab9e4f607ca813ac45ea0c05a846576c902f2b4ab",
    "parent_run": "id-0ce1f63602a83d"
  },
  "stages": {
    "ingress": {
      "wav": "audio/d7c6abf0d1445c0b797e804894efa38aed4ecf6cd78df960a93386c8ace1c0b4.wav",
      "waveform_sha256": "d7c6abf0d1445c0b797e804894efa38aed4ecf6cd78df960a93386c8ace1c0b4",
      "file_sha256": "c5d9d549ba3e70b8279b5f5f373446c2a70c71adc9d108883fe0739cdeddb62a",
      "rate": 16000,
      "metrics": {
        "samples": 323520,
        "sample_rate": 16000,
        "seconds": 20.22,
        "rms_dbfs": -23.413892841405513,
        "peak_dbfs": -2.9992390013763655,
        "near_clip_fraction_0_98": 0.0,
        "full_scale_fraction": 0.0
      }
    },
    "decoder": {
      "wav": "audio/36b39179a1062597a908533735358a21e43fb1a9950e4c4f6ca976a6fe16eee1.wav",
      "waveform_sha256": "36b39179a1062597a908533735358a21e43fb1a9950e4c4f6ca976a6fe16eee1",
      "file_sha256": "d439238dd1b9c8a4eecdb6648e888fe22580b8ebb77cf9f78fc63e6dd79d91c1",
      "rate": 16000,
      "metrics": {
        "samples": 323520,
        "sample_rate": 16000,
        "seconds": 20.22,
        "rms_dbfs": -23.413892841405513,
        "peak_dbfs": -2.9992390013763655,
        "near_clip_fraction_0_98": 0.0,
        "full_scale_fraction": 0.0
      }
    }
  },
  "windows": {
    "id-d6d0ecaadce9ff:1:worker_input": {
      "version": 1,
      "run_id": "id-881ba51b371247",
      "stage": "worker_input",
      "sequence": 1,
      "chunk": 0,
      "chunks": 27,
      "dropped": 0,
      "instance_id": "id-8fec8777b74e7c",
      "phrase_id": "id-d6d0ecaadce9ff",
      "window": 1,
      "offset_samples": 0,
      "final": true,
      "sample_rate": 16000,
      "sample_width": 2,
      "format": "pcm16le",
      "pcm_sha256": "17ea3a994db067f0cd8720712e6a0dd682e65698fca576bafe4223220784b337",
      "wav": "audio/d7c6abf0d1445c0b797e804894efa38aed4ecf6cd78df960a93386c8ace1c0b4.wav",
      "waveform_sha256": "d7c6abf0d1445c0b797e804894efa38aed4ecf6cd78df960a93386c8ace1c0b4",
      "file_sha256": "c5d9d549ba3e70b8279b5f5f373446c2a70c71adc9d108883fe0739cdeddb62a",
      "rate": 16000,
      "metrics": {
        "samples": 323520,
        "sample_rate": 16000,
        "seconds": 20.22,
        "rms_dbfs": -23.413892841405513,
        "peak_dbfs": -2.9992390013763655,
        "near_clip_fraction_0_98": 0.0,
        "full_scale_fraction": 0.0
      }
    },
    "id-d6d0ecaadce9ff:1:decoder_input": {
      "version": 1,
      "run_id": "id-881ba51b371247",
      "stage": "decoder_input",
      "sequence": 28,
      "chunk": 0,
      "chunks": 54,
      "dropped": 0,
      "instance_id": "id-8fec8777b74e7c",
      "gain_db": 0,
      "phrase_id": "id-d6d0ecaadce9ff",
      "window": 1,
      "offset_samples": 0,
      "final": true,
      "sample_rate": 16000,
      "sample_width": 4,
      "format": "float32le",
      "pcm_sha256": "b8c7136c618c2e0037474c423d998aca4546a3038f4831ab827e0b61780ecf83",
      "wav": "audio/36b39179a1062597a908533735358a21e43fb1a9950e4c4f6ca976a6fe16eee1.wav",
      "waveform_sha256": "36b39179a1062597a908533735358a21e43fb1a9950e4c4f6ca976a6fe16eee1",
      "file_sha256": "d439238dd1b9c8a4eecdb6648e888fe22580b8ebb77cf9f78fc63e6dd79d91c1",
      "rate": 16000,
      "metrics": {
        "samples": 323520,
        "sample_rate": 16000,
        "seconds": 20.22,
        "rms_dbfs": -23.413892841405513,
        "peak_dbfs": -2.9992390013763655,
        "near_clip_fraction_0_98": 0.0,
        "full_scale_fraction": 0.0
      }
    }
  },
  "diagnostics": [
    {
      "version": 1,
      "run_id": "id-881ba51b371247",
      "stage": "bridge_input",
      "sequence": 1012,
      "chunk": 0,
      "chunks": 1,
      "dropped": 0,
      "instance_id": "id-ffc72694aeab0b",
      "packet_seq": 1012,
      "sample_rate": 16000,
      "sample_width": 2,
      "format": "pcm16le"
    },
    {
      "version": 1,
      "run_id": "id-881ba51b371247",
      "stage": "decode",
      "sequence": 82,
      "chunk": 0,
      "chunks": 1,
      "dropped": 0,
      "instance_id": "id-8fec8777b74e7c",
      "phrase_id": "id-d6d0ecaadce9ff",
      "window": 1,
      "offset_samples": 0,
      "final": true,
      "avg_logprob": -0.14265780354088003,
      "no_speech_prob": 0,
      "compression_ratio": 1.2247191011235956,
      "text": "Покажи маршрут на карте и расскажи, какая там сейчас погода.",
      "rejection_reasons": [],
      "decoder_observations": [
        {
          "avg_logprob": -0.14265780354088003,
          "no_speech_prob": 0,
          "compression_ratio": 1.2247191011235956,
          "library_no_speech_skip": false,
          "logprob_threshold_crossed": false,
          "compression_threshold_crossed": false
        }
      ],
      "queue_ms": 0.16416609287261963,
      "decode_ms": 181.32212944328785,
      "preparation_ms": 0.004088506102561951,
      "audio_seconds": 20.22
    },
    {
      "version": 1,
      "run_id": "id-881ba51b371247",
      "stage": "export_summary",
      "sequence": 83,
      "dropped": 0,
      "bytes": 1941120,
      "instance_id": "id-8fec8777b74e7c"
    }
  ],
  "events": [
    {
      "owner_ms": 5264.141246676445,
      "version": 1,
      "result_type": "final",
      "session_id": "id-d131543cbb7b00",
      "stream_id": "id-d002c4fc710eb8",
      "phrase_id": "id-d6d0ecaadce9ff",
      "revision": 2,
      "text": "Покажи маршрут на карте и расскажи, какая там сейчас погода.",
      "traceparent": "00-57d2f0949c127e188a709b16df64ccea-2d3572033c2940a4-01",
      "timings": {
        "version": 1,
        "asr": {
          "backend": "streaming_worker",
          "worker_queue_ms": 0.16416609287261963,
          "worker_decode_ms": 177.76666209101677,
          "decode_count": 1,
          "otel_trace_id": "57d2f0949c127e188a709b16df64ccea",
          "otel_span_id": "73331733d3cf4297",
          "last_speech_to_final_ms": 191.71037152409554
        }
      }
    }
  ],
  "online_text": "Покажи маршрут на карте и расскажи, какая там сейчас погода.",
  "reference": "Длинная нестабильная фраза может упереться в восьмисекундное окно.\nОкно сокращается после совпадения слов двух decode. Если устойчивый префикс не появляется, дальнейший рост приводит к overflow. Тест длинной фразы существует, но использует символический decoder, а не реальный Whisper",
  "counts": {
    "wer": {
      "reference_units": 37,
      "hypothesis_units": 10,
      "substitutions": 10,
      "deletions": 27,
      "insertions": 0,
      "errors": 37,
      "rate": 1.0,
      "false_units": null
    },
    "cer": {
      "reference_units": 242,
      "hypothesis_units": 49,
      "substitutions": 21,
      "deletions": 193,
      "insertions": 0,
      "errors": 214,
      "rate": 0.8842975206611571,
      "false_units": null
    }
  },
  "entity_scores": {
    "expected_numbers": [],
    "actual_numbers": [],
    "correct_numbers": 0,
    "number_accuracy": null,
    "expected_codes": [],
    "actual_codes": [],
    "correct_codes": 0,
    "code_accuracy": null,
    "method": "limited Russian integer spelling equivalence; WER/CER unchanged"
  },
  "final_count": 1,
  "refusals": [],
  "raw_final_count": 1,
  "duplicate_final_count": 0,
  "quality_score_applicable": true,
  "unexpected_final_count": 0,
  "capture_incomplete": false,
  "summary": {
    "last_speech_to_final_ms": 191.71037152409554,
    "last_speech_to_final_max_ms": 191.71037152409554,
    "terminal_phrases_with_timing": 1,
    "last_speech_to_terminal_ms": 191.71037152409554,
    "first_partial_since_play_intent_ms": null,
    "first_vad_status_since_play_intent_ms": null,
    "trial_including_diagnostics_ms": 12623.300000000745,
    "worker_decode_ms": 177.76666209101677,
    "worker_queue_ms": 0.16416609287261963,
    "decode_count": 1,
    "processed_audio_seconds": 20.22,
    "worklet_packet_age_p50_ms": null,
    "worklet_packet_age_p95_ms": null,
    "preparation_ms": 0.004088506102561951,
    "unique_decoded_audio_seconds": 20.22,
    "reprocessed_audio_seconds": 0
  },
  "missing_checkpoints": [],
  "signal_checks": {},
  "ending_check": {
    "expected_last_words": [
      "не",
      "реальный",
      "whisper"
    ],
    "actual_last_words": [
      "там",
      "сейчас",
      "погода"
    ],
    "last_words_exact": false,
    "method": "lexical last three words; inspection available in full transcript"
  },
  "control_transport_fidelity": {
    "input_samples": 323403,
    "ingress_samples": 323520,
    "differing_samples": 0,
    "max_abs_error": 0,
    "padding_samples": 117,
    "padding_zero": true,
    "identical_input_with_only_final_frame_padding": true
  },
  "measurement_metadata_version": 6
}
