8c9060e425e87ca2f8834d65b757a0496acca182
Feature/multithreading * fixes * Merge main into feature/multithreading Resolved conflicts: - Kept timing instrumentation in file_processing.py - Kept new 3-step Exhibit-based approach for one-to-n processing - Maintained parallelization improvements (20 workers) Changes include: - Timing utils integration for performance monitoring - Increased max_workers from 5 to 20 across all components - Parallelized code_breakout and grouper_breakout - Fixed tin_npi_funcs function call parameters * Fix max_workers error for empty documents - Add check to skip parallel processing when no pages exist - Use min(len(all_page_tasks), 20) to prevent max_workers=0 - Handles edge case of documents with no exhibits or pages * Fix max_workers=0 errors in one_to_n_funcs - Add checks before all ThreadPoolExecutor creations - Prevents errors when processing empty lists: - carveout_and_special_case - breakout - special_case_breakout - filter_services_without_reimbursements - run_lob_relationship - Ensures executor only created when there are items to process * Reduce code processing parallelism to prevent API throttling Lower max_workers from 20 to 10 for code_breakout and grouper_breakout to prevent overwhelming Bedrock API with concurrent requests * fixed * Merged main into feature/multithreading * Move documentation into folder * Fix logging statements * Merge branch 'main' into feature/multithreading * Refactor for clarity * Update previous exhibit passing logic * properly simplify exhibits * Merged main into feature/multithreading * update conditional for None * exhibit multithreading changed * exhibit multithreading changed * Merge remote-tracking branch 'origin/main' into feature/multithreading * synced with main * Parallelize dynamic assignment, refactor HSC field worker, add timing/exhibit unit tests, tidy imports/ignore helpers * analyze_regression.py edited online with Bitbucket * count_pages.py edited online with Bitbucket * compare_regressed_with_baseline.py edited online with Bitbucket * simple_testbed_compare.py edited online with Bitbucket * run_testbed_metrics_regressed.py edited online with Bitbucket Approved-by: Katon Minhas
Branching and Release Management Guide
Overview
This guide outlines the naming conventions, branching strategy, and merging process for our Git repository.
Branch Naming Conventions
- Feature Branch:
feature/<name>- Example:
feature/add_build_stage
- Example:
- Bugfix Branch:
bugfix/<name>- Example:
bugfix/pages_duplication
- Example:
- Hotfix Branch:
hotfix/<name>- Example:
hotfix/deployment_failure
- Example:
....
Branching Strategy
Creating Branches
- Create a feature branch from
mainusing the appropriate naming convention. - Create a small and complete change.
mainmust always have deployable code. - Create a Pull Request back to
main. - Ensure all checks have passed.
- Merge new code.
- Ensure the functionality is verified in the dev environment.
Refer to the branching guide in Confluence for more info on this
This guide ensures that all team members follow the best practices for branch management and releases.
Description
Languages
Python
80.5%
Jupyter Notebook
13%
HCL
3.1%
HTML
1.6%
PLpgSQL
1.5%
Other
0.2%