# backend/app 전 파일 ledger

## 기준

- `hotspot`: 과대형, 예외 처리 면적이 넓거나 구조 리스크가 큰 파일
- `review`: 핵심 경로이거나 중간 이상 복잡도로 추가 검토가 필요한 파일
- `support`: 얇은 인프라/모델/스키마/보조 파일
- `legacy`: 구조적으로 잔존시킨 과거 경로 또는 레거시 모듈

## ledger

| file | LOC | class | note |
|---|---:|---|---|
| backend/app/__init__.py | 1 | support | - |
| backend/app/api/__init__.py | 1 | support | - |
| backend/app/api/deps.py | 155 | support | - |
| backend/app/api/v1/__init__.py | 1 | support | api |
| backend/app/api/v1/auth.py | 47 | support | api |
| backend/app/api/v1/entities.py | 970 | hotspot | exception-heavy, oversized, api |
| backend/app/api/v1/episodes.py | 393 | review | api |
| backend/app/api/v1/exports.py | 213 | review | exception-heavy, api |
| backend/app/api/v1/images.py | 971 | hotspot | exception-heavy, oversized, api |
| backend/app/api/v1/operations.py | 71 | support | api |
| backend/app/api/v1/projects.py | 519 | review | api |
| backend/app/api/v1/prompts.py | 192 | support | api |
| backend/app/api/v1/steps.py | 384 | review | manifest-direct, exception-heavy, api |
| backend/app/api/v1/users.py | 85 | support | api |
| backend/app/core/__init__.py | 1 | support | - |
| backend/app/core/applicability.py | 145 | support | - |
| backend/app/core/checkpoint_io.py | 83 | support | - |
| backend/app/core/config.py | 65 | support | - |
| backend/app/core/database.py | 118 | support | - |
| backend/app/core/dto/__init__.py | 9 | support | - |
| backend/app/core/dto/scene_analysis.py | 100 | support | - |
| backend/app/core/errors.py | 17 | support | - |
| backend/app/core/job_manager.py | 43 | support | - |
| backend/app/core/logging_config.py | 36 | support | - |
| backend/app/core/low_freq_skip.py | 63 | support | - |
| backend/app/core/name_matcher.py | 162 | support | - |
| backend/app/core/pipeline_cache.py | 86 | support | - |
| backend/app/core/pipeline_gate.py | 275 | review | - |
| backend/app/core/planning_doc_context.py | 146 | support | - |
| backend/app/core/security.py | 32 | support | - |
| backend/app/core/settings_registry.py | 85 | support | - |
| backend/app/core/step_catalog.py | 207 | review | manifest-direct |
| backend/app/core/step_manifest.py | 756 | review | manifest-direct |
| backend/app/core/step_runner.py | 400 | review | manifest-direct |
| backend/app/core/steps/__init__.py | 106 | support | step |
| backend/app/core/steps/analysis_steps_legacy.py | 984 | legacy | oversized, step |
| backend/app/core/steps/beat_shot_steps.py | 562 | review | step |
| backend/app/core/steps/character_list_step.py | 108 | support | step |
| backend/app/core/steps/detail_steps.py | 916 | hotspot | exception-heavy, oversized, step |
| backend/app/core/steps/director_steps.py | 330 | review | step |
| backend/app/core/steps/entity_relation_step.py | 96 | support | step |
| backend/app/core/steps/entity_steps.py | 834 | hotspot | oversized, step |
| backend/app/core/steps/image_steps.py | 770 | review | step |
| backend/app/core/steps/location_consistency_step.py | 322 | review | step |
| backend/app/core/steps/outlook_steps.py | 554 | review | step |
| backend/app/core/steps/planning_doc_step.py | 196 | support | step |
| backend/app/core/steps/scene_camera_flow_step.py | 241 | review | step |
| backend/app/core/steps/scene_consistency_step.py | 401 | review | step |
| backend/app/core/steps/scene_context_loader.py | 289 | review | step |
| backend/app/core/steps/scene_steps.py | 308 | review | step |
| backend/app/core/steps/set_design_step.py | 221 | review | step |
| backend/app/core/steps/shot_cinematography_step.py | 163 | support | step |
| backend/app/core/steps/shot_dependency_step.py | 178 | support | step |
| backend/app/core/steps/shot_dependency_t2i_step.py | 248 | review | step |
| backend/app/core/steps/shot_director_step.py | 82 | support | step |
| backend/app/core/steps/shot_selection_step.py | 285 | review | step |
| backend/app/core/steps/shot_staging_step.py | 44 | support | step |
| backend/app/core/steps/shot_validator_step.py | 239 | review | step |
| backend/app/core/steps/summary_steps.py | 198 | support | step |
| backend/app/core/steps/t2i_review_step.py | 100 | support | step |
| backend/app/core/steps/text_steps.py | 55 | support | step |
| backend/app/core/task_registry.py | 41 | support | - |
| backend/app/core/version_registry.py | 157 | support | - |
| backend/app/i18n/__init__.py | 1 | support | - |
| backend/app/i18n/en.json | 1 | support | - |
| backend/app/i18n/ko.json | 90 | support | - |
| backend/app/i18n/loader.py | 21 | support | - |
| backend/app/logging/__init__.py | 1 | support | - |
| backend/app/logging/activity_logger.py | 43 | support | - |
| backend/app/logging/models.py | 17 | support | - |
| backend/app/main.py | 147 | support | - |
| backend/app/models/__init__.py | 1 | support | model |
| backend/app/models/catalog.py | 52 | support | model |
| backend/app/models/project.py | 313 | review | model |
| backend/app/modules/__init__.py | 1 | support | module |
| backend/app/modules/entity_dependency.py | 215 | review | module |
| backend/app/modules/entity_extractor_legacy.py | 283 | legacy | module |
| backend/app/modules/gemini_i2i_editor.py | 352 | review | module |
| backend/app/modules/generation_tracker.py | 140 | support | module |
| backend/app/modules/image_checkpoint.py | 123 | support | module |
| backend/app/modules/image_validator.py | 284 | review | module |
| backend/app/modules/llm/__init__.py | 2 | support | module |
| backend/app/modules/llm/base.py | 19 | support | module |
| backend/app/modules/llm/gemini_image_client.py | 297 | review | module |
| backend/app/modules/llm/gemini_key_pool.py | 91 | support | module |
| backend/app/modules/llm/gemini_text_client.py | 222 | review | module |
| backend/app/modules/llm/image_tracer.py | 201 | review | exception-heavy, module |
| backend/app/modules/llm/llm_client.py | 410 | review | manifest-direct, module |
| backend/app/modules/llm/llm_logger.py | 72 | support | module |
| backend/app/modules/llm/llm_router.py | 260 | review | module |
| backend/app/modules/llm/openai_client.py | 170 | support | module |
| backend/app/modules/name_matcher.py | 52 | support | module |
| backend/app/modules/pdf_parser.py | 36 | support | module |
| backend/app/modules/pdf_renderer.py | 362 | review | module |
| backend/app/modules/pdf_validator.py | 279 | review | exception-heavy, module |
| backend/app/modules/pipeline/__init__.py | 1 | support | module |
| backend/app/modules/pipeline/entity_extractor_v2_legacy.py | 527 | legacy | exception-heavy, module |
| backend/app/modules/pipeline/entity_extractor_v3.py | 441 | review | exception-heavy, module |
| backend/app/modules/pipeline/entity_extractor_v4.py | 117 | support | module |
| backend/app/modules/pipeline/entity_filter.py | 102 | support | module |
| backend/app/modules/pipeline/entity_lister.py | 403 | review | module |
| backend/app/modules/pipeline/entity_relation.py | 151 | support | module |
| backend/app/modules/pipeline/entity_reviewer.py | 44 | support | module |
| backend/app/modules/pipeline/episode_summarizer.py | 38 | support | module |
| backend/app/modules/pipeline/outlook_dedup.py | 535 | review | module |
| backend/app/modules/pipeline/outlook_extractor.py | 135 | support | module |
| backend/app/modules/pipeline/outlook_extractor_v2.py | 256 | review | module |
| backend/app/modules/pipeline/outlook_merger.py | 112 | support | module |
| backend/app/modules/pipeline/ref_image_pipeline.py | 317 | review | exception-heavy, module |
| backend/app/modules/pipeline/scene_dependency_extractor.py | 85 | support | module |
| backend/app/modules/pipeline/scene_dependency_v2.py | 64 | support | module |
| backend/app/modules/pipeline/scene_director_v2.py | 86 | support | module |
| backend/app/modules/pipeline/scene_extractor_v2.py | 954 | hotspot | exception-heavy, oversized, module |
| backend/app/modules/pipeline/scene_image_pipeline.py | 329 | review | exception-heavy, module |
| backend/app/modules/pipeline/scene_summarizer.py | 125 | support | module |
| backend/app/modules/pipeline/scene_validator.py | 243 | review | module |
| backend/app/modules/pipeline/set_design.py | 516 | review | module |
| backend/app/modules/pipeline/shot_director.py | 320 | review | module |
| backend/app/modules/pipeline/shot_staging.py | 178 | support | module |
| backend/app/modules/pipeline/t2i_review.py | 297 | review | module |
| backend/app/modules/pipeline/text_cleaner.py | 79 | support | module |
| backend/app/modules/pipeline/visual_world_rules.py | 49 | support | module |
| backend/app/modules/png_metadata.py | 48 | support | module |
| backend/app/modules/progress_tracker.py | 87 | support | module |
| backend/app/modules/prompt_loader.py | 135 | support | module |
| backend/app/modules/prompt_sanitizer.py | 133 | support | module |
| backend/app/modules/prompt_tracer_legacy.py | 87 | legacy | module |
| backend/app/modules/provenance.py | 288 | review | module |
| backend/app/modules/reference_image_generator.py | 399 | review | module |
| backend/app/modules/scene_image_generator.py | 580 | review | exception-heavy, module |
| backend/app/modules/scene_still_extractor_legacy.py | 258 | legacy | module |
| backend/app/modules/short_id.py | 71 | support | module |
| backend/app/modules/style_rules_generator.py | 66 | support | module |
| backend/app/modules/t2i_prompt_composer.py | 183 | support | module |
| backend/app/modules/t2i_visual_converter.py | 172 | support | module |
| backend/app/modules/variation_recommender.py | 158 | support | module |
| backend/app/modules/variation_recommender_v2.py | 183 | support | module |
| backend/app/modules/webbook_generator.py | 317 | review | module |
| backend/app/modules/world_guide_generator.py | 139 | support | module |
| backend/app/schemas/__init__.py | 1 | support | schema |
| backend/app/schemas/auth.py | 17 | support | schema |
| backend/app/schemas/common.py | 21 | support | schema |
| backend/app/schemas/entity.py | 87 | support | schema |
| backend/app/schemas/episode.py | 30 | support | schema |
| backend/app/schemas/export.py | 64 | support | schema |
| backend/app/schemas/image.py | 60 | support | schema |
| backend/app/schemas/operation.py | 51 | support | schema |
| backend/app/schemas/project.py | 48 | support | schema |
| backend/app/schemas/trace.py | 31 | support | schema |
| backend/app/schemas/user.py | 17 | support | schema |
| backend/app/services/__init__.py | 1 | support | service |
| backend/app/services/analysis_dispatch_service.py | 390 | hotspot | manifest-direct, exception-heavy, service |
| backend/app/services/auth_service.py | 69 | support | service |
| backend/app/services/checkpoint_sync/__init__.py | 27 | support | sync, service |
| backend/app/services/checkpoint_sync/_base.py | 60 | support | sync, service |
| backend/app/services/checkpoint_sync/entity_sync_service.py | 130 | support | sync, service |
| backend/app/services/checkpoint_sync/episode_projection_service.py | 99 | support | sync, service |
| backend/app/services/checkpoint_sync/orchestrator.py | 56 | support | sync, service |
| backend/app/services/checkpoint_sync/outlook_sync_service.py | 254 | review | sync, service |
| backend/app/services/checkpoint_sync/relation_sync_service.py | 195 | support | sync, service |
| backend/app/services/checkpoint_sync/scene_still_sync_service.py | 399 | review | sync, service |
| backend/app/services/episode_service.py | 249 | review | service |
| backend/app/services/export_service.py | 925 | hotspot | exception-heavy, oversized, service |
| backend/app/services/fal_angle_helpers.py | 242 | review | service |
| backend/app/services/image_service.py | 1228 | hotspot | exception-heavy, oversized, service |
| backend/app/services/image_service_helpers.py | 166 | support | service |
| backend/app/services/project_export_service.py | 498 | review | service |
| backend/app/services/project_service.py | 442 | review | service |
| backend/app/services/prompt_service.py | 387 | review | service |
| backend/app/services/reference_image_service.py | 1150 | hotspot | exception-heavy, oversized, service |
| backend/app/services/scene_image_service.py | 2936 | hotspot | exception-heavy, oversized, service |
| backend/app/services/shot_selection_service.py | 223 | review | manifest-direct, service |
| backend/app/services/snapshot_service.py | 202 | review | manifest-direct, service |
| backend/app/services/user_service.py | 156 | support | service |
| backend/app/version.py | 4 | support | - |
