0230d07dda
Feature/split reimbursements * Update reimbursement test cases to reflect accurate reimbursement terms and improve deduplication logic * move VALIDATE_REIMBURSEMENTS_PROMPT to investment_prompts.py * black, isort formatting * Remove IDENTIFY_REIMBURSEMENT_EXHIBITS_PROMPT function (unused) * Add MODEL_ID_CLAUDE4_SONNET for new model integration (doesn't work right now) * pipe delimited-output and parsing * Merge remote-tracking branch 'origin/main' into feature/split-and-filter-reimbursements * Merge remote-tracking branch 'origin/main' into feature/split-reimbursements * Add functionality to split compound reimbursement terms into distinct methodologies * splitting logic for reimbursement terms * put in split compound reimbursement step * Fix JSON output formatting in reimbursement terms example * reimbursement splitting: move prompt to investment_prompts.py, move keywords to investment_values.py * Merge remote-tracking branch 'origin/main' into feature/split-reimbursements * Merge remote-tracking branch 'origin/main' into feature/split-reimbursements * Change order (split -> filter over filter -> split), improve logging * Refactor reimbursement filtering logic to use a two-stage approach with pattern-based negative filtering and LLM validation * Replace clear reimbursement indicators with obvious non-reimbursement indicators for improved clarity in reimbursement filtering * Simplify reimbursement filtering by removing pattern-based checks and relying solely on LLM validation * Remove obvious non-reimbursement indicators from reimbursement filtering keywords * Enhance reimbursement level test by adding LLM validation and updating mock return values for service terms * Merge remote-tracking branch 'origin/main' into feature/split-reimbursements * Fix failing test * Merge remote-tracking branch 'origin/main' into feature/split-reimbursements * update mock return values to fix failed tests Approved-by: Siddhant Medar
Field Extraction
Running the Code
This project uses Python's module system for imports. To run the code properly:
-
DO NOT run files directly like this:
python src/client/main.py # ❌ This won't work -
INSTEAD, use Python's module flag (
-m) from the project root:python -m src.client.main # ✅ This is correct
Why?
The code uses absolute imports (e.g., from src.utils import llm_utils) to maintain a clear and consistent package structure. Running with python -m ensures Python can properly resolve these imports.
Development
- All imports should use the
src.prefix (e.g.,from src.utils import llm_utils) - Always run code from the project root directory using the
-mflag - Tests are configured to handle these imports automatically via pytest settings in pyproject.toml
Configuration
The project uses poetry for dependency management and pytest for testing. Key configurations in pyproject.toml:
[tool.pytest.ini_options]
pythonpath=["."]
testpaths = [
"tests"
]
Dependencies
To install dependencies:
poetry install
To run tests:
poetry run pytest
To run type checking:
poetry run mypy .