Build image / build-and-push (push) Successful in 10s
- monogramInk is memoized by color string; the canvas asks for every visible plop on every frame of a pan (Gadfly, 2/4 models). - FALLBACK_PLANT_COLOR lives in lib/plants and is used by the canvas, the inspector and the garden thumbnail instead of three raw '#97a97c's. - CopyDialog keeps its proposed "<base> — <year>" in step with the gardens list until the person edits the name, so a list that loads after the dialog opens can't leave a taken year in the field. - GardenCard: reflowed the summary comment; no dead fallback on a plan name that's already known to parse. - today() has one import path (lib/dates); the journal re-export is gone. - CLAUDE.md says what the inspector actually does (a text-compare guard) rather than claiming it uses LengthField. Co-Authored-By: Claude Fable 5 <[email protected]>