# Blanchet Farms — Real Farmer Report PDF
**Agent:** engineer
**Priority:** high
## Context
The current Blanchet_Farms_Seeding_Report.pdf is a processing summary — it reads like a log file, not something you'd hand a farmer. We need a proper branded report like farm_summary_report.py does for yield data.
All the data is already processed at /data/processed_data/blanchet/{field}/{year}/ with:
- planted_boundary.geojson (field boundary)
- coverage_points.csv (GPS points with rates, timestamps)
- coverage_swaths.geojson (planting passes)
- metadata.json (field name, crop, acres, dates, rate summaries)
## What The Farmer Wants To See
### Cover Page
- FarmTech branding (BRAND_GREEN=#426658, BRAND_ORANGE=#E94E1B)
- "Blanchet Farms — Seeding Summary 2024-2026"
- Overview map showing ALL field boundaries on one map
- Total acres, total fields, date range
### One Page Per Field (sorted alphabetically)
- Field name as header
- **MAP** of the planted boundary (use planted_boundary.geojson, plot with matplotlib)
- Crop type and year
- Total planted acres
- Planting date(s) — extract from coverage_points.csv timestamps
- Seeding rate stats — mean, min, max (from coverage_points.csv rate columns)
- If field has multiple years, show all years on the same page or consecutive pages
### Summary Table (final page)
- All fields, years, crops, acres, avg seeding rate — in a clean table
- Farm totals
## Formatting Requirements
- Use matplotlib + PdfPages (like farm_summary_report.py)
- Reference /data/Sandbox/CNH/farm_summary_report.py for branding, layout, fonts
- Professional PDF — no monospace fonts, no raw data dumps
- Maps should have a basemap or at minimum a scale reference
- Clean axis labels, proper titles
- FarmTech™ logo/text in footer
- NO pipeline jargon (no "TAP files", no "processing status", no "GeoJSON")
- This is something we hand to the farmer or his lender
## Known Issues To Fix
- "2025-09-05-15-47-55" and "Default" are unnamed fields — flag them in the report as "Unnamed Field" with a note
- Some fields have 2026 crop year = fall 2025 planted winter wheat. That's correct, don't "fix" it.
## Output
Save to: /data/Sandbox/Reports/Blanchet/Blanchet_Farms_Seeding_Report.pdf (overwrite the old one)
Also save the script to: /data/Sandbox/Reports/Blanchet/generate_report.py so we can re-run it
## Reference
Study /data/Sandbox/CNH/farm_summary_report.py closely for:
- How it handles branding colors and fonts
- Page layout with maps + stats side by side
- How it builds the cover page
- How it handles the summary comparison page