One PR that wouldn't merge, a garden repo with 30 uncommitted commits, and then two phases that closed the pattern discovery loop.
Phase 2 was the patterns-garden extended entry format — six optional fields, 747 tests, one design decision worth explaining.
Forage SWEEP was opening one PR per entry — six to eight PRs for a typical session sweep. We fixed it.
The taxonomy design went further than expected. Six gardens, developer profiles, 'code like Sanne Grinovero' as a retrieval mode — then we built Phase 1 with 722 tests green.
The MCP server is the moment the garden stops being a Claude Code feature and becomes something any AI tool can use. Then we looked at the foundations and didn't like what we saw.
Phase 4 deduplication, WHY enrichment with bonus scoring, a contributor scoreboard, and retroactively wiring all the work to GitHub issues.
The staleness problem had six candidate solutions, none quite right alone. We combined them into five. The garden now knows when to doubt itself.
Four docs pages. One install command. The garden skill is gone. Hortora is now something a stranger could actually use.
Phase 2 shipped. The CI pipeline validates submissions, integrates on merge, and the garden is at 169 entries.
Phase 2 in the roadmap was clear enough. The interesting part was working out the architecture.
I came in to fix retrieval. We fixed it in an hour. Then we didn't stop.
I kept losing hours. Not to bad code or wrong decisions — to rediscovery.