Feature/modular architecture#2
Merged
Merged
Conversation
- Move app/ contents to report_analyst/ (core package) - Create report_analyst_api/ (FastAPI module, separate license) - Create report_analyst_search_backend/ (search integration, separate license) - Add plugin system for optional modules - Add DocumentSource interface for backend flexibility - Maintain backward compatibility with existing functionality
- Separate requirements.txt for each module (core, API, search backend) - Create INSTALL.md with installation options for different use cases - Core module: Streamlit app with document analysis - API module: FastAPI REST endpoints - Search backend module: HTTP client integration - Allows installing only needed components
- Add job coordination framework with interfaces and executors - Introduce report_analyst_jobs package for background processing - Implement NATS and local job execution strategies - Add backend service separation with streamlit_app_backend - Enhance search backend with flow orchestrator - Add configuration management system - Update API schemas and requirements for new architecture - Integrate data lake and LLM processing capabilities
- Add missing vector_cache table to database schema - Fix embedding data type consistency (store as np.float32) - Fix vector retrieval to query document_chunks table - Update test mocks to use correct import paths (langchain_openai, llama_index) - Fix test assertions for nested result structure - Update TCFD question count expectations (11 questions) - Improve error handling for null metadata All 28 tests now pass successfully.
• Add mountain peak themed question sets (Denali, Kilimanjaro) • Add shortcut field to all question sets (ev, tcfd, denali, kilimanjaro) • Consolidate to single source: report_analyst/questionsets/ • Remove hardcoded question set names across all UIs • Implement dynamic loading via QuestionSetLoader • Add 100% test coverage for question loader functionality • Update all imports from app.* to report_analyst.* • Update .gitignore to exclude temp files and artifacts
• Replace hardcoded fallback options with generic approach • Use empty list or custom-only when core functionality unavailable • Add comprehensive test coverage for fallback behavior • Ensure no hardcoded question set names in any fallback paths • Maintain 100% test coverage for question loader module
- Fix get_vectors() to read from document_chunks table instead of non-existent vector_cache - Fix embedding serialization with proper shape and dtype storage - Update clear_cache() to use correct table names - Add 41 comprehensive Streamlit AppTest tests covering all UI functionality - Add single comprehensive GitHub Actions CI workflow with multi-Python testing - Remove duplicate app/ directory after consolidating to report_analyst/ - All 83 tests now pass with 24% coverage
- Update to ubuntu-24.04 runner - Use Python 3.10, 3.11, 3.12 (remove outdated 3.8, 3.9) - Update to actions/setup-python@v5 - Remove Python 3.1 typo that caused failures
- Use string format for Python versions to avoid parsing issues - Change from 3.10 to "3.10" format
- Apply black formatting to all test files - Fix linting issues that were causing CI failures
- Fix pulsar-client version from 3.6.0 to 3.6.1 (version doesn't exist) - Use only Python 3.12 in CI to match local environment - Avoid version conflicts with packages that don't support newer Python versions
- Run black to fix code formatting issues - Run isort to fix import sorting issues - Ensure all linting checks pass in CI pipeline
- Change test to use set comparison instead of list order comparison - Question set order can vary based on filesystem read order - Test now focuses on content rather than specific ordering
- Remove trailing spaces from docstrings and comments - Fix formatting issues that were causing CI black failures - Ensure all files pass black formatting checks
- Add pyproject.toml with isort black profile - Set consistent line length (88) for both tools - Resolve formatting conflicts between black and isort - Ensure CI linting passes with both tools
- Add missing trailing commas in function parameters - Ensure black formatting compliance - Fix CI formatting issues
- Move logger definition before its usage - Fix flake8 F821 error: undefined name 'logger' - Ensure proper import order for logging
…nsets feat: consolidate question sets architecture
…t_analyst/ - Merge feature/modular-architecture into feature/backend-integration - Port cache_manager.py: add vector_cache table, verify np.float32 fix - Port analyzer.py: add NATS integration, backend config checks, API key handling - Port streamlit_app.py: add S3+NATS upload functionality, backend integration UI - Resolve conflicts in report_analyst_search_backend/ files - Update all test files: resolve conflicts, update imports to report_analyst.* - Remove app/ directory (all changes ported to report_analyst/) - All 83 tests passing
- Format analyzer.py, streamlit_app.py, and backend files - Format test files to match black style - All files now pass black --check
- Fix import order in run_step_by_step_tests.py - Fix import order in s3_upload_service.py - Fix import order in backend_service.py - All files now pass isort --check-only
Feature/backend integration
- Add lucia_questions.yaml to report_analyst/questionsets/ - Add database key mapping in display_consolidated_results() to support old database identifiers (e.g., 'everest' -> 'ev') - Update test_question_loader.py to include lucia in expected question sets - Ensures feature/modular-architecture is ready to merge into lucia
- Merge lucia branch to bring in database key mapping changes - All changes already ported to report_analyst/ structure - Resolves file structure differences (app/ -> report_analyst/) - Tests passing
YauheniHuryn
pushed a commit
that referenced
this pull request
Feb 3, 2026
Feature/modular architecture
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.