Штатный отчёт Graphify
Clustering без модели; исходные выводы инструмента.
# Graph Report - voice (2026-10-08) ## Corpus Check - cluster-only mode — file stats not available ## Summary - 1121 nodes · 3477 edges · 33 communities (28 shown, 5 thin omitted) - Extraction: 91% EXTRACTED · 9% INFERRED · 0% AMBIGUOUS · INFERRED: 312 edges (avg confidence: 0.5) - Token cost: 0 input · 0 output ## Community Hubs (Navigation) - Community 0 - Community 1 - Community 2 - Community 3 - Community 4 - Community 5 - Community 6 - Community 7 - Community 8 - Community 9 - Community 10 - Community 11 - Community 12 - Community 13 - Community 14 - Community 15 - Community 16 - Community 17 - Community 18 - Community 19 - Community 20 - Community 21 - Community 22 - Community 23 - Community 24 - Community 25 - Community 26 - Community 27 - Community 28 - Community 29 - Community 30 ## God Nodes (most connected - your core abstractions) 1. `FileModeSettings` - 77 edges 2. `FileJobStore` - 63 edges 3. `FileJobWorkerService` - 38 edges 4. `create_app()` - 36 edges 5. `DiagnosticsRunner` - 35 edges 6. `StagedFileJobService` - 33 edges 7. `diarize_http_json()` - 28 edges 8. `ModelTransportTests` - 27 edges 9. `prepare_staged_job()` - 26 edges 10. `renderSelectedJob()` - 25 edges ## Surprising Connections (you probably didn't know these) - `DiarizationHelpersTest` --uses--> `DiarizationSegment` [INFERRED] tests/test_diarization.py → src/diarization.py - `DiarizationHelpersTest` --uses--> `MediaChunk` [INFERRED] tests/test_diarization.py → src/webui/file_mode.py - `DiarizationHelpersTest` --uses--> `TimedTranscriptBuilder` [INFERRED] tests/test_diarization.py → src/webui/file_mode.py - `FileModeMessageTest` --uses--> `PyannoteDiarizationService` [INFERRED] tests/test_diarization.py → src/pyannote_diarization_server.py - `FileModeMessageTest` --uses--> `PyannoteSettings` [INFERRED] tests/test_diarization.py → src/pyannote_diarization_server.py ## Import Cycles - None detected. ## Communities (33 total, 5 thin omitted) ### Community 0 - "Community 0" Cohesion: 0.07 Nodes (99): activateSession(), activeJobs(), applyPageMode(), applyPayloadToJob(), applySnapshotToJob(), basePath(), blankDetailView(), bootstrapSession() (+91 more) ### Community 1 - "Community 1" Cohesion: 0.06 Nodes (99): activateSession(), appendProcessLog(), applySnapshot(), applyStatePayload(), basePath(), blankView(), bootstrapSession(), buildCaseBenchConfig() (+91 more) ### Community 2 - "Community 2" Cohesion: 0.06 Nodes (56): public_bench_cases(), FileModeSettings, parse_optional_bool(), resolve_optional_bool(), FileJobLockClient, FileJobLockDenied, FileJobLockLease, job_lock_enabled() (+48 more) ### Community 3 - "Community 3" Cohesion: 0.06 Nodes (23): DiarizationAudioArtifact, FileJobStore, probe_wav_duration_s(), write_normalized_audio_wav(), _job_snapshot(), _combine_blocked_details(), _default_artifacts(), _default_steps() (+15 more) ### Community 4 - "Community 4" Cohesion: 0.06 Nodes (39): model_http_session(), _asset_version(), _bool_query(), _build_groups(), _check(), _compact_body(), _derive_url(), diagnostics_http_handler() (+31 more) ### Community 5 - "Community 5" Cohesion: 0.06 Nodes (18): _clean_optional_text(), configure_logging(), _env(), _env_bool(), main(), _main_async(), PhraseStreamState, SttWhisperToNatsService (+10 more) ### Community 6 - "Community 6" Cohesion: 0.06 Nodes (38): _audio_codec_name(), _compact_error_text(), _decode_transcribe_json_candidate(), _default_diarization_health_url(), _ensure_nonempty_artifact(), _env_bool(), _env_float(), _env_int() (+30 more) ### Community 7 - "Community 7" Cohesion: 0.06 Nodes (12): _diar_done_signal_payload(), _diar_text_done_payload(), _diar_text_done_signal_payload(), _diarization_wait_details(), FileJobWorkerService, _normalize_diarization_runtime_label(), _FakeNatsClient, FileWorkerMessagingTest (+4 more) ### Community 8 - "Community 8" Cohesion: 0.09 Nodes (31): _apply_speaker_mapping(), _chunk_ranges(), _clip_segment(), _copy_wav_segment(), create_app(), diarize(), health(), _empty_cuda_cache() (+23 more) ### Community 9 - "Community 9" Cohesion: 0.11 Nodes (22): create_app(), diarize(), health(), _download_file(), _duration_from_segments(), _ensure_embedding_model(), _ensure_segmentation_model(), _env() (+14 more) ### Community 10 - "Community 10" Cohesion: 0.11 Nodes (5): _diarization_form_fields(), diarize_http_json(), _redact_sensitive_text(), replace(), ModelTransportTests ### Community 11 - "Community 11" Cohesion: 0.21 Nodes (25): apply_bench_config(), _base_config(), build_bench_result(), _case_id(), _config_id(), _current_diarization_transport(), diarization_upload_path_for_state(), _extra_fields_for_config() (+17 more) ### Community 12 - "Community 12" Cohesion: 0.23 Nodes (14): acquire(), _clean_payload(), create_app(), _env_float(), _env_int(), FileJobLockService, health(), heartbeat() (+6 more) ### Community 13 - "Community 13" Cohesion: 0.19 Nodes (4): appendBytes(), findCrlf(), NatsWsClient, trimNatsError() ### Community 14 - "Community 14" Cohesion: 0.23 Nodes (14): attribute_words(), attributed_words_payload(), _coerce_float(), diarization_segments_payload(), DiarizationResult, DiarizationSegment, _extract_segments(), _extract_speakers() (+6 more) ### Community 15 - "Community 15" Cohesion: 0.17 Nodes (6): _compact_error_text(), diarization_backend_ready(), _summarize_diarization_http_failure(), _summarize_experimental_not_configured(), _summarize_pipeline_not_ready(), DiarizationHelpersTest ### Community 16 - "Community 16" Cohesion: 0.17 Nodes (5): healthcheck_url(), main(), probe_health(), _DummyResponse, PyannoteHealthcheckTest ### Community 17 - "Community 17" Cohesion: 0.22 Nodes (15): _coerce_progress_value(), configure_logging(), _device_progress_label(), _env(), _env_float(), _env_int(), _env_optional_float(), load_settings() (+7 more) ### Community 18 - "Community 18" Cohesion: 0.28 Nodes (13): AttributedWord, build_speaker_turns(), render_speaker_text(), SpeakerTurn, apply_syntax_postprocess(), _ends_sentence(), _has_lexical_words(), _is_lexical() (+5 more) ### Community 19 - "Community 19" Cohesion: 0.15 Nodes (6): _apply_pipeline_runtime_overrides(), _import_pyannote_pipeline_class(), _pipeline_requires_hf_token(), _validate_pipeline_access(), FileModeMessageTest, _fake_run() ### Community 20 - "Community 20" Cohesion: 0.27 Nodes (9): _annotation_segments(), _apply_pipeline_request_overrides(), _audio_input(), _default_pyannote_pipeline_import(), _effective_runtime_options(), _override_targets(), PyannoteProgressContext, PyannoteRuntimeOptions (+1 more) ### Community 21 - "Community 21" Cohesion: 0.30 Nodes (14): basePath(), configSummary(), formatRtf(), formatSeconds(), init(), latestForCase(), load(), meta() (+6 more) ### Community 22 - "Community 22" Cohesion: 0.25 Nodes (6): health(), _health_payload(), PyannoteProgressHook, PyannoteSettings, _subject(), PyannoteProgressTest ### Community 23 - "Community 23" Cohesion: 0.34 Nodes (13): appendBrowserNatsCheck(), basePath(), checkBrowserNats(), checkClass(), formatLatency(), meta(), natsClientOptions(), render() (+5 more) ### Community 25 - "Community 25" Cohesion: 0.18 Nodes (3): _compact_error_text(), _friendly_load_error(), PyannoteDiarizationService ### Community 27 - "Community 27" Cohesion: 0.36 Nodes (7): drop_pyannote_base_target(), has_build_targets(), has_pyannote_base_target(), OTEL_RESOURCE_ATTRIBUTES, PYANNOTE_BASE_TAG, REGISTRY_HOST, build-images.sh script ### Community 29 - "Community 29" Cohesion: 0.29 Nodes (4): create_app(), diarize(), _optional_float(), _optional_positive_int() ### Community 30 - "Community 30" Cohesion: 0.73 Nodes (5): add_deploy_key(), load_b64_key(), load_plain_key(), deploy.sh script, start_key_agent() ## Knowledge Gaps - **3 isolated node(s):** `REGISTRY_HOST`, `PYANNOTE_BASE_TAG`, `OTEL_RESOURCE_ATTRIBUTES` These have ≤1 connection - possible missing edges. (Counts symbols only; 133 node(s) total have ≤1 connection when file, concept and rationale nodes are included.) - **5 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ - **Are the 5 inferred relationships involving `FileJobWorkerService` (e.g. with `FileJobStore` and `FileModeSettings`) actually correct?** _`FileJobWorkerService` has 5 INFERRED edges - model-reasoned connections that need verification._ - **What connects `REGISTRY_HOST`, `PYANNOTE_BASE_TAG`, `OTEL_RESOURCE_ATTRIBUTES` to the rest of the system?** _3 weakly-connected nodes found - possible documentation gaps or missing edges._ - **Should `Community 0` be split into smaller, more focused modules?** _Cohesion score 0.06594059405940594 - nodes in this community are weakly interconnected._ - **Are the 18 inferred relationships involving `create_app()` (e.g. with `diagnostics_http_handler()` and `DiagnosticsRunner`) actually correct?** _`create_app()` has 18 INFERRED edges - model-reasoned connections that need verification._ - **Should `Community 1` be split into smaller, more focused modules?** _Cohesion score 0.06198019801980198 - nodes in this community are weakly interconnected._ - **Should `Community 2` be split into smaller, more focused modules?** _Cohesion score 0.0595959595959596 - nodes in this community are weakly interconnected._ - **Should `Community 3` be split into smaller, more focused modules?** _Cohesion score 0.06378865979381443 - nodes in this community are weakly interconnected._