Agents that run for long months drown in their own history. Context grows, cost grows, and they get less reliable the longer they live. Gardening has the same problem. A garden is a multi-year project full of plantings, weather, pests, and soil history, and its memory is usually unorderly.
Perennial keeps it as a working memory as one explicit, editable plan full of beds, tasks, threads, season notes, and learning, capped at 600 words. It never reads its full history back and always-on-loop streams the real-world data around the garden (in her case, Lancaster County, current weather, the forecast from Open Weather, frost, storm alerts, and the National Weather Service) and local pest and disease news from Nimble. Anything significant, such as a planting log and alert of or a frost reading, wakes the gardener right up. The gardener is Liquid AI's LFM 2.5-1.6B, running locally. It reads the current plan plus the new observations and returns only the structured edits, each with a reason. Every edit is checked before it's applied, and your own logs are applied as facts first. Every observation is appended into RawTree so that it remains complete and SQL-queryable.
The web app updates live current conditions, a card for each loop showing what the gardener read and what it decided. A timeline to scrub back to any past plan and "ask the garden", which streams answers from the local model grounded in the plan and today's readings.