Graft.ag

Irrigation Manager

Demo workbench for the commands we already use to plan, review, and report irrigation work. Python-backed report surfaces stay explicit here so we can move fast without reconstructing outputs through the LLM.

Demo Note

The workbench keeps three kinds of surfaces visible: deterministic Python reports, operational procedures that still drive scheduling, and page-level surfaces we may turn into full dashboard features. That lets us demo what exists now without pretending the scheduler builder is already finished.

Terminal-only table variants stay in the command line. The web UI only shows the surfaces that make sense as pages, previews, and HTML outputs.

Working means the logic is already backed by a real deterministic Python/script surface today. Demo means the surface is still procedure-driven, page-framing, or proposal-only.

Phase 1 Builder Scope

  • Ranch / field scope pick-list
  • TOU rule and day-plan selection
  • Rotating vs fixed start-time mode
  • Fertilizer plan toggle, product, days, gallons, sets
  • Make-up mode: none / last day / last week / irrigation week
  • Template-driven weekly grid preview

Demo Mode Safety

Preview only. Nothing here can program a controller.

This demo-phase Irrigation Manager is intentionally read-only. It can show commands, report surfaces, forecast logic, and schedule previews, but it must not expose any submit button, send path, or live scheduling action that could change a real controller.

Hard Rules

  • No submit button
  • No program / send / post action
  • No live controller writes
  • Schedule builder must stop at preview output

Scheduler Builder

Phase 1
Preview only

Load preset

Target week

Irrigation week: Wed → Tue · anchor from config

Ranch scope

TOU rule per ranch

Goshen
Delta ViewNat Gas Anytime🔒
Independence
North Geneva
South Geneva
Shasta

Day pattern

Rotation mode

Fertigation

(first N days of irrigation schedule)
RanchProductGal/zone/day
Goshen
Delta View
Independence
North Geneva
South Geneva
Shasta

Ranch-level targets · no per-zone overrides in Phase 1 · flow rate filled from ranch config

Weekly irrigation target

hrs / week (distributed evenly)

Carry-forward

Preview only

No commands are sent to any controller. No writes occur. This surface stops at a preview artifact. A send path does not exist here.

Loading ranch data…

Workflow Gates

Required checklists and procedure calls that must stay visible before any scheduling or report action.

/graft.ag-preflight

Preflight Checklist

DemoProcedure

Run the Preflight Checklist explicitly as a first-class step.

Output

Checklist / gating step before schedule, report, or Wiseconn action

Source of truth

  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/preflight-checklist.md

Planning

Schedule-building and forecast commands that frame the week before anything is sent.

/graft.ag-build-week

Build Weekly Schedule

DemoProcedure

Fresh weekly irrigation schedule from the Google Sheet, using the canonical preview format for demo review only.

Output

Per-day schedule proposal / preview only

Source of truth

  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/build-weekly-schedule.md
  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/schedule-table-format.md

Demo mode: no controller send path is exposed from this interface. This stays a preview surface only.

/graft.ag-schedule-preview

Schedule Preview

DemoProcedure

Canonical multi-day preview table with identifiers, fert summary, daily tables, weekly totals, and confirmation questions.

Output

Review table / preview only

Source of truth

  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/schedule-table-format.md

Demo mode: render the grid and the logic, but do not expose a submit/send/program action.

/graft.ag-irrigation-forcast

Irrigation Forecast

WorkingPython

Deterministic irrigation forecast / recovery-control loop based on actual runtime, ET, gap-fill weather, and replacement logic.

Output

Planner payload / dry-run forecast

Source of truth

  • scripts/dry_run_forecast.py
  • src/planner/irrigation_forecast.py

Slash command spelling intentionally preserves the existing `forcast` typo for continuity. Forecast is preview-only in demo mode.

Python Reports

Deterministic report outputs backed by DMG builders and renderers, not reconstructed by the LLM.

/graft.ag-daily-html

Daily HTML Report

WorkingPython

Full daily irrigation report rendered to HTML with summary cards, activity tables, and fert reconciliation.

Output

HTML report to Desktop

Source of truth

  • src/reports/daily/builder.py
  • src/reports/daily/html_renderer.py

/graft.ag-weeklycatchup-html

Weekly Catchup HTML

WorkingPython

Weekly operational catch-up / makeup report with zone comparison, fert reconciliation, and shortfall framing.

Output

HTML report to Desktop

Source of truth

  • src/reports/weekly_catchup/builder.py
  • src/reports/weekly_catchup/html_renderer.py

Analysis

Shortfall and fert-balance workflows that still exist as procedures but should stay in the workbench.

/graft.ag-shortfall-table

Shortfall Analysis Table

DemoProcedure

Planned vs delivered vs shortfall table used to frame makeup decisions when fert under-delivers.

Output

In-session analysis table

Source of truth

  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/shortfall-analysis.md

/graft.ag-tank-reconcile-table

Tank Reconcile Table

DemoProcedure

End-of-week fert tank reconciliation and carry-forward review for planned vs delivered vs measured remaining.

Output

In-session reconciliation table / weekly balance review

Source of truth

  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/tank-reconciliation.md

Dashboard Surfaces

Page-oriented commands that frame or discuss dashboard surfaces rather than generating a file.

/graft.ag-daily-page

Daily Page Surface

DemoPage

Page discussion / implementation framing for how the daily surface should look in the dashboard.

Output

Dashboard surface / page spec

Source of truth

  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/report-format-registry.md
  • src/app/calendar/page.tsx

/graft.ag-weeklycatchup-page

Weekly Catchup Page Surface

DemoPage

Page discussion / implementation framing for the weekly catchup dashboard surface.

Output

Dashboard surface / page spec

Source of truth

  • Graft.ag/Operational Agents/Irrigation Scheduler/skills/report-format-registry.md

Template Bank

Historical HTML outputs and renderer sources are now managed together so report layouts can be recalled quickly during demo prep and scheduler work.

Managed template folder

management folder

Central recall/management location for irrigation scheduling HTML baselines and provenance notes.

src/templates/irr/scheduling/

Daily report baseline

html baseline

Historical daily report HTML baseline originally generated on Apr 6, 2026.

/Users/dinogiacomazzi/Desktop/irrigation_report_2026-04-06.html

Weekly makeup baseline

html baseline

Historical weekly makeup / catchup HTML baseline originally generated on Apr 13, 2026.

/Users/dinogiacomazzi/Desktop/irrigation_makeup_report_2026-04-13.html

Latest daily reference

html baseline

Most recent daily HTML output available for comparison during demo prep.

/Users/dinogiacomazzi/Desktop/irrigation_report_2026-04-24.html

Current daily renderer

renderer source

Python renderer that builds the current self-contained daily HTML output.

src/reports/daily/html_renderer.py

Current weekly renderer

renderer source

Python renderer that builds the current self-contained weekly catchup HTML output.

src/reports/weekly_catchup/html_renderer.py