deslop scan root: /home/chinmay/ChinmayPersonalProjects/SnapBack
Source files discovered: 13
Source files analyzed: 13
Functions fingerprinted: 69
Findings: 67
Index summary: packages=13 symbols=81 imports=81
Parse failures: 0
Timings: discover=4ms parse=48ms index=0ms heuristics=21ms total=74ms

Findings:
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:1 module depends on a large number of repository-local modules [tight_module_coupling]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:1 file imports heavy ecosystems that show little local evidence of need [unrelated_heavy_import]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:159 function start_session relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:174 file repeats the same validation pipeline across functions [duplicate_validation_pipeline]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:174 function ingest_transcript relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:188 function ingest_audio_chunk relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:196 function ingest_audio_chunk catches a broad exception without narrowing the failure type [broad_exception_handler]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:220 function generate_recap concentrates too much control flow and behavior [god_function]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:220 function generate_recap calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:220 function generate_recap relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:283 function get_session_transcript relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:296 function complete_session calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:296 function complete_session relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:362 function export_notion relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:382 function generate_study_pack calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:382 function generate_study_pack relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/apps/api/main.py:389 function generate_study_pack uses direct recursion and may need an iterative traversal for deep inputs [recursive_traversal_risk]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/analysis/detector.py:47 public function detect_missed_alerts omits complete type hints [public_api_missing_type_hints]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/analysis/detector.py:47 function detect_missed_alerts relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/analysis/summarizer.py:27 file repeats highly similar exception-handling blocks [duplicate_error_handler_block]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/analysis/summarizer.py:32 function _safe_json_object relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/analysis/summarizer.py:146 function generate_study_pack relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/analysis/summarizer.py:275 function _fallback_study_pack relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:15 function build_markdown_export calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:15 public function build_markdown_export omits complete type hints [public_api_missing_type_hints]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:15 function build_markdown_export relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:62 function build_pdf_export calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:62 public function build_pdf_export omits complete type hints [public_api_missing_type_hints]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:62 function build_pdf_export relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:122 function export_to_notion calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:122 public function export_to_notion omits complete type hints [public_api_missing_type_hints]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/exporters/export.py:122 function export_to_notion relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:36 function get_connection opens or acquires a resource without an obvious context manager [missing_context_manager]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:40 function get_connection has a read-style name but performs a mutating operation [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:99 function create_session relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:121 function get_session relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:124 function get_session has a read-style name but performs a mutating operation [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:131 function end_session relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:146 function append_transcript_chunk relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:173 function get_transcript relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:176 function get_transcript has a read-style name but performs a mutating operation [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:188 function get_transcript_window relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:195 function get_transcript_window has a read-style name but performs a mutating operation [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:209 function get_last_chunk_before relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:212 function get_last_chunk_before has a read-style name but performs a mutating operation [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:226 function get_first_chunk_after relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:229 function get_first_chunk_after has a read-style name but performs a mutating operation [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:243 public function save_recap omits complete type hints [public_api_missing_type_hints]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:243 function save_recap relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:284 function get_recaps relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:287 function get_recaps has a read-style name but performs a mutating operation [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:298 public function hydrate_recap omits complete type hints [public_api_missing_type_hints]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:298 function hydrate_recap relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:306 function save_audio_chunk relies on weakly typed inputs or outputs [weak_typing]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:345 function delete_sessions_older_than mixes multiple infrastructure concerns in one body [mixed_concerns_function]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/storage/database.py:404 function get_session_bundle returns None explicitly where falling through would be clearer [redundant_return_none]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:1 module transcription_client uses a utility-style name but coordinates multiple infrastructure concerns [name_responsibility_mismatch]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:66 function from_env reads required environment configuration without an obvious fallback or validation path [environment_boundary_without_fallback]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:94 class SnapBackTranscriptionClient builds several collaborators eagerly in __init__ [eager_constructor_collaborators]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:94 class SnapBackTranscriptionClient assigns an unusually large number of instance attributes [too_many_instance_attributes]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:97 function __init__ calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:182 function _capture_microphone_stream opens or acquires a resource without an obvious context manager [missing_context_manager]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:199 function _capture_microphone_stream catches a broad exception without narrowing the failure type [broad_exception_handler]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:210 function _on_message calls an external HTTP boundary without an obvious timeout or retry policy [network_boundary_without_timeout]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:274 function _run_local_whisper_loop opens or acquires a resource without an obvious context manager [missing_context_manager]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:284 function _run_local_whisper_loop allocates a temporary collection inside a loop [temporary_collection_in_loop]
  - /home/chinmay/ChinmayPersonalProjects/SnapBack/services/transcription/transcription_client.py:332 function _ensure_whisper_model mixes multiple infrastructure concerns in one body [mixed_concerns_function]
