@@ -241,21 +241,6 @@ This script:
2412413 . Generates embeddings via the Modal EmbeddingService.
2422424 . Stores everything in a local LanceDB directory.
243243
244- When using Option B for local Docker development, uncomment the ` lancedb_data ` volume in ` docker-compose.yml ` :
245-
246- ``` yaml
247- volumes :
248- # ...
249- lancedb_data : # Uncomment this line
250- ` ` `
251-
252- And in the backend service section:
253-
254- ` ` ` yaml
255- volumes :
256- - lancedb_data:${LANCEDB_PATH} # Uncomment this line
257- ` ` `
258-
259244### Step 4: Deploy ML Services to Modal
260245
261246If you have not already done so, deploy the ML models to Modal:
@@ -408,8 +393,9 @@ GitHub Actions runs on every push and pull request to `main`:
408393
409394- ** Backend CI** (` backend.yml ` ): Ruff linting, then pytest with a PostgreSQL service container.
410395- ** Frontend CI** (` frontend.yml ` ): ESLint, TypeScript type checking, then Vitest with coverage.
396+ - ** React Doctor** (` react-doctor.yml ` ): Agentic code review for React components.
411397
412- Both pipelines are path-filtered to only run when relevant files change.
398+ All pipelines are path-filtered to only run when relevant files change.
413399
414400
415401## Project Structure
@@ -422,7 +408,17 @@ Interpres/
422408|-- railway.json # Railway deployment config
423409|-- deploy_modal.sh # Script to deploy ML services to Modal
424410|-- .env.example # Template for environment variables
425- |-- HOSTING.md # Local vs production environment guide
411+ |-- HOSTING.md # Local vs production environment guide
412+ |
413+ |-- docs/
414+ | +-- diagrams/
415+ | |-- drawio/ # Editable draw.io source files
416+ | |-- puml/ # PlantUML diagram sources
417+ | |-- render/ # Exported PDFs and SVGs
418+ | +-- use_cases.md # Detailed use case specification
419+ |
420+ |-- scripts/
421+ | +-- cleanup.sh # Remove caches and build artifacts
426422|
427423|-- src/
428424| |-- backend/
@@ -439,22 +435,29 @@ Interpres/
439435| | | |-- jobs.py # Background job tracking
440436| | | +-- prompts.py # Custom prompt templates
441437| | |-- routes/ # FastAPI route handlers
438+ | | | |-- dependencies.py # Shared auth + pipeline config deps
439+ | | | |-- schemas.py # Pydantic request/response models
442440| | | |-- auth.py # Google OAuth login/callback
443441| | | |-- pipeline.py # Main transcription pipeline endpoint
444442| | | |-- translations.py # Translation CRUD endpoints
445443| | | |-- collections.py # RAG collection management
446- | | | |-- jobs.py # Job status endpoints
444+ | | | |-- jobs.py # Batch job endpoints
447445| | | |-- prompts.py # Prompt template endpoints
448- | | | +-- user.py # User profile endpoints
446+ | | | |-- user.py # API key management endpoints
447+ | | | +-- utils.py # Health check + image serving
449448| | |-- services/ # Business logic and ML interfaces
450449| | | |-- interfaces.py # Abstract base classes for Modal services
451450| | | |-- pipeline.py # Pipeline orchestration logic
451+ | | | |-- event_bus.py # SSE event bus for streaming
452452| | | |-- ocr_services.py # OCR model wrappers
453453| | | |-- correction_services.py # Post-OCR correction wrapper
454454| | | |-- rag_services.py # RAG retrieval logic
455455| | | |-- llm_services.py # LLM integration (Gemini, OpenAI)
456+ | | | |-- skip_service.py # No-op service for skipped stages
456457| | | +-- models.py # Pipeline configuration models
457- | | +-- tests/ # Pytest test suite
458+ | | |-- utils/
459+ | | | +-- text_processing.py # Text chunking and normalization
460+ | | +-- tests/ # Pytest test suite (131 tests, 95% coverage)
458461| |
459462| |-- frontend/
460463| | |-- Dockerfile # Multi-stage Node.js 20 build
@@ -467,7 +470,7 @@ Interpres/
467470| | | |-- history/ # Translation history browser
468471| | | |-- jobs/ # Background job monitoring
469472| | | |-- prompts/ # Prompt template editor
470- | | | |-- settings/ # User settings
473+ | | | |-- settings/ # User settings (API keys)
471474| | | +-- share/ # Public translation sharing
472475| | |-- components/ # Reusable React components
473476| | |-- lib/ # Utility functions and API client
@@ -481,9 +484,13 @@ Interpres/
481484| |-- push_to_hf.py # Push datasets to Hugging Face
482485| +-- standardize_data.py # Data normalization utilities
483486|
487+ |-- .gemini/
488+ | +-- config.yaml # Agent PR Reviewer
489+ |
484490+-- .github/workflows/
485491 |-- backend.yml # Backend CI (lint + test)
486- +-- frontend.yml # Frontend CI (lint + type-check + test)
492+ |-- frontend.yml # Frontend CI (lint + type-check + test)
493+ +-- react-doctor.yml # React Doctor (agentic lint + test)
487494```
488495
489496
0 commit comments