Голосовые системы

Доказательства архитектурного снимка

Дата: 2026-09-16. Source commit: 21c85b0c7bc7a96497ce78ec2ead44b113f18db6. SOURCE и LOCAL TEST не утверждают состояние production. CALCULATED — арифметика из параметров кода; MEASURED SOURCE — статический подсчёт. Предложения не выданы за реализованные свойства.

ID Утверждение Статус Первичный источник Граница / пробел
P01 Entry point запускает stream и/или WebUI SOURCE src/stt_whisper_to_nats.py — _main_async; SttWhisperToNatsService Running flags UNKNOWN
P02 Поток PCM формируется в соседнем Core SOURCE src/utils/wire_packet.py — parse_wire_packet; WebRTC WhisperStreamNode Источник/приёмник сверены в обоих repos
P03 VAD local, распознавание через LinTO HTTP SOURCE src/stt_whisper_to_nats.py — _check_stream_buffer; _transcribe_and_publish Реальный backend image UNKNOWN
P04 Stream wildcard без queue, buffer local SOURCE src/stt_whisper_to_nats.py — run; streams; PhraseStreamState Требование affinity — INFERRED
P05 File upload отвечает 202 и запускает task внутри процесса SOURCE src/webui/server.py — _file_http_handler; FileJobWorkerService.start_job Надёжная межпроцессная job queue не найдена
P06 Новый ordinary job отменяет предыдущий активный SOURCE src/stt_whisper_to_nats.py — start_job; _cancel_active_locked Один активный job на экземпляр
P07 Combine читает сохранённые words и diarization SOURCE / TEST src/webui/staged_jobs.py — _run_combine; invalidation helpers Inference не вызывается этой веткой
P08 Snapshots в JSON и artifacts на filesystem SOURCE src/webui/file_mode.py — FileJobStore; write_state; normalized_audio_path Crash-safe atomic write и multiwriter не доказаны
P09 Lock service хранит одну lease в RAM SOURCE / TEST src/webui/job_lock_server.py — FileJobLockService; ttl_s; heartbeat Restart и split brain не покрыты live experiment
P10 CONNECT не заменяется direct при ошибке SOURCE / TEST src/model_transport.py — model_http_session; tests/test_model_transport.py Не тест живого H100 туннеля
P11 Обычный handler допускает downgrade diarization SOURCE / TEST src/webui/server.py — _file_http_handler; test_file_transcribe_downgrades_to_plain_text_when_diarization_backend_is_unavailable Fallback видим через requested/run flags
P12 115 тестов проходят LOCAL TEST tests — 16.09.2026, .venv/bin/python -m unittest discover -s tests Warnings и mock pipeline error; итог OK
P13 Ordinary terminal cleanup delay 30 s SOURCE src/stt_whisper_to_nats.py — FILE_JOB_TERMINAL_CLEANUP_DELAY_S; _schedule_job_cleanup Не долговечная история; staged lifecycle отличается
P14 Benchmark измеряет RTF и quality_proxy SOURCE / TEST src/webui/bench.py — build_bench_result; _rtf WER/DER не вычислены в этом исследовании
P15 Legacy CPU stack=5 service declarations SOURCE stack/stack.drs — bridge, LinTO proxy, pyannote, sherpa, Sortformer; otlp.drs first Public ingress — соседний repo; GPU — внешний owner
P16 CI tests job закомментирована SOURCE .gitlab-ci.yml — #tests; deploy rules default branch Из локального suite не следует CI gate

Метод и сохранность

Исследование началось с AGENTS.md и .knowledge. Следующим источником были calls, routes, subscriptions, DTO, schema, tests, Dockerfiles и DRS. Существующие презентации, OpenWiki и ранее написанные архитектурные обзоры не служили доказательствами.

DRS прочитан статически, без исполнения Ruby DSL. Values credentials не переносятся в документы. Готовые материалы не меняют код приложения и не публикуются в runtime.

CW: cw sync --pull --company monitorsoft остановился на dirty shared scope. cw sync --company monitorsoft установил текущие рабочие skills; cw validate прошёл без ошибок и предупреждений (76 skills, 33 agents во всём проверенном каталоге). Fetch корневого и shared repositories показал 0/0 divergence. Локальные правки shared сохранены.

Что остаётся неизвестным

Текущие image digests, число реплик, фактические лимиты ресурсов и p50/p95/p99 не измерялись. Тесты с подменёнными модельными ответами подтверждают ветвление, но не качество LLM/ASR. Изменения архитектуры требуют своего baseline и named сценариев приёмки.

Исходник

Скачать Markdown · К материалам исследования