SprayEngine-log.json review
130 records displayed, newest first. /home/u243800827/domains/sunsetvistaenterprises.com/public_html/vineyard-spray-app/logs/SprayEngine-log.json
2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "frontenac_blanc",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-27."
]
}
]
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-27."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 105,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 90,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 90,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-27."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "bud_break",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 48,
"2026-09-14": 1,
"2026-09-15": 33,
"2026-09-16": 33,
"2026-09-17": 44,
"2026-09-18": 23,
"2026-09-19": 39,
"2026-09-20": 39
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 48,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-27",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "frontenac_blanc",
"name": "Frontenac Blanc",
"variety": "Frontenac Blanc",
"acres": null,
"planted_year": null,
"disease_notes": "Good disease resistance in general, related to Frontenac's hardiness; still watch powdery mildew in humid stretches.",
"phenology_gdd": {
"bud_break": 90,
"shoot_1in": 165,
"shoot_3in": 280,
"shoot_8in": 405,
"bloom": 600,
"fruit_set": 635,
"pea_size": 775,
"cluster_closure": 1115,
"veraison": 1650,
"harvest": 2300
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-27",
"current_gdd": 2477.500000000001,
"growth_stage": "bud_break"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "la_crescent",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-16."
]
}
]
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-16."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 105,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 90,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 90,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-16."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "bud_break",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 48,
"2026-09-14": 1,
"2026-09-15": 33,
"2026-09-16": 33,
"2026-09-17": 44,
"2026-09-18": 23,
"2026-09-19": 39,
"2026-09-20": 39
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 48,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-16",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "la_crescent",
"name": "La Crescent",
"variety": "La Crescent",
"acres": null,
"planted_year": null,
"disease_notes": "Tight clusters, higher susceptibility to bunch rot/Botrytis and downy mildew; prioritize canopy management and timely sprays pre-veraison.",
"phenology_gdd": {
"bud_break": 105,
"shoot_1in": 185,
"shoot_3in": 305,
"shoot_8in": 435,
"bloom": 630,
"fruit_set": 670,
"pea_size": 815,
"cluster_closure": 1170,
"veraison": 1600,
"harvest": 2250
},
"spray_rules": {
"target_interval_days": 9,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-16",
"current_gdd": 2477.500000000001,
"growth_stage": "bud_break"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "prairie_star",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-17."
]
}
]
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-17."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 105,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 90,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 90,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-17."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "bud_break",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 48,
"2026-09-14": 1,
"2026-09-15": 33,
"2026-09-16": 33,
"2026-09-17": 44,
"2026-09-18": 23,
"2026-09-19": 39,
"2026-09-20": 39
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 48,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-17",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "prairie_star",
"name": "Prairie Star",
"variety": "Prairie Star",
"acres": null,
"planted_year": null,
"disease_notes": "Generally good disease tolerance; monitor for downy mildew.",
"phenology_gdd": {
"bud_break": 95,
"shoot_1in": 170,
"shoot_3in": 285,
"shoot_8in": 410,
"bloom": 590,
"fruit_set": 625,
"pea_size": 765,
"cluster_closure": 1100,
"veraison": 1500,
"harvest": 2100
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-17",
"current_gdd": 2477.500000000001,
"growth_stage": "bud_break"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "marquette",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-19."
]
}
]
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-19."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 100,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 85,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 85,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-19."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "veraison",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 48,
"2026-09-14": 1,
"2026-09-15": 33,
"2026-09-16": 33,
"2026-09-17": 44,
"2026-09-18": 23,
"2026-09-19": 39,
"2026-09-20": 39
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 48,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-19",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "marquette",
"name": "Marquette",
"variety": "Marquette",
"acres": null,
"planted_year": null,
"disease_notes": "Susceptible to black rot; moderate powdery mildew pressure. Thin skin, watch bunch rot near harvest.",
"phenology_gdd": {
"bud_break": 90,
"shoot_1in": 165,
"shoot_3in": 275,
"shoot_8in": 400,
"bloom": 580,
"fruit_set": 615,
"pea_size": 750,
"cluster_closure": 1080,
"veraison": 1550,
"harvest": 2200
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-19",
"current_gdd": 2477.500000000001,
"growth_stage": "veraison"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "petite_pearl",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-29."
]
}
]
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-29."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 100,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 85,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 85,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-29."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:22-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:22-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "veraison",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 48,
"2026-09-14": 1,
"2026-09-15": 33,
"2026-09-16": 33,
"2026-09-17": 44,
"2026-09-18": 23,
"2026-09-19": 39,
"2026-09-20": 39
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 48,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-29",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:22-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:22-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "petite_pearl",
"name": "Petite Pearl",
"variety": "Petite Pearl",
"acres": null,
"planted_year": null,
"disease_notes": "Good disease resistance overall relative to other hybrids; still susceptible to downy mildew in wet years.",
"phenology_gdd": {
"bud_break": 100,
"shoot_1in": 180,
"shoot_3in": 300,
"shoot_8in": 430,
"bloom": 620,
"fruit_set": 660,
"pea_size": 800,
"cluster_closure": 1150,
"veraison": 1700,
"harvest": 2400
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-29",
"current_gdd": 2477.500000000001,
"growth_stage": "veraison"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "frontenac_blanc",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-27."
]
}
]
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-27."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 105,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 90,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 90,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-27."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-27"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "bud_break",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 63,
"2026-09-14": 1,
"2026-09-15": 35,
"2026-09-16": 35,
"2026-09-17": 37,
"2026-09-18": 31,
"2026-09-19": 31
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 63,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-27",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "frontenac_blanc",
"name": "Frontenac Blanc",
"variety": "Frontenac Blanc",
"acres": null,
"planted_year": null,
"disease_notes": "Good disease resistance in general, related to Frontenac's hardiness; still watch powdery mildew in humid stretches.",
"phenology_gdd": {
"bud_break": 90,
"shoot_1in": 165,
"shoot_3in": 280,
"shoot_8in": 405,
"bloom": 600,
"fruit_set": 635,
"pea_size": 775,
"cluster_closure": 1115,
"veraison": 1650,
"harvest": 2300
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-27",
"current_gdd": 2477.500000000001,
"growth_stage": "bud_break"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "la_crescent",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-16."
]
}
]
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-16."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 105,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 90,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 90,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-16."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-16"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "bud_break",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 63,
"2026-09-14": 1,
"2026-09-15": 35,
"2026-09-16": 35,
"2026-09-17": 37,
"2026-09-18": 31,
"2026-09-19": 31
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 63,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-16",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "la_crescent",
"name": "La Crescent",
"variety": "La Crescent",
"acres": null,
"planted_year": null,
"disease_notes": "Tight clusters, higher susceptibility to bunch rot/Botrytis and downy mildew; prioritize canopy management and timely sprays pre-veraison.",
"phenology_gdd": {
"bud_break": 105,
"shoot_1in": 185,
"shoot_3in": 305,
"shoot_8in": 435,
"bloom": 630,
"fruit_set": 670,
"pea_size": 815,
"cluster_closure": 1170,
"veraison": 1600,
"harvest": 2250
},
"spray_rules": {
"target_interval_days": 9,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-16",
"current_gdd": 2477.500000000001,
"growth_stage": "bud_break"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "prairie_star",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-17."
]
}
]
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 90,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 55,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 55,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Powdery Mildew is moderate priority at the current growth stage.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-17."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 105,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 90,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 55,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 90,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_stage_relevance",
"points": 5,
"reason": "Powdery Mildew is moderate priority at the current growth stage."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-17."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-17"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "bud_break",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 63,
"2026-09-14": 1,
"2026-09-15": 35,
"2026-09-16": 35,
"2026-09-17": 37,
"2026-09-18": 31,
"2026-09-19": 31
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 63,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-17",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "prairie_star",
"name": "Prairie Star",
"variety": "Prairie Star",
"acres": null,
"planted_year": null,
"disease_notes": "Generally good disease tolerance; monitor for downy mildew.",
"phenology_gdd": {
"bud_break": 95,
"shoot_1in": 170,
"shoot_3in": 285,
"shoot_8in": 410,
"bloom": 590,
"fruit_set": 625,
"pea_size": 765,
"cluster_closure": 1100,
"veraison": 1500,
"harvest": 2100
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-17",
"current_gdd": 2477.500000000001,
"growth_stage": "bud_break"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "marquette",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-19."
]
}
]
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-19."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 100,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 85,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 85,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-19."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-19"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "veraison",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 63,
"2026-09-14": 1,
"2026-09-15": 35,
"2026-09-16": 35,
"2026-09-17": 37,
"2026-09-18": 31,
"2026-09-19": 31
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 63,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-19",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "marquette",
"name": "Marquette",
"variety": "Marquette",
"acres": null,
"planted_year": null,
"disease_notes": "Susceptible to black rot; moderate powdery mildew pressure. Thin skin, watch bunch rot near harvest.",
"phenology_gdd": {
"bud_break": 90,
"shoot_1in": 165,
"shoot_3in": 275,
"shoot_8in": 400,
"bloom": 580,
"fruit_set": 615,
"pea_size": 750,
"cluster_closure": 1080,
"veraison": 1550,
"harvest": 2200
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-19",
"current_gdd": 2477.500000000001,
"growth_stage": "veraison"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_COMPLETE",
"data": {
"block_id": "petite_pearl",
"status": "overdue",
"suggested_product": "Rally 40WSP",
"suggested_product_id": "rally",
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-29."
]
}
]
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_COMPLETE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_COMPLETE",
"data": {
"top_three": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
}
],
"all_ranked_products": [
{
"product": "Rally 40WSP",
"product_id": "rally",
"score": 85,
"eligible": true,
"frac_group": "3",
"active_ingredient": "myclobutanil",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Configured curative activity is useful because infection is indicated.",
"rank": 1
},
{
"product": "Flint Extra 500WG",
"product_id": "flint_extra",
"score": 50,
"eligible": true,
"frac_group": "11",
"active_ingredient": "trifloxystrobin",
"phi_days": 14,
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Targets Black Rot at High disease risk. Current growth stage is configured as preferred. Targets Downy Mildew at Moderate disease risk.",
"rank": 2
},
{
"product": "Quintec",
"product_id": "quintec",
"score": 50,
"eligible": true,
"frac_group": "13",
"active_ingredient": "quinoxyfen",
"phi_days": 21,
"targets": [
"powdery_mildew"
],
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Targets Powdery Mildew at High disease risk. Current growth stage is configured as preferred. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 3
},
{
"product": "Captan",
"product_id": "captan",
"score": 45,
"eligible": true,
"frac_group": "M4",
"active_ingredient": "captan",
"phi_days": 0,
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"rationale": "Current growth stage is configured as preferred. Adds a multi-site mode of action after a single-site product. Rotates away from the most recently used FRAC group. Candidate date satisfies the product-configured interval.",
"rank": 4
}
],
"rejected_products": [
{
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-29."
]
}
],
"combination_recommendation": {
"recommended": true,
"products": [
{
"product": "Rally 40WSP",
"product_id": "rally"
},
{
"product": "Captan",
"product_id": "captan"
}
],
"combined_score": 100,
"scoring_breakdown": [
{
"rule": "base_product_scores",
"points": 85,
"reason": "Starts with the stronger individual candidate score."
},
{
"rule": "complementary_coverage",
"points": 0,
"reason": "No substantial additional elevated-disease coverage."
},
{
"rule": "frac_diversity",
"points": 10,
"reason": "Products provide FRAC diversity."
},
{
"rule": "multi_site_component",
"points": 5,
"reason": "Combination includes a multi-site product."
}
],
"rationale": "The combination does not add substantial additional disease coverage.",
"note": "Do not infer a tank-mix rate or legal compatibility from this recommendation. Use only label-supported combinations and rates."
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 10,
"reason": "Targets Downy Mildew at Moderate disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 10,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "preventive_only_with_infection",
"points": -25,
"reason": "Product is configured as preventive-only while infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "approaching_frac_limit",
"points": -10,
"reason": "Another use would approach the configured consecutive-use limit."
},
{
"rule": "high_resistance_risk",
"points": -5,
"reason": "Product has high configured resistance risk."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"max_consecutive_applications": 2,
"resistance_risk": "high"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "flint_extra",
"product": "Flint Extra 500WG",
"eligible": true,
"reasons": [],
"frac_group": "11",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "quintec",
"product": "Quintec",
"final_score": 50,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "quinoxyfen",
"frac_group": "13",
"mode_of_action_type": "single-site",
"system_type": "protectant only (no curative/eradicant activity)",
"targets": [
"powdery_mildew"
],
"not_effective_against": [
"existing_powdery_mildew_infections"
],
"phi_days": 21,
"rei_hours": 12,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "quintec",
"product": "Quintec",
"eligible": true,
"reasons": [],
"frac_group": "13",
"max_consecutive_applications": 2,
"phi_days": 21,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"final_score": 85,
"scoring_breakdown": [
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Powdery Mildew at High disease risk."
},
{
"rule": "disease_coverage",
"points": 20,
"reason": "Targets Black Rot at High disease risk."
},
{
"rule": "multiple_elevated_diseases",
"points": 5,
"reason": "Provides coverage for multiple elevated disease threats."
},
{
"rule": "curative_activity",
"points": 10,
"reason": "Configured curative activity is useful because infection is indicated."
},
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "myclobutanil",
"frac_group": "3",
"mode_of_action_type": "single-site (DMI / SI)",
"system_type": "systemic",
"targets": [
"powdery_mildew",
"black_rot",
"anthracnose"
],
"not_effective_against": [],
"phi_days": 14,
"rei_hours": 24,
"rainfast_hours": 1,
"max_consecutive_applications": 2,
"resistance_risk": "medium"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "rally",
"product": "Rally 40WSP",
"eligible": true,
"reasons": [],
"frac_group": "3",
"max_consecutive_applications": 2,
"phi_days": 14,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "manzate",
"product": "Manzate (Pro-Stick)",
"eligible": false,
"reasons": [
"66-day PHI would not clear before anticipated harvest on 2026-09-29."
],
"frac_group": "M3",
"max_consecutive_applications": null,
"phi_days": 66,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_SCORE
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_SCORE",
"data": {
"product_id": "captan",
"product": "Captan",
"final_score": 45,
"scoring_breakdown": [
{
"rule": "growth_stage_match",
"points": 15,
"reason": "Current growth stage is configured as preferred."
},
{
"rule": "frac_rotation",
"points": 10,
"reason": "Rotates away from the most recently used FRAC group."
},
{
"rule": "multi_site_rotation",
"points": 15,
"reason": "Adds a multi-site mode of action after a single-site product."
},
{
"rule": "interval_satisfied",
"points": 5,
"reason": "Candidate date satisfies the product-configured interval."
}
],
"all_product_fields_used": {
"active_ingredient": "captan",
"frac_group": "M4",
"mode_of_action_type": "multi-site",
"system_type": "protectant",
"targets": [
"botrytis",
"anthracnose",
"phomopsis"
],
"not_effective_against": [
"black_rot"
],
"phi_days": 0,
"rei_hours": 48,
"rainfast_hours": 24,
"max_consecutive_applications": null,
"resistance_risk": "low"
}
}
}2026-09-13T19:14:18-04:00 — PRODUCT_HARD_FILTER
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_HARD_FILTER",
"data": {
"product_id": "captan",
"product": "Captan",
"eligible": true,
"reasons": [],
"frac_group": "M4",
"max_consecutive_applications": null,
"phi_days": 0,
"candidate_date": "2026-08-20",
"harvest_date": "2026-09-29"
}
}2026-09-13T19:14:18-04:00 — PRODUCT_RANKING_CONTEXT
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "PRODUCT_RANKING_CONTEXT",
"data": {
"growth_stage": "veraison",
"current_gdd": 2477.500000000001,
"forecast_summary": {
"daily_precip_chance": {
"2026-09-13": 63,
"2026-09-14": 1,
"2026-09-15": 35,
"2026-09-16": 35,
"2026-09-17": 37,
"2026-09-18": 31,
"2026-09-19": 31
},
"daily_precip_amount": [],
"total_forecast_rain_inches": 0,
"max_daily_precip_chance_pct": 63,
"wet_days": 0,
"heavy_rain_days": 0,
"meaningful_rain": false,
"heavy_rain": false,
"extended_wet": false,
"near_term_rain": false,
"forecast_data_available": true
},
"frac_streak": 1,
"last_product": {
"id": "flint_extra",
"name": "Flint Extra 500WG",
"active_ingredient": "trifloxystrobin",
"frac_group": "11",
"mode_of_action_type": "single-site (QoI / strobilurin)",
"system_type": "locally systemic (mesostemic)",
"targets": [
"powdery_mildew",
"black_rot",
"downy_mildew",
"phomopsis",
"anthracnose"
],
"not_effective_against": [
"existing_severe_infections"
],
"phi_days": 14,
"rei_hours": 12,
"rainfast_hours": 2,
"rainfast_notes": "Generally rainfast after approximately 2 hours once spray deposits have dried. Best preventive activity before disease becomes established.",
"max_consecutive_applications": 2,
"resistance_risk": "high",
"rotation_notes": "FRAC Group 11 fungicides have a relatively high resistance risk. Do not make more than two consecutive applications before rotating to a different FRAC group, preferably with a multi-site protectant (M3 or M4).",
"preventive_only": true,
"curative_activity": "limited",
"best_growth_stage": [
"shoot_growth",
"pre_bloom",
"bloom",
"fruit_set",
"berry_development"
],
"avoid_consecutive_frac_groups": [
"11"
]
},
"candidate_date": "2026-08-20",
"anticipated_harvest_date": "2026-09-29",
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}2026-09-13T19:14:18-04:00 — ENGINE_EVALUATION_START
{
"timestamp": "2026-09-13T19:14:18-04:00",
"event": "ENGINE_EVALUATION_START",
"data": {
"today": "2026-09-13 00:00:00",
"block": {
"id": "petite_pearl",
"name": "Petite Pearl",
"variety": "Petite Pearl",
"acres": null,
"planted_year": null,
"disease_notes": "Good disease resistance overall relative to other hybrids; still susceptible to downy mildew in wet years.",
"phenology_gdd": {
"bud_break": 100,
"shoot_1in": 180,
"shoot_3in": 300,
"shoot_8in": 430,
"bloom": 620,
"fruit_set": 660,
"pea_size": 800,
"cluster_closure": 1150,
"veraison": 1700,
"harvest": 2400
},
"spray_rules": {
"target_interval_days": 10,
"rain_avoidance_days": 4,
"min_interval_days": 7
},
"anticipated_harvest_date": "2026-09-29",
"current_gdd": 2477.500000000001,
"growth_stage": "veraison"
},
"spray_log_count": 30,
"forecast_period_count": 14,
"disease_risk": {
"powdery_mildew": {
"index": 350,
"risk_label": "high",
"suggested_spray_interval_days": 7,
"qualifying_stretch_hours": 13,
"inhibited_by_heat": false
},
"downy_mildew": {
"risk_label": "moderate",
"conditions_met": 1,
"reasons": [
"Estimated 14h of leaf wetness (proxy)"
],
"min_temp_f": 49.3,
"total_rain_in": 0,
"estimated_wet_hours": 14
},
"black_rot": {
"risk_label": "high",
"infection_likely": true,
"estimated_wet_hours": 14,
"hours_required_at_this_temp": 12,
"avg_temp_f": 63.7
},
"source": "cron",
"logged_at": "2026-09-13T06:00:01-04:00"
}
}
}