- Added optional `thinking_budget` parameter to `config.yaml` for Gemini model, allowing for reserved thinking tokens.
- Updated `LlmSettings` class in `config.py` to include `thinking_budget` and adjusted parsing logic accordingly.
- Modified LLM call logic in `llm.py` to utilize `thinking_budget` for calculating `max_output_tokens`, improving output management.
- Adjusted the maximum number of recommended products from 6 to 4 in README.md to reflect changes in the product retrieval process.
- Modified vector.py to limit the number of products retrieved per query to 4 for single queries and 2 for multiple queries, ensuring better deduplication and efficiency in product searches.
- Moved the assignment of `phenology_phase` in assemble.py to ensure it is included only for valid days.
- Updated the docstring in disease.py to clarify the rounding behavior of decimal values, enhancing the understanding of the formatting logic.
- Removed unnecessary checks in the decimal formatting function to streamline the code.
- Updated README.md to clarify the conditions for including `last_applied_treatment` in the advice JSON structure.
- Modified job.py to pass `as_of` and `field_id` to the advice generation function.
- Enhanced advice_context.py to conditionally add `last_applied_treatment` based on recent treatment history and allowed products.
- Introduced new functions in treatments.py to group treatments by day and load the last treatment before the recent window.
- Updated _output_format.md to specify the conditions under which `last_applied_treatment` is included in the advisory.
- Updated README.md to reflect changes in the `json_for_advice_generation` structure, including the addition of `date_of_today` and clarification of `last_advice` fields.
- Modified job.py to load and pass the issuance date of the last advice.
- Enhanced advice_context.py to include the issuance date in the last advice retrieval.
- Updated assemble.py to include `date_of_today` in the JSON assembly for advice generation.
- Improved advice.py to sanitize the `advice_summary` by removing relative date references and ensuring compliance with new guidelines.
- Updated README.md to clarify the conditions for the `INCUBAZPRIMARIA` rule in the context of disease forecasting.
- Modified disease.py to adjust the order of prefilter rules, ensuring `INCUBAZPRIMARIA` is evaluated correctly.
- Enhanced product prefiltering logic in products.py to incorporate the new conditions for `incubazprimaria` while removing redundant checks.
- Updated README.md to clarify the handling of historical/test dates and the conditions for generating advice.
- Modified job.py to incorporate observation data into risk assessment and product prefiltering.
- Introduced a new function in disease.py to select the appropriate prefilter rule based on observation and FASE data.
- Enhanced product filtering logic in products.py to accommodate new prefilter rules.
- Updated assemble.py to include observation data in JSON assembly for advice generation.
- Improved documentation in the grapevine downy mildew system prompt to explain the significance of INCUBAZPRIMARIA and observation data.
- Introduced a new function to round specific weather metric values to two decimal places in assemble.py.
- Updated the JSON entry construction in assemble.py to utilize the new rounding function for weather metrics.
- Modified the phenology loading logic in phenology.py to use yesterday's phase if today's phase is null after carry-forward.
- Clarified documentation in README.md regarding the phenology phase handling.
- Updated .env.example and config.yaml to include observability settings.
- Added a new Phoenix service in docker-compose.yml for self-hosted tracing.
- Enhanced README.md with instructions on enabling and using observability features.
- Implemented tracing in the pipeline, including job spans and LLM stage spans.
- Introduced ObservabilitySettings class in config.py for better configuration management.
- Updated job.py and resources.py to support tracing without affecting fault isolation.
- Minor adjustments to other files for compatibility with the new observability features.