What shipped

Newest first. Short entries — what you can now do, and whether it fully works yet. The longer stories about how any of it went live on the blog, and the how-does-this-work pages are in help.

  1. A hot spell now covers the days it lasts

    When a run of hot days is coming, the weather strip marked it on the day it started and nowhere else. A four-day spell looked like a Thursday problem. The orange band now runs across every day the spell covers, so you can see how long it lasts without tapping anything. What it does not do is repeat itself: the word HEAT and the number of plants are still said once, on the day it starts, because a four-day spell is one thing to plan around rather than four separate problems. That was a deliberate decision when the warnings were built and it has not changed — only how wide the mark is drawn. The same goes for what a screen reader hears: one day announces the count, and the rest say only that they are inside the spell. Frost is different and stays different. A run of cold nights is a run of nights you go out and cover, so each one is still marked on its own rather than joined into a single stretch.

  2. A tree we cannot age is not told its flowers will drop

    If you sowed a plant, its planting date is its whole life, so we know what it is doing. If you bought a tree, the planting date is the day it arrived — it may already have been three years old. We were reading a years-long clock off that date, deciding a young tree was in flower, and warning that a hot spell would cost it fruit it was never going to set this year. One gardener asked, reasonably, whether his orange was even supposed to be flowering. It was not. Now, when a plant lives for years and we have no way to tell whether it is old enough to bear, we say nothing about its flowers. The heat warning still appears and still gives the two things that help — water in the morning, shade in the afternoon — without a claim we cannot stand behind. Nothing changed for annuals: tomatoes, beans and squash are unaffected, because for those the sowing date really is the clock. And this is a floor rather than a ceiling. As we source how many years each fruit tree takes to crop, the same warning goes from silence to a real answer, including telling you when a tree is old enough and the heat genuinely does matter.

  3. Faint text on the plant pages

    Some small print on the plant pages was too light to read comfortably against its background — the "Do now" and "Look for" labels, the note about how often to water, the region rows under the fall sowing dates, and the little "est" tag that marks a figure as our estimate rather than a published one. All of them are darker now. Two of those were the same mistake made twice: the text was already set in the quiet gray-brown we use for secondary information, and then faded again on top of that, which took it past quiet and into hard to read. The second fade is gone rather than reduced. The status tags on the help index — Live, Partly live, Not built yet — had no color of their own, so they were picking up the color we use for links, which was both wrong and too pale on the green tag. They now have their own dark ink and are told apart by their background, which is what those colors were for.

  4. Four sentences that said one thing

    Tap a hot day and the screen told you about each plant at risk on its own line. When four plants were in the same trouble that meant the same twenty-two words four times over, differing only in the plant’s name and a number — sixty-seven words where twenty-six would do, on a panel that was already cutting off its own last paragraph. Plants in the same trouble now share one line: the plants named, the range of how many hot days each has had, and the reason once. What it will not do is join up plants whose trouble is different. A crop running to seed and a crop dropping its flowers are two different things happening for two different reasons, and squeezing them into one sentence would be wrong about both — so those keep their own lines, and so does anything where the wording would have to be invented to fit.

  5. It says when it does not know how a plant is planted

    Moving a pot into the shade beats shading it where it stands, so a hot-spell warning tells you to move anything it knows is portable. If a plant has never been told how it is planted, it used to land in the same bucket as something rooted in the ground — the advice quietly dropped to "shade in the afternoon helps" and nothing said why. Now the card says what it does not know, and asks: in a pot, or in the ground? Answer it on the plant and the warning changes straight away. We deliberately do not guess this from the bed. A bed can be marked as a container and still hold a plant growing in the ground — a front porch is a place, not a pot — and guessing from it would mean telling somebody to pick up a tree. The plant is the thing that knows how it is planted, so the plant is what we ask. Nothing changes for plants you have already placed, and a garden where everything is placed sees no extra line at all.

  6. One disease was filed under two names, so half the answer went missing

    Blackleg is a rot that girdles the stem of cabbage-family plants. In our plant records it had been written down two different ways — one spelling on kohlrabi, another on brussels sprouts — and nothing connected them. So if you asked what else gets blackleg, you were told about one of those plants and never the other. Both spellings meant the same disease. They are now one entry, and it correctly shows up on both plants. Every other disease those two share — leaf spot, black rot, clubroot — already matched, which is how we knew this was a slip rather than a difference somebody meant. Worth saying plainly: nothing you had written down was affected, and no plant of yours changed. This was our reference data being wrong about itself.

  7. The forecast stopped repeating itself

    The day screen showed the weather service’s written forecast underneath the numbers it had already given you. Most of it was the same thing twice: "High near 90" sat directly under a large 90°, "East wind 2 to 8 mph" sat directly under the wind line, and one day’s entire paragraph was "Mostly sunny, with a high near 91" — a picture and a number you could already see. Now it shows only the parts that say something the screen has not already said, which on a typical day is the one sentence about rain or about a change coming. Every word still shown is theirs, in their order: whole sentences go or none do, and only when everything in them is already on the screen and the figures match. Anything with a second thought in it stays whole. "High near 90" can go; "High near 90, with temperatures falling to around 87 in the afternoon" cannot, because the second half is news.

  8. The same day twice, before dawn

    If you opened the app in the small hours, the week strip could show today twice — once as the night you were standing in and once as the day ahead — which quietly cost you a day off the end of the week. It came from the forecast service, which sends weather in half-day pieces: a night piece and a day piece for each date. We fold the night into its day, but before dawn the night piece arrives first, and the code looking for its matching day had not reached it yet. So it started a new row instead of waiting. Now the day finds the night that was already there and joins it, and you get seven real days whatever time you look. Opening the app in the evening still gives that night its own card, which is right — at nine at night there is no daytime left to show you.

  9. The week is seven real cards

    The week strip had two kinds of day in one row. The first three were proper cards; the other four were thin columns with no card at all, barely wide enough for a number. Every day is the same card now. The day name reads as a heading instead of sitting in the middle at the same size as everything else, the weather picture is nearly twice as big, and the temperature is large enough to read at arm’s length. The card also has a surface of its own rather than the same background as the rest of the page, so the week reads as a thing rather than as a row of text. One trade worth knowing about: seven cards that size do not fit across a phone, so the week scrolls sideways and you see about three and a half at a time. The card at the right edge is cut off deliberately — that is how it says there is more, and a row that ended neatly would look like the whole week. The alternative is the version with the thin columns, which fitted seven and was too small to read. There was also a lot of empty space in those cards, about ninety pixels of nothing under the temperature, which is gone.

  10. The words on the sky screen

    Tap a day in the weather strip and the screen fills with that day’s sky, with the details written underneath. On some days those words were hard to read, and it depended on the weather — fine at dawn, at dusk, at night and in a storm, and washed out on a clear day, in snow and in fog. The panel under the sky takes its color from the ground in the picture, so it changes with the season and the hour, and on the brighter ones it had drifted too pale to carry small text. It now settles that color a step darker before the words go on it, which keeps it looking like that day without asking you to squint. We checked it against every sky the app can draw — a hundred and three of them, every season, every hour, every kind of weather — rather than the handful we happened to think of, which is how it slipped through the first time.

  11. Whose fault it was

    When a question could not be answered, the app had one sentence for it: “Could not reach the answering service.” That was true when the answering service really was the problem, and misleading the rest of the time. Three different things happen behind that one message — we count the question against your account, we look up whatever the question needs from your own records, and then we ask the model. Only the last one is the answering service. If the first two go wrong, the answering service is working perfectly and we were telling you it was down. Now it says which. If the problem is ours, it says so plainly: “Something broke on our end. Nothing you did.” Retrying is still worth a go either way — most of these are momentary. The reason this matters more to us than to you: “could not reach the answering service” is a shrug, and it was hiding problems on our side that we should be looking at. Nothing was logged either, so working out what had actually happened took four separate experiments instead of reading one line. Both are fixed.

  12. A bed count that counts the bed

    When you ask the chat about one bed, it says how many plants are on it. **That number was capped at forty** — so a bed holding fifty-five said forty, which is a fact about our query rather than about your bed. It now counts the bed and, when it lists fewer than it counted, says so. **This is the same mistake as the garden-wide list fixed earlier today, in a second place** — found only because that fix was re-examined rather than assumed finished. The order there is left as it was: oldest first, which the heading says out loud, and which is the right way round for a single bed.

  13. A bed with twelve plants in it now says twelve

    If you sowed six lettuces as one entry, the Garden screen counted that as one plant. A bed holding four rows of six told you it had four. A garden holding 84 said 14. Every count on that screen was counting entries and calling them plants, while every row underneath showed you its own number — Leaf lettuce times six — so the two disagreed in plain sight and both used the same word. Now every count means plants: the header, each bed, each place in your list, and the line about plants that have no kind recorded yet. The one that mattered most is the warning before you delete a bed. It used to say it would remove two things when it was about to remove twelve, and agreeing to lose two plants is not agreeing to lose twelve. An entry with no number beside it counts as one, which is what the screen was already telling you: no times-six means one plant. Nothing you recorded changed — only what we call it when we add it up.

  14. A frost warning opens that night

    Tapping a frost warning used to drop you on your job list, the same way the heat alert did before this morning. The heat one was fixed first and the frost one was left, which was the wrong way round: heat costs you a harvest, frost ends the plant. A frost warning now opens the night it was about, with that night’s low and the plants at risk on it. A night belongs to the evening it starts, so a warning sent on Tuesday evening opens Tuesday — the same day the weather strip files it under. The app and the alert always name the same night. If we cannot tell which night, which can happen when the forecast is short, the alert takes you to your jobs rather than guessing: landing somewhere that is not what you asked for is annoying, and landing on the wrong night while you believe it is the right one is the thing being fixed. The heat alert changed underneath too. It was working out the date by counting days forward from the moment it sent, in your timezone — which is right until a clock change, or an account we have never been told a timezone for. It now reads the date straight off the forecast it is already holding, so there is nothing left to get wrong.

  15. A hardening day you marked done now stays done, across the spring clock change

    If a hardening run crossed the March clock change, every day after it read back as not done — even though you had marked them. The days were recorded correctly the whole time; the app was looking for them at the wrong moment and finding nothing. Measured on a ten-day run starting 4 March: five of the ten came back blank. This is worse than it sounds for the people most likely to hit it. Hardening off is a spring job, US clocks move in early March, and in the mild parts of the country that is exactly when you are moving seedlings outside — so a run straddling the change is the ordinary case there, not a corner case. The cause was the app adding twenty-four hours at a time to work out each day of the run. The day the clocks move is twenty-three hours long, so every day after it landed an hour off. Working out each day properly is a one-line change, and the reason it went unnoticed is that the record was never lost — only mislaid.

  16. The heat warning stopped guessing what the heat would do

    A hot-weather card used to end with **“growth stalls while it lasts”** whenever it could not say anything more specific. That was not a finding about your plant — it was the sentence left over when nothing else matched, and it read exactly as confidently as the two that were real. Nik spotted it on a wax bean and said it looked generic. It was. Those cards now say the honest thing instead: that the temperature is past what the crop is recorded as taking comfortably. **The warning still comes, at the same time, for the same plants.** It simply stops naming a mechanism we could not stand behind. The two real ones are unchanged. A plant that bolts still says it runs to seed and the leaves turn bitter; a plant in flower or setting fruit still says the flowers drop and no fruit follows. Those come from what the plant is doing right now, and we can show our working.

  17. A long answer is a page now, not a bubble

    When you asked your garden a question, the answer came back in a chat bubble — the same shape as the question you had just typed. That works for a sentence. It works badly for six paragraphs: the reply became a narrow column pushed against one side of the screen, and the paragraphs it was written in did not show up at all, so you got one solid block and had to hunt inside it for the part that mattered. Answers now sit on the page as ordinary text, with space between the paragraphs and a comfortable line length. Your own messages still appear in a bubble, so it stays obvious who said what. Nothing about the answers themselves changed — the same words, in the same voice, laid out to be read rather than to be a message. Asking for a list of things gives you plain lines, one per item, and those now stay on their own lines instead of running together into a paragraph.

  18. A photo can now say what a missing planting date cannot

    Nik has a lavender with no planting date on it at all. Everything the app knows about a plant’s stage normally comes from that date plus the crop’s calendar — so for that plant every stage stayed possible, and a heat warning could tell him the flowers were at risk on something that is not flowering. His point: **the app had already read a photo of it.** It had — the photo path asks the model what stage a plant is at and stores the answer. **No weather warning had ever looked at one.** Now it does. A plant you have confirmed as *growing* will not be told its flowers are at risk. **Only readings you have confirmed count.** A stage the app proposed and you have not checked is ignored — silencing a real warning on an unreviewed guess would be the worse bug. **And it only ever removes a claim, never adds one:** a photo that looks like flowering does not switch a warning back on for a tree the calendar says cannot bear yet.

  19. A + button that adds a plant, not a file

    Every chat app has a + beside the message box for attaching a file. Yours attaches a plant. Tap it and you get your plants as photographs — most recently looked-at first, grouped by which bed they are in — and the one you pick rides along with your question as a small tag you can see and remove. You can add a place the same way, and one of each, so a question about your tomatoes on the front porch can carry both. This is not tidiness. The chat always knows roughly what you grow, but naming one plant hands it that plant's own record: what you wrote about it, what you did to it, and what is normal for something its age right now. That last part is what stops a cheerful answer being written over a real problem. Naming a place gives it that spot's own history instead. The + stays out of sight until you have something to add — a brand new garden has nothing behind it, and a button that opens onto nothing is worse than no button.

  20. A second look, before an answer reaches you

    Nothing is switched on and answers are unchanged today. This is the machinery, written down because of what it is for. When the chat answers a question about your garden it works from a slice of your own records, and almost always that goes right. But a model can occasionally state something specific your records do not contain — a date, a count, a job you never logged — in exactly the same confident voice as the parts that are correct. That is the hardest kind of wrong answer to notice, because nothing about it reads as uncertain. So there is now a second pass being built: before an answer reaches you, each specific statement about your own garden is checked against what was actually looked at, and anything that cannot be matched is left out with one line saying so. It deliberately leaves general gardening alone. "Tomatoes shed their oldest leaves in a heavy year" is not a claim about your garden and was never in your records — a check that removed everything it could not find in your journal would take the useful half out of every answer.

  21. A young fruit tree stops being told its flowers will drop

    Nik has an orange tree, two years in the ground and — his words — **"pretty small and not flowering."** A hot spell came, and the app told him the heat would make its flowers drop. Every rule fired correctly. Our figure for an orange is **2 to 4 years to first harvest**, his tree had been in for two, so the app decided it was bearing. **That figure is an average across orange trees, not a fact about his one** — and inside that window some are covered in blossom and some are still a stick with leaves. Now, while a tree is inside its own bearing window, the card gives the general warning instead of naming a mechanism it cannot see. **The warning still arrives, same day, same tree.** Past the window — old enough that bearing is not in question — the specific wording comes back. Nothing grown from seed in a season changes. A flowering tomato still tells you the flowers will drop, because a tomato that is flowering is flowering, and you can see it.

  22. An empty space that means "we looked"

    Every plant page has a list of warning signs — the things worth watching for, like a lettuce running to seed. On most plants that list is empty, and an empty list reads like an answer: nothing bad happens to this one. That is not what it meant. It meant nobody had checked yet, and there was no way to tell the two apart. Three plants can now say which kind of empty they are, and they turn out to be three different things. Swiss chard has nothing to watch for because Minnesota Extension says outright that it will not run to seed in its first summer, however hot it gets — that is an answer, and the page now says so. Kale is empty because five university pages were read and not one of them names a sign, which is a fact about what has been published rather than about kale. And parsley does run to seed, but in its second year because that is what a two-year plant does, not because of a hot week — so warning you about the weather would have blamed the wrong thing. The other plants still show an empty list, and they still mean "we have not checked". They will say so as we get to them.

  23. An entry will say who wrote it

    Nothing is switched on and nothing looks different. This is the piece that had to be built first. We are working towards the assistant being able to write things down for you — noting a watering while you are talking to it, instead of making you log it again afterwards — with a choice about how much it may do without asking. That is not built yet. What is built is the record. If the assistant ever writes something you did not confirm, the entry itself has to say so, because a message that flashes past while you are outside is no use: you might not open the app for four days. Without that mark there is no way to show you what it did and no way to undo any single item of it. It is deliberately a separate mark from the "read by the app" badge you already see on entries the app wrote and you tapped to keep. Those two mean different things, and an entry you agreed to must never be mistaken for one you did not — that would fill the list of things to check with entries you had already approved, and hide the ones that actually need your eye.

  24. Answers can use a list when the answer is a list

    Until today the chat wrote everything as plain sentences, because the screen could not show anything else — a heading or a bullet would have arrived as literal hash marks and dashes in the middle of a sentence. Both halves changed together: the screen can now show headings, numbered steps, bullets and bold, and the chat has been told it may use them when what it is saying genuinely has that shape. A treatment with three steps in an order now comes back as three numbered steps instead of a paragraph you have to unpick. A two-sentence answer still comes back as two sentences. It has deliberately not been given a quota, because an answer padded into sections to look thorough is harder to read than one that just says the thing. Every conversation you already had looks exactly as it did — old answers were written in plain sentences and nothing has been reformatted behind you.

  25. Answers now show which of your notes they used

    When the chat answers a question about one of your plants, it often leans on things you wrote down weeks ago. It has been doing that for a while, and it has been keeping track of exactly which entries it used — but only the photo screen ever showed you. In the chat that list was quietly thrown away. Now you see it: under the answer, a short line reading "It used what you had written down", followed by the entries with their dates. This is the difference between this and a general chatbot, made visible. Anything can tell you what usually happens to tomatoes in August. Only something that has been keeping your records can tell you that you noticed the same yellowing three weeks ago and fed them nine days after that. If nothing appears, the answer did not use any of your entries — the list only shows up when there is something real in it, rather than claiming credit for records it did not read.

  26. Every journal entry knows which garden it belongs to

    Nothing looks different today. This is groundwork, and it is worth saying plainly rather than dressing up. Until now, which garden a journal entry belonged to was something the app could work out but not look up: it followed the entry to its plant, the plant to its bed, and the bed to your garden. That works, and it gets slower every week you keep notes — and it made a question like "every note I have written about aphids" expensive before it had even started. Each entry now records its garden directly. The existing entries were filled in the same way the app always worked it out, by following that chain, never by guessing: an entry we could not trace was left alone rather than filed under a garden it might not belong to. What this makes possible — searching your journal by subject, and letting the app look back at seasons you have finished — is not built yet. This is the part that had to come first.

  27. Ask a question about last July and it goes and reads last July

    Until today the Ask tab could only work from what it was handed at the start of a question, and that was the recent stuff: what is growing now, what you did lately, one line summing up each finished season. Ask what went wrong with your Sungold last July and it had nothing to go on, so it answered from general gardening knowledge — which reads as the app being vague rather than as the app not having looked. It can now go and look. It works out which dates you meant, finds the plant by the name you call it, and reads that stretch of your journal before it answers. If you have three tomatoes and you just say "the tomatoes", it asks which one and names them rather than guessing. It only reads your own garden, and looking something up never changes anything. One thing worth being straight about: this lets it read what you wrote, not remember what you did not. If nothing was written down that July, there is nothing for it to find.

  28. It knows last season happened

    Ask the chat about last July and, until today, it answered from general gardening knowledge — because the list of plants it is handed only ever contained what is growing right now. Finished plants were filtered out before it ever saw them. Nothing failed and nothing said so; the answer just came back vague in a way that looked like the AI being cautious rather than the app never having looked. It now gets one line for each season you have finished: how many plants, how many were harvested out, died or were pulled up, and roughly what you grew. It is told that this is a summary rather than the whole record, so it should say when it is answering from the outline. We deliberately did not send the whole of your past. Doing so would cost about thirty-four times as much on every question you ask, and it still would not answer the question — a plant record says a plant ended, not what happened to it. What killed your zucchini last year is in your journal, and being able to look that up on demand is the next thing being built. Two smaller things: a plant that ended without a reason recorded is described that way rather than guessed at, and a year you did not garden produces no line at all.

  29. It tells you the plant needs a stake before you pick its spot

    Add a cucumber, a pole bean, a young apple or any of the two dozen plants that need holding up, and a line now appears under Where is it? saying so. It is at that moment on purpose: putting a stake, cage or trellis in is easy before the plant is in the ground and awkward once it is, when you are working around roots that are already there. It names the need rather than the method, because that is what we know — a pole bean climbs netting, an apple whip wants a stake, borage just flops, and you can see which one yours is. It says nothing for most plants, which is the point: a note on everything is a note you stop reading. This is the only thing about a plant's spot we tell you so far. The one we would most like to add is drainage — some plants die of a wet winter rather than a cold one — and we are not there yet, because knowing which plants those are is a harder question than it looks.

  30. Notifications were never reaching your phone

    If you turned on notifications and never got one, it was not your phone and it was not the setting. The part of the app that asks your phone for permission to send them was missing from the version we published — not broken, missing. It has been absent for months, and everything we look at to check a release looked correct the whole time. The cause: publishing moved into a separate clean copy of the project back in August, for a good reason, and one settings file did not come with it. That file holds the key notifications need. Without it the code that sends them can never run, so the tool that packages the app correctly removed it as unreachable — producing a perfectly valid app with the feature deleted. It is fixed, and verified in the published file rather than in our own copy. Two other things changed so it cannot happen quietly again: publishing now carries those settings files with it, and packaging the app now REFUSES to finish if that key is missing rather than quietly leaving the feature out.

  31. One door that refuses by default

    Nothing looks different and nothing was broken. This is groundwork for letting the assistant look things up in your garden, and it is worth writing down because of what it prevents. When the server is asked for one of your plants or beds, it has to check that the thing belongs to the account asking — not merely that the identifier in the request looks valid. Those are different checks, and in August one of ours did only the second — found in our own review before the beta opened, while the only accounts that existed were ours, and fixed the same day. Nobody's garden was read by anybody. The fix was to write the check out by hand everywhere it was needed, which is correct and stays correct only while everyone remembers. There is now one shared door instead, and it refuses by default: no proof of ownership means no, including when the database cannot be reached to ask. Each new way the assistant can look something up goes through that door rather than carrying its own copy of the rule, and the check that guards it fails the build if the answer is handled after the data has already been read rather than before.

  32. One real call found the bug the tests could not

    The second-pass check being built for answers — the one that verifies each claim about your garden against your actual records — passed every test we wrote for it. Then we ran it once against the real model, for a tenth of a penny, and it failed in a way no test could have caught. It correctly spotted an invented claim. But when it reported that sentence back, it paraphrased it: the answer said "you also watered them on the 14th" and the check quoted "you watered them on the 14th". One word. Enough that the code looking for that sentence did not find it, so the sentence stayed in the answer and a note appeared saying a line had been removed. That is worse than no check at all — the note makes the wrong sentence look examined and approved. Our tests could not find this because we wrote the quoted sentences ourselves; a made-up test cannot reproduce a model rephrasing its own input. Fixed, and that exact exchange is now a permanent test. Still not switched on.

  33. Plants get their names back

    A hot weather alert arrived on a phone reading “Move Orange · Cara Cara Navel and Wax Bean into the shade before midday.” That dot is how the app separates a crop from its variety in a list, where it reads perfectly well. In a sentence it does not, and a phone prints it exactly as written. So anywhere a plant name goes into a sentence — a phone alert, or the assistant talking about your garden — it now reads as a name. Chasing it turned up something bigger than the dot. Most variety names already contain their crop: Red Russian Kale, Burgundy Amaranth, Blue Lake 274 Bush Bean. We checked all 3,174 varieties we hold and about nine in ten are like that, which means the old format was mostly saying the crop twice — “Kale · Red Russian Kale” — and the dot was making the repetition look deliberate. Now it says Red Russian Kale. The crop is still added when the variety genuinely does not carry it, which is exactly the case that got reported: Cara Cara Navel does not contain the word orange, so it becomes a Cara Cara Navel Orange. Lists inside the app keep the dot for now. It does a real job there, and nothing about it is confusing on a screen you are looking at — the problem was only ever the sentence.

  34. Setup stops inventing a planting date

    When you add plants during setup you are not asked when they went in. **The app filled the answer in anyway: today.** So a tomato added in August that had been in the ground since May was recorded as planted that morning — and every date the app gave afterwards was counted from a day nobody chose. Harvest windows, hardening dates, growth stages, all of it. **It hid itself twice.** The task that asks *"when did this actually go in?"* only appears for plants with no date, so it could never appear. The setup checklist item *"Say when you planted them"* counted any date as an answer, so it ticked itself the moment the plant was created. **Two safety nets, both blind to the same thing.** Setup now leaves the date blank, which is the truth, and both start working. You will be asked when each plant went in, and a rough answer is fine. **Nothing already entered was changed.** A date we invented and a date you gave look identical in the records, so we cannot tell them apart — if a plant added during setup shows a date that looks wrong, it is worth correcting on that plant’s page.

  35. Tap a day and you get the sky

    The day you tap in the weather strip now fills the screen with its own sky. The sun sits where it really sits at that hour — climbing through the morning, high at midday, low again by evening — and after dark it is a moon instead. The colors go with it: a rainy day is gray and low, a storm is dark and bruised, a clear night is deep violet. Under it, the temperature is large enough to read at arm's length, with anything of yours at risk that day, the wind, the forecaster's own words, and the hour-by-hour when we have it. There is a line at the bottom to ask about that day, already knowing which day you mean. The sun follows the real one: we know where your garden is, so a June day genuinely runs longer than a December one, and at six in the evening in summer it is still well up while in winter it has been down an hour. And the moon is the moon that is actually up tonight — a thin crescent when it is a thin crescent, half when it is half, lit on the correct side as it waxes and wanes. If you have not told us where your garden is, the sun simply follows the clock instead. The ground changes with the season too: fresh green in spring, deeper in summer, and brown through fall with leaves gathering on it as the season goes on — thin in September, thick by late November, and still there in January, because that is where they actually are. Snow and fog bring their own ground and cover it. The weather itself is drawn now, not just colored: clouds gather and darken from a clear day through to a storm, rain falls lightly or hard, snow drifts, and a thunderstorm gets its lightning. Fog is the one that is a wash rather than a drawing, because fog is not a thing overhead — it is the air you are standing in. And if your garden is in the southern hemisphere the seasons are the right way round for you. None of it is downloaded — the whole sky is drawn on your phone, so it works with no signal, which is where you usually are when you want it. One thing came off the screen: the paragraph listing plants we hold no heat figure for. That fact still lives on each plant's own page, where you are deciding about that plant — it was not earning its place on a weather sheet.

  36. The answer now knows which plant you tapped

    Open the chat standing on one of your plants and the app sends the assistant that plant's own diary. It has been doing that for a while. What it never did was say which plant the diary belonged to. Every other line in the same message named its plant, so the assistant was left to work it out — and the easiest way to work it out was to match a diary line against a named one. If you water two plants on the same day and write the same words about both, that match lands on the wrong plant. Worse, it lands there confidently, because it looks like it was checked. So the answer could be about your bean while you were standing at your lavender, and nothing about it would look wrong. The plant is now named, and its row in the list of your plants is marked, which is the part that matters if you have two of the same thing in the same bed — two rows of radishes are two rows of radishes, and a name alone cannot tell them apart. This also fixes a quieter one: if you had never written anything down about that plant, the app used to send nothing at all to say which plant you meant, so the assistant had least to go on exactly when it needed the help most. Nothing you had written down was ever wrong or lost. What was wrong was which plant the answer thought it was about.

  37. The chat stopped dropping your oldest plants first

    Every question you ask sends the chat a list of what is in your garden, capped at forty so the answer stays quick. **Under forty plants this never affected you.** Over forty, it used to send the forty most recently planted — **so the first thing dropped was whatever had been in the ground longest.** An apple tree planted five years ago fell out of the list before this spring’s lettuce did, and the answer came back as though the tree was not there. That reads as the app forgetting your tree, which is the opposite of the whole point. Now it takes **twenty from each end** — the twenty longest-established and the twenty most recently planted. What gets left out is the middle of the season, where one row of beans is much like another. **It is not a judgment that trees matter more than lettuce**; it is that cutting from one end always loses something you wanted. **And it now says when the list was cut**, so an answer can tell you it might not be seeing a plant instead of quietly assuming that plant does not exist.

  38. The entries it says it used are checked now

    When you ask your garden a question, the answer marks which of your journal entries it drew on, and the app lists them underneath: “It used what you had written down.” Until today we were not checking those marks against what we had actually sent. So an entry could turn up on that list having played no part in the answer — most likely one the assistant had seen earlier in the same conversation and remembered, rather than anything invented. It is a small thing that undermines a large one. The point of that list is to let you check an answer against your own record, and it only does that job if every line on it is genuinely what was read. So the server now drops any entry it cannot confirm it handed over. You may see fewer entries listed, or sometimes none at all. None does not mean the answer ignored your garden — much of what we send is your plants, your dates and your beds rather than individual notes, and only notes can be listed this way. It means nothing on that list would have been true. Nothing else changed: the same information reaches the assistant as before, and the answers are the same answers.

  39. The free-questions card sits where you can see it

    When you have used your free questions, the card explaining that sat at the very bottom of the Ask screen. That is the right place when you have a conversation above it — it lands where the message box was, which is where you are already looking. But on a phone you have just signed in on, your allowance arrives before your old conversations do, so for a moment there is nothing above it: the card floated at the foot of a tall empty screen, which reads as something that failed to load rather than as an answer. With nothing above it, the card now sits in the middle of the space instead. Same card, same words. Your conversations are not lost while this happens — they appear in the menu at the top left as soon as they have come across.

  40. The heat alert opens the day it warned you about

    Tapping a hot weather alert used to drop you on your job list, and whatever job happened to be first. So an alert reading “97° tomorrow, move your orange and wax bean into the shade” could land on a card about a different pair of plants, at a different temperature, on a different day. Neither screen was wrong: the alert names the plants we hold a heat limit for and the hottest day of the spell, while the job named the plants sharing a pot and today. Together they read as the app arguing with itself about the same afternoon. The tap now opens the day the warning was about, with that day’s temperature and the plants at risk on it. A warning takes you to the warning, and the jobs are still there when you want them. One more thing, for anyone who comes back to an old alert. These go out the evening before the hot weather starts, so if you tap one several days later the day it named has already gone by. The app says so rather than opening a different day and letting you believe it was the right one.

  41. The "how much?" question was opening off the screen

    Tapping Picked on one of your plants records the harvest and then asks how much you got. On a plant page that question was opening roughly three thousand pixels below the bottom of your screen. You could not see it. What you got instead was the page going dim and stopping responding, with no way to tell why — the question was open the whole time, just nowhere you could look. The entry itself was always saved first, so nothing was lost; you simply could not answer the amount, and the screen appeared to freeze. The cause was a leftover from the small slide-in animation every screen uses. It moves nothing once it has finished, but it quietly changes what "fill the screen" means for anything drawn on top — so the question was filling the whole scrollable page instead of the part you were looking at. Fixed, and there is now a check that fails the build if any pop-up is built the same way, because nothing about it looked wrong from the outside.

  42. The message box has its own line now

    The box you type your question into used to share one row with all the buttons beside it — camera, photos, microphone, send. Adding the new + for attaching a plant made that row too crowded to use: on a phone the typing area was down to about five characters wide, and the words "Ask your garden" no longer fitted on one line. It is now laid out the way most chat apps are: your question gets the full width on its own line, and the buttons sit in a row underneath it. The box still grows as you type and stops growing at about five lines, the same as before. One quiet improvement came with it: the box used to switch between two different layouts depending on how much you had typed, and a question of exactly the wrong length could make it flicker between them. There is only one layout now, so there is nothing left to flicker between.

  43. The plant comes with you, even mid-conversation

    Tapping the ask button from one of your plants opens the chat already knowing which plant you meant — that has worked for a while. But it only worked when the chat was empty. If you already had a conversation open, the plant was quietly dropped: nothing failed, nothing said so, and the answer simply came back about plants in general. That reads as the app being vague rather than as the app losing something, which is why it lasted. It now comes with you whichever way you arrive. Two related things came with the fix. A plant and a place can travel together now, so a question about your tomatoes on the front porch can carry both — the server always accepted that, and only the app was insisting on one. And what a conversation is about is now recorded message by message rather than stamped on the whole thread, so a conversation you reopen in October still shows what it was actually about at the time, instead of being quietly rewritten to match whatever you attached last. One honest limit while we finish the other half: something you attach partway through a conversation lives on the phone you attached it on. Open that conversation on a different device and it falls back to the plant you started it from, which does travel.

  44. A heat warning now names the plants it could not check

    The first real heat alert this app ever sent went out this evening. It named two plants. **The gardener has four.** The other two — a lavender and an apricot — have no heat threshold in our records, so they were not checked and found safe. **They were never checked.** Nothing said so, and a warning that names some of your plants makes the rest look fine. Tap a hot-weather card now and it lists the plants it could not look at, by name, with the distinction that matters: **we hold no figure for them, which is not the same as them being safe.** **It is deliberately not on the lock screen.** A push notification has about a dozen characters spare after the instruction, and a frightening half-sentence about unchecked plants would be worse than the silence it replaces. The short answer stays short; the honest detail sits behind the tap where there is room for it to be fair. **Filling in the missing figures is separate work** — we hold a heat threshold for 39 of our 152 crops. This does not fix that. It stops the gap being invisible.

  45. The pot-size note stopped shouting

    On 111 crop pages the container-size line read "2-3 Gal - Low End Is The Minimum, High End Is Better". Every word capitalized, like a machine reading out a form. The cause: that column is styled to capitalize short values, which is right for turning "full sun" into "Full Sun" and wrong the moment a whole sentence goes through it. The note now sits in its own piece of the line and keeps normal sentence case, while the value beside it is still tidied up the way it always was. Nothing about the numbers changed — only how loudly the sentence next to them was being read out.

  46. The row where spraying will not help

    Every crop page has a panel of what tends to go wrong, and until today it had two rows: pests and diseases. Some of what sat under diseases was neither. Blossom end rot is a watering problem, sunscald is too much sun on a fruit, and root knot nematodes are an animal — all three were printed as illnesses because the record a crop keeps has only those two lists, so whatever was not a pest became a disease by default. The page now asks what each problem actually is and puts the growing problems in their own row, labeled not illnesses, with a line saying these come from water, feeding or sun and are fixed by changing what you do rather than by spraying. Six crops read differently today — tomato, pepper, watermelon and goji gained that row, and potato and carrot moved their nematodes across to pests. The rule underneath it is the one that matters more than the six: a problem we hold no record for does not get guessed at. It stays in the row it was already in and we say nothing, because 189 of the 327 problems named across these pages have no entry telling us which kind they are, and an unknown shown as an illness is exactly how a plant doing nothing wrong gets treated for something it has not got.

  47. The sun question finally changes something

    The app asks whether each spot in your garden gets full sun, part sun or shade. **Until today nothing read the answer.** A bed you had marked as shade still got a heat card telling you that *"shade in the afternoon helps"*. Nik spotted it and said so: he could answer the question and it changed nothing. Now, when every plant in a heat warning stands somewhere you have marked as shade, the card drops that line and gives you the half that still applies — water in the morning, keep an eye on them. **It does not change whether you get warned.** Forecast temperatures are measured in the shade to begin with, so there is no honest way for us to say a sunny bed runs a particular number of degrees hotter. Inventing one would be worse than saying nothing. **And a spot nobody has asked you about is not assumed to be shady** — not being asked is not an answer.

  48. The weather drawing got a lot better, and the sun stopped disappearing

    The picture at the top of your day is drawn on your phone rather than downloaded, which is why it can move with the hour and still work with no signal. The first version of that drawing was not good enough. The clouds were a row of identical lumps with a straight line across the bottom, the rain was one mark repeated at one angle, and the snow was made of small squares. They are redrawn: clouds are one soft shape now, wide in the middle and smaller at the edges, with a shaded underside instead of a bar. Rain falls in strokes that vary in length and weight. Snow is round. And fog, which was honestly just a gray rectangle before, is layered banks of haze that sit thickest near the ground. The bigger fix is one you would have felt without being able to name it. The sun climbs and sinks across the picture as the day goes on, so a glance tells you roughly what time it is. On cloudy, rainy, snowy, stormy and foggy days it was not being drawn at all, so on five of the eight kinds of day the picture quietly stopped telling you that. Now it shows through the cloud as a bright patch in the right place, which is what an overcast sky actually looks like. The moon does the same after dark.

  49. Your week strip stopped reporting the weather and started briefing you on your garden

    Today and the next two days are large now, with the rest of the week scrolling sideways — three, because that is how far ahead you can still do something about it. A day only gets marked when a plant you actually own is at risk on it, and the mark is a band across the tile with the hazard and the number of plants on it, not a dot you have to hunt for. It also tells you the window rather than the day: "from Wednesday until Monday" is the part a forecast never gives you and the part that decides when the fleece comes off. Tap a marked day and a panel opens over the screen with the plants, what the heat or cold does to each of them, the wind and the Weather Service’s own words for that day, and a button that starts a chat with the question already written for you to edit. And it now tells you what it could NOT check: nobody has published a heat threshold for about half of common food crops, so where we have no figure the app says so rather than implying those plants were looked at and found fine.

  50. Three blanks that meant three different things

    Every plant page has a line for warning signs — things worth watching for, like a lettuce running to seed. On most plants that line is empty, and the page tells you the gap is deliberate rather than leaving you to wonder. But an empty line can mean more than one thing, and until today they all read the same. Swiss chard is empty because Minnesota Extension says outright that chard will not run to seed in its first summer, however hot it gets — that is an answer, and a reassuring one, and the page was keeping it to itself. Kale is empty because five university pages were read and not one of them names a sign, so the answer is genuinely missing. And parsley does run to seed, but in its second year, because that is what a two-year plant does — so watching the weather for it would have told you the wrong thing. Those three pages now say which kind of empty they are, in a sentence each. The rest still show the general line, and it is still true: we have no figure to put there, and we looked.

  51. Two plots, two forecasts

    If you garden in more than one place, the frost and hot-spell alerts used to look up the weather for **one** of your gardens — whichever came back first, with no rule about which — and then judge **every plant you own** against that one number. **That is not just the second plot going unwatched.** A plot in a valley and a plot up a hill can differ by several degrees on a clear night. Judged by the wrong one you would get a warning about plants that were never at risk, or **silence about plants that froze.** Each garden is now checked against the forecast for where it actually is, and only the plants standing there are judged by it. **You still get one alert a night, not one per plot.** The hot-spell alert describes one garden — whichever spell starts soonest. A heat warning carries a peak, a start day and a length together, and blending two places would give you one plot’s peak beside another plot’s timing. **The other plot is still assessed on its own and warns on its own day.**

  52. Two trays of carrots are carrots

    If you have not given your seed trays their own names, each one is labeled with its crop. So two trays of carrots left outside made the bring-in reminder read "Carrot and Carrot are outside" — right about your trays, and not a sentence anybody would say out loud. It now names each thing once, however many trays of it are out there. The button still says bring them in, because there are still two trays to carry. This is the same fix that landed earlier today on the cards that tell you what frost ends tonight and what is at risk in the heat — and it is here because we went back over that fix afterward and found it had stopped at the edge of one file. If you named your trays yourself, you still see both names.

  53. We ask your phone not to delete your garden

    Everything you record goes onto your phone first, which is why the app works standing in a bed with no signal. That store belongs to the browser, and a browser is allowed to clear it out when it wants space back. Safari is the one worth knowing about: it drops a site’s data after roughly a week of Safari use without visiting that site. That is a week of using the browser, not a week on the calendar, so a gardener who goes quiet through a wet two weeks while reading the news every day is on a clock they cannot see. The app now asks the browser to hold on to your garden, and it asks as soon as you add your first plant rather than the moment you arrive — that is the first point there is anything worth keeping, and browsers are more likely to agree for a site somebody actually uses. The browser can still say no and we cannot make it say yes. This is also not a backup, and we would rather be plain about that: it stops the browser tidying your garden away on its own, and it does nothing about a lost phone or a browser you clear yourself. An account is still the only thing that survives those.

  54. Your carrots are one line, not four

    Four rows of carrots are four entries in your garden, and when a card needed to say which plants it was about, it said all four: "carrot, carrot and carrot and 1 more". Right about your garden, and not a sentence anybody would say out loud. The cards that tell you what frost ends tonight, what is at risk in the heat, what will run to seed, and which plants we are still missing a detail for now name each thing once. This was reported and fixed twice before today on the screens it was noticed on, and it kept coming back for a reason worth saying plainly: nobody had counted how many places did it. There were thirteen, and the two fixes covered the ones that had been reported. The fix now sits in the one piece of code all thirteen use, so the sentences nobody has complained about yet are right too. If you gave two plants of the same kind their own names, you still see both — Sungold and Brandywine stay two things, because they are.

  55. A button that cannot go yet now looks like it cannot go yet

    On the add-a-plant screen there are two ways to finish: the big button, and a line of text under it. Neither will do anything until you have picked a plant and said how it started. The big button showed that — it faded, and it changed its own words to "Pick a plant first". The line under it did not. It stayed bright and looked completely tappable while doing nothing at all, right beneath a button that was busy explaining itself. It now fades the same amount as the button above it. The same gap was quietly true of a couple of other link-shaped buttons elsewhere in the app — the ones that go quiet for a moment while something saves — and those are fixed with it.

  56. A change we cannot file is refused now, not quietly reversed

    If your phone sent us something the server did not recognize — usually because the app updated before the server did — the old value quietly went back, your phone pulled it down, and the answer you had just given was overwritten by the previous one. A garden with no real frost could go back to being dated off a winter zone, on every device, with nothing said anywhere. It looked like data, which is why nobody reported it. Now the server refuses the change and says so, and you see it on the backup line: the server will not take some of them, with a link to the list. Nothing is lost — the change stays on your phone and goes up as soon as the server understands it. The same protection now covers your location, your frost dates, your winter zone and your spray preference, and it applies to a value of the wrong shape as well as an unfamiliar one: a latitude sent as text used to be dropped just as silently.

  57. If your garden never freezes, you can finally set it up

    Pin a garden in Miami, the Florida Keys or coastal southern California and the app used to tell you “it may be water — try a point on the land nearby”, then refuse to save anything. You are not on water, and there was no way past it: setup could never finish, so every date stayed a generic zone 6b guess. The cause was ours. The map we look frost dates up in stores a blank for a square of ocean and the same blank for a garden that never freezes, and we read every blank as ocean — while our own records had Miami and Key West down as never hitting freezing the whole time. The app now tells the two apart. If nothing near you has ever recorded a freeze it says so; if frost turns up some years but not most — which is much of that same coastline — it says that instead, because those are different things and the second one is the one that catches people out. Either way you can carry on and finish setting up. You get no frost dates, because there are none to give you, and nothing will invent one: no last-frost countdown, no “safe to plant out after” built on a date we made up. Everything that does not hang off frost works exactly as it always did.

  58. A photo can now tell us how tall a plant is — and still will not guess its age

    If a picture shows roughly how tall a plant is, we offer that as something you can tap to confirm, and confirming it writes the height onto the plant. Most of this already existed and went nowhere: the model was asked for a height on every photo, the answer was range-checked, the question was put to you, and there was no line of code that wrote it down. It also read in meters, which is the wrong unit for an app that talks in Fahrenheit and USDA zones, so it reads in feet and inches now. Age is different and we will not guess it. A photograph of a tree with nothing beside it for scale cannot tell you whether it is three years old or six, and every date we work out for that plant hangs off its age — when it should fruit, whether it is old enough for a hard prune, what a normal first season looks like. Being wrong there is wrong in a way nobody could spot. So we ask you instead, and "I bought it at about this size" is a perfectly good answer. The same goes for when it was planted, and whether a cane fruits on old wood or new.

  59. A bed now says what goes in it, not just how much

    This morning the app learned how many bags of soil a new raised bed takes. It said, on its own screen, that it could tell you **how much** and not **what of** — because what to fill a bed with is gardening advice, and getting it wrong costs a season. That half is now sourced. A bed tells you how much of the fill should be compost: **a quarter to a half of it**, with the rest topsoil or a soilless growing mix. **It is a range because the sources give a range.** We read four US extension services — Maryland, Utah State, Minnesota and Penn State — and they land at 25-50%, 30-50%, a third to a half, and 30%. Every one falls inside a quarter to a half, and not one of them publishes a single number, so neither do we. **Half is a ceiling, not a target**, and Minnesota gives the reason: too much compost dries out and then actually repels water. A bed filled with compost alone is the common and expensive mistake. **What we deliberately will not do is hand you a three-way shopping list.** The tidy advice you see online — a third compost, a third topsoil, a third perlite — turns out to be one option from one of the four, offered as a possibility rather than the rule. We went looking for it expecting to confirm it and did not. Printing "6 bags of compost, 6 of topsoil, 3 of perlite" would look far more helpful than it is. **And the thing that changes the answer most is what is under the bed** — turf, heavy clay, an existing bed and a patio each want a different fill, which is how Maryland organizes the whole question. We do not ask you that yet, so the screen says so rather than pretending the number covers it. One more gap worth naming: every figure we found is stated for vegetables. Nobody we read says what a perennial bed wants, so we do not say either.

  60. When you are around is now a row per day, not one answer for the whole week

    Hardening off schedules itself around the hours you are actually there, and until today you could only give it one answer: what time you leave, and what time you are back, applied to all seven days. That could not say the ordinary thing — home all day Saturday, evenings midweek — which is exactly the week most people have. Profile now shows Monday through Sunday, each with as many stretches of time as you want, a plus button to add another to the same day, and a button to copy one day across all of them. The plan reads it properly too: a day with a gap at lunchtime and another after work has two windows a tray could go out in, and the app picks the one that fits the step rather than the longest one — so it stops proposing a carry at a moment you are not already moving. Times you had already set were carried over as what they actually meant: around before you leave and after you get back, not all day. A day you leave blank means you are not around, and nothing gets scheduled into it.

  61. A photo limit that gives the room back the moment you delete something

    Photos now have a ceiling — fifty on a garden — and the interesting part is what happens when you reach it. Delete a few and the room comes straight back, immediately, with nothing to clear out separately and no waiting. That was the one thing worth getting right: a limit you cannot get out from under by tidying up is a trap rather than a budget, and it would have been the first place in this app where deleting something does not actually help. The camera also tells you before it opens rather than after you have taken the picture. The alternative is worse than it sounds — a photo that looks saved on your phone, quietly never arrives, and is missing the day you go looking for it on another device. It counts photos rather than megabytes, because the app already shrinks each picture as it saves it, and nobody should have to think in file sizes to use a garden app. Fifty is far more than most gardens take in a season; the limit is there to catch something going wrong, not to sell you anything.

  62. Twenty-three more plant problems the app can now describe

    Melanose, sooty mold and tristeza on citrus, black knot on cherries and plums, and black root rot, leaf scorch and red stele on strawberries. Ask what one of them looks like and you get a description written from a named extension service, with the link, instead of "we have not written that one up yet". Each says what you are looking at rather than what to do about it — the sandpaper feel of a melanose leaf, the black galls that wrap a plum twig, the brownish-red core of a strawberry root with red stele — and each says which crops the page it came from actually covers. Where the source itself names a lookalike we pass that on: leaf scorch and Cercospora leaf spot look much the same, and the spots that never get a pale center are the scorch.

  63. Tell us how deep your raised bed is and we will tell you how many bags

    Winter is when people build beds, and the question you actually have standing in the aisle is how many bags go in the trolley. So the bed page now works that out. We already asked how wide and how long a raised bed is; add the depth in inches and it says something like "About 16 bags of 2 cu ft — 32 cu ft in all". The total is there for anyone buying it loose by the yard, but bags lead, because nobody buys cubic feet. It rounds up, always — you cannot buy four fifths of a bag, and being one short means a half-filled bed and a second trip. We ask for the depth rather than assuming it, because a rectangle has no volume without one and a guess there is wrong by whole bags; the question tells you most raised beds are 6 to 12 inches so it is a choice rather than a test. One thing it deliberately does not do: tell you what to fill the bed with. Plain topsoil is a mistake, there is a proper mix, and getting it wrong costs you a season — so that is being sourced properly before we say a word about it, and the screen says which half it is answering.

  64. A plant you put in yesterday is no longer told to pick itself

    Plant a mint cutting today and the app could tell you to harvest it tomorrow. Not a reminder for later — a job for now, on a plant with nothing on it. It happened to mint, rosemary, lemongrass and mulberry, and the reason is the daft part: **it was not that we thought they were ready. It was that we held no figure for them at all**, and having nothing to say had been letting the job through instead of holding it back. Seven plants behaved this way, and for months it was written down as one problem — missing numbers in our plant records. Measured plant by plant it turned out to be three separate faults, and only part of one was missing numbers. A raspberry and a strawberry went wrong on **exactly two days each** — the days you happened to plant them just as their picking season opened, which counted as having been there for it. A shallot was already known to be too young and got told to cure itself anyway, because the app was checking the name of the growth stage rather than the job. All three are fixed, and underneath them there is now a floor: **nothing is told to pick, cure or cut in its first 18 days**, whatever we know or do not know about it. Eighteen because that is the fastest thing in our entire plant database — mizuna, seed to a cut leaf in 18 days — so it is the longest we can wait without contradicting something we already know. Nothing that legitimately picks lost a day: 207 plant-and-planting-method combinations were checked and every one kept the harvests it had. **What it does not fix**, because a floor is not an answer: past 18 days those four plants are back to having no figure, and can still say ready before they are. That is a gap in the records rather than a rule, and it is the next job.

  65. The frost warning on This Week says one thing once, not six times

    Under "Will not finish before your frost", the app lists the plants whose crop would start arriving after the cold does. If you had planted six bush beans, it printed the same sentence six times in a row — "Bush bean would start filling pods 3 days after your first frost" — because the sentence names the plant and six plants of one kind share a name. It was the loudest block on the page, and it was one fact. Identical warnings now collapse into a single line with the number of plants beside it, the same way the jobs above it already say "10 plants". Plants whose timing genuinely differs still get their own line — only word-for-word identical warnings merge, so nothing gets hidden behind a count.

  66. Places you can make, and keep, without planting anything in them first

    Until today a place in your garden only came into existence as a side effect of something else — naming a spot while adding a plant, or mentioning a bed to the chat. There was no way to simply make one, which meant anybody laying out their beds before planting had to invent a plant to hang each place off. Worse, a place with nothing in it was invisible: the garden screen grouped plants by where they live and quietly left out any group that was empty, so making a bed and looking for it appeared to do nothing at all. Places now have their own list on the Garden screen, showing every one of them, with an empty one reading nothing in it yet rather than disappearing. Add a place takes a name and makes it, then opens it so you can add a size or say what kind it is — none of which is required. And the empty-garden screen now offers the same thing, which matters because setting up where things will live, before anything grows in them, is exactly what somebody starting out wants to do.

  67. It rained all night and the app still asked you to water

    A gardener was shown a watering job for a potted bean the morning after a real soaking. The cause was worse than a missed condition: the app had the forecast on the screen and there was no mention of rain anywhere in the part that decides what needs doing. It carried the chance of rain and never the amount, and those are different questions — a ninety percent chance of a passing shower wets nothing, and a forty percent chance of a thunderstorm can drop half an inch. Rain now counts as a watering, because that is what it is. About four tenths of an inch in a day does it, and smaller days running together add up the same way. How long it lasts was already right and did not need reinventing: a pot dries out in a day and a mulched bed holds a week, so the rain simply goes in as the last watering and everything else follows. Anything under cover is left alone — a greenhouse bed and a tray on a windowsill got none of it. And if you watered anyway, your own record still wins. Underneath the week there is now a record of what has fallen over the last two weeks, with a bar for each day. It is what the forecast expected for your area rather than a gauge in your garden, and it says so.

  68. If you have asked your phone to reduce motion, the app now actually does

    The app animates lightly — cards arrive in a short stagger rather than all at once. If you have turned on Reduce Motion in your phone settings, none of that is supposed to happen, because for some people this kind of movement causes real nausea. We had written the rule that switches it off, and one line of it had a typo that made the browser throw that line away: the speed of each animation was set to nothing, but the small pause before each card was left in place. So the cards still arrived one after another, over about a sixth of a second. It was the one thing the rule existed to remove. Fixed — with Reduce Motion on, the whole screen now appears at once. We found it by accident, chasing something else entirely, which is a fair reminder that a setting nobody on the team uses is a setting nobody on the team is checking.

  69. You can say how old a tree was while you are adding it

    If you bought a tree that was already a few years old, the Add a plant screen now asks: how old was it when you planted it? Pick the plant, choose "A plant I bought" under how it started, and the box appears. A guess is fine — whole years is all we use, because the difference between a two-year and a three-year nursery tree changes nothing we tell you, and the difference between nought and three changes almost everything. The app works every date off the day a plant went in the ground, so without this a five-year-old apricot planted in April reads as a first-year seedling — and every spring it would tell you to stake it, strip its fruit and water it every few days, which is advice for a whip you grew yourself. The field itself has existed since the 19th, but only on the plant's own page, which is a screen you have no reason to visit right after adding a plant. Now it is asked at the moment you are describing the tree. Leave it blank if you grew it here from seed — blank has always meant it started here. The question only shows for plants that come back each year, so a lettuce you bought as a seedling is not asked, because the answer could only be nought.

  70. Setup opens with a choice, and ends by offering to save what you made

    The first thing GardenTrack shows you now is a door rather than a question: Start, or I already have an account. Start takes you into the same five screens as before — where you garden, your dates, one thing growing, where it lives, and what the app now knows. Nothing about those changed, and the counter still reads one of five, because a door is a choice rather than a question about your garden. What is new is the end. Instead of dropping you on Today, the last screen offers to save the garden you just built, which is the first time we ask for an email — by which point there is something worth keeping rather than a form standing between you and a look at the app. You can close it and carry on: everything you entered stays on the device and is picked up by whatever account you sign in with later, whenever that is. And if you are already signed in, or already have plants in the app, none of this appears — the app can see it has met you before, and asking anyway would be it forgetting.

  71. The app no longer tells you to wait for signal you already have

    When something you had recorded was waiting to back up, the line at the bottom of the screen said "will back up when you have signal" — and it said that whether your phone had no connection or the problem was at our end. Those are not the same thing, and only one of them is fixed by waiting. If you have a connection and we are the ones having trouble, it now says "Backup did not go through; trying again", which is true and is the right thing to do. No connection still says what it always said. Either way your work is on your phone and nothing is lost — the difference is only whether standing somewhere with better reception would help. Found by killing our own server with the app left running and reading what it said, which is not something a test can do: every test passed the whole time, because the sentence was well-formed and merely wrong.

  72. One name, two diseases again — and this time the description reached nobody

    We describe 115 plant problems in the app, each written off a named university page. One of them was sooty blotch, the smudgy gray marks that turn up on apples in late summer. The description was right and it reached no apple at all, because the name it was filed under belonged to something else: a leaf spot on crimson clover, a cover crop with no fruit for a fruit-surface fungus to sit on. Two different diseases had ended up sharing one label, and each entry on its own was correct — which is exactly why nobody spotted it. Left alone, the app would eventually have described an apple problem to somebody asking about clover. Both now say which plant they mean, and the apple description reaches apples. This is the second time a shared name has caused this: back in August we found that blight is two diseases needing opposite responses. A plant problem has a common name the way a person has a nickname, and more than one of them can answer to it.

  73. The daily list stops asking you something you answered two minutes ago

    When you name a place while adding a plant, the app asks what that place is — in the ground, a raised bed, a pot. Later the daily list asks what the plant itself is planted in, and until today that question came up completely blank, which reads as the app having forgotten. It now marks the likely answer and says where it came from: Straight in the ground, with a border round it and the line You said this about Back bed. It is marked rather than chosen, and that distinction is the point of the whole change — a seed tray can sit on any bed there is, so knowing what the bed is only ever makes one answer likely. The other options are one tap away and nothing is recorded until you pick one. Where the bed cannot suggest anything honestly, nothing is marked: a greenhouse names a roof rather than what the roots are in, so guessing from it would water a potted lemon like open soil. This matters more than it sounds, because what a plant is planted in is the single thing the watering advice turns on.

  74. The feedback button stops floating in the middle of the add-a-plant screen

    The little pencil that sends us feedback floats over every screen. On some of them it lifts higher up so it clears a fixed bar at the bottom — the message box on the chat screen, for instance. The add-a-plant screen was on that list and has no such bar, so the button was lifting clear of nothing and sitting in the middle of the page beside the answer buttons. It now sits down in the corner above the tab bar, where it belongs. The reason this took two changes rather than one is that the extra space at the foot of the page — which does genuinely stop the save button colliding with it — was only being granted to screens on that lift list. Taking the screen off the list would have quietly removed the spacing too. The spacing now depends on the button being there at all, which is what it should always have measured.

  75. If you told us the day it came up, more of the app now knows

    Eighteen crops — cucumbers, peppers, squash, corn, melons, okra and the rest of the warm-season list — work out their seedling stage from **the day the seed actually came up**, not from the day you sowed it plus an estimate. That matters because germination is the step that varies most: cold soil can add two weeks, and everything after it shifts by the same two weeks. **The app has been able to use that date for a long time. Four screens were not sending it.** The chat knew when your cucumbers came up; your garden list, your catch-up list, the hardening-off runs and the screen where you record what you have seen did not — so the same plant could be described as being at two different stages depending on where you looked. All four send it now. **What changes on the screen:** a cucumber that took eighteen days to appear used to be told to thin its seedlings and water them on a day when it was barely up. Now it is told nothing yet, which is correct — and a pepper that used to be told to thin is told to stake or cage instead, because it is further along than the estimate thought. We measured it across those crops and it changes the jobs on more than half the days we checked. **If you have never recorded a germination date, nothing changes for you** — the app falls back to the same estimate it always used, and says so.

  76. The free plant database was bigger than what our own app reads. It is smaller now.

    The download carried all 3,174 varieties at full depth — eighteen months of sourcing and the inputs our planner runs on, in one free file. Publishing our data honestly and giving away all of it are two different decisions and we had collapsed them into one. Every crop is still there with its full care data; that part has not changed and will not. The variety list is now the 500 most-searched, carrying what a seed packet prints: name, type, color, size, heirloom or hybrid, and days to maturity. The 500 were picked by US monthly search volume for each variety name, measured on August 25, with ties broken alphabetically — a fact about what people look up rather than our opinion about what matters, and anyone can re-run it. What is held back is listed inside the file itself rather than left for you to notice, and if you need it you can email us. One thing we would not trade away to make the file look fuller: days to maturity ships only when we can also say what it counts from, sowing or transplanting. That is about a month of difference, and a maturity number without it is a misleading number. Where we do not know the basis, we publish neither.

  77. The forecast marks the days that threaten your plants, not the hottest day

    The week strip used to point at the hottest day. That is a fact about the weather, and it said the same thing to okra as it did to lettuce that went in last week. Now a day only gets a mark when something you actually planted is in trouble on it — checked against each crop’s own recorded temperature limits and against what your plant is doing right now, because an apple’s frost figure is about open blossoms and means nothing to the same tree in January. Tap a marked day and you get the list: which plants, what the cold or the heat does to them specifically, and whether they are in a pot you could move. A run of hot days is marked once, on the day it starts, rather than every day it lasts — a mark that turns up every week is one people stop seeing. Frost is the exception and marks every night, because every one of those nights is a night you go out and cover things. And when nothing in your garden is at risk all week, it says so and gets out of the way.

  78. The garden walk has a button now, in both the places you would look

    The garden walk shipped with one way in: a line of small gray text partway down the garden screen. It worked, and nobody could find it. There is now a proper button — "Walk your garden", with a camera on it — at the top of your garden above your beds, and the same button behind the + in the bottom bar, above the list of plants to log against. It is purple where the other buttons are orange, on purpose: orange is for doing something to a bed, and a walk is somewhere you go. Both are the same button, so they can never end up describing the walk two different ways. The + is there for a reason rather than for symmetry: a walk is logging. You are going outside to record what you see, and the + is where your hand already goes to record something. Neither appears until you have a plant, because a walk photographs your plants and attaches what it finds to them — with an empty garden it would be an invitation to a dead end.

  79. The indoor stretch was always too short, and two plants came out as zero days

    For anything you start inside, we need to know roughly how long it spends indoors before it goes out. We hold two figures for that, and both are ranges: a tomato is 6 to 8 weeks in, then 7 to 14 days after the last frost. We were taking the shortest of each — 6 weeks and 7 days — which pairs the two ends least likely to happen together. Somebody who starts as late as they might does not also plant out as early as they might. The middle of each is the honest answer, and for a tomato that is 60 days indoors rather than 49. Two plants were coming out as zero days indoors, sweet pea and bok choy, which put the day they were sown and the day they went out on the same date. Of the 79 plants that use this figure, 52 move by two weeks or more. A longer indoor stretch means a plant reads as older, so it came with a second change: we will not tell you to pick something before it has been in your garden long enough to have anything on it. Without that, three flowers you pick — calendula, chamomile and nasturtium — would have asked to be harvested the day after planting, every day of the year. Nothing about a plant you sowed straight into the ground has changed.

  80. Tap a day on your week strip and you get the wind and the full forecast

    Tapping a day already showed you the hours ahead, and now it also shows the wind — speed and direction — and the National Weather Service’s own paragraph for that day, in their words rather than ours. All three of those were already arriving in the same response we were fetching for the temperatures, and we were throwing them away. Nothing new is being requested, so it costs your phone nothing extra. One thing we are deliberately not doing with it: wind never puts a risk mark on a day. A mark means a plant you own is in trouble, and we can only say that where a university has published a temperature for that crop. Nobody publishes a wind speed at which a bean gives up, so a wind alert would be a number we made up — and a guess should not raise an alarm. It is the weather, reported.

  81. Two lines on the garden walk that now share no words

    A garden walk marks each photo with what happened to it, and the two that matter used to read "Looked at — nothing to flag" and "Kept, not looked at". They both contained the phrase "looked at", which meant the entire difference between "your plant is fine" and "nobody checked this one" rested on the word not — three unstressed letters in the middle of a line you are scanning past. On the free plan you get one walk, so misreading that is not recoverable: you cannot go round again to find out. They are now "Nothing wrong with it" and "Nobody looked at this one" — no shared words, they differ on the first word rather than the fourth, and the second one names who did not do the looking instead of hiding it in a negative. We also fixed something that shipped the same afternoon: if our server was unreachable, the screen still said "we will look at every one and write down what we see" — a promise we could not keep, made to somebody about to spend their only walk on it. It now says we cannot reach our end and that the photos are saved until we can.

  82. Some plants are sold under two names, and we only answered to one of them

    Our apricot record is "Chinese (Mormon) Apricot" because it is genuinely called both. If you typed the name off your nursery tag as "Mormon", we looked for the whole thing, did not find it, and told you we do not have that variety. We had it. Sixteen of our varieties are stored with a second name in brackets like that — Evans (Bali) Cherry, Holy Basil (Tulsi) — and either name now finds the plant. The size class on a tag was already being read: a label like "Mormon semi dwarf" is two facts, the variety and what it is grafted onto, and semi-dwarf against standard changes how big the tree gets and how far apart to plant it, so we keep it separately rather than treating it as part of the name. One thing that has not changed and will not: if the name you type is not one we hold, we say so rather than picking the closest-looking variety. A near-miss would silently change every date we work out for that plant, and a missing variety is a much better wrong answer than the wrong one.

  83. Walk your garden and have us look at it

    There is a new door on your garden screen: walk round, photograph up to ten things, and tap which plant each one is. Every picture gets looked at as you go, and whatever we notice is written into that plant's record — so a walk you took on a Sunday afternoon is still there in October when you are trying to remember when the beans started podding. Nothing to read at the time. It just takes notes while you look. Three things worth knowing. It tells you how many photos will fit BEFORE it opens the camera rather than after the fifth one, because running out halfway through would spoil the walk rather than shorten it. It works with no signal — the photos are saved on your phone and we look at them when you are back in range, and a phone that dies mid-walk picks up the same walk rather than starting a new one. And it says which pictures were looked at and which were only kept, in different words: "nothing to flag" means we checked and your plant is fine, "kept, not looked at" means nobody checked. Those are not the same news, and a record that ran them together would send you back out to re-photograph something we have already seen is fine. On the free plan a walk is a one-time thing, and it does not come out of your photo allowance.

  84. We started counting, and we wrote down exactly what we count

    GardenTrack now keeps a note of four things: how many people open the app, how many start setting up a garden, how many finish, and how many make an account. A single one of those records is a random number, which of the four happened, and when. No name, no email, no location, no plants, no photos, nothing about your phone. The random number is one we invent on your device the first time you open the app — it is not worked out from anything about you, which is what makes it a random number rather than a fingerprint. It stops the moment you make an account, because by then it has done its job and we would rather that not rest on us promising not to look. There is no analytics company involved, no script from anywhere else, and no pixel; we count it in a request the app already makes. Our privacy page used to say we ran no analytics at all. That was true when it was written and it is not true now, so the page has changed in the same breath as the code rather than quietly afterwards — and it now names what we count instead of leaving you to guess what "no analytics" covers. Why at all: until today, somebody who opened GardenTrack, looked at the setup questions and left again was completely invisible to us, and that is the person we most need to hear from.

  85. Pick the thing you can see, and read what causes it

    Every plant page now has a quiet line under the name — Something looks wrong? — and it opens a list of what people actually see on that crop. Not latin names: holes chewed in the leaves, a dark sunken patch on the fruit, wilts in the afternoon and recovers overnight. Pick one and you get what causes it in the words of the university or extension service that wrote it up, with their name on it and a link so you can read the rest. It costs nothing and uses none of your AI questions, because it is a lookup rather than a conversation — you can open it as often as you like. If we hold nothing written up for that crop it says so instead of guessing, and shows the problems common to most plants. On a long list — a broccoli has twenty-eight entries — a box above it narrows things down: type leaves and only the leaf ones stay. One thing it does not do yet, and the help page says so too: it does not separate an illness from an ordinary growing problem. Blossom end rot on a pepper is about watering rather than infection, and today the guide describes it out of a disease write-up. What you read is still true about the spot on your fruit and still the source's own words, but the framing can make a fixable thing sound frightening. We are correcting the records underneath it.

  86. When it is not an illness, the guide says so first

    Blossom end rot is the clearest case. A dark, sunken, leathery patch on the bottom of a pepper looks alarming, and nothing has infected the plant at all — it is the plant reacting to how evenly it has been watered. So the symptom guide now says that before it says anything else: not an illness, this is it reacting to how it has been grown, which means it is yours to change. Twenty-nine entries across the guide are growing problems rather than illnesses, and each one carries that line now. That is three of them — blossom end rot, sunscald and leaf roll — counted once for every plant and symptom they turn up under, which is how many times you could actually meet one. Until today they were all filed as diseases, so the guide described a watering problem out of a disease write-up — every word of it true about the spot on your fruit, and the framing wrong in the one way that matters, because it sends you looking for a spray you do not need. One thing it deliberately does not do: a cause we hold no write-up for says nothing at all. It is not called a disease and it is not called a growing problem, because an unknown shown as an illness is exactly how a plant doing something perfectly normal gets reported as sick.

  87. When we cannot tell you it is ready, we ask you instead

    Some plants have no maturity figure worth trusting — a strawberry crown and a raspberry cane are the two you are most likely to own. Plant one partway through its picking season and the app used to say nothing at all, because it could not honestly say it was ready. Now it asks: "Any strawberry starting to turn color?" Say yes and the picking job appears. It only asks where an answer would actually change something, and it stays quiet about plants we do have a real number for — a young apple is not a question, it is a fact we already hold.

  88. A new help page for the plants that did not start here as a seed

    Somebody asked the chat when their plants would be ready, and the chat had nothing written up for a plant grown from a cutting or bought already established. It said so rather than guessing, which is right, and this is the page it was missing. The problem underneath it is that every "days to maturity" number ever published counts from the day a seed went in the ground — so for a plant you bought in a pot, the number is answering a question you did not ask. The page says what to tell us instead. For a tree or bush there is now a box for how old it was when you planted it, and a guess is fine; without it we read your planting date as the tree's whole life and give a six-foot tree a first-year tree's care every spring. For an annual bought as a starter we use the crop's day count measured from setting a plant out, where we hold one. Where we only hold a count measured from seed we use the longer number on purpose, so the app runs late rather than early — telling you something is ready when it is not costs you the fruit, and telling you to wait costs you a few days of looking. The page also says the thing that beats all of it: once a plant is flowering, what happens next is the same few weeks whether it came from a seed, a cutting or a garden center.

  89. An onion you planted ten days ago was being told to harvest itself

    Most of a plant’s dates are counted from the day its seed was sown. If you bought a start, you never sowed it — the only date you can give us is the day it went in the ground. For five crops we had nothing to count back from, so the app fell back to a national calendar: a date about a typical plant somewhere in America, shown as a fact about yours. An onion set out ten days ago came back as bulbing, ready to harvest and ready to cure, and the daily list told you to go and harvest it. Now we count backwards instead. We know how long an onion spends indoors before planting out — eight weeks, a sourced number in our plant records — so eight weeks back from your planting day is the day it was sown, and every date built on sowing belongs to your plant again. Onions, cucumbers, okra, pumpkins and summer squash all gained this. Fennel, kale and Brussels sprouts still cannot, because we do not hold the number for them yet — they keep showing the typical calendar and saying so, because inventing the number would put a made-up date on your own plant.

  90. Four more crops stopped asking you to harvest something you just planted

    A follow-on from the same fix. We hold, for most crops, how many days from planting to something worth picking — and that number is measured from one of two starting lines: from the seed going in, or from setting a young plant out. They are weeks apart, so we only ever use the one that matches how you actually planted. Cereal rye publishes only the seed figure, which is right, because nobody transplants rye. But if a rye planting was recorded as a transplant, we had no matching number and fell back to saying nothing — so it went back to offering a harvest on a plant put in yesterday. Now a seed figure is used whatever the record says, and a transplant figure never is. That sounds arbitrary and is not: the two mistakes are not the same size. Using a seed count for a transplanted plant over-estimates, so at worst we stay quiet a bit too long. Using a transplant count for a sown seed under-estimates — sage measured from setting out is 75 days, and charging that to a seed would call it ready weeks early. One direction fails into silence and the other into a wrong instruction, so only one of them is allowed.

  91. A mint planted yesterday is no longer told to harvest it

    Some plants come back every year — mint, sage, chives, lemon balm, a raspberry cane. For those, what we hold is the shape of a normal year: leaves from spring, cutting through summer, dying back in autumn. That describes an established plant and is genuinely useful for one. It is nonsense for something you put in yesterday, and the app was applying it anyway — so a mint planted in June landed in the middle of cutting season and was told to go and cut it. Fifteen crops did this. It now asks how long the plant has actually been in the ground: we hold, for most crops, how many days from planting to something worth picking, and until a new plant has had those days the harvest job waits. From the second year on, the normal-year description really is about your plant, so it applies. Two things we deliberately did not do. We did not record that mint takes a year to become cuttable, because it does not — you can cut mint the summer you plant it, just not the day after. The obvious fix was to write a false year against nine herbs to silence a wrong message, which would have made the database lie to fix a screen. And if you have told us the fruit is sizing, you win: our day count is a catalog figure for a good season and you are looking at the actual plant. That took two goes to get right — the first version hid the very question that lets you tell us. Three crops can still do it, because mint, rosemary and lemongrass have no day count in our records yet. Those are being sourced.

  92. Photo answers are now told when we do not know a planting date

    When you photograph a plant and ask what is wrong with it, the answer is built from what we hold about that plant. If we know when it went in, that goes along with the picture, and it is what lets the answer check the stage it can see against your own calendar. If we do not know, nothing at all was being said about it — no date, and no mention that there was no date. A gap where a fact should be is the easiest thing in the world to fill in, and filling it in is exactly what we do not want. It is now handed the words date not recorded, which is a fact rather than a hole. Knowing when something went in is still not knowing how old it is, and it will not tell you that either way: a tree bought at three years old went in the ground last month, and nothing we hold can tell those two apart. One more thing came back with this. How a plant was started, sown where it stands or raised somewhere else and moved, was only passed along when a planting date came with it. That is one of the most useful facts there is when something looks wrong at the base of a young plant, because transplant shock and damping off look alike and start differently. It now goes with the photo whether or not we know the date.

  93. A paragraph on the plant database page was nearly the same color as the card behind it

    At the bottom of the plant database page there is a cream card explaining what those pages are for and what the app does. Its text was a pale lavender on that cream — close enough in tone that it read as washed out rather than as writing. The color itself is one we use deliberately, but only on the dark parts of the site, where it is meant to sit. One line of styling had applied it to a light card by mistake. It is dark brown now, like every other paragraph on a cream card. We found it with a tool that photographs a page with the words hidden and measures the real color underneath each one — the ordinary checker cannot grade text sitting on artwork, and that page is mostly artwork.

  94. One tomato disease in our database had no source behind it, and two near-misses hid that

    Our plant database lists eleven diseases for tomatoes, and every entry is supposed to trace back to a university extension page that names it. We went through all eleven against the three pages we cite. Ten checked out. The eleventh — tomato yellow leaf curl virus — was named by none of them. Two things made it look fine. One page mentions leaf curling, but as a sign of aphids, not a virus. Another names curly top virus, which sounds like the same thing and is not: different disease, carried by a different insect. Anything matching on shared words would have called both of those a source. The disease is real, and the description we show for it was already based on a dedicated North Carolina State page. That page is now cited on the tomato record itself, so the entry stands on its own. We also rewrote tomato's pest and disease notes to say which source named which item, instead of listing the sources as a group. Every other crop already worked that way; tomato was the last one that did not.

  95. Telling the app something never gets you silence and a button

    When you tell GardenTrack something instead of asking it something, two things happen at once: the assistant replies to you, and it files what you said so the right buttons appear underneath. Occasionally it did the filing and skipped the reply, and you would get a card offering to add your plant with no words above it at all. That reads exactly like being ignored by something that is meant to be listening. The app now checks before the answer reaches you and, if there are no words, writes a short line itself from what it just filed — written down, watered the tomatoes, or got all three, check them over below. It is a floor rather than a replacement: a one-line receipt is worse than a real reply and the assistant is still expected to write one. This only makes sure a silence never reaches you. The strange part is that half the app already did this. There are two ways an answer can arrive — one where the words appear as they are written, and one where they arrive all at once — and only the second had the check. So whether you saw any words at all depended on which path your question happened to take, which is not something anybody could have noticed or reported. Both paths now ask the same question, so they cannot drift apart again.

  96. An apple tree was being told to start itself indoors

    Every plant page has a section called "What we will not put a number on". It is for the handful of things we can state and choose not to, and each one comes with the reason. One of them is a direct-sowing date for peppers and sweet marjoram: extension services publish one, but it assumes row covers, and printed next to "frost kills this plant" it reads as an instruction to sow outdoors before your last frost. That is how you lose a crop, so we hold the date back and tell you to start those two indoors instead. The note was written for two plants and was appearing on forty-nine — including apple, cherry, fig, garlic and strawberry. Nobody sows an apple tree, and the note ended by promising "the indoor start date is on this page" when thirty-six of those plants have no indoor start date at all. The cause was underneath: when someone records that a question does not apply to a plant, that decision was being thrown away before it reached the page, so an answered question and an unasked one arrived looking identical. Both are fixed. The warning is back on the two plants it was written for, and it is still there.

  97. Apple problems now say what they actually look like

    Ask about a sick apple and the app could name the likely trouble but not describe it, which is the half that decides anything. Four of apple’s common diseases now carry a sourced description of what you would see: apple scab, fire blight, cedar-apple rust and bitter rot. Each one is written from a named university extension page and says which one, with a link. The useful part is what separates them. Apple scab makes roughly circular spots with feathery, ill-defined edges, olive-green to black, mostly on the upper side of the leaf. Cedar-apple rust makes a hard-edged yellow-orange circle instead, and pushes fringed tube-like structures out of the underside. Fire blight turns blossoms and twigs black as though scorched, and the dead leaves stay on the tree rather than dropping, which is the thing nothing else on an apple does. Bitter rot sinks into the fruit in rings, and cut through the spot the rot runs inward as a brown watery V pointing at the core. We also say where a description stops. The cedar-apple rust page we learned from describes the leaves and not the fruit, so the entry says so rather than letting you assume it covers both.

  98. The cold-night warning was printing "undefined" for two crops

    There is a kind of cold that ruins part of your harvest without endangering the plant: nights in the forties and low fifties, well above freezing. Nothing dies, but a tomato stops setting fruit, a bok choy decides winter has been and gone and runs to seed, and a basil comes through looking rough. Those want completely different things from you — the first is pure reassurance, the second is a deadline to go and pick — so the card names which one it is. It only knew two of the three. For eggplant and basil it printed a fragment reading "and undefined will stop setting fruit", which was a broken sentence and also wrong advice, since neither of them stops setting fruit from the cold. Two of the six crops we hold this data for. Both now get their own sentence, and it deliberately stays general: our records say "quality suffers" without saying how, and the sources differ — eggplant gets tough skins, basil gets blackened leaves. Naming one would have been right for one crop and invented for the other. Worth saying why this only covers six crops: it needs a source naming a temperature and a specific harm in the same breath, which is a rare thing to publish. Where we do not have it we say nothing — so a quiet night is not proof your plant is unaffected.

  99. A tree page said “15–15 feet”, and asked two trees a question with one answer

    On a seed-grown orange, the plant page read “without this we can only say 15–15 feet — the rootstock is what decides”. Our source gives oranges one spacing figure, and the sentence printed it as a range with the same number at each end. It reads “15 feet” now. Checking why led to a bigger one. Eleven kinds of tree ask which rootstock yours is on, and we told all eleven that the answer decides their spacing. It decides it on four — apple, pear, mandarin and peach, where a dwarf wants about 6 feet and a standard about 25. On the rest we hold one range whatever the tree is grown on, so we were asking you to go and read a nursery label to sharpen a number that was never going to get sharper. Those pages now just give you the number. Two of them — apricot and persimmon — were offering a single answer, which is not a question, so that card is gone entirely. The card stays on citrus, because there the rootstock really does change how many years until you get fruit.

  100. How long to start a plant indoors, counted from the day you plan to put it out

    Until now, everything we published about starting seeds indoors was counted backwards from your last frost date. That is the right frame for a lot of crops and it is how a lot of extension services write it. It is also a frame that needs you to know your frost date before the number means anything. Onion, cucumber, okra, summer squash and pumpkin now carry the other version: how many weeks the plant sits indoors before you set it outside. Onion is eight weeks, okra four to five, cucumber and summer squash three, pumpkin four. It is more useful than it sounds, because the date you actually have in your head is usually "the weekend I am going to plant this", not a frost statistic. The odd part is where the numbers came from: they were already in our files. Extension services publish this timing exactly this way — "sow seeds indoors about 8 weeks prior to planting" — and every time somebody building the database hit one, they wrote it down in a note and threw the number away, because we had nowhere to put it. Six crops have a sentence like that sitting in their record. Two of them say so outright. The value was never missing; the slot was.

  101. It calls your plant what you call it

    Every plant in our records is filed under one name, and it is often not the one you would use. We file zucchini under Summer Squash, collard greens under Collard, green beans under Bush Bean. So if you typed Zucchini, the app went on asking you about a summer squash. That landed worst on the sentence where it mattered most: the question asking whether something has come up exists to sound like it knows your garden, and it was the one sentence reading from our records rather than from you. Every card about a single plant now uses your word — the question, the running-late note, the reminder to sow it, and the one that asks whether it ever went in. A variety counts as your word too: a plant recorded as Beet · Chioggia is asked about as Chioggia. If you never gave it a name of its own it still uses ours, because a question with no plant in it is worse than one with the wrong name. One card still says the crop on purpose: the pest note is a single row covering every bed growing the same thing, so there is no one plant of yours it could honestly name.

  102. 66 varieties were printing the same word twice

    A variety row shows its type as a small chip next to the name, then anything else known about it as separate pills. Where a source happened to list the type among the traits as well, both printed — so Bergamot Orange came out as “Bergamot Orange · sour · sour · strongly scented”. Sixty-six varieties did it, across bok choy, celery, elderberry, flax, lemon balm, orange and more. A row now leaves out anything its own heading has already said. Nothing was deleted from the data — the trait is still recorded the way the source wrote it. One thing we avoided: a few crops store the type field as the whole list of kinds that crop comes in, so a blackberry carries “thorny” and “thornless” at the same time regardless of which it is. Matching against that would have hidden “thornless” from three blackberries that really are.

  103. Some garden problems have no germ behind them, and now we can say so

    Ask what is wrong with a plant and almost every reference you will find answers with a pest or a disease. But a lot of what actually goes wrong in a garden has nothing living behind it at all: sun on an uncovered fruit, a cold snap in May, water that came and went, a flower that never got pollinated. We have added sunscald as a described problem — pale brown, leathery, sunken patches on the side of the fruit that faces the sun, which is the part that tells you it is this and not a rot, because a rot starts where the flower was. That takes us to 115 problems we can describe rather than only name. Behind the scenes we also started a second set of records for this whole family of trouble, so the app can eventually answer three questions it simply could not before: it flowered and nothing came, it ran to flower far too early, and the most useful one of the three — nothing is wrong with your plant. Rolled tomato leaves after a wet spring are one of the most-searched garden panics there is, and the honest answer is that the plant is fine and the fruit will be fine. An app that can only name troubles will always get that one wrong, because naming a trouble is the only thing it has to offer.

  104. Ask about a plant and the assistant now sees what your notes were about

    Every journal entry you write gets tagged with what it is about — pests, feeding, watering, soil and a dozen more. Those subjects shipped yesterday and you could already search and filter by them on your own notes screen. What could not see them was the assistant, which is one of the three reasons a beta tester asked for them in the first place: so that asking a question about your own notes gets a better answer. Now, when you ask about one particular plant, the subjects on that plant’s entries go to the assistant alongside the entries themselves. It matters most for plain notes. Every other kind of entry announces its own subject — a pest sighting is obviously about pests — but a note just says "note", so without the subject a note about aphids and a note about feeding look identical. One thing it deliberately still will not do: search. Asking for everything you have ever written about aphids, across every plant and every year, is your notes screen’s job and not the assistant’s. We would rather say that plainly than have it look for something it never went and found.

  105. The big green caterpillar on your dill is probably not a hornworm

    A university page lists tomato hornworm as something dill is susceptible to, so we carry the entry. But the caterpillar that actually strips a dill plant is normally a black swallowtail larva — a parsleyworm — and we carry that too. The problem is that the two are confusable by exactly the feature the first one is named for: disturb a parsleyworm and it rears up and flicks out a forked orange horn from behind its head. A fat green caterpillar with a horn is a hornworm, obviously — except on a carrot-family plant, where it usually is not. The app now says, on dill, that the hornworm description was written about a different plant family and may not describe what you are looking at. The entry stays; what is added is the warning that would otherwise be invisible. Worth knowing before you act on it — a parsleyworm turns into a black swallowtail butterfly.

  106. On some cards the date was invisible, and nothing we had could see it

    Every card on the blog, guides and tools pages puts a small date or label over the artwork, with a dark fade behind it so the words stay readable. The fade was not tall enough. The headline sat inside the dark part and read fine; the little amber label sat just above it, in the part where the fade had almost run out. On cards whose artwork is dark you would never notice. On the ones with a bright sky or a sunlit hillside the label all but vanished. The reason it went unnoticed for so long is that our normal contrast checker refuses to grade text sitting on a picture, and it is right to: a photograph has no single color to measure against, and picking one gives a confident wrong answer. That refusal covers around 1,700 pieces of text on this site. So we built something that photographs the page with the words hidden, reads the actual color underneath each one, and reports the worst pixel. It put the worst of these labels at roughly one-to-one against their background — which is to say the same color. We then went and looked, and it was right. The fade now extends past the label on every card.

  107. The lines between your jobs were invisible

    One job ended and the next began, and nothing on screen said where. The divider between two rows was drawn in white at nine percent — which works on the dark theme and disappears completely on the light one, where the page is cream. Measured, the line and the page behind it came out at 1.018 to 1: not faint, but almost exactly the same color. Turning the line up would not have helped, because white over cream never separates no matter how strong you make it. It now uses the color that already flips with your theme, so it reads on both. The same mistake was in two other places and both are fixed. One rule that looked identical was left alone on purpose: the list inside the orange panel on your home screen sits on a dark card whatever theme you use, so white is the right color there and the theme-aware one would have drawn a pale tan stripe across it. Worth saying plainly: nothing we run would have caught this. Our contrast checks read text against its background, and a divider is not text. It was found by a person looking at his own garden.

  108. The number in the corner was a door

    Working through your jobs one at a time, the little "1/7" at the top opens the whole list — every job with its plant and its bed, so you can jump straight to the one you actually came out for instead of stepping through the rest. Nothing said so. It had no border, no background and no underline, it was the same muted color as the label beside it, and a fraction is exactly the shape that reads as a readout rather than a button. It was also 23 pixels wide, against our own 44-pixel minimum for anything you tap. There were really two buttons there doing the same job, the progress bar and the number, and only the bar had a name — so a screen reader announced the same door twice, once as "see all of today's jobs" and once as "1 slash 7". They are one control now: the whole strip is pressable, there is a chevron saying it opens something, and it announces itself as "Step 1 of 7. See all 7 jobs for today."

  109. The number was right and the calendar belonged to somebody else

    Four more crops have stopped telling a plant you put in yesterday to go and harvest it: lavender, lemongrass, sweet potato and tarragon. All four count their picking season from the day the plant goes out rather than from a seed — and for these four we hold no figure for when that step happens, so the app was falling back on when it usually happens in your area. Sweet potato shows it plainly. Our harvest figure, 90 to 120 days after planting out, is correct and sourced. Hung on a borrowed date it could land on any day of the year, including tomorrow — so a slip put in the ground yesterday could be told to dig it up. The app now asks first whether your plant has actually been in the ground that long. One deliberate side effect: direct-sown broccoli waits until day 50 for its harvest prompt instead of day 43, because 50 days is broccoli’s own figure and it is measured from planting out, which a direct-sown broccoli never had.

  110. The same question, twice, in two wordings

    Two separate parts of the app had each grown a way to ask whether a seed had come up. They were written months apart, they sat 250 lines apart, and neither one knew the other existed — so on the crops where both fired you got "Any sign of the broccoli yet?" and "Any broccoli sprouts?" on the same screen, about the same bed, on the same morning. We built every crop at every age and counted: it happened on 147 of them. There is one question now, from one place, in one set of words. Deleting the newer card was the obvious fix and it was the wrong one — the two did not overlap everywhere, and on broccoli, whose own page says first sprouts in five to ten days, deleting the older one would have left nothing asking between day five and day twenty-four. The card that survived took over that window first. Two smaller things went with it. The "no" button now reads "Nothing yet" everywhere, because four other cards say "Not yet" to mean "ask me later" and record nothing, while this one records that you looked and the soil was bare. And the reasons behind the question no longer open by telling a five-day-old seedbed that it is running late — inside the window it says so, and only past the window does it say the plant should be up by now.

  111. The sun question existed and nobody was told about it

    Since 21 August each growing spot has had a question on its own screen: how much sun does it get? Answer it and the app can tell you a plant is somewhere it will sulk — a porch is not a lawn, and until you say so the app cannot tell them apart. The trouble was that you had to go and open that spot to find the question. If your beds were already in the app, nothing ever mentioned it, so for most gardens the whole feature sat there unused and silent. It now appears in the App tasks list on Today, counting how many of your spots have an answer, and tapping it takes you to your garden. Nothing was filled in on your behalf while you had not answered: a guess read off a bed’s name is only ever shown to you to confirm, never saved as your answer, and the new line does not tick itself because of one. It is a one-off — once every spot has an answer the line goes for good.

  112. We told paid accounts there was no limit, and there is one

    Profile told anyone on an open plan “there is no limit on photos or questions at the moment — ask as much as you like.” There is a limit. A safety ceiling sits behind every account, including paid ones, so that a loop or a stolen session cannot run up an enormous bill in a night. It is set far above anything a month of gardening reaches, and almost nobody will ever meet it. But “no limit” is an absolute, and it was the one sentence in the app that our own meter contradicted on every single request. The screen now says the ceiling is there and what to do if you ever meet it: get in touch and we will sort it out. We have not added a warning or a number, because a wall you will never touch is not something to make you think about — it is only something we should not have promised was absent.

  113. A date we borrowed from the season can no longer tell you to pick something

    Most crops have two ways of starting — seed straight into the bed, or raised indoors and set out later — and our records give some of their seasons from one of those days and some from the other. A plant only ever gives you one. **When the app could not work a date out from what you told it, it used the typical date for that crop in your area and then said it about your plant.** In late August the typical tomato season is wide open, so a tomato seed sown on Tuesday was told to harvest on Wednesday. Pepper, eggplant, tomatillo and ground cherry did the same thing. **The rule now is one sentence: a season we borrowed cannot give you a job if it had already opened before your plant went in the ground.** No age limit, no threshold — the plant's own date against the season's own opening, and it needs nothing we do not already hold. **The hard part was not stopping it, it was not stopping too much.** The obvious version — refuse anything we did not get from you — silences garlic, cereal rye, hairy vetch and horseradish for ever, because every date those four have comes from your frost dates and always will. That is not borrowing; the season genuinely is their clock. The next version, refusing every season-derived date, is worse in the other direction: it silences a tomato you sowed in May for the whole of September, which is exactly when you are picking from it. Both were built and measured before either was thrown away. What shipped was swept across all 152 crops, both ways of starting, every planting day of the year. **Five fewer crops now say pick-it, cure-it or de-scape-it to a plant that went in yesterday** — and a plant put in at its normal time loses not one harvest, out of 207 crops and planting methods checked at every age to seven months. **The season is still shown, it just no longer masquerades as an instruction:** *tomatoes around here are usually picked from mid-July* is true and stays. *Pick your tomato* was not.

  114. A greenhouse is not something you plant in, so it is no longer one of the answers

    When the app asks what a plant is planted in, it used to offer five answers: a seed tray, a pot, a raised bed, straight in the ground, or a greenhouse. **Four of those name what the roots are in. One names a roof.** If you grow a lemon in a pot under glass, you were being asked to pick which half of that to tell us — and picking the greenhouse threw away the pot, which is the half that decides how often you water it. The hint under that button admitted as much: *"Under cover, in the ground or in pots."* **It is now four answers, and nothing about your garden is lost.** A greenhouse has always been something a SPOT can be — you mark the bed as one, or simply call it "greenhouse" and the app reads it off the name — and that has not changed. So the lemon says both halves now: the spot is a greenhouse, the plant is in a pot, and the watering advice is the pot's. **Two things you may notice.** A plant under glass in a pot can now be told to come indoors on a cold night, which it could not before — the app thought "greenhouse" meant a building nobody can pick up. And a tomato planted into a greenhouse border is no longer put on a hardening-off run, which is right: you cannot carry a bed outside. A seedling in a tray or a pot in that same greenhouse keeps its run exactly as it was. **Nobody has to redo anything.** We checked every plant on every account before making the change, and not one of them had answered "a greenhouse" — so nothing was rewritten and nothing was lost.

  115. A tree that has been there for years can finally say so when you add it

    The add screen asks when a plant went in, and **the longest answer it offered was "a couple of months ago".** For a bed of lettuce that is plenty. For the orange tree by the porch it is not an answer at all, so an established tree came in either as a two-month-old seedling or with no date on it, and both of those get planting-year advice every spring: stake it, water it every few days, strip the first fruit so the tree builds structure. Right in year one. Wrong every year after. **The list now runs past two months** — last year, 2 years ago, 3 years ago, and longer ago than that. Nothing behind it changed, and that is the point: the app has counted a plant's seasons for weeks, the plant page has shown the age, and the run-through has asked established plants which year they went in. **The one screen every plant enters through was the only one that could not say it.** You do not need to be exact. On a tree the year is the whole of it, and past its first season the app counts seasons rather than days — a few weeks either way changes nothing you will see. "Longer ago than that" records five, which is past the point where everything held back from a young plant has already been released. **One more thing you will notice:** where a plant's date is printed, it now carries the year when the year is not this one. *Planted Aug 23, 2023* rather than *planted Aug 23* — which, on a tree put in three years ago, read as this August.

  116. A way to tell us when you cannot get in — and four tabs that finally have pictures

    If you were stuck on the way into GardenTrack, there was nothing you could do about it. The sign-in screen had six things on it — a box for your email, a button to send you a code, and the four tabs along the bottom — and not one of them was a way to reach us. Every route the app has is behind the door: the quick button opens the chat, and the chat needs the account you are trying to get. So the person we most need to hear from was the one person who could not speak to us, and a tester who could not get in looked exactly like one who had never been invited. There is now a link on that screen — Not working? Tell us — on the step that asks for your email and on the step that asks for the six-digit code, which is where a code that will not take, a code that never arrived and a mistyped address all end up. Say what happened and send it. No account, no code, nothing you have not already got. Your email is a second box underneath and it is optional, because somebody who has just failed to sign up twice should not have to hand over an address in order to say so. The other visible change is the bar along the bottom of every screen. The four shapes above Today, Garden, Ask and Profile were identical blank squares — the right size and the right place for icons, with no picture in any of them, which reads as four images that failed to load. They were never icons at all; each was a colored square marking which tab you were on, doing a job the word underneath already did. They are now a sun, a seedling, a speech bubble and a person, so you can go for the shape instead of reading eleven-pixel type every time you want to move. And the round microphone button, which was slightly see-through on the chat, Add a plant and hardening-off screens, is solid: text passing underneath it was coming out smudged rather than covered, which is worse, because your eye keeps trying to read it.

  117. Every finished plant said it ended on December 31

    If you had ever recorded a plant as harvested out, pulled or dead, its page said it ended on 31 December — whatever day you actually said so, and whatever year. So did the Finished list in your garden. The date we stored was the day number within the year, 1 to 366, and the screen that drew it could only show days 1 to 365, so anything it did not understand came out as the last day it could name. It never looked broken, which is why it lasted. Two things follow from the fix. The date is now the day you gave, and it says the year when the year is not this one — so a perennial that finished two seasons ago reads "Jul 19, 2025" instead of silently reading as this summer. And every record you already had has been repaired: the first time you open the app it converts the old dates using the year the plant went in, and sends the corrected ones up so your other devices get them too. The same number was also behind a quieter problem. The app refuses to log something onto a plant you have finished, unless it happened before the end — remembering a watering from the week before you pulled it out is ordinary. That comparison was between two numbers that did not mean the same thing, so it refused everything, always. Backdating onto a finished plant works now.

  118. Is there still time to grow it? Answered on the crop page, with no question spent

    Open any crop and there is now a second line under the planting verdict: "Sown today it would still finish before your first frost around 10 October" — or would not, or would give you a small one rather than none. It is your own frost date against that crop's own days to maturity, and it is the question people actually ask in August. The app has been able to answer it since the middle of the month. **The only way to reach the answer was to ask in chat** — so your phone worked it out, sent it off, and had it read back to you, which costs one of your questions and needs a connection. Now it is simply on the page: instant, offline, and it costs nothing. The two lines answer different questions and can honestly say different things. A radish's spring window closed in April and a radish sown today still finishes — you can sow it again later in the year. A sweet potato can have an open window and still be sixty days short of the ninety it needs, which is the case this was built for. And for crops you dig or cut rather than wait to ripen, "not enough time" is not the same as "nothing": what you eat keeps growing until the frost kills the top, so the line says a small crop rather than none.

  119. Most of the text in the app is a step bigger

    Nik said the text was too small and that it never settled — your eye keeps re-adjusting. Measuring it found one cause rather than eleven: the app had two text sizes a pixel apart that were described as the same job, and the smaller of the two was labeled the one to reach for first. It ended up carrying 55% of every word the app says, at 12.8 pixels — a fifth smaller than the size your phone itself uses. There is now one size for anything you read. Nothing moved by more than about a pixel, but it moved on 549 pieces of text across every screen, and the sizes that are left are a short deliberate list rather than a pile of near misses. Small type is still used for things you glance at — a counter, a timestamp, a chip — and nowhere else.

  120. The photos that matched nothing now have somewhere to live

    Send a picture of something that is not in your garden — a sunflower on a walk, a leaf you could not place — and until now it went nowhere you could find it again. Every list of photos in the app starts from a plant, except one: the row of recent shots on the Ask screen, which stops at twelve. So an unmatched picture was there for twelve photos and then gone. The file was never deleted; there was simply nothing left pointing at it. There is now a screen for them, on Profile under "Photos with no plant". It leads with what each one turned out to be — Sunflower, or Tomato · Cherokee Purple — Early blight — rather than a wall of thumbnails with dates on them. Your phone already has the wall of thumbnails and is better at it; what it cannot tell you is what the picture was of. A picture we never worked out says so in those words instead of being quietly left off. You can put any of them on a plant whenever you work it out. It becomes a real journal entry dated the day you took the picture, not the day you filed it, so it lands in the right place in that plant’s run of photos and follows you to a new phone. Two smaller things went with it. What the app told you a photo was is now kept on the photo — carefully, so a reading about the second of three pictures is written on the second one and not on all three. And a picture sent in a conversation that never became a journal entry now reaches a second device properly: before this, it arrived as a name inside a message and in no other place, which meant every screen that starts from your photos was blind to it.

  121. Profile is four sections now, not thirteen

    Profile had thirteen headings in one long scroll, all at the same level, and every thing you could actually change was a line of underlined words inside a paragraph. It now has four groups — **Your garden**, **How the app talks to you**, **The app** and **Your account** — and the things you press look like buttons. Sign out is where every other app puts it: the very bottom. Two sections stopped existing rather than moving. The times you leave the house and get home were a section of their own, three cards away from hardening off, which is the only thing that uses them; they are inside it now. And the paragraph under Alerts said what the switch underneath it already said. A hundred words came off the screen along the way — the walkthrough card spent 49 of them listing what it does not delete, before anybody had a reason to think it might. The section headed **Danger zone** is now headed **Start over**: "zone" already means something specific four cards up, where you pick how cold your winter gets, and the button under it says what it does better than the heading did.

  122. Tap any day in the weather row and it opens hour by hour

    The second half of the weather work. Tap a day and its hours open **underneath the row rather than on a screen of their own**, so the week stays in front of you and the same tap closes it. **It leads with when.** A column of twenty-four temperatures is something your phone already does. What an hourly forecast can tell a gardener that a daily one cannot is the hour: *rain from 2pm* is what decides whether you water this morning, and *coldest at 5am, 29°* is what decides whether covering at nine in the evening is enough. On an ordinary day it says nothing and just shows the hours — a panel that always has an announcement is a panel you stop reading. **It covers about six and a half days**, which is as far ahead as the weather service publishes by the hour, and it fetches only when you tap. Most mornings nobody opens it, and asking for it on every app open would spend your data on something you did not look at. **Two things went wrong in testing that no amount of reading would have found.** The cache we built to keep this cheap never once worked: the service publishes its hourly list starting from the top of the previous hour, so our "is this still current" check threw away every copy and fetched again — the exact opposite of the point, with nothing on screen looking wrong. And the hours were labeled from the clock on your device rather than the clock in your garden, so Friday opened at "11pm" when tested from a different time zone. Both were found by opening the app and looking, and both now have a test that goes red if they come back.

  123. The app now has something to say in February, when your beds are empty

    Open GardenTrack in the middle of February with nothing planted and it used to say *"Nothing planted yet"* and stop — **at the exact moment the gardening year starts.** Everything the app knew how to say hung off a plant that was already in the ground, and in late winter there is not one. **Now it says what the season is asking for**, counted from your own last frost rather than a date off a national chart: *it's time to start thyme, celery and shallot indoors, plus 14 more* — and when a window is about to shut, it says that too. Move your last frost three weeks later and your tomatoes move three weeks with it. **It shows on the two screens that would otherwise be blank** — an empty garden, and a morning where everything is already done — and it goes quiet the rest of the year. There is nothing to sow in August and we are not going to invent something to fill the space: it speaks on about a third of the days in the year and says nothing on the rest. **Two of the three things this was meant to fix turned out to be working already**, which we only found by opening the app on a simulated 9 February rather than reading the code. A garden with a peach, an apple and a gooseberry in it already gets nine cards that morning, *Winter prune* among them, and hardening off already runs off a tray of seedlings. The gardens that got nothing were the empty one and the one holding last summer's finished annuals — so that is what changed, and the pruning is exactly as it was.

  124. The app stops asking whether your seeds are up once it can see that they are

    It was asking "any sign of it yet?" on the same screen that told you to pick the crop — 388 of the 1,368 screens we generated, across 116 crops. Fifty-five crops were still asked three years after planting: every fruit tree, every berry, asparagus, rhubarb, garlic. Three separate parts of the app were each answering "should we still be asking", and they gave three different days. There is one answer now, and it runs on your plant’s own calendar rather than a day count: the question ends when the app tells you to pick something, when every window that plant has is behind it, or when the sprouting checkpoint itself runs out. Both of those numbers are now zero. A plant still inside its window is asked exactly as before, including one running late — that is when we know least about it.

  125. Four things on the setup screens, and a screen for when the app cannot open your records

    The first screen of setup draws one ZIP code as a grid of a thousand little squares with one lit up, because that is how many of our 800-foot squares fit inside one. The two lines that say which is which used to sit underneath it — and on a shorter phone, an iPhone SE or an 8, they fell off the bottom of the card. So the picture that carries the whole argument for why this app is different arrived as a gray rectangle with an orange speck in it, which says the opposite of what it means. The labels now sit beside the picture, and the picture sizes itself to the phone, so both lines are on screen on every size we design for. On the same screen, "Why this?" used to open and then never close — the button was replaced by its own answer, leaving nothing to press. It stays put now and says "Hide that" while it is open. Choosing "Nothing yet — I am planning" on the third screen used to drop you on Today after the counter had promised 1/5, 2/5, 3/5: two more screens that never came. It now finishes on the last screen, the one that says your dates are set and what Today will do with them, and the progress bar shows the screen you skipped as an empty step. And setup is drawn over Today, so pressing Tab a few times used to walk you onto the screen underneath, ending on a link that leaves for the sign-in page — the keyboard now stays inside the card, as it does on every other panel the app draws over a screen. Separately: everything you record is written to your phone before anything else, and if the app cannot open that store there is nothing for any screen to show. It used to sit there with a working row of tabs above a blank page, forever, saying nothing. It now tells you what happened and what to do — usually close GardenTrack’s other tabs, which is what blocks it after an update — and if the other tab goes away on its own the app carries on without a reload.

  126. The first setup screen shows a neighborhood instead of a grid of squares

    Setting up used to open with a grid of about a thousand small squares, one of them lit up, to make the point that your frost dates come from your own patch rather than your region. It made the opposite point to most people who saw it: a big gray area with a speck in it. It is now a view over a neighborhood with two pins in it — a garden down among the houses, and a spot on the higher ground behind — carrying two different last-frost dates, because that gap is the whole reason we ask where you garden. The picture is an illustration and the two dates on it are examples; the line underneath says so, and your own dates arrive on the next screen the moment you give it a location. On a smaller phone the picture now shrinks instead of pushing its own caption and the "Why this?" button off the bottom of the screen, which is what used to happen on anything shorter than a large handset.

  127. The job now says which plant it is about

    Two watering jobs on the same list used to open with the same seven words — "Feel the soil where you sowed" — and the only thing telling them apart was a bed name in the smallest text on the screen, which the row was cutting off anyway. We measured it: the words every row shared were the biggest thing on it, and the words that made a row yours were the smallest. The job says the plant now. "Feel the soil where you sowed the carrot." "Feel the soil in the tomato pot." Where one job covers two crops in one bed it names both, and past two it names two and counts the rest, because watering a whole bed is still one trip. The other half of the same complaint was on a plant’s own page, where the watering question ran to ninety-seven words — how far to push a finger in, what the top half inch of soil is doing, why a hard jet of water moves seed about, how often to look — delivered in full every two or three days from May to September. None of it was cut. The page shows the job and the two answers, Still damp and Watered it, and the rest is one tap away under "How to check". The first time you grow a crop you want the lesson. The fortieth time you want the two buttons.

  128. Five notes on a plant page that light mode could not show you

    If you use the app in light mode, five of the notes on a plant were painted in colors meant for the dark screen — cream text on a cream page. Two of them were literally the same color as the paper behind them, so they were not faint, they were invisible. They are the ones that matter most when something is not going to plan: whether your seed should have come up by now, why a young tree is not fruiting yet, how you will know the crop is ready, whether a plant will survive your winter, and the two or three weeks in a season when missing a watering costs the harvest. All five now read properly on both screens, and the ones carrying news — a seed that is late, a tree past its window, a plant that will not make it through winter — are printed in full-strength ink rather than a quieter gray.

  129. The stage on your plant page stops pretending somebody looked

    A kale sown 30 days ago said "worth a look — it may not be up" near the top of its page, "seedling · vegetative" eleven lines down, and a flat "Seedling" on the Garden list. Three claims about one plant, and they could not all be true. The stage is worked out from your sowing date and your frost dates — a good guess, not a sighting — so while we are still asking whether something came up, it reads "Probably a seedling — nobody has said it came up yet", and the Garden row uses the same words. Tell us it is up and the hedge goes. A plant you bought and set out is never hedged. And you get one stage rather than two: windows genuinely overlap, but "seedling · vegetative" reads as a mistake, so we name the later one.

  130. The small things you tap are now big enough to tap

    We measured every control on sixteen screens. Fifteen of them were smaller than a thumb, and one was on every single screen: "Back it up", the line at the bottom that saves your garden to an account, was fifty-four pixels wide and thirteen tall — under a third of the smallest thing anything should ask you to hit. It is a full-sized target now, and so are the other fourteen: the way back off a plant, a bed and the hardening panel; both ways out of the page you land on when a link is dead; the way off a crop page; the link to the rest of your week; the bed names you tap to rename them; the Today / This week switch at the top of the home screen; and both Water buttons. Behind the confirm screens, the buttons that delete a plant or restart your garden were four pixels short as well, and are not any more. **None of them look different.** They were the right size on paper the whole time — the app has published one number for how big a control must be since its first screen — and each of these had a size typed in beside it instead, which quietly wins over the rule. The check that runs before anything ships now reads those typed-in sizes too, so the next one cannot get past it. One more thing on that same line: if you followed "Back it up" to the sign-in screen, the bottom of that screen told you to go and back up — pointing at the page you were standing on. The count is still there. The offer is not, because by then you have taken it.

  131. The weather is a week now, not a footnote — with icons drawn in our own hand

    The weather on your home screen was one gray line: tonight's low and the next three highs, set in the smallest type on the screen. **We were already caching seven days** — each with a high, a low, a chance of rain and the forecaster's own description — and showing one field of the four. **Now it is seven columns.** An icon, the high, that night's low, and the chance of rain where it is worth a glance. Rain chance is the addition that matters most: it is the number that decides whether you water, and we were showing none of it. **The hottest day of the week is tinted**, so the day something bolts is findable without reading seven numbers, and **a night at or below freezing goes purple** — the same 32°F your frost dates are worked out from. **The icons are ours, and they are not clip art.** Eight of them — sun, part cloud, cloud, two kinds of rain, a storm, snow, fog — drawn by the same machinery that draws the low-poly vegetables: one violet light falling from the upper left, three tones of one color, and the nightshade glint on the lower right that every icon in this app carries. The sun is the same gold as the pepper, on purpose. **They took three goes and every fault was invisible in the code.** The first pass rendered as a mountain range, the second as a row of houses, and the fog as a menu button. Nothing automated caught any of it, because nothing automated can — the only test that works is looking at the picture at the size it actually ships at. **Two deliberate absences.** There is no wind icon: we harvested 51 real forecast descriptions from sixteen cities and wind never once arrives as a condition of its own, only appended to another one — so an icon for it could never appear, and a picture nothing can draw looks like coverage without being it. And there is no humidity, pressure or sunrise, because your phone does all of that better and a row that repeats your phone has not earned the space. **It still goes silent on a stale forecast**, as it always has. Weather from a day that has already happened is worse than none, and a frost that has been and gone is the worst of all.

  132. Your trees get a ring, because their year comes back round

    The season chart draws every crop you sowed this year as a bar running from your last frost to your first one. That is the right shape for a tomato — one life, from a seed, that either finishes before the cold or does not. It is the wrong shape for an apple. On that line, December and January sit at opposite ends of the screen, and they are the same winter. A prune in the last week of December fell off one edge and reappeared at the other. That is not a small inaccuracy — it is the chart saying something false about time. So your trees, bushes and canes now get a ring instead. Twelve months round the outside, today as a hand, and the colors are what most of your perennials are doing at that point in the year: resting through the winter, getting going in spring, cropping through the summer. One ring for the whole garden rather than one per tree — ten trees would be ten dials, which is a dashboard rather than an answer. The dots around the rim are the once-a-year jobs, one per month. A month with several in it draws one bigger dot with the number on it, which is what keeps a winter full of pruning readable when you have a dozen fruit trees. Tap one and you get the list — what the job is, which plant, and the date — and each row opens that plant. It is not a score. There is nothing to fill in, no percentage and no streak. A wheel has no finish line, which is exactly why we picked one.

  133. Two lines on one screen wrote the date two different ways

    Open a crop you had run out of time to sow and the page said "The spring window closed around 4 April." — and on the line directly underneath, "Based on your last frost around May 4." Same screen, same kind of thing, two different orders. There were three ways of writing a date in the app. Two were written out by hand and had quietly disagreed since the day they were written. The third — seventeen places, and by far the most common — asked your browser which order it preferred. That is the reason this lasted as long as it did: on a British phone all three lined up and the page looked perfectly consistent, so whether the bug existed depended on who was looking at it. There is now one way, and it is the American order everywhere: April 4, not 4 April. If your phone is set to a British or European locale you will see more dates change than most people do — they were the ones following your browser before. Nothing about what the dates MEAN has changed, and no date moved. One other thing did get better on the way: a day counted backwards past the first of January used to print as "Jan 1" in a couple of places instead of the November day it actually was.

  134. Two of the same plant in one bed are told apart now

    Two radishes in one bed, sown three days apart, came out on your daily list as "Radish, Broccoli and Radish" — which reads less like you have two sowings and more like the app listed something twice by mistake. Your week named none of them, and the two plant pages were word for word identical, so opening one to find out which it was landed you somewhere indistinguishable from the other. Each now carries the shortest thing that tells them apart: the kind you planted, the day you sowed it, whether it is up, or how many there are — all things you could check standing in front of the bed, which is why it is never "Radish (1)" and "Radish (2)". Nothing is added where nothing is needed, and the seedbed job is still one trip rather than one per seed.

  135. You can take back something you logged by mistake

    Until today, correcting the journal lasted about as long as it took to answer the next card. The run deck offered an undo on the thing you had just done — and that was the whole of it. Anything older belonged, the app said, in the plant’s own timeline. The timeline could add a tag to an entry and nothing else. So a watering you logged twice, or one you put on the wrong plant, was in your record for good the moment you moved on. Now every entry on a plant or a bed can be taken back. The quiet link under an entry reads Mark or remove, and under the seven tags there is "This never happened — remove it". It asks first and it names what is going: Remove "Watered" from 3 days ago? Two things it tells you before you tap. A photo on that entry stays on the plant, because a picture of your plant is still a picture of your plant. And removing the entry that says a plant died does not bring the plant back — that is a different control, "Actually it is still going", on the plant’s own page, and the app points you at it rather than letting you find out afterwards. Removing is for something that never happened. If it did happen it stays, even if it went badly — a failure is the entry you are most likely to want next year.

  136. Your whole journal in one place, and it knows what each entry is about

    Until today there was nowhere in the app that showed everything you had written. A plant’s page showed that plant, a bed showed that bed, and a question like "what did I write about aphids last year" could only be answered by opening plants one at a time. The entry count on your Garden screen — "3 spots · 214 logged" — is now a link, and behind it is every entry from every plant and every season, newest first. You can search it by what you wrote or by a plant’s name. And you can filter it by what entries are about: pests, watering, feeding, harvest, soil, pruning, weather and a few more, plus three about the entry itself — whether it was a diagnosis, a suggestion, or a question you never got an answer to. Nothing has to be tagged for that to work. The app works out the subject as you write, from the kind of entry it is and from the words in anything you type — so a plain note reading "sprayed neem for the aphids" turns up under both Pests and Treatment without you doing anything. Every entry you had already written was worked out too, the first time you open the app, so your existing journal is searchable rather than only what you write from here on. Two things worth saying plainly. None of this touches your AI allowance — it happens on your own device with no network and no model, because searching your own journal is not going to be something that stops working when a free allowance runs out. And the assistant does not read these subjects yet: they are stored and they back up, ready for it, but asking it about your notes works the way it did before.

  137. Five small things on screens you use every day

    None of these changed what the app does. All five changed whether you could tell. The empty week said the same thing four times over — a line at the top, a paragraph in the middle explaining what the screen would look like once it had something in it, and a note at the bottom repeating the first line. Forty-two words to say "add a plant and this fills up". It now says that, with the button underneath. The winter-hardiness picker showed thirteen bare numbers and never printed the words "hardiness zone" anywhere near them, so unless you already knew what they were you were picking one out of thirteen on a hunch — and nothing said which end was cold. It now names itself, says 1 is the coldest and 13 the mildest, and tells you where to find yours if you do not know: the back of most seed packets, or search your ZIP code. On Add a plant, the arrow that everyone reads as "this opens something" was on the button that CHOOSES a crop, while the one that actually opens the crop’s page was a small word beside it; the arrow moved. The "What can I plant right now?" button was drawn with a dashed outline, which in every app you have used means empty slot, drop a file here, nothing yet — it is a real question with a real answer, so it now looks like one. And the message box on Ask was twelve pixels too narrow for its own prompt, so "Ask about your garden…" broke onto two lines; the prompt is shorter and the send button beside it is now a full-sized target rather than one six pixels short.

  138. A note now says whether something was done, spotted, or only suggested

    A beta tester read a note the chat had just written to his orange tree and made two points, both right. The note said "nitrogen or micronutrient (iron/manganese) - yellow mottling between veins on lower leaves — from what you told the chat". First: it never says whether that was something we spotted, something we advised him to fix, or something he had already done. A season later, that difference is the entire reason for having written it down. Notes now open with which it is — Diagnosis, Suggested, Normal for now, or Looked healthy. Second: the record should not talk about the app. Which screen a fact arrived on is our plumbing; the note is about the plant. Whether a note came from you or from the app is still kept and now shows as a small label beside the entry instead of trailing off the end of the sentence. Two more things landed with it. Advice that tells you to do something can now offer to become a task, rather than only being offered when you ask for a reminder — his words were that a fertilizer suggestion "probably should have been a task suggestion". And perennial herbs like lavender were still coming back with no harvest timing, because the app was insisting on knowing how they were started before it would count from the day they went in. It knows the day. That is all the arithmetic needed.

  139. Photograph a seedling and the app stops asking whether it came up

    When GardenTrack is not sure a sowing has come up, it puts a short question on your Today list rather than guessing. A beta tester had one open for his wax beans, photographed the pot, and got an exact answer back: the one on the left has its first true leaf open, the one on the right is just breaking the surface, still wearing its seed coat. The app had answered its own question and did not notice — the question was still sitting there afterwards. His point was the right one: he should not have to give the same information twice, once to the camera and once to a task list. The cause was smaller than it looked. The photo reading was recorded correctly, against the right plant. It recorded first true leaf, and the open question was waiting to hear about first seed leaves, and nothing in the app joined the two — even though a plant with a true leaf has certainly come up. Later signs now prove the earlier ones. Photographing a seedling settles whether it sprouted; a photo of fruit turning color settles that it flowered and set. Only where it is certain, though. A plant can grow all season and never flower, so being knee-high proves nothing about flowers and the app will still ask. And it does not quietly rewrite your records: only what the photo actually said is stored, and the rest is worked out at the moment it is read, so a year from now you can still tell what was seen from what was concluded.

  140. A plant you have not planted yet no longer gets jobs

    You can add a plant with a date in the future — it lets you lay out a season before you dig anything. What should happen then is nothing, because there is no plant. What actually happened was three cards: a garlic dated three months out was asked "any sign of the garlic yet?" about a seed still in its packet, and handed a job to harvest it and a job to cure it. The uncomfortable part is that the app already knew. Underneath, the part that works out what a plant is doing had correctly decided this one did not exist yet, and said so in seven separate places. The screen had simply never read any of it. Now it does. A planting dated in the future shows nothing until its day comes, and on that day you get the one job that matters: plant it. Three things still show on purpose. Hardening off, because that whole routine happens in the two weeks before a seedling goes in the ground — the obvious version of this fix would have deleted it. Anything we are missing about the plan, like where it will go or what date, because those are answerable from the sofa whether or not the plant exists. And a sowing you have planned still counts when we decide whether to suggest sowing more of the same crop. The fix itself was to change which list the screen reads by default, so that the fifteenth card we write next month gets this right without anybody remembering to make it.

  141. A garlic planted five days ago is no longer asked whether its scapes have emerged

    A few crops are grown to a time of year rather than to a clock that starts when you plant them. Garlic is the clearest: it goes in around the first frost of autumn and its scapes come the following summer, so everything we know about garlic’s year hangs off your frost date. That is right for a garlic planted when garlic is planted. It fell apart for one planted at the wrong time of year — a garlic put in during May was asked, five days later, whether its scapes had emerged. The plant was fine; the question was about a different garlic, one planted eight months earlier, and nothing was checking. Now if your planting date is well outside the window that crop normally goes in, we stop giving you jobs for it and keep the general note instead. "Garlic is usually scaping about now" is true about garlic. "Your garlic needs its scapes removed" would not have been true about yours. Two weeks late still counts as on time; a whole season out does not. Two things we deliberately did not do. We did not check how old the plant is — that would silence a nine-year-old apple, whose flowering and harvest genuinely do come round every year no matter how long it has been in the ground. And we did not go by whether the plant is an annual or a perennial, because our own records call garlic a perennial, which is true of the plant and useless here. Four crops are affected: garlic, horseradish, cereal rye and hairy vetch. Everything else already works from the date you gave us.

  142. When the answer tells you to do something, it can become a task

    Until today GardenTrack only offered to set a reminder if you asked for one, or if it had spotted a pest or a disease worth checking again. So a beta tester told to shade his potted beans from 2 to 5 PM through a heat spell had nowhere to put that, and said so: this would have been a great place for it to remember to remind me later. Now advice that tells you to do something can become a dated task in one tap. The test is whether the answer told you to DO something, not whether it named a day. Feed it, shade it, net it, repot it are all jobs; if a time came with the advice the task carries it, and if not, nothing is invented. What it will not do is offer on every answer. Beans like full sun is information rather than a job and gets no button, and we checked that against the real assistant rather than assuming it — a button under every reply is worse than no button, because it is the sort of thing people stop reading. That checking also caught our own mistake. We had first built this to fire only on advice that named a time, and the same tester pointed out that a fertilizer suggestion with no date on it should still be a task. We changed the rule, and the live test then showed the instruction we give the assistant still carried the old version — so it stayed silent on exactly the case he had raised. Four real messages, about nine cents, and a fix that no amount of reading our own code would have produced.

  143. Three date boxes were reading the wrong calendar. All three now read yours

    A date has to be asked of somebody's clock, and for three small pieces of GardenTrack that clock was London's rather than yours. The awkward part is that the three broke for opposite halves of the world, which is why none of them was ever reported. The planting date on a plant's own page read one day early for anyone gardening east of London — all day, every day, not only in the evening. That is the one that could do lasting harm: the date box on that page opens already filled in with it, so editing anything else on the plant and saving could write the early date back over the right one. The second was the date box on "when did it go in", which is the only thing stopping you recording a planting that has not happened yet. West of London, late in the evening, it would let you pick tomorrow — after six o'clock in Colorado, after eight on the east coast. The third was on this website: add a plant to your garden from a plant page in the evening and the My garden list said "added Aug 22" on the 21st. That one was only the line on screen. The plant was saved correctly, and the date the app records when you carry your picks across has always been worked out fresh on your own phone. All three came from the same one-line habit, so there is now a single piece of date math the whole app shares, and the build refuses any new copy of the old one before it can be committed. Worth knowing: a date already saved a day early stays a day early. If you garden outside North America, open a plant or two you added before today and check the planted date.

  144. Every plant now knows its family — and it caught us handing out the wrong description

    A bug started this. Our database had tomato hornworm listed on dill. Every host the source names is a nightshade — tomato, potato, eggplant, pepper — and dill is nothing like a nightshade. The right caterpillar for dill was already in our data, one row away. Nothing caught it, because "what family is this plant" was not something we knew. Now we do, for all 152 crops. We asked two independent botanical authorities separately for every one. 103 of 107 plant groups got the same answer from both; four did not, and instead of quietly picking a side we wrote down what each said and why we chose. Every plant page now names its family and points at its relatives — tomato at pepper, potato and eggplant; dill at carrot, celery and parsley. That is the fact rotation is built on: relatives share pests and diseases, so what went through one bed is waiting for the next thing in the same family. Then we pointed a check at it, and it found something better than the bug we were hunting. The same common name often belongs to two different organisms. "Brown rot" is a stone-fruit disease and also a potato disease, and they are unrelated. "Angular leaf spot" on a cucumber and on a strawberry are different organisms. We were showing the description we had sourced regardless of which one you actually had. Twenty-one of those crossings existed; all twenty-one now say so on the crop it affects. Thirteen say plainly that nobody has checked which organism yours is — which is a real answer, and a better one than a confident guess.

  145. Read the note before it is saved, and see where it went afterwards

    When an answer offers to write a note into a plant's story, the note now opens first. Tap the plant and a small card appears with the whole sentence in a box you can edit, and nothing is stored until you save it. The card says that out loud, because a card showing a finished sentence is exactly the sort of thing anybody would reasonably read as done. Before today the button could only fit about forty characters of it, so most of the note was never on screen — you were agreeing to words you had not read — and once a note is in a plant's story there is nowhere in the app to edit it. The moment before saving is the only chance there is. The tick afterwards changed too. It said Noted in this plant's story, which names nothing and points nowhere, and now it names the plant and links to it: Noted in Bush bean's story, open it. A confirmation that will not say where something went is the same thing as a note filed against the wrong plant — nothing looks broken and you cannot find it afterwards. Pests, diseases and harvests got the same sentence. And the conversation you have open is now part of the address, so when the app updates itself and reloads, you come back to the chat you were in rather than to a blank Ask screen. Starting a new chat still leaves the old one behind, exactly as it did.

  146. It now says whether your crop beats the frost, instead of leaving you to check

    A beta tester was told his wax beans would not finish before his first frost. Our own records say they will. He pushed back with the right arithmetic, the assistant apologized, and then restated the same error with the two numbers swapped. The cause was not bad math on our side. The app works out ready dates in code, from your planting date and a sourced day-count, exactly so nobody has to estimate — and it had done that correctly. What it then did was hand over two dates with the instruction never do this arithmetic yourself, and no answer. We only ever spoke up when the frost won; when the plant won we said nothing at all, which left the one question that mattered sitting there undone. Told not to compute, given everything needed to compute, and given no result, it computed. Every ready date now carries how it comes out against your frost. Comfortably clear, with the number of days. Tight, and said as tight. Landing on your frost date, said in those words. Straddling it, and you get both ends of the window and the call, because a range that opens before your frost and closes after it really does depend on the autumn. One deliberate piece of caution: a hair-thin margin is not rounded up into a yes. A day-count is a catalog figure for a good season, so anything within a week of your frost is described as tight rather than safe.

  147. A plant with no date now asks for one, instead of quietly guessing

    The planting date is the day every other date is counted from — when to expect it up, when it fruits, when it runs out of season. A plant without one is handed the jobs of a plant put in this morning, because that is the only thing left to assume. On a tree that means being told to stake it, mulch it and rub suckers off something that has been in the ground for years. The app had a card asking for the date. It was at the very bottom of the garden list, below routine watering, in the lowest priority band there is — which is where a question goes to die. It is now an app task instead, sitting above the garden jobs rather than buried among them, because those are two different kinds of work: things you do outside with your hands, and things you tell the app so everything else it says is about your garden rather than an average. It also has no Hide, which is deliberate and rare. Every other item in that list can be dismissed. This one stays, because skipping it costs you something you cannot see happening — months of slightly wrong dates on a plant, with no way to spot it and no way to repair it afterwards. Answer it once and it is gone for good. What has not changed: adding a plant never requires a date. You can still add one from the chat with nothing but a name. The gap becomes a job, never a wall.

  148. Every plant page now says how late you can still sow it — wherever you are

    The autumn part of a plant page used to be one extension service’s chart. Clemson prints fall planting windows for two regions of South Carolina, and we quote them honestly, labeled with the place they were published for. That is 24 crops out of 152, and useless to anyone outside one state. The reason nobody else publishes the same thing is that a single fall date only works where the fall is long. Minnesota can’t print one, so it prints the arithmetic instead: count back from your own first frost by how long the crop takes. We can do that. Set your zone or drop your ZIP on any plant page and it now says the last date you can still sow that crop and have it finish before your frost — 111 crops, in every state, and the date moves when you change the zone. Radish is late September in zone 6, mid November in zone 9, late August in zone 3. Two things it is careful about. It uses the fastest figure in the range, so it is the last date that could work rather than one that usually does — being wrong the other way tells somebody their season is over when it is not. And 63 of those crops say "set plants out by" rather than "sow by", because that is what our sources actually measure for them. Counting a sowing date back from a set-out-to-harvest figure would be weeks wrong in the direction that costs a season, so we say which question we answered.

  149. Your shady spot is now something the app knows, and it says so on the plants that mind

    A porch is not a lawn, and until today nothing in the app knew the difference. Open any spot from My garden and there is one more question under the size: **how much sun does it get?** Full sun, part sun, or shade, with the hours behind each shown the moment you pick, so you can check your own spot against them instead of guessing at what we mean. **Where the name you gave it already answers, we offer the answer and wait.** Call somewhere *Front porch* and it comes back with *"Front porch" sounds like part sun* and a button saying **Yes, that is right**. Nothing is saved until you tap it — a reading taken off a name is not an answer you gave, and once it were written down nothing could tell the two apart. Names that settle nothing get nothing: *Back garden* is not asked to mean anything, a bare *balcony* could be open to the sky or tucked under the floor above, and *shady patio* names two things at once, so it asks rather than picking one. **Then it is used.** A plant living in a spot you have marked gets one line where the light changes something for it — *Front porch gets part sun. Grows in part sun, but expect a lighter crop than in full sun.* **Most plants get nothing, on purpose.** Nearly every food crop wants full sun, so a warning keyed on that would sit under every plant in every shaded bed and mean nothing at all. What decides it is how each crop copes with less: 57 lose nothing worth mentioning and stay quiet, 22 crop lighter and say so once, and six are happier in the shade and are told so as good news rather than as a warning. Where we hold no record either way, the line says exactly that instead of predicting a failure.

  150. The harvest question is drawn now, not typed out

    "When will things be ready?" is one of the buttons we put at the top of Ask, so it is a promise: we knew the question was coming and we had prepared for it. It was coming back as four lines of plain text, in whatever order the plants happened to be stored in, with the assistant asked to sort your dates for you. Now the app draws it. Across the top is your season — last frost on the left, first frost hatched on the right, today marked — with each plant's picking window as a bar on it, so the ones that land with room to spare and the ones that run off the end are one glance apart. Underneath, a row per plant, soonest first: how far away it is, the dates, how it comes out against your frost, and the day-count we used with what that count is measured from. Every row opens that plant. Three things are said differently on purpose, because they are three different facts — a fruit tree or a lavender gets a picking season rather than a countdown, since those windows come round every year and say nothing about whether a young plant is old enough to bear yet; a plant with no planting date is named with a link, because that is one tap from being answerable; and a crop we do not carry says so, rather than reading as if we had lost your plant’s timing. The dates themselves have not changed. They were already worked out on your phone from your own planting dates and a sourced day-count — the only thing that changed is that the app stopped handing them to something that guesses and asking it to read them back.

  151. The microphone button knows which plant you are standing at, and takes a photo

    Open the round microphone button while you are on one of your plants and the box now says which plant before you say a word: About your Bush bean. Talk, and the answer comes back about that plant — its age, its bed, what you have written down about it — rather than about the crop in general. If it has guessed wrong, tap the name and it lets go; tap it again and it comes back. It is a switch, not a dismissal. We show the assumption instead of using it quietly because you might be standing at the beans and thinking about the tomatoes, and an answer confidently about the wrong plant is worse than one that had to ask — it sounds finished. On Today, Garden, Plan and Profile there is no name to show, because there is no single plant you are looking at. Take a photo is in the same box now. Point it at whatever you cannot put into words, send it, and the chat answers about that. A picture on its own is a whole question — you do not have to type anything with it — and a quieter link underneath picks one you took earlier, for the leaf you photographed in the garden and sat down at the kitchen table to deal with. Nothing is written into your garden until the app reads it back to you on a card and you agree, the picture included, and Remove takes it back off before you send. Two smaller things came with it: the link at the bottom of that box was cream text on a cream sheet in light mode and could not be read, and neither could the mic's own label or the line explaining why dictation had stopped.

  152. The numbers on our help pages had quietly gone out of date, so we re-counted every one

    Seven help pages and a guide told you what our plant database covers — how many crops carry a harvest cue, how many have a watering figure, how many we hold at all. Every one of those sentences was true when it was written and had since stopped being true, because the database kept growing underneath them. They said 151 crops and 3,176 varieties; it is 152 and 3,174. The catch is that the other half of each sentence had moved too, so this was not a matter of changing one digit. Harvest cues had gone from 143 crops to 150. Watering figures from 147 to 148. The count of plants whose growth stages we describe went from 846 to 852. One line said thirty-eight crops have no sowing or planting-out date and that most of them are fruit trees and berries — it is now ten, and only two are berries, so we rewrote the sentence rather than the number. Each figure was re-measured against the shipped data. We deliberately left the ones that are history: a changelog entry from the sixth of August saying we had 151 crops was true on the sixth of August, and rewriting it would turn a record into a fiction.

  153. Three plants had a winter-hardiness number, and none of them lives through a winter

    A hardiness zone answers one question: how cold a winter can this plant sit outside through and start growing again in spring. Sweet pea, lima bean and buckwheat all had one on their page, and all three are sown from seed every year and finished by the end of the season. Nothing is asked to live through a winter, so there is no such number to give. What was actually on those pages was the range you can grow the plant in over one summer, which is a different fact wearing the same label. Sweet pea said zones 2 to 11. Read as hardiness, that says it comes back on its own after a Minnesota winter. It does not. We took the line off those three pages and kept the figure in our own records, because "you can grow this almost anywhere in one summer" is worth knowing and we would rather move it somewhere honest later than lose it now. We cleared 59 crops of the same mix-up in August. Two of these three are crops we had already fixed then: a file got restored from an older copy to recover a different edit, and the fix went back out with it, quietly, because undoing something leaves no error message. So this time we also taught the build to refuse it. A plant that only lives one season can no longer carry a winter-survival number at all, and that runs on every build rather than waiting for somebody to remember. Plants that do come back are untouched: 85 crops still carry a real zone range, and the app still tells you before you plant a fig somewhere it will not make it through February.

  154. Your young fruit tree is now told it is young — we had the number all along

    Ask when things will be ready and a fruit tree gets a picking season rather than a countdown, because that window comes round every year and is a fact about your area. Alongside it, the app said it did not know how many years a young tree needs before it starts bearing. **That was wrong, and it was wrong about our own records.** We have held that figure for years: an apricot bears 2 to 5 years after planting, cross-checked against two university extension sources; a pear 3 to 10; a fig 3 to 4. The app was reading the field under the wrong name, so every count came back empty and looked exactly like a gap in the data. A founder reading his own one-year-old apricot is what caught it — it told him the apricots around him ripen from late July, and said nothing about his tree being two summers short of its first crop. Now each of those rows says both: how long that plant takes to come into bearing, and where yours stands against it — *bears 2 to 5 years after planting, 1 season in, not old enough to crop yet*. A plant too young to pick from is no longer marked as ready to pick, which is the part you could see. Past the far end it stops reassuring you and starts asking a question instead: twelve summers into a pear that bears by ten, if it has never set anything, that is worth looking into. **It reads the rootstock too.** A lemon grown from a pip takes 7 to 10 years where a grafted one takes 2 to 3 — same crop, same age, opposite answers — so if you told us which yours is, you get the figure that applies to your tree rather than the average of two. We hold this for 29 of the 39 plants that answer with a yearly season. For the other ten we still do not, and the card now names them at the bottom rather than saying it about everything.

  155. A hot spell can reach your phone now, and it knows which plants are in pots

    Someone on our team stood outside in 100°F heat and opened the app to ask whether the beans on his patio were getting too much sun. Everything needed to answer that was already on his phone: our records say bush beans start to suffer at 90°F and that figure comes from a university, the forecast with the 100 in it had already been downloaded, and the app knew the beans were in a pot because he had told it. There was even a card ready that said all of it. He never saw the card, because he was outside and the app was in his pocket. Frost was the only weather in this app that could reach somebody who was not already looking. Now a hot spell can too. The evening before a run of hot days, you get one alert naming the temperature and the plants — and a plant in a pot gets a different instruction from a plant in a bed, because you can pick a pot up and carry it out of the afternoon sun, and a pot runs dry in a way open ground does not. Two limits worth saying plainly. It covers 39 of our 152 crops — 37 where a university has published a temperature we can point at, and two that are our own estimate. **Corrected 26 August 2026: this said 43 and 109, and described all of them as university-published, which contradicted the very next sentence.** For the other 113 we stay quiet, and that silence means we have no number rather than that your plant is fine. And two crops we do hold a figure for — sunflower and snapdragon — are deliberately kept off the phone, because those numbers are our own reading rather than a published one. A number we can show you a source for is allowed to wake you up. A number we cannot is allowed to sit on a screen you chose to open, and no further. Sunflower’s is 78°F, which is an ordinary summer afternoon over most of the country, so that rule is the difference between an alert and a nuisance.

  156. A nursery tag is two facts, and we were filing it as one

    Tell GardenTrack what the label on a new tree says and it sets the plant up for you. A tag reading "apricot Mormon semi dwarf" was becoming a variety called "Mormon semi dwarf" — but the variety is Mormon, and semi-dwarf is the rootstock, which is the root system the tree was grafted onto. That is not a tidiness problem. Rootstock is a field the app already had and already reasons about: it decides how big the tree finally gets, how far apart to space it, and whether it will send up shoots from the base at all. Buried inside a variety name, none of that could be read, so the spacing and sucker advice would have been wrong for the life of the tree. The tag is now split and each part filed where it belongs, in whatever order the label happens to put them. Two things it deliberately will not do. It will not guess — a tag that names no rootstock leaves the field empty rather than assuming a standard one, because the app acts on that field and we would rather know nothing than record something invented. And it only splits for plants that actually have a rootstock: eleven grafted tree fruits and citrus. That last part matters more than it sounds. English lavender has a variety genuinely called Munstead Dwarf, and a blanket rule that pulled the word "dwarf" out of every name would have fixed one plant by quietly corrupting another.

  157. A question that knows when to stop

    If you never answered “any sign of it yet?”, that question came back on every list for as long as the plant existed — we measured a bush bean whose season closes on day 60 still being asked on day 700. Nothing in the app decides a plant is finished on your behalf, and that is deliberate, but the question had no other way to stop, so “you have not answered” and “this is still worth asking” were the same thing. It now stops two weeks after the plant’s last stage closes — the same two weeks the overdue warnings use. Anything still inside its season is asked exactly as before.

  158. Your fruit trees have timing after all — we were asking the wrong field

    Ask GardenTrack when things will be ready and it works the dates out from your own planting dates and a sourced days-to-maturity figure. For a fruit tree, a citrus or a lavender it answered "no maturity window in our data" — which reads as a gap in our records, and was the opposite of the truth. Somebody had sourced those plants, decided a days-from-sowing count is meaningless for them, and written down why: a home orange is a named variety budded onto a rootstock, so nobody grows one from a pip. We reported that finished decision as a hole, on exactly the plants a gardener is least able to work out alone. We measured how far it went before touching anything. Of 152 plants, 41 carry no day count; 39 of those say outright that the field does not apply, and 39 hold the answer in the form perennials actually use, which is a picking season rather than a countdown. The two left over are cover crops nobody harvests. So there was no data to go and gather — the lookup was asking the wrong question. You now get the season: when apricots are ready around you, or for a navel orange a winter window that lands in the following year and says so. It is equally careful about what it is not telling you. A season repeats every year and says nothing about whether your particular tree is old enough to bear, and we do not hold how many years a young tree takes before its first crop — so it says that, rather than handing you a date that looks like a promise.

  159. Journal entries now say where they came from

    An entry the app read for you now ends with how it read it — “Aphids — from what you told the chat”, or “Seen when the plant was added — from your photo”. Anything without one of those is something you logged yourself. It is in the words rather than an icon, because a marker on every row clutters the thing you came to read and only works on the screen it was built for. Nothing was ever written without you agreeing to it first; this is about what you can tell six months later, reading back.

  160. The plant identifier can now say the kind is unknown, instead of inventing one

    Ask it about a plant and it names the plant, then tries to name the kind. It had no way to decline that second half. So when there was no honest answer it returned the nearest words it could see, and two of those went into our records as gaps in our catalog. English lavender came back with the kind "English" — the plant’s own name again. Nobody can tell Hidcote from Munstead from a photograph, and the honest answer was always "English lavender, kind unknown". A mandarin photographed while asking about an orange came back as a kind of orange called "mandarin". Mandarin is its own plant and we already hold it; it just could not say "this is not an orange". Both are now available answers, and it says what would settle it — a cut fruit, a flower close up, a leaf laid flat. There is a second half that matters more to us than to you: those two were filed as requests for kinds our catalog was missing. It was not missing them. Answering them as written would have added a lavender called "English" and an orange called "mandarin", and the next time we measured our coverage we would have read our own mistake back as evidence. Those records now say what they actually are. And the rule that spots them was checked against all 3,174 kinds we hold before it shipped, because one that wrongly rejected real ones would have been worse than no rule at all.

  161. Ask a question about a plant you own, and it no longer offers to add it again

    Nik asked the chat about one of his own plants and got a card offering to add that plant to his garden. The information was right there — the same chat, asked what to do today, had just named all three of his plants with their own watering state. It simply was not looking. Worse than redundant: tapping the card would have made a second record for one real plant, and from then on the jobs come twice and the journal splits across both. What it was actually checking was whether you had that plant’s page open on screen. Ask from the chat, where nothing is on screen, and it concluded you must be talking about a plant it had never heard of. It now checks the garden. Two ways, because your name for a plant is often not ours: by crop, so asking about your lavender finds your English Lavender, and by what you called it. That second one is what actually fixed his case — we hold Bush Bean as a crop and carry no wax variety at all, so his Wax Bean was findable only by his own words for it. A version that matched crops alone passed every test and would have shipped without fixing the thing it was written for. And it still adds the plant when you say you planted one: a second row of beans is a second row of beans. The card only goes away when you mention a plant you already have, which is what asking a question about it looks like.

  162. "Not recommended" is an answer, and we were showing it as a blank

    Clemson publishes an autumn planting chart for South Carolina, split into two regions. Most rows on it are dates. Three rows say something different for the Piedmont: not recommended. That is a real answer — the extension service looked at that region and said don’t plant it there — and it is more use to somebody in the Piedmont than any date on the row. We were storing it as nothing. A blank reads as “we never checked”, which is the opposite of what the source says, and it is exactly the difference this whole database exists to keep straight. Now the plant page prints it in words, in the same list, beside the regions that do get dates. Tomato, head lettuce and winter squash all say it, all for the Piedmont. Winter squash was the one worth catching: it had no autumn calendar at all, because its refusal had nowhere to go and its coastal dates went over the side with it — so a crop whose whole row had been read looked like a crop nobody had looked up. The thing that made this take a day rather than an hour is that three separate places were dropping it, and the one we knew about was only the first: the record could not hold it, the build would not carry it, and the page itself filtered out anything without a start and end date. Fixing only the first would have changed nothing you could see.

  163. It stops offering you every plant you own for a plant you do not

    Photograph something and ask the chat what it is, and it can offer to write the answer into that plant’s story. A beta tester photographed a sunflower he does not grow. The chat identified it correctly and offered to add it to his garden, which is right — and then underneath asked which of his plants to log the note against, listing an orange tree, a lavender and a wax bean. None of them is a sunflower. The app had just said what the plant was and then ignored its own answer. There are three cases and only one of them behaved. If the photo matches one plant you own, the note goes there and nothing is asked — that part already worked. If it matches a plant you have several of, you now get only those, which is a question worth asking. If it matches nothing you grow, you get no plant list at all, because the only sensible thing to do with a plant that is not in your garden is add it, and that button is already on screen. We did not just shorten the list. Five unrelated plants would be the same mistake more quietly, and at a hundred plants a short list is three wrong answers instead of ninety-nine. The question is whether a plant could be the one you mean. A second fault came out with this one: where you had two plantings of the same crop, the app picked the earlier one and wrote to it without asking. A record filed against the wrong plant looks exactly like one filed right, which is why that kind goes unnoticed for years.

  164. Telling the chat what you see now actually does something — and it asks when it cannot tell which plant

    The app has two ways to answer a question it asked you. Tap yes on the card on Today, or just say it in the chat: "the seedlings have their proper leaves." Both were meant to write it on the plant and put back the jobs that were waiting on it. Only one of them did. The chat version needed the conversation to be attached to one particular plant, and nothing in the app ever attached it, so saying it in the chat quietly did nothing at all. Every time. It now works out which plant you mean from what you actually said, matching against the plants you are growing — by our name for them and by yours. And when it genuinely cannot tell, it asks rather than picking. Two sowings of beans and you say "the beans are flowering" — it will name both and ask which, then write it down once you answer. That is not the app being timid. Guessing would put a job back on a plant that never showed anything and tell you it had done the right thing, which is the kind of wrong record you never find. Mention a plant you do not have and nothing is written at all — it would rather record nothing than record something true about the wrong plant.

  165. The free allowance is back: ten photo answers and twenty questions, once

    On 17 August we opened the free tier and said there was no limit on photos or questions for now. That has ended, and the allowance it always had is back: ten photo answers and twenty written questions, counted from the day you make your account, not refilling each month. The two are separate, and Profile tells you where you stand as a plain number — there is no bar or gauge, because watching a number fall is not something this app asks you to do. We would rather you spend all ten on the two weeks that actually matter than save them for a month that never comes, which is why it is a one-time grant and not a monthly trickle. Refusals and errors do not count against you. Everything that costs us nothing stays free forever — your plants, your dates, your journal, your reminders and the plant database — and writing in your journal never needs AI at all, so running out stops you asking questions, not recording your garden.

  166. Ask if it is too late to sow something, and it counts back from your own frost

    A single fall sowing date only means anything where the fall is long. The published planting tables we hold are one southern state’s, and printing them at somebody in Minnesota would be worse than saying nothing. So instead of looking a date up, it does the arithmetic the northern extension services print: count back from your own first frost by how long that plant needs. Ask whether it is too late to sow radishes and you get the date and the days left. Seven plants get a straight refusal instead, and that is the part worth explaining. For artichoke, broccoli, cabbage, cauliflower, sage, sweet potato and tomato, every source we hold measures the days from setting a young plant out — not from sowing a seed. Working a sowing date back from that would mean guessing how long the seedling stage takes, and being wrong there costs a season rather than a packet of seed. So it gives the set-out date and says plainly that it cannot give a sowing one. We would rather answer half the question honestly than all of it confidently. And for things you dig or cut, it says that sowing past the date still gives you something smaller rather than nothing — that date is not a cliff for every plant.

  167. Choosing the plant now saves the note, and the note says something

    Ask the chat about a photo and it can offer to write what it found into that plant’s story. Two things were wrong with that, and a beta tester found both in one go. First: when the app could not tell which plant the note was for, it showed your plants as a row of buttons — and tapping one did not save anything. It swapped that row for another button, in the same place and the same shape, and waited for a second tap nobody had been told about. Answering the question looked exactly like finishing it, so the note was never written. Choosing the plant now writes it there and then, which is what the rest of these buttons already did when there was only one plant it could be. Second, and stranger: the note could contain the word "note". The button is offered either when we tell you something is normal for the season, or when the plant simply looks fine. The first case always had words to save. The second had none, and the placeholder went into the journal instead. The button would not say so beforehand either — it read "Note this on your Wax Bean" and left you to find out. It now shows the sentence it is about to save, and when the answer carries no short summary of its own it saves the useful part of what was actually said. One more thing we tightened while we were in there: a save that cannot find a plant to write to now says so on screen. It used to return quietly, which is the beginning of an app telling you it did something it did not.

  168. Tell the chat you planted the seeds, and it now answers the plan you made last night

    If you add a plant with a date in the future, the app treats it as a plan and asks on the day whether it happened. That question could only be answered in one place — the card on Today. Say it in the chat instead and nothing connected the two. Nik did exactly that: he entered four beans one evening for the next day, then told the chat "just planted four of those seeds in that bucket and then we mulched" — and the only thing offered back was Mulched. One fact of three. The chat had no way to say the planting happened. It could offer to add the plant, which would have given him a fifth bean and left the plan still waiting, or write the word "planted" into the journal as a note, which records nothing the app can count from. That matters more than a tidy list: every date for that plant — when to expect it up, when it is ready — is counted from the day it actually went in, so until something confirms that day, all of them are guesses presented as facts. It now offers the real thing, and it is the same button as the card on Today, so answering in one place clears it from the other. If you said how many, it takes that too — and it will not overwrite a number you typed yourself.

  169. A card that says keep them in no longer explains why they should go out

    Hardening off is the ten-day ramp that gets an indoor-raised plant used to being outside, and its last night is the one instruction in GardenTrack that can kill a tray rather than cost you a day. When tonight’s low breaks a plant’s own cold floor the card refuses, and it refused correctly: Too cold today, keep the tray in today, 38 degrees tonight is too cold for this one, and no button offering to put them out. Open Why this underneath, though, and it carried on giving the day’s instructions — where to stand the tray, what time to bring it back in, and on the final night the worst of them: 38 degrees forecast tonight, which is above the line for these. That is the same number the card is refusing on, described as safe. The sentence was written for the night that passes and shown on any night we had a forecast at all, which includes every night cold enough to do the damage. A refused day now carries the refusal, the plant’s floor and the reason for it, and nothing that tells you to do the thing we just said not to. It still tells you which step you are on. Two things worth saying plainly: the check itself was never wrong — the headline, the temperature and the missing button were all right, and only the explanation underneath disagreed with them. And it was not only the last night. Every step of the ten has a bring-in time, so a refused day one was telling people to set a reminder for a tray that was staying indoors.

  170. Ask about "tomatoes" and it now knows you mean tomatoes

    Someone asked whether sweet potatoes with shoots on them could be planted. The chat said we had not written that up. We had: our record for sweet potato says it is grown from cuttings, sourced from Utah State and NC State, and shoots on a stored root are exactly what those cuttings are. The answer existed and nothing handed it to the chat. All 152 of our plants carry how they are started — from seed, from cuttings, from cloves, grafted, divided — and none of it was reaching the conversation. It does now. Chasing that turned up something bigger. When you named a plant, it looked for the exact name in our list, so "tomato" matched and "tomatoes" did not. That was not a small gap: 136 of our 152 plants could not be found by their own plural. "Sweet potatoes" happened to work only because that is literally how sweet potato is written in our list, which is why it looked handled. So a question like "can I still grow tomatoes this year" reached the part that works out whether there is time — and did not know which plant you meant. Plural and singular both work now, everywhere that reads what you typed. One limit worth knowing: what it tells you is what our record holds, not everything possible. A method we have not written down means we have not written it down, and it says so rather than letting you read it as "you cannot".

  171. When to transplant seedlings: two different jobs share one phrase

    "Transplant your seedlings" means either of two things and they are months apart. Potting up is indoors — a seedling leaves the cell it germinated in for a bigger pot, triggered by the plant. Planting out is the garden, triggered by the weather. Most pages answer one of them without saying which, which is why the advice you find never quite matches the tray in front of you. The new page separates them and then covers the one people delay. Maryland: "The ideal time to transplant young seedlings is when they are small and there is little danger of setback from root shock. This is usually about the time the first true leaves appear." Small is the qualification, not a description — the instinct is to wait until a seedling looks sturdy enough to handle, and that is backwards, because a bigger seedling has more root to disturb. It also carries the instruction that decides whether the plant survives the move: "Handle small seedlings by their leaves, not their delicate stems." A torn leaf is survivable. A crushed stem is not, and the stem is exactly what an adult hand reaches for. And the step almost nobody prints, from Utah State: unplug the heat pad once germination is done. Above about 60 to 65°F at night, spindly plants can result — so the thing that got them up is what is now making them stretch.

  172. The crop list and the crop page were never the same calculation, and our help page said they were

    When you are adding a plant, the crop list is sorted so what you can plant this week comes first — and every crop has a Look button that opens a page whose first line answers the same sort of question. Our help page told you those two were the same calculation, "so the two cannot disagree". They are not, and they do. The list asks whether a crop will finish before your first frost, which is the same engine as the "what can I plant now" button directly above it. The crop page asks whether the sowing window is open. Both are honest answers and they are answers to different questions, which matters most in late summer: measured across one garden’s year, on the 10th of August the list offered 35 crops and the crop page called 9 sowing windows open — and the two sets had nothing at all in common. Every spring window had shut while plenty of fast crops still had time to finish. The help page now says which question each one answers, and says that if the two lines look like they disagree, that is what you are looking at. Nothing in the app changed — the behavior was already right and the explanation was wrong. There is now a test pinning it, so the day someone collapses the two engines into one, a check says so rather than a gardener.

  173. Ask which varieties would still ripen before your frost, and it counts

    Someone asked in August whether there were faster tomato varieties that would ripen in their season. The app already worked out whether a plant in general could finish in time — and it used the fastest variety as its yardstick — but it never named one. So the question one step past "can I grow this" had nowhere to go. Now it counts the days between today and your first frost and lists the varieties that fit, fastest first, with how many of the full list that is. Fifty-eight days left and 8 of our 115 tomatoes make it. The part that took the care is a trap in the data. A variety’s day count starts from one of two places: sowing a seed, or setting a young plant out. Which one it is varies variety by variety, not just plant by plant, and a third of our plants carry both kinds among their own varieties. Ranking those together would sit a 50-day figure that starts at sowing beside a 50-day figure that starts several weeks later, and recommend the wrong one with complete confidence. So a plant measured both ways gives you two lists, never one, each saying what it counts from. Tomatoes are measured one way throughout, so that original question gets a single clean answer. One more thing worth saying out loud: a day count is a catalog figure for a good season, not a promise, and a cold month slows everything down.

  174. We check that every source we cite still opens. This week it caught us out

    Every plant-problem description on this site names the university page it came from, and a script checks that those pages still open. It reported eight dead links and said, in so many words, that a citation which 404s is proof nobody opened it. So we found replacement sources elsewhere, read them, and rewrote six of our descriptions to match what the new pages said. Every one of the original pages was alive. The University of Minnesota had moved their whole gardening section to new addresses. The wasted afternoon was not the problem — rewriting a description to match a different source means dropping whatever that source does not happen to mention, and one of the things we dropped was true and useful. Minnesota says the downy mildew that hits the cucumber family comes in two forms: one that goes after cucumbers and melons, and another that goes after pumpkins and squash. That is worth knowing if you grow both. It is back. What changed today: sixteen source links now point where the pages actually live, including on four guides where you would have clicked through to a "page not found" — cabbage worms, leaf miners, tomato blight, and yellowing cucumber leaves. And the checker now looks for a moved page before it calls anything gone, so the next time this happens the fix is one line and nobody touches the words.

  175. A + button for writing things down

    There is now a + in the middle of the bottom bar. Tap it, pick a plant, tap what happened — watered, fed, picked, saw a pest, or looked it over and all was fine. It saves on the tap and offers an undo, and there is a box for your own words if you want one. Nothing on this path uses AI, which matters more than it sounds: the free allowance counts from the day you sign up and does not refill, so with the chat as the only real way into the journal, free accounts would have stopped being able to record anything the day it ran out. Keeping your own records is not the paid part.

  176. A “days ago” that was counting hours

    The app holds back a once-a-year job you have already done — pruning a tree twice in one spring is a real harm, not an untidy list. The rule was right and a unit defeated it: the value it checked was documented in days and calculated in hours, so it read as twenty-four times larger and a job done last week looked like a job done four months ago. Fixed. Worth saying plainly what it did and did not reach, because we measured rather than assumed: the ticket reported it on an apple, and an apple never takes this path — the app shows the bed-grouped version of that job instead, and that one has always cleared correctly. Across every perennial we hold, the affected path is reachable for three crops. Small blast radius, real rule, now guarded by a test that drives the actual screen rather than the arithmetic underneath it.

  177. A hardening day that says "tomorrow" now tells you what time

    Late in the ramp there is a twelve-hour day outside, and if you open the app after breakfast it will not fit before dark — so the card said it was a morning job and left it there. The trouble is that tomorrow morning at the same time it said exactly the same thing, and the calendar kept moving underneath, so that day never actually got done. It now tells you the time: out by 8am and it fits. Same on the button. The app already had the arithmetic — it just was not saying the useful half.

  178. A tree you grew from a pip is not on a nursery tree’s clock

    Nearly every fruit tree sold in a nursery is grafted, which is what makes it bear in two to four years. One you raised from a seed or a cutting is on its own roots and takes far longer — seven to ten for a citrus. Until you say, we assume you bought it, because most people did. That is the right guess and still a guess, and on a tree you grew yourself it is wrong by about six years. So the app now asks, once a tree has been in the ground a season, and answering moves every fruiting date to match. One thing was wrong in the other direction too, and it was the explanation rather than the dates: the line about your tree’s age was reading the nursery figure even after you had told us the tree was seed-grown, so a three-year-old could be told it was old enough to start directly above a stage list — worked out from the corrected figure — with no fruiting in it. One screen, two answers. There is one figure now and both parts read it.

  179. A bed dated for next Tuesday was told to feel the soil where you sowed

    Adding a plant with a date ahead of today is meant to be a plan, not a plant — no watering checks, no growth clock, nothing that assumes there is anything in the ground yet. The task list respected that. The daily cards did not: a bed you had dated for next week still came back with "feel the soil where you sowed — water it if it is dry", about seed still in the packet. The rule behind it checked that a planting had a date at all, and never that the date had arrived. Fixed. One thing does still start before the day, and it is meant to: hardening off runs for the two weeks before a transplant, because that is when seedlings need to be going outside.

  180. A plan whose day came and went was quietly treated as done

    You can add a plant with a date ahead of today — beans for next Saturday — and the app stays quiet until the day, then puts the job to plant it at the top of your list. That much already worked. What happened if Saturday passed and nobody ticked it: the job vanished and the app carried on as though the seeds were in the ground. Every date it gives you for that plant is counted from its planting day, so assuming wrong made the whole rest of its calendar wrong, quietly, with nothing to show it. It now asks the next morning — did the beans go in? — and "not yet" is a complete answer that changes nothing. It only asks about plants you dated ahead: a plant added with today’s date or any past day is a record of something that happened, and is left alone. That distinction needed a new fact on the planting, because every plant in the app is an unticked same-day add and a rule reading the date alone would have fired on all of them.

  181. We said a quote was a heading when it was a photo caption

    Our aphids guide quotes the University of Minnesota saying "All aphids have tailpipes". Those are the right words — they are the caption printed under a photograph on that page. We had described them as a section heading, which they are not, and that is now corrected. While we were in there we checked every other quote on that page against its source by hand: all 21 are accurate. The reason we looked at all is worth saying too. Our own quote-checking tool had flagged nine of them as wrong, and it turned out the tool simply could not reach the page that day. The words had been right the whole time. That fault is fixed as well, so a busy web server can no longer look like a misquotation — and we very nearly edited correct writing to satisfy a tool that had not read anything.

  182. A five-year-old tree was being asked whether it had sprouted

    That question is for seed. A tree you bought and set out was already alive when it arrived, so there is no sprouting to watch for. The app had the right rule the whole time — the line on the plant page that says "first sprouts in 5 to 10 days" has always refused a plant you set out rather than sowed — and the card on your daily list asking the same question simply never checked it. The card does wait until the earliest day a crop could possibly show, taken from that crop’s own sprouting window; the catch is that every perennial we hold has no sprouting window at all, and we deliberately do not silence the question for a crop with no window, because a missing figure is not evidence that a plant comes up instantly. Right for the early end, and it left no limit at all on exactly the plants that never sprout. Seeds are unaffected, including the awkward ones — garlic goes in around October and may genuinely not be up by January, and it is still asked. SUPERSEDED 23 August 2026: the garlic half of that last sentence is no longer true. We hold no sourced figure for when a garlic clove shows above ground, so we stopped asking a question we could never read the answer to — see the entry for that date.

  183. When to plant onions: as early as you can, and not earlier

    Onions are the hardiest thing in a vegetable garden. Illinois Extension puts them in the top group: "Very hardy vegetables withstand freezing temperatures and hard frosts without injury." So the instinct is to plant them absurdly early — and Maryland gives the reason not to, which has nothing to do with cold damage: "Planting too early, with exposure to cold temperatures, can cause seed stalk development." Cold does not kill an onion. It makes it bolt, and a plant making a flower stalk is not filling a bulb. Meanwhile the other end of the window is a deadline you have no say in. Minnesota: storage onions are generally long-day types that require fourteen or more hours of daylight to form bulbs. Bulbing is triggered by day length, not by how long the plant has been growing — so the onion you dig is the size the plant had reached on the day the light hit its trigger, and a week planted late is a week you cannot make up afterwards. That is also why onions are not a succession crop: one trigger, one season, one harvest. The page does not publish a map of states to onion types, because day-length sensitivity is a property of the variety rather than the crop, and the seed packet is the one place that answer is reliably right.

  184. Bacterial spot on a peach and on a tomato are two different bacteria

    The fourth disease name today that turned out to cover two organisms. Tomatoes and stone fruit both get something called bacterial spot and they are not the same thing, so they now have separate descriptions. On a tomato: small angular spots with straight edges and yellow haloes, and raised blister-like spots on green fruit that turn scabby. On a peach or apricot: water-soaked circles along the leaf midrib whose dead centers fall out and leave the leaf shot through with holes, and spots on the fruit that weep a bead of sap. One honest caveat we have written into the stone-fruit entry itself: the page we sourced it from is about almonds. It is the same bacterium and it names peach, but nobody we could find has published a description for apricot specifically, and we would rather say that than let you assume otherwise.

  185. Celery gets its own blights, instead of a tomato’s

    Early blight and late blight are each two different diseases with the same name. We had the tomato-and-potato ones written up, and celery and celeriac were pointed at them — so a celery grower got a description of a disease their plant does not get, with a note admitting it. A warning is not a fix. Both now have their own entries, written from the University of California pages for those exact diseases, and the descriptions tell you how to tell the two apart on the plant: look hard at an older spot, and late blight is peppered with tiny dark dots while early blight has a gray fuzz and none. Lovage was pointed at them too and is now pointed at neither, because the source that names the celery diseases says plainly they only affect celery and celeriac. Lovage does get blights — its own sources say so — but nobody names which, so we would rather hold nothing than hand you the wrong one.

  186. The end of a garden round stopped calling itself a mode

    When you finished working through the day's jobs, the last screen was headed "GARDEN MODE" — the only place that phrase appeared anywhere, and an odd thing to read at the moment you have just finished something. It now says "Done for now", and the close button, which screen readers used to announce as "Leave garden mode", says "Stop for now". Small, but it was the app talking about itself at the one moment it should have been talking about you.

  187. Frost alerts now arrive while it is still light

    The frost alert went out at one fixed moment for the whole country. That moment was six in the evening on the west coast and nine on the east — and in September it is dark by nine, so most of the country got a warning they could only act on with a torch. It now goes by the clock on your own phone: around six in the evening, wherever you are, one alert per night. If your phone has never told us its time zone you get the old late one until it does.

  188. We called it a frost surface on the screen where you tell us where you live

    Type in your address from outside the lower 48 and the app used to answer "our frost surface covers the lower 48 for now." Frost surface is our name for our own machinery — the gridded map the dates are read out of. It is a fine thing to call it in an engineering note and the wrong thing to say to somebody in the first minute of using a gardening app. It now says frost dates, which is what you came for. Checking the rest of that sentence turned up something worse: it promised we would "fall back to zone estimates", and we do not. Outside the lower 48 the address never saves, so the garden stays unpinned and every date comes from one fixed calendar — a typical zone 6b, the same one every unpinned garden gets, whether you garden in Fairbanks or San Juan. The message says that now, and the help page has a section explaining exactly what does and does not still work. The same read caught a straight untruth on that help page: it said you could enter your own frost dates if you had kept records. You cannot. There is no box for it anywhere in the app, and there never has been. That answer now says so and points at the setting that does exist — how much you want to gamble, which shifts every date earlier or later together.

  189. Fusarium yellows turned out to be two diseases as well

    Same shape as the celery blights earlier today, caught before either description was written rather than after. Fusarium yellows on celery and on cabbage-family crops are two different fungi that do not cross, so they now have two entries. The celery one comes with the test that settles it: cut a stalk across and the rings inside are stained orange-brown, which is what tells it apart from aster yellows — the other thing that turns celery yellow, and one we already describe. Ask about yellowing celery and you get both, because you genuinely cannot tell them apart without cutting one open. The cabbage-family entry carries something useful too: the source says cauliflower, broccoli and brussels sprouts are not known to get it, so a yellowing brassica bed is not automatically all of it.

  190. Two screens disagreed about whether your pruning window was open

    Open "What did I miss?" on New Year’s Day and a peach’s dormant prune sat under "Gone for this year — nothing you do now reopens it". It was open, and stayed open until late March, and the daily list said so on the same day about the same tree. The cause was two ways of writing down a window that crosses New Year. The part of the app that works out your jobs writes that window as running past day 365; the catch-up screen expects it written the other way round, and neither knew the other existed, so it asked whether 1 January falls between mid-November and late March, decided it does not, and filed a live job as gone. Fixed at the join. Checked across every once-a-year job we hold, on every day of the year: the two screens now agree everywhere. The worst affected before this was wrong on 128 days out of 365.

  191. Tiny holes in your leaves: a new page on when flea beetles matter and when they don’t

    Flea beetles chew small round holes clean through a leaf, and every gardening site shows you the damage and then reaches for a spray. The thing none of them tells you is which case you are in. On a seedling that damage can kill the plant outright. On an established plant the identical holes are cosmetic and the plant grows through them. Same insect, opposite answers, and the difference is what the plant is doing rather than how many holes you can count. So the new page says how long the dangerous stretch actually lasts, using the growth-stage data we already hold for the 37 crops that get this pest. Arugula and radish are seedlings from day 7 to day 21 — fourteen days and they are through it. Cabbage runs day 8 to day 49. The median across the 27 crops we can put day numbers on is eighteen days. Count from the day you sowed, not from the day you noticed. Inside the window, cover it; outside it, leave it alone. Two things the page deliberately does not do. It does not name a spray or a rate, because flea beetles are a group of species with different hosts and different state guidance, and a product name from us would be a number we had not checked for where you live. And when it gets to what eats them, it says we have not sourced that and will not invent it — then gives the thing we can stand behind, which is that no predator arrives fast enough to save a seedling in a two-week window.

  192. Your harvests now add up

    The summary above a plant’s history used to say how many times you had picked something. It now says what those pickings came to — 3 harvests, 4 lb. Two units stay two facts: four pounds and six fruit are shown as both, because adding them would mean guessing what one of your tomatoes weighs and then showing you the guess as a measurement. And if some of those harvests had no amount on them, it says “at least”. A total that quietly leaves out the ones you skipped is worse than no total, because nobody goes back and re-checks a number that looks finished.

  193. In the ground is not a pot

    If you marked a plant as going straight in the ground, or into a raised bed, but the spot it sits in was named a pot or container, the app handed that plant the pot watering advice — check often, water little. That is written for a five-gallon pot drying from every side, and open ground holds moisture for a week. It came from reading “in the ground” as though you had said nothing, so the name of the spot filled a silence that was not there. What you pick now genuinely wins. Nothing to redo: the advice is worked out fresh each time you look, so it is already right.

  194. It stopped saying “Do the carrot have proper leaves yet?”

    The app asks about your plants by name, and one of those questions had the grammar wrong: "Do the carrot have proper leaves yet?" It was not a typo in one place — the name is dropped into a fixed sentence, so every plant reaching that stage got it. Pluralising it would only move the problem to anyone with a single plant, so the question is rewritten to work either way: "Proper leaves on the carrot yet?" Checking the rest turned up the same fault pointing the other way — "Is the tomatoes filling out?" — which is fixed too.

  195. Aphids: the whole internet says kill them, and Minnesota says mostly do not

    Search how to get rid of aphids and you get thirteen results telling you how — remove them this instant, eliminate them, nine natural options, once and for all. Not one of them prints the sentence University of Minnesota Extension actually publishes: "In most cases, aphids cause little to no damage to plants and can be ignored." Our new page leads with that. It holds because something is already eating them — lady beetles, lacewing larvae, syrphid fly larvae and parasitic wasps are named by all three extension services we used — and because aphids are weak insects that a good rainstorm knocks off, which is why a dry summer seems to bring them. The page also gives the identification everybody skips. Small green bugs describes fifty insects. Every aphid has two tiny tailpipes sticking out of its back end and nothing else on your plants does, which two universities state independently. When you do need to act, start with a hose, and Colorado State explains why that is not a token gesture: very few aphids knocked to the ground ever find their way back onto the plant. The honest limit gets its own heading rather than a footnote — aphids carry plant viruses, the aphid leaves and the virus does not, and that is why "ignore them" is a starting point rather than a rule, especially on seedlings and on anything you are growing to eat.

  196. Your week stops filing “no rush” jobs under today

    Two changes to the same screen. Jobs marked no rush have their own section now instead of sitting in today’s list — on a twenty-five plant garden that is eighteen rows of forty-nine moved out from under a heading that said the opposite of what they were. Nothing is hidden: they keep a heading and a count, because a screen whose promise is showing you everything in one moment cannot answer a request to declutter by dropping a third of it. And Today now shows the weather: tonight’s low first, because that is the number that decides whether a tray comes in, then the next few days. That was the other half of a complaint about a card saying "hot weather in three days" on an app that had never shown a temperature anywhere. The card carries its number now and the line above lets you see the shape of the week it came from.

  197. "Nothing yet" is an answer, and now it is on the home screen too

    When the app asked whether your seeds were up, the home screen gave you one button: "Yes, it is up". If you had gone out, looked at the row and seen bare soil, there was nothing there you could honestly press — so the only options were to say something untrue or to ignore it, and ignoring it brought the same question back the next day. Both answers are now on both screens. Saying "Nothing yet" is a real answer that gets recorded: the app stops asking, and speaks up again on its own if the seeds go past the point where that crop should have shown. Before this, saying no threw the answer away.

  198. Parsley gets its own leaf spot, instead of a tomato’s

    The last of four plants that were being handed a description of a disease they do not get. Septoria leaf spot on a tomato and on parsley are two different fungi, and we only had the tomato one written up — so a parsley grower got "dark spots on the leaves", taken from a page about tomatoes. Parsley now has its own entry, written from the University of California page for that exact disease, and it describes what you would actually be looking at: small sunken tan-to-brown spots, often ringed in red-brown, going gray in the middle as they age and coming up peppered with tiny black dots. The stalks get them too. It also records something the source is careful about — that page covers cilantro as well, but the fungus only affects parsley, so we say so rather than letting the title imply more than the page does.

  199. Profile went quiet about limits instead of answering

    Somebody asked how much of their allowance they had used and got a line describing what a free account "comes with" — a ceiling that had already been removed. We fixed the wrong number by hiding the line, which is better than stating something false and is still not an answer to the question. Profile now says the true thing: there is no limit at the moment, and we will say so there first if that ever changes. If the server reports a number for your account, that number is what you see instead — a fact about your account beats a general statement about the tier. The rule deciding all of this used to be a condition written inside the screen itself, where nothing could test it, and it had been wrong twice. It is one function now, with a test covering all four states.

  200. You could tell us the tree was grown from a seed, and nothing listened

    A tree grown from a pip has no rootstock, so it has nothing to sucker — and "Remove suckers" should never have been on its list. You have been able to say so on the plant page for a while, and we said on the help page that saying so was enough. It was not. The answer was saved and then dropped three separate times on its way to the part of the app that decides what to show you: the rule that reads it was never given the crop it needed, the year-ahead list never asked the rule at all, and the object handed to the engine was rebuilt by hand without the answer on it. Each one alone was enough to keep the job on screen. Fixed and checked on the real page in both directions — pick "grown from seed / cutting" and the job goes, unpick it and it comes back. Anyone who already answered does not need to answer again. The question above those buttons also read "What size tree is it? (on the nursery label)", which is a strange thing to ask somebody holding a tree they grew from a seed; it now asks how the tree started.

  201. When to plant potatoes: the one crop that does not wait for the frost date

    Every spring planting guide is organized around the last frost, because a freezing night kills a tomato outright. A potato is not a tomato. Maryland records it as a "Half-hardy annual" that can withstand light frosts, and Utah State says outright that potatoes should be planted in the garden two to three weeks before the last frost. Before it. The fact that makes that safe rather than reckless comes from Iowa State, and most pages quote the first half and stop: freezing temperatures below 32°F damage potato shoots, from blackened leaf margins up to death of all aboveground growth — and then, "Fortunately, severely damaged potatoes will send up new growth within 10 to 14 days. There is no need to replant the potatoes." A frost does not end a potato crop. It costs it two weeks. What the crop is actually waiting for is soil at 50°F, which is a thermometer rather than a calendar and certainly not a hardiness zone — a zone describes your coldest winter night, which is the one thing this crop is not waiting on. The page also explains something no other page seems to: why the planting depth you are given keeps changing. Three to five inches early, five to six later, and Utah State gives four to six across the board.

  202. The frost check on hardening off now covers every plant, not 38 of them

    Hardening off ends with a night left outside, and it is the one step in those two weeks that can kill a tray rather than just slow it down. For the 38 crops where we have a sourced temperature floor, the app already refused on a cold night and said why. For the other 114 it did not check at all — it told you to check the forecast yourself, which is odd, because the app has the forecast. Now nothing goes out below 35 degrees, whatever it is. That number is not a claim about your particular plant: it is freezing, plus a margin, because a forecast is a forecast and your patio is not the weather station. Where we do have a sourced figure for a crop it still wins — basil stops at 50. And a night with no forecast still stops nothing, because a warning that fires on a guess is one you learn to tap through.

  203. When to harvest garlic: the leaves are the wrappers

    Every page about harvesting garlic tells you to wait until the lower leaves yellow. Ohio State Extension says why, in a sentence almost nobody quotes: "The leaves are actually connected to the garlic bulb wrappers below." Each leaf you can see is a wrapper you cannot. That single fact turns the usual warning into arithmetic — waiting until the leaves turn brown, in Ohio State’s words, "will result in rotted or missing wrappers", and wrappers are what keeps garlic through the winter. The new page also carries the test that settles it, which is not the leaves at all. Minnesota: pull a bulb, cut it across, and if the cloves fill their skins the bed is ready. One bulb, one minute, done. And it names what each mistake costs: too early gives small bulbs, too late gives cloves popping out of the bulb, and a bulb with split wrappers will not store. On curing, we show the disagreement instead of averaging it — Utah State says one to two weeks, Minnesota says three to four, and those two do not overlap. The finish line is not a date. It is skins papery and roots dry. This is the first page in a new section for harvest timing, which exists because of something in our own data: "lower leaves going yellow" shows up at 33 different crop-and-stage combinations in our records, and it means go and dig on fourteen of them and absolutely nothing on nineteen.

  204. The last night of hardening off is finally offered — and checked against the forecast

    Hardening off is ten days, and the tenth is the night the plant stays out. The app never asked for it. It counted to ten, decided the ramp was over on the day the last step was due, and jumped straight to "ready to plant" — so the one step that matters most was skipped every single time. It is offered now, on the right day, and the frost check we added this morning finally has a card to sit on: below your plant’s own temperature limit the app will not suggest it at all. Two other things came out of the same look. If the plant is still in a seed tray, the app now tells you that the extension services genuinely disagree about leaving those out overnight, and that none of them mention how little soil a tray holds — so you decide, with both sides in front of you. And finishing the ramp is no longer written like a deadline: a hardened plant can live outside, so it waits there until you have a weekend, rather than the app implying you are already late.

  205. Your fruit tree page said “2 to 4 years” without saying which kind of tree

    Almost every fruit tree sold in a garden center is grafted — a named variety joined onto someone else’s roots — and every years-to-first-harvest figure published by an extension service is measured on one of those. A tree grown from a seed is a different plant on a different schedule. Our data has known that since May, and the app has used it: tell the app your tree is on its own roots and it stops nagging a three-year-old orange seedling to produce fruit. The plant pages on this site never said any of it. Orange read “2 to 4 years” flat, while we held a sourced 7 to 10 years for a tree grown from a pip. Thirteen fruit pages now say which tree the number is for — on the summary strip, in the opening paragraph, and beside the figure itself. Pomegranate goes the other way and is worth reading: the everyday one is struck from a cutting and already on its own roots, so its 2 to 3 years is the honest number for what you would buy. Apricot, peach, plum and cherry gained the label too, each checked against the sentence it came from rather than the crop’s reputation — UConn’s table is titled “after planting” and Minnesota’s says “if you plant a 1 or 2-year-old tree”, which is nursery stock either way. What we still do not have is a trustworthy figure for a peach or apple grown from seed. Two extension pages were read and neither gives one, so those pages say nothing rather than guessing.

  206. How to start seeds indoors: the number nobody prints is two inches

    Every seed-starting guide tells you to give seedlings adequate light, and then photographs a tray on a windowsill. University of Minnesota Extension does neither. It heads a section "Avoid the windowsill" — a sill is the coldest place in the house at night and the hottest by day — and it gives the number the rest of the internet rounds off: "Keep lights no more than 4 inches above the tops of your seedlings: as close as 2 inches is ideal." Twelve to sixteen hours a day, and not continuously, because most plants need a dark period. It also names the cause of the thing every beginner photographs and asks about: "Lack of light is the major cause of elongated, skinny stems." That is the leggy seedling, diagnosed in one sentence — not a watering problem, not bad seed, just a light source too far away. The honest part is that this is a prevention answer rather than a cure: a stem that has stretched does not un-stretch, and the tomato trick of planting deep is one crop rather than a general fix. And the comparison that makes the number make sense is the least intuitive line on the page: natural light is relatively weak next to artificial light kept close to the plants, even in a greenhouse. This is the how. The when already had its own page and this one links to it rather than repeating it.

  207. Your photo guesses the pot size, and you just say yes

    Asking a pot for gallons instead of width and length was the right question, but it still arrived as an empty box. Nobody knows their pot size by heart, and the app has usually already seen the pot — it is standing in every photo you take of the plant in it. So when a picture has told us roughly how big a pot is, that pot now shows you the number with one button: "That is the size". Tap it and it is saved. The reason behind the guess is shown with it, so you can tell whether it looked at the right thing. It is never typed into the box for you and nothing is stored until you agree — a guess sitting in a field looks exactly like a number you gave us, and that is worse than an empty box. If it is wrong, say "Not right" or just type yours over it; either way we keep a record of what we guessed and what you made it.

  208. Twenty-three crop pages now show the autumn planting window as dates, where a source publishes one

    Most of our planting dates are counted from your own first frost — "sow 70 to 84 days before it" — because that sentence is true in Maine and in Georgia and you supply the frost date. A lot of extension services publish the same fact as plain calendar dates instead, and until now we held those and showed them to nobody. Twenty-three crop pages now carry them, each window labeled with the place it was published for. Spinach is the clearest case: Clemson gives South Carolina two answers, August 1 to September 30 in the Piedmont and August 15 to October 15 on the Coastal Plain — six weeks apart, same crop, same state. Be honest with what that means for you: right now every one of these windows is Clemson’s, so unless you garden in South Carolina they are a demonstration rather than an answer. The page says so, and it will say "two states" or "six states" on its own as we add them, because that sentence is counted from the data rather than typed. What we will not do is convert them. Turning "sow in July" into a number of days before your frost means assuming a frost date, which means assuming a zone, and handing that back to you with a citation on it would make a guess look like a source. One more thing worth saying plainly, corrected the same day we shipped it: the chart tells you WHEN, not whether to put seed in the ground or set out plants. Clemson only names the route where the route is the whole crop — it has separate rows for onion sets and onion plants and a plain row for everything else. Snap beans always go in as seed; fall broccoli in South Carolina normally goes in as a transplant. Both sit in the same column. We called it a sowing window at first, which claimed more than the source did, and the pages now say planting.

  209. Sweet potato slips: the sprouts are the plant, and why the last one never sprouted

    A gardener asked our app on 13 August whether he could plant the sweet potatoes in his cupboard that had little roots and shoots coming off them. The chat said we had not written it up. Now we have. Those shoots have a name — slips — and they are how the entire crop is grown. Mississippi State: sweetpotatoes are produced from vegetative stem tip cuttings, or slips, and slips come from sprouted storage roots saved from last year. The sweet potato is not a seed; it is a nursery. And the exact thing he asked about is answered in one line: slips may or may not have roots when they are cut. Either way they grow. The page also carries the sentence missing from nearly every article about putting a sweet potato in a jar of water. Maryland: "Wash any purchased roots to remove anti-sprouting chemicals." Supermarket sweet potatoes are treated so they will not sprout on the shelf, which is why the jar trick works for the person writing about it and not for the person reading. And it does the arithmetic out loud instead of stopping at the encouraging part: six weeks to raise slips, then soil at 65°F, then 90 to 120 days of growing, all finished before the soil drops below 60°F. For most of the country a sweet potato sprouting in August is next spring’s crop, and starting it now in a warm room is a good way to have slips ready in time.

  210. Septoria leaf spot: the thing that identifies it is inside the spot

    Plenty of things put spots on a tomato leaf, and the two that get confused most often are Septoria leaf spot and early blight. They start in the same place — the lowest, oldest leaves — and both work their way up the plant, so where it starts tells you nothing. The spot itself does. Missouri Botanical Garden describes Septoria spots as circular, an sixteenth to a quarter inch across, with dark brown margins and "tan to gray centers with small black fruiting structures". Those tiny black dots inside the pale center are the fungus’s own spore cases, and early blight does not make them — its spots enlarge into concentric rings with a yellow area around them. Count them too: Septoria makes many spots per leaf, all about the same size. The new page also carries the control caveat almost nobody prints. Every page tells you to remove the infected leaves; Missouri Botanical is the one that says where to stop, because "removing leaves above where the fruit has formed will weaken the plant and expose the fruit to sunscald". Strip from the bottom, stop at the fruit. And the overwintering surprise: the fungus survives on old debris, on nightshade weeds, and on your stakes and cages.

  211. Japanese beetles: the trap you were about to buy makes it worse

    Metallic green head, coppery wings, leaves eaten down to lace. If that is what is happening in your garden, the thing most people do next is hang a trap — and two extension services say that is the mistake. Minnesota: "Don’t use Japanese beetle traps. Hanging a trap in a home garden is not an effective way to protect plants," because research at the University of Kentucky found more beetles fly toward the traps than get caught. Colorado State says traps often increase damage by drawing in larger numbers than they capture. The bag really does fill up, which is exactly why people trust them — you can see what was caught and not what was called in. The new page also answers the question people actually have, which is where to hang the one they already own: the serious trapping research is on commercial orchards, it rings the whole perimeter, and even it warns against putting a trap in the middle of the thing you are protecting, which is where a garden trap goes. What to do instead is knocking them into soapy water while they are still cool — early morning or evening — and every beetle you remove is a few more that never get invited, because chewed leaves give off chemicals that call others in. Fifteen of our crops carry this pest; the page says which ones Minnesota names as favorites and which it does not.

  212. A heat warning you could not check

    The card said "Hot weather in 3 days" and left it there. The app has never shown a temperature anywhere — weather decides when we warn you about heat, when a tray should come in and whether it is worth planting this week, and none of it was visible — so a warning about the weather was something you could only take on trust. A warning you cannot check is one you stop believing the first time it looks wrong. It now carries the number that raised it: "Around 99°F, and nights near 70°F." Which figure leads depends on what triggered the warning, because a warning about warm nights that opened with the daytime high would point you at the wrong thing — a night that never cools is harder on a plant than a hot afternoon. The numbers were already being worked out to decide whether to warn you at all; they were simply never shown. A place to see the next few days at a glance is still to come.

  213. Three cabbage caterpillars re-checked, and one thing we had wrong

    The three caterpillars that eat cabbage-family plants all shared one source page, and that page no longer exists — so all three were rewritten from University of Wisconsin pages, one each. Two corrections came out of it. We had said the imported cabbageworm works its way into the middle of a cabbage head; the source says plainly that it does not bore into heads at all, and the damage stays on the leaves. And we had said the diamondback moth caterpillar eats the inside of the leaf; it actually feeds on the underside and leaves the top skin intact, which is what makes the little windowpanes. Same result, different place to look — and turning a leaf over is the accurate instruction. The descriptions also picked up the fastest way to tell the three apart: the looper humps its back as it walks, the cabbageworm just crawls, and the diamondback thrashes and drops off the plant the moment you touch it.

  214. Two citrus mites, and the reassuring half of one of them

    Citrus red mite bleaches leaves and fruit into a pale speckle that runs together into dry brown patches when it gets bad. The useful detail is what it does not do: it makes little or no webbing, which is how you tell it from the spider mite you were probably about to blame. Citrus rust mite is stranger — it turns the skin of the fruit silvery on a lemon, rust brown on a colored orange, black on a green one, and it is far too small to see even with a hand lens. It also comes with the best news in the entry: the damage is skin deep and the fruit inside is fine, so it is a question of how your oranges look rather than whether you can eat them.

  215. When to harvest potatoes: two crops, one plant, and two weeks of doing nothing

    A potato plant grows two crops and they are ready months apart, which is why the advice you find never quite matches the plant in front of you. Minnesota puts both in two consecutive sentences: you can dig new potatoes about seven to eight weeks after planting, and harvest mature tubers after plants have dried. The new page asks which one you want before it answers when. For storage potatoes it carries the step almost nobody leads with, from Maryland: "If you plan to store potatoes, leave tubers in the ground for 2 weeks after plants die back. This will allow them to develop a thickened skin." Two weeks of doing nothing, underground, after the plant is already dead — and that is the difference between potatoes that keep until spring and potatoes that go soft by November. It is also why the same page says not to dig in wet soil and not to wash them before storing: all three instructions are protecting the same surface. On curing, three services give three answers, from ten days to three weeks at three different temperatures, so we show the spread rather than inventing an average. And one fact worth carrying around: Minnesota says moisture stress while the tubers are enlarging causes knobby or hollow potatoes. If you have ever cut into a potato and found a cavity, that was a dry spell months earlier, with nothing to see at the time.

  216. Two more pests you can now look up: plum curculio and carrot rust fly

    Both were on the list of problems our plant data names but we had never described, and both are the kind where knowing what to look for is most of the battle. Plum curculio leaves a curved scar like a thumbnail print on small green plums, peaches and apricots, often with a bead of amber sap weeping out of it. Carrot rust fly is the opposite problem: there is nothing to see above ground at all, which is worth knowing on its own — the tops look fine while shallow tunnels packed with rusty mush run over the root. That takes us to 103 problems we can describe, covering four in five of the times a plant in our database names one.

  217. When to plant carrots: the sowing temperature is not the germination temperature

    Almost every page on this gives you one number. Utah State gives two in the same breath, and the gap between them is where carrot rows are lost: "Carrots can be sown after soils reach 40°F. Seeds germinate best at 55-65°F and require 14-21 days to emerge." Sown and germinate are doing different jobs in that sentence. Sowing at the bottom of the range is allowed; it means asking a seed to sit in cold soil for three weeks before it shows. And the depth is what makes that hard — a quarter of an inch, which is the exact layer that dries first. So the practical version of "when to plant carrots" is not a temperature at all. It is: when can you keep the top half-inch damp, every day, for three weeks? The page also carries the fix two extension services give independently for the same problem, which sounds like folklore and is not. Sow a few radish seeds in the row with the carrots. Utah State says it helps minimize the crusting that stops carrot seedlings emerging and it identifies where the rows are; Maryland suggests the same for row-marking, with the caveat to harvest the radishes before they compete. And there is a summer gap at the far end that most pages skip: above 80°F germination drops, and high summer temperatures cause bitter or off-flavors to develop.

  218. Spider mites: everyone publishes one test, and the second one matters more

    Spider mites are about one fiftieth of an inch long, so you never diagnose the animal — you diagnose the leaf. Fine pale speckling, like it has been sanded, then bronzing, then leaf drop. Webbing is the late sign, not the early one, which half the internet has backwards. Every page on this subject gives you the same test: shake a leaf over white paper and watch for specks that walk. Almost nobody gives you the second one, and it is the one that matters. Ohio State: wipe the specks with a fingertip and look at the smear — green is a plant feeder, the pest, while yellow or orange is most likely a predator that eats them. That distinction is the whole page, because two extension services say that killing the predators is how a small mite problem becomes a bad one. Minnesota warns that long-lasting insecticides "also kill natural enemies and could possibly make infestations worse in the long run." Colorado State goes further than anyone else we found and names products — carbaryl, Malathion, imidacloprid — as things that have contributed to outbreaks. And Ohio State adds the part nobody mentions on the shelf: ordinary insecticides usually do not kill mites at all. What does work starts with a hose. The page also explains why hot dry spells bring them: dry air lets the mite feed harder while stressing the predators that would have eaten it.

  219. "What did I miss?" now asks the chat, which answers it far better

    Three buttons sat side by side on the Ask screen, identical in every way. Two of them put the question in the box so the chat could answer it. The third quietly took you somewhere else — a screen about the jobs that come round once a year, like winter pruning. If you were growing lettuce and tomatoes it told you there was nothing, so you would reasonably conclude the app had nothing to say. Typing those same four words instead got you the best summary in the app: every plant, every bed, what you had watered, what had come up and what was running late. Now the button does that. The once-a-year screen is still there, doing its real job under a name that matches it, and you reach it from This week where the rest of your trees and bushes already live.

  220. The app asked where a plant was, and you had already told it

    A standing job read "say where the plants are". If your tomatoes live on the front porch you have already said that — the porch is a bed and it was on the same screen — so being asked again read as the app having forgotten. It was never asking that: the five buttons behind it are a seed tray, a pot, a raised bed, straight in the ground, or a greenhouse, which is what the roots are in rather than where the plant is standing. It now asks "What is it planted in?" and names the bed you already gave us above the buttons. Two things came out of looking at it. Four of the five answers were being saved and then ignored — only "a pot" ever reached the part of the app that works out watering, so a tray of seedlings kept getting the advice for a row in open soil. That is fixed, and answers already on file started working with it. And a job covering several plants used to name the first plant's bed as though it were everyone's, so three plants across two beds read as "3 plants · Back bed"; it now names a bed only when they genuinely share one.

  221. A plant with no date was being given a brand-new plant’s jobs

    Add a plant by talking to the app and the date is optional — a plant is worth adding even when you cannot remember when it went in. The catch is what happened next: with no date, everything we showed you was worked out from a typical plant of that crop planted right about now. On a tree grown from a pip years ago that meant being told to mulch it, weed round it and rub the suckers off. The app now asks. One plant at a time, one tap: earlier this year, last year, two or three years ago, or longer ago than that — and a date box for anyone who knows the day. Answer it and the brand-new-plant jobs drop away immediately. A rough answer is worth far more than none, because for a tree the year is the whole of it. The date box on the plant page has existed for a while; nothing ever pointed anyone at it, which was the actual complaint.

  222. Profile said “an 800-foot square” to people who had given us a ZIP

    Pin your garden with a street address, or let your phone share its location, and your frost dates come from an 800-foot square around that point. Pin it with a ZIP and they come from the middle of a postal area, which can be a few miles from where you actually garden — in the mountains, a different growing season. Profile said the first thing to everybody, because the app worked out which kind it had at the moment you pinned it and then threw that away. It now keeps it, says which one you have, and only offers to sharpen it when sharpening would actually change anything. A garden pinned before today keeps the general wording rather than us guessing; re-pin it and it becomes specific. The admin view we use for support now shows the coordinates and how they were obtained too, which is what made the gap visible in the first place.

  223. Ask about a problem on your plant and the answer says whose plant it was written about

    When you ask what something looks like — powdery mildew, squash bugs, bacterial blight — the answer comes from text we wrote off a named extension page, and it tells you which one. Where that page covers something narrower than your plant, it says so too, because a description written for tomatoes is not automatically a description of the same trouble on dill. That was true of most of our problem descriptions and not all of them: of ninety-eight, twenty said nothing on the subject either way, and there was no way to tell those from the ones somebody had checked and found nothing to declare. All ninety-eight now record an answer. Most of them turned out to need no note at all, which is the right outcome and worth saying plainly: a page about squash bugs, used on eight kinds of squash, is not narrower than what we hang on it. One was a real find. Nine of our crops list bacterial blight, and the description we hold is the bean one, from a University of California page about dry beans. Mulberry, mustard and quinoa also list it — each from their own extension source, each a genuinely different organism sharing the name. All four are correct. The answer now says which one the description belongs to, instead of handing a mulberry grower a page about beans. Nothing was deleted to tidy this up: the attachments were right, and what was missing was the sentence saying whose.

  224. Your garden list stopped talking about our schedule

    A few plants on the Garden tab used to say "nothing scheduled" — which is a sentence about our calendar, not about your plant, on the screen whose whole job is showing you the garden. On a young apple it was worse than useless: the row said nothing was scheduled and then named a job to do in the same breath. Now the job simply leads — "Check for pests" — and a plant that has finished everything we track for the year says so. Nothing else changed: a plant in a stage still names its stage, one with a date still gives the date, and seeds you have not put in yet still say when you are planting them.

  225. Enter your own frost dates

    If you have kept records for your own garden, they beat anything we can model for it. Pin my garden now has “I have my own records” — type your last spring frost and your first fall frost and those are the dates the whole app uses. Only the month and day are read, so pick any year. This matters most outside the lower 48, where our map holds nothing and the lookup simply would not save: Alaska, Hawaii and the territories now have a route to real dates, the setup nag stops, and every journal entry that was stamped blank while unpinned fills itself in the moment you save.

  226. Five states now have their own frost page, station by station

    Every site that answers "when is the last frost in Ohio" gives you one date. Ohio has 130 weather stations and 32 days between the first of them to clear frost and the last. Texas has 434 stations and 88 days — from January 30 at Bruni to April 28 at Dalhart. Planting to a state average in the wrong half of Texas is not a small error. Ohio, Texas, Michigan, Florida and Georgia now have their own page: the spread, the two stations at either end with their elevations, and then every station in the state — its cautious date, its even-odds date, its early date, and how long its growing season runs. That last number is in NOAA’s data and almost nobody publishes it per station. Two things worth knowing before you read one. Florida’s page lists 59 stations and says plainly that 80 more were left out, because they do not freeze in at least nine years in ten and a "last frost" for those is a number without a meaning. And the cautious date sits later on the page than the early one, which looks like a mistake and is not — in spring the odds run backwards from the way they run in autumn, and the page says so where you will see it. Five states is a pilot. The rest follow if these earn their keep.

  227. A pot is sold in gallons, so we stopped asking it for width and length

    Telling the app about a pot meant answering how wide and how long it was — which is the measurement nobody has. A raised bed has a footprint you walk around; a pot has a volume, it is stamped on the bottom, and gallons is what you ask for at the nursery. It is also the number that decides whether a tomato can live in it, which width times length never could. Pots are now asked in gallons, with the standard nursery sizes named so you are not guessing: 1, 3, 5, 7 and 15. If you already measured a pot the old way your numbers are still there, shown back to you on that pot with a note. We did not convert them. Turning a rectangle into a volume means inventing a depth you never gave us, and we would rather show you what you actually said than quietly invent a number and hand it back as yours.

  228. Telling the chat about one plant could file it against another

    You can now just tell the chat what you have seen — "the carrots have their proper leaves now" — and it records it and puts the jobs that were waiting on that back on your list. No button to press, no form. That went live this morning, and within the hour we found a hole in it and closed it. A message like that did not carry which plant you meant. It was filed against whatever plant the conversation happened to be about. So if you were talking about your tomato and mentioned the carrots in passing, the note landed on the tomato — and the app then started offering you jobs for leaves that plant had never grown. Nothing about that record looked wrong afterwards. It was a real observation, correctly dated, on the wrong plant, and nothing further down the line could have spotted it. Now, if we cannot tell which plant you mean, we do not guess: we hold off rather than file it somewhere plausible. Name the crop and it records exactly as before. This is the same rule we already use for pests, where guessing which plant a problem belongs to would be worse than asking.

  229. Is this actually my plant?

    A tester told us our only lavender was English lavender, and asked whether that was right. It was — but it pointed at a real problem. Five of our plant pages are named for a whole group and written about one member of it. The Latin name was already on the page, and it does not help. Somebody holding a French lavender reads "Lavandula angustifolia" and has no way to know it means "not yours". So those five now say it in words. Lavender says French and Spanish lavender are different plants. Chamomile says the same about the Roman kind. Pear says these are the European ones — Bartlett, Bosc, Anjou — and Asian pears are a different tree. Raspberry says black raspberries are a different plant, not a different color. Artichoke is the good one: Jerusalem artichoke is unrelated, we already have a page for it, and the note now links straight there. We checked the other eighteen plants whose names could have the same problem. They are fine — "carrots" is just the plural of carrot, and yarrow really does mean common yarrow. Saying it on all twenty-three would have been noise; saying it on five is a warning.

  230. It now hears what you tell it

    Some jobs wait on something only you can see — the first proper leaves, fruit starting to turn. The app held those back until it knew, which was right, except it had no way to hear the answer and no way to ask the question. So it waited forever. It now asks, in plain terms — "do the carrots have proper leaves yet?" — and answering releases the jobs that were waiting. That covers nearly every job the app was ever holding for a sign, rather than the handful it could work out from your journal.

  231. "Not yet" is an answer now

    When the app asked whether something had come up and you tapped "Not yet", it recorded nothing — only a note to stop asking that day. What you actually told it was thrown away. It now remembers, and it behaves differently depending on when you said it. Early on, it goes quiet: a seed three days into a five-day window has not failed at anything, and asking again tomorrow would say we did not believe you. Once the plant is genuinely past when it should have done the thing, it speaks up — "the carrot should have its first proper leaves by now" — because that is the one thing the app can notice before you do. It never says the plant failed. It reports what the record expects, and you are still the one looking at it.

  232. "Still nothing up" now counts, wherever you say it

    Earlier today, tapping "Not yet" on your daily list started being recorded properly. **Saying the same thing in the chat still went nowhere** — there was no way for it to become a fact about your plant, only a sympathetic reply. Now it counts. Tell the chat "the carrots still have not come up" and it records that, and stops asking you about it until the plant is genuinely overdue. **It never means the plant failed.** It is what you can see today. A cold spell, deep sowing or old seed all push things later, and a seed that has not come up eleven days after a five-day window is the most useful thing you can tell us — it is the one thing the app can spot before you do.

  233. Pests arrive on your garden’s schedule, not a book’s

    Most gardening advice tells you a month. **"Watch for asparagus beetle in early May."** Early May is Minnesota's — and if you are not in Minnesota it is either too early to bother or already too late. So we sourced the arrival times and threw the months away. What is left is the thing the extension pages actually anchor to: **"start looking as the first spears push through the soil."** That happens wherever you are, on your date, without anyone needing to know your zip code. If you grow one of the crops these pests go for, your daily list now carries one card — one for the whole garden, not one per plant — saying what to look for and what will tell you it is time. **Two of the six we sourced are not here**, and they are the interesting ones: one starts when the forsythia blooms and one when a particular weed shows up. Both are real signals and neither is anything your garden record knows about, so we are not guessing at them.

  234. Tell the chat what you see, and the jobs come back

    When a job is waiting on something only you can see — whether the first proper leaves have appeared, say — you could settle it by answering the card on your daily list. **Saying the same thing in the chat did nothing.** Two ways to tell us, and only one of them worked. Now the chat listens. Type "the carrots have their proper leaves now" and it records it, puts the waiting jobs back, and says so in one line: *"Noted — thin seedlings is back on the carrot's list."* **There is no button asking you to confirm it.** You already said it. Being asked to tick a box agreeing with your own sentence is the app not listening, and the card only asks first because the card is the one doing the asking.

  235. The app asks while you can still do something, and stops when you cannot

    When a plant is late showing a sign — nothing up weeks after it should have sprouted — the app is meant to say so. **It was doing that backwards.** It stayed quiet during the weeks when looking at the bed could still change something, then started asking once the plant's whole season was over. And then it never stopped: a bush bean that finished in sixty days was still being asked whether it had come up **six hundred and eighty-three days later.** Now it asks the day after the plant is genuinely late, and stops a couple of weeks after the moment has passed. Nothing on a two-year-old plant is still asking about the week it was sown.

  236. The app took nearly a minute to open, and it now takes seconds

    Opening GardenTrack for the first time meant waiting while it downloaded every single thing it might ever need — all 152 crop pictures, all 151 variety lists, the entire frost map. Over five megabytes and more than three hundred separate requests, all of it before the first screen would appear. On a good connection that is slow. On a phone in a garden it was close to a minute of looking at nothing. It now downloads the app itself, about seventeen files, and starts. Everything else arrives quietly a few seconds later, once you are already using it — so the whole catalog still ends up on your phone for when you have no signal, exactly as before. What changed is when, not whether. Open a plant before that quiet download has caught up and its picture is fetched right then and kept, so you end up in the same place either way. Worth saying how this lasted: every build printed the line "precaches 322 files" and we read it as a sign of thoroughness for a full day. A count tells you how much happened. It never tells you what it cost the person waiting.

  237. The beetle arrives with the spears

    Ask about a problem and the app tells you what it looks like, from a page a university extension service wrote. Asparagus beetle was missing from that list, and now it is there — the six cream spots, the dark eggs standing on end in rows along the spears, and the spears that turn brown and bend into a hook. That makes 98 problems we can describe. We also started recording something we had not before: when to start watching. Not a date — a date written in Minnesota is wrong in Georgia, and we would rather say nothing than say that. What the extension pages actually give, when they give anything, is a thing you can see: the asparagus beetle turns up as the first spears push through the soil, and the Colorado potato beetle gets moving as the potato leaves come up. That kind of signal is worth more than a calendar, because it moves with your weather instead of somebody else's. Those two cost you nothing at all to watch — the plant is already in your garden and already on your screen. Two more need you to look at something else: the cabbage root fly comes out when forsythia is in full bloom, and the squash vine borer turns up when the chicory on the roadsides does. Still better than a date, but they ask something of you, and we record which kind each one is so we never mix them up. Two more are the same free kind: your sweet corn is the signal for corn earworm, from the moment the tassels finish until the silks brown, and young beans are the signal for the bean leaf beetle until they have their first proper three-part leaves. Six so far, each written down with the page we got it from. Nothing in the app uses them yet — that half comes next.

  238. The photo answer now comes back in a known shape

    When you point the camera at a plant, the app asks the model what it can see and writes the answer into that plant's record. Until now it found that answer by **searching the reply for something that looked like a list** — which worked, and was a guess. The reply is now required to come back in an exact shape, so there is nothing to search for. **Anything outside the shape is rejected before it reaches your journal**, and we deleted the old searching code rather than keeping it as a backup — two ways of reading one answer is worse than one, because the second only runs when the first has already been surprised. Nothing changes on screen. It is a change to how carefully the app treats what gets written down about your garden.

  239. Three jobs held back, two mentioned

    When the app is waiting to hear something before it can advise you, it tells you which jobs are on hold — naming a few and counting the rest: *"one more job is waiting on the same answer."* **The count was wrong whenever a held-back job had no plain-English name.** Those jobs disappeared from the list, which is right, and from the count as well, which is not. Four jobs on hold could be described as three, with no mention that a fourth existed. Now the count is of what is actually held back, whether or not we have a good way to name it. The list is still only the ones we can describe properly.

  240. Two buttons that said nothing, and nothing looked wrong

    The two small buttons next to the message box — one opens your camera, the other your photo library — had no name at all. Not a shortened name or a confusing one: nothing. To anyone using a screen reader they both announced as "button", so there was no way to tell which was which except by pressing one and finding out. The reason it lasted so long is worth saying: nothing looked wrong. The composer rendered exactly as designed, which is why it survived every visual review we have done. It was only found by driving the buttons rather than looking at them. They now say what they do, and the fix was made in the shared component so the next icon-only button cannot repeat it. They also grew from 36 to 44 pixels, the same minimum every other control in the app already honored, which matters most here because they are the closest-together pair we have. Two other things went with it. The time-of-day choices on your profile were running with no styling at all, because a rule meant to scope one thing had quietly taken two others with it. And choosing "I am home most days" was stored as exactly the same thing as never answering, so the app forgot it the moment you reloaded — it now remembers.

  241. Two beds of the same crop, and we filed your note against the wrong one

    This morning we closed a hole where telling the chat about one plant could file the note against a different plant. Then we went looking for the version of it we had missed, and found one that is far more likely to happen to a real gardener. If you grow carrots in two beds — which is completely ordinary — and you are in a conversation about the front bed, saying "the ones in the back have their leaves" put that note on the front bed. The check we had added that morning let it through, and it was right to: the crop matched. Carrots are carrots. What it could not see was which carrots. The app already knew the bed names all along; the part doing the filing was only ever looking at the crop. Now, when you have more than one planting of the same crop and it cannot tell which you mean, it holds off rather than picking one. Name the bed and it records straight away. And if you only grow carrots in one place, nothing changes — "the ones in the back" is just how people talk, and refusing to record it there would make the app annoying for everybody in order to protect a case that cannot happen to them.

  242. Your plant had two harvest dates and the app was showing you both

    A plant growing into autumn does not grow at the speed it did in June — shorter days and colder soil mean the last stretch to a ripe fruit takes longer than the day count on a seed packet. The app already allowed for that, and it turned out it was doing so in one place and not the other. The frost check used the corrected date. The harvest window on your plant page used the raw one. On a late crop that frost actually ends, the two could sit as much as four weeks apart — the same app telling you two different things about the same tomato, and the earlier of the two is the one that quietly suggests there is time when there might not be. Both now use the corrected date, so a late-season harvest window may have moved later by up to about four weeks. Nothing about your plant changed. We chose the later date on purpose: being told you will get fruit and then losing the crop is a worse afternoon than being told you will not and getting some anyway. The same fix removed a second, quieter disagreement underneath it — the two parts of the app were each keeping their own list of which growth stages count as a harvest, and one of the lists had left out curing. There is one list now.

  243. Typing "wax" now finds the wax beans

    The search on the add-a-plant screen had never looked at varieties. It searched crops — three fields, all of them the crop’s name — so typing "wax" asked which crop is called wax and answered honestly: Wax gourd. Four wax bean varieties, a wax onion and a wax pepper were sitting in the data the whole time, and nothing in the app could reach them. It is the front door, and the most confident thing a gardener can type — the exact name of the thing they planted — was the least likely to work. It now searches crops and varieties together: crops first, then a Varieties heading with the matching kinds grouped by crop, so all the beans sit together instead of interleaved with the gourds. Tapping a variety fills in both the crop and the kind in one tap, because finding "Golden Wax Bush Bean" and then asking you to pick "bush bean" from a list would be finding the thing and throwing half the answer away. The list of 3,174 varieties downloads once, quietly, the first time you open the screen, and works offline from then on.

  244. Vine or bush, on every tomato

    The tomato page has a column headed Habit. Until today it was blank on 112 of our 115 tomatoes. That one word changes what you do on planting day. A vining tomato keeps growing until frost and needs something tall to climb. A bush tomato sets its crop over a few weeks and stops, and needs almost nothing. Same plant, same page, two completely different jobs — and we knew which was which the whole time. The reason it was blank is dull and worth saying anyway: tomatoes record this under a different name than cucumbers and beans do, and the page only looked for the one name. Every tomato now says Bush or Vining, and so do the tomatillos. Potatoes are the odd one out. They record the same thing, but on a potato it means whether the tubers form in one layer or all the way up the stem — which decides whether hilling is worth it. Calling that "vining" would be wrong, so the potato page shows nothing there until we have the right words for it. An empty column is worse than no column, so that one is hidden now instead.

  245. A dark phone now opens dark, the zone buttons got bigger, and the sign-in screen says where the invite code goes

    Three things a tester found by using the app rather than reading the code. **If your phone is set to dark, GardenTrack now opens dark** — on a brand new install, before you have chosen anything. It used to open bright cream whatever the phone said, and Profile would show Light switched on, which nobody had picked. The dark theme worked the whole time; the app simply never asked the phone. If you have chosen one yourself, that still wins and always will — a switch the phone could silently undo would be worse than not having asked. **The thirteen winter-cold number buttons are bigger.** They were 37 pixels wide against a 44 minimum we set ourselves, sitting close together, and the number you pick there decides whether we tell you a plant survives your winter outdoors. A near miss did not do nothing — it picked the number next door, quietly. They are now 44 wide with a wider gap. **And the sign-in screen now tells you where the invite code goes.** If you are holding one, the first screen asks only for your email and the invite box is on the screen after it — which was true before and said nowhere, so a tester with a code in their hand had every reason to think they were in the wrong place.

  246. A photo answer could have gone missing on your other phone, and nothing would have said so

    Every change in your garden gets a number, and your other devices ask for "everything newer than the last number I saw". That is how a plant you add on your phone turns up on your tablet. Handing out those numbers has to be one indivisible step — ask for the next number and take it in the same breath — because if two things ask at the same moment and it happens in two steps, they can both be given the SAME number. The second one is then invisible to any device that has already asked past it. For ever, with no error and no gap on screen: the change simply never arrives. We fixed that in the main sync path a couple of days ago, and two other places in the app were still doing it the old way — photo diagnoses, and the account-reset tool. Both now use the same single-step counter as everything else. **We have no evidence this bit anyone**, and we are not going to pretend otherwise: it needs two things happening in the same instant, and the beta is small. But it is the kind of fault you cannot find by looking, because the symptom is something you never see, so it is worth saying out loud rather than fixing quietly.

  247. "Tonight ends the tomato seedlings" — about a tray on the kitchen windowsill

    The frost, heat and cold warnings looked at every plant you are growing and never once asked where it was standing. So a seed tray indoors got told that tonight would finish it, and to go and cover it or pick what was on it. The same thing reached the notification that goes to your phone after dark, which is worse: a card you scroll past, an alarm at night you remember. And the reason we care about a warning firing when it should not is that it teaches people to ignore the ones that matter, and frost is the last warning we want anybody ignoring. Trays are now left out of all three. What has deliberately not changed is everything else. A pot still gets warned, because a potted tree on a porch is exactly the plant a frost kills — and since you can pick it up, bringing it in is something you can actually do that night. A greenhouse still gets warned, because it buys you a few degrees rather than making you safe, and we have no way of knowing whether yours is heated. A plant you have never told us the position of still gets warned, because not being asked is not the same as being fine. The one case where a tray really is out in the weather — one you have carried outside to harden off — already had its own alert, and it is better than a general frost card: it knows the temperature each crop can genuinely take and tells you to bring that tray in.

  248. Add a photo of a bed and the app writes itself a note about it

    When you add a picture of a plant, GardenTrack now has a quick look at it and writes down what it can see — the stage it is at, and whether anything has changed since the last picture of that same spot. Those notes collect in a conversation named after the bed, so a bed has one running notebook rather than a new chat for every photo. **It will not message you, buzz your phone, or take you anywhere.** That is deliberate and it is the whole point: somebody walking seven raised beds dropping pictures does not want to be interrupted after the first one. Open it when you feel like it, or never. Two honest limits. **There is no way to switch it off yet** — it only ever looks at photos you chose to add, and only writes into that one place, but a setting is a fair thing to want and it is not built. And **it does not use up any of your questions**: looking at a picture you uploaded is not a question you asked.

  249. A pepper you grew from seed and one you bought are thirty days apart

    Ask the app when things will be ready and it counts forward from the day you planted, using a sourced figure for how long that crop takes. The catch is what the figure is counted FROM. A pepper takes 100 to 120 days from sowing a seed, or 70 to 85 from setting out a plant you bought — the difference is the six or seven weeks somebody else spent raising it. We hold both numbers for 56 of our crops, and the answer was using whichever one the crop record happened to list first, for everybody. If you had sown pepper seed you were told it would be ready a month before it will be. It now picks based on what YOU did, because that is the only place the answer can come from — no amount of cleverness in the plant data can know whether you sowed a seed or bought a plant. Sow it and you get the from-seed figure; buy it and you get the from-transplant one. The sentence says which, so you can see the reasoning rather than just the date. And where we only hold one of the two numbers, it still says plainly which one it used rather than quietly counting from the wrong event.

  250. A basil sown yesterday no longer says "Ready to pick"

    Sow basil from seed, look at your Garden screen, and it said **Ready to pick** — with nothing above the soil and sixty days to go. **Radish sown the same afternoon was right**, which is what made it findable. The difference is in our own plant records: radish measures every stage from the day you sow it, and basil measures its later stages from the day a seedling gets planted out. **Sow basil straight into the ground and that day never happens**, so those stages fell back to the typical calendar for the crop — and in late August, the typical basil is ready. **The app now refuses to say a plant is at a stage it cannot possibly have reached.** If a seed has not been in the ground long enough to have come up, nothing about picking it can be true, whatever the calendar says about the season. **What this does not fix yet**, and it is worth saying: for those crops the app still cannot tell you when your own basil will be ready. It stops guessing wrongly; it does not yet know. That is the other half and it is open.

  251. A tree planted last year was still being told to settle in

    The app knows how many seasons ago each plant went in, and it uses that to stop giving you first-year advice for ever — stake the young whip, keep it watered every few days, strip the first fruit so it builds structure. All of that is right in year one and wrong every year after. It turned out the setting worked for a plant two or more years old and did nothing at all for a plant exactly one year old. Read ten days either side of its planting date, 151 of our 152 crops gave a one-year-old plant word-for-word the same advice as one put in that morning. The cause was two corrections of the same size pointing opposite ways. One pushed the plant's calendar back a year, correctly. The other, written for a different problem entirely, pulled today back a year to find which season a date belongs to — and landed right back inside the window that had just been moved away. They canceled out exactly, which is why it looked like the setting simply had no effect. Now a date you gave us is taken at face value and never second-guessed; only a date we had to estimate from the typical calendar for that crop gets adjusted, because that is the only kind missing a year. Fixing it turned up a second thing we were not looking for. Parsley flowers in its second summer, not its first, and the same guesswork was telling a fifteen-day-old parsley seedling that it was flowering — a stage a full year away, reported as happening now. Three crops still repeat a first-year stage they have finished, and we have left those alone deliberately: the obvious fix silences fennel and scallion for the entire year, and a living plant we have nothing to say about is the worse of the two problems.

  252. If somebody answers your report, the answer turns up on your report

    The pencil button has always worked one way. You wrote what was wrong, it reached us, and that was the end of what you could see — the screen could honestly tell you the note had arrived and nothing more, because there was no way for anything to come back. Now there is. An answer lands on your own report, in Profile, sitting under the words you wrote, with a name and a date on it. Nothing goes to your email and nothing needs an app to be open. Two honest limits worth saying out loud. **Most notes will never get a reply**, and that is not the app failing you: a bug that gets fixed does not need an answer, and you will see the fix rather than a message about it. And **you cannot write back to a reply yet** — it lands, and the conversation stops there. If you have more to say, send another note from the same pencil button and it stays in one place. The line at the bottom of that screen promising that anything needing an answer would come by email is gone, because it is no longer true.

  253. "Any bean sprouts?" — the app can finally ask, and listen to the answer

    Every plant carries a rough day count for when its first seed leaves should be up. When yours goes past it, the app has a real doubt — a cold spring, deep sowing or old seed all push it later — and until now it just kept counting silently, because there was no way for you to tell it. That is the odd part: the app has always known what to do with the answer. Say a plant has come up and it stops wondering, stops nagging, and treats that plant as further along. It has been able to do that since the day it was built. Nothing ever asked the question. It asks now, once, naming the crop and the thing you would actually look for: "Any bean sprouts?" rather than "anything up yet". The difference matters more than it looks — the second one is really the app asking whether its own records are stale, and leaving you to work out what to go and look at. Saying yes ends the question for that plant for good. Saying not yet records nothing at all, deliberately: there is no such thing as a plant that failed to come up on schedule as far as we are concerned, and we are not going to write one down on your behalf. Some plants will never ask, and that is on purpose. The question only exists where there is a yes-or-no thing to look at — seed leaves, flower buds, tiny fruit forming. Where the plant record is waiting on something like "growing fast", there is no answer you could give, so we stay quiet rather than putting a question mark after a phrase and calling it a question. Second thing, same idea. If you add a plant with today's date, the app now asks you to plant it. That sounds too obvious to mention, and it is exactly the job the app should never be silent about — but it was, for 149 of our 152 crops, because the reminder depended on a quirk of each plant's record rather than on the date you gave us. Add beans the night before and you would open the app in the morning, standing over the bed, and see nothing about beans. Ticking it is also what starts that plant's clock, so every date afterwards is counted from the day it really went in.

  254. Courgette, aubergine, capsicum, rocket and coriander now find the plant

    Type **courgette** into add-a-plant and you got nothing. Same for **aubergine**, **capsicum**, **rocket** and **coriander** — the names these crops are sold under across the UK, Ireland, Australia, New Zealand and much of Europe. **We had every one of them all along**, under the American name, with varieties. The search was only ever looking at one name per crop. All six now resolve, including **swede**. If you know a crop by a name we still miss, tell us with the pencil button — that list is finishable and we would rather be told than guess at it. **Misspellings are still a miss** — type *brocolli* and you get nothing. That is a different fix and it is next.

  255. Saying your tomatoes have gone orange now offers to log the harvest

    Tell the chat "my Sungolds have gone properly orange, are they ready to pick?" and you would get a good answer and no button. Describe the same plant using the word ripe and the offer to log a harvest appeared. That is a distinction no gardener should have to know about. The reason is worth explaining, because the app was doing something right and then dropping it: when you describe what you can SEE, the chat records it as an observation — "the fruit is coloring" — which is more precise than the word ripe and is the right thing to keep. But the harvest button was only watching for the word. It now reads the observation as well, through your crop's own stages: orange fruit on a tomato falls between ripening and harvest window, and since both of those mean pick it, the answer is the same either way. Where the two possible stages would disagree, it still says nothing rather than guessing. And the part that protects you is unchanged: the app checks its own calendar for your garden first. If your plant is nowhere near its harvest window, describing it as ripe gets you no button — the chat does not get to decide that on its own, because only the app knows when the plant went in.

  256. Four plants in the list had no picture at all, and it had nothing to do with your signal

    Nik went out to the garden with his phone in aeroplane mode and found that a lot of plant pictures were missing. Most of that is about what the app downloads when you install it, and that is being fixed properly. But four of them were not missing because of your signal — cucamelon, lentil, nasturtium and sweet alyssum had no picture at all, on any device, online or off. There were 148 pictures for 152 plants and nobody had ever counted. All four now have one, drawn in the same faceted style as the rest. The lentil took three goes: the first was a brown dome that looked like every other brown dome in the list, so it is now a split red lentil you could not mistake for a potato.

  257. The app stops assuming your seed came up

    Sow a kale in the ground and leave it a month, and the app used to tell you to weed around the kale and check the kale's leaves. **It had never asked whether the kale came up.** Every job it gave you rested on the assumption that a seed became a plant, three weeks after a one-week germination window, with nothing anywhere checking. **Now it asks, and that question is the job** — not a note beside the list. While it is waiting, anything that talks about a part of the plant is held back: no checking leaves that may not exist, no thinning seedlings that may not have come up. **Watering never stops.** A dry seedbed is the main reason seed fails, so that one is never held back for any reason. **Weeding does not stop either** — it gets more important while you wait, because weeds pull easiest small and take the water your seedling needs the moment it emerges. But it says something different now: *keep the row clear, go gently, work the edges*. You cannot tell a seedling from a weed yet, and rooting about disturbs the seed. That is real advice for the state you are actually in, not the usual advice with the plant's name taken out. **And if you never answer, nothing goes quiet.** Once it is past the point where that crop should have shown, the app assumes it came up and gives you the full list again — still asking, quietly, at the bottom. A pointless question costs you a glance. A real plant going silent for a season would cost you the plant.

  258. It asked whether your seeds were up nineteen minutes after you sowed them

    Sow broccoli at 9:35 in the evening and the app put "Any sign of the broccoli yet?" on your list at 9:54, suggesting a quick look at the row would settle it. In the dark, nineteen minutes after the seed went in. The same thing happened with radish and basil, so it was the rule rather than one crop with odd data. What makes it worse is that the app already knew better and was saying so on another screen: open that broccoli and its own page reads "First sprouts in 5-10 days". We were asking a question our own records said could not have a yes for four more days. The question now waits until the earliest day this crop could actually show — the same figure the plant page is quoting, so the two can no longer disagree. It waits for the earliest day rather than the average, because the fast half of a sowing is real and staying silent through it would be its own kind of wrong. And a crop with no sprouting window in our records is not held back at all: not knowing when something sprouts is not evidence that it sprouts instantly.

  259. Add something you are planting next month, and the app gave you jobs for it today

    You can add a plant with a date in the future — next weekend, next month — and plan the bed before you dig it. The app was then treating that plan as a plant. Across every crop we hold, 68 of 152 crops handed you work today for something dated thirty days out, and 42 of them told you to harvest it. It would also tell you the seeds never came up: 566 different ways to be informed that a plant still in its packet was overdue, one of them 191 days overdue. All of that is now silent until the day you said you were planting, and on that day everything starts properly, including the reminder to actually go and plant it. Three separate things were causing it, and only one was obvious. A plant record carries a few dates — when you sowed it, when you set it out — and where you have not given us one, the app falls back to the typical calendar for that crop across the country. So half of a plant could be running on your date and the other half on a national average that knew nothing about you. The second was arithmetic: an asparagus bed has an establishment period two years long, and the code that works out which year you are looking at was quietly rolling forward into the next one to make today fit inside it — so the app believed you were 335 days past a planting you had not done. The third was our own first attempt at the fix, which silenced everything for a future planting and would have stopped telling you to water a tray of seedlings during the two weeks you spend hardening them off. A transplant date in the future means the plant has not been moved yet, not that it does not exist. The chart still shows you the whole year ahead for anything you are planning — that part was always the useful bit.

  260. Every invited tester was told they had no questions left. They never had a limit at all

    If you were invited to the beta and opened Ask, it very likely said **"You have used all your free questions."** Profile said something like *6 photos and 0 questions left*. Neither was true. A beta account has never had a cap, and the server would have answered every one of those questions — **nothing was ever blocked.** You were just told it was, which stops people just as effectively, because nobody types a question after being told they have none left. What went wrong is small and worth explaining. Your phone keeps the last count the server sent it, so the number survives a reload. When an account is given no limit the server sends no count — correctly, there is nothing to send — and the old number was never cleared. So the last thing you were told while you had a limit stayed on your phone after you stopped having one. **An account with no limit now says nothing at all.** Not "unlimited", not a big number — nothing, because a ceiling is only worth a sentence when there is one. And while we are in beta that is everybody: the founder has opened the free and no-account tier to the same limits as paid for now, so nobody meets a wall while we are still finding out what this should be.

  261. "Nothing logged" to somebody who had just done everything

    Work through every card in garden mode and the closing screen could still say "Nothing logged." The count was honest — notices have nothing to write down, and answering "not yet" records nothing on purpose — but it read like a score for the morning. Get to the end having dealt with every card and it now says so, and explains why the journal is empty instead of leaving you wondering where your answers went. The same mistake sat one line further on: acknowledging three notices told you "3 left for later" when there were none.

  262. A basil sown yesterday says when it will sprout, not "nothing scheduled"

    Earlier today we stopped the app claiming a seed sown yesterday was ready to pick. **For a few crops that left the Garden screen saying "nothing scheduled" instead** — next to two identical sowings correctly saying *Sprouting in 4d*. **That is our word for the state of our list, not a fact about your plant.** The basil had a sprouting date four days out the whole time; the screen had simply worked out what to show before it worked out what to hide. **Fixed, and it is worth naming what happened**: one wrong answer was traded for another, and the second was quieter, so it would have lasted longer. If a screen ever tells you there is nothing to say about a plant you can see growing, that is us being wrong — tell us with the pencil button.

  263. Setting your location now works with no signal, and the number beside Today means today

    Two fixes from a day of testing on real phones. **You can set your location without a signal.** The app turns a place into your frost dates using a file of map coordinates, and that file was being left out of the download by mistake — a rule written to keep the plant lists out had swept it up with them. So somebody who installed the app, walked out to the garden and lost signal could not finish the very first step. **The whole point of this app is that it works out there**, and it fell over in exactly the place it exists for. It is now downloaded with the app. **And the number beside Today is today's.** It was counting everything on the screen — jobs that surfaced today but can wait were counted under Today and then listed again under This week with their own number. One garden read four when it meant one; another read eleven when it meant three. **Eleven jobs and three jobs are different mornings.** The heading now counts only what is actually today, and every row is counted once.

  264. Profile and Ask went blank for signed-in accounts, and are back

    If you were signed in this afternoon, Profile and Ask showed nothing at all — not even the tabs along the bottom. **That was ours and it was live for a few hours.** We put the previous version back the moment it was reported, and this is the proper fix. **What happened.** Both screens ask "how much of your allowance is left?". That question was also quietly tidying up an out-of-date answer stored on your phone — and on these two screens, saving something is what makes them ask again. So they asked, tidied, asked, tidied, and never got as far as drawing anything. The tidying now happens when your plan actually changes, which is once, instead of every time a screen looks. **Why we did not catch it.** It could only happen once you were signed in — signed out, there is no plan to check and the whole thing never runs. Everything we test automatically runs signed out. **So this could not have been caught before somebody opened it**, which is a gap in how we check our work rather than bad luck, and we are closing it.

  265. The sign-out button now says what signing out actually does

    Next to **Sign out on this device**, we told you *"your garden stays here either way."* **That was not true.** Signing out clears your garden off the phone — every plant, bed, note and photo — and it always has. **The behavior is right and has not changed.** If you hand your phone to somebody, or sign in on a shared tablet, the next person must not be able to read your garden. Your account keeps everything and signing back in downloads it all again. **It was the sentence that was wrong, and wrong in the worst direction** — it is exactly what you read right before signing out casually to check something, and it removed the caution the moment deserves. It now says the garden leaves the phone, and that it comes back. **And if anything has not reached your account yet, it tells you that too.** Sign out while offline and whatever is still waiting to upload goes with the wipe. That warning only appears when there is genuinely something waiting.

  266. Telling the chat something is broken now actually reaches us

    If you told the chat that something in the app was not working, it answered you kindly and then nothing happened. Not "we read it later" — nothing. The message was never filed anywhere we would see it. That is fixed: say a button does nothing, a number looks wrong, a plant has vanished, and it lands in the same place a bug report from the report form lands, with your own words kept exactly as you typed them. You do not have to find a form, pick a category, or know that a form exists. Nothing changes on your screen — you get a normal answer, and the report happens quietly behind it. The part that took the care was teaching it the difference between "this is broken" about the app and "this is broken" about a plant, because people use the same words for both. "I planted beans two weeks ago and nothing has happened" is gardening. "I tapped save and nothing happened" is us. The chat is not deciding whether you have found a real bug or how serious it is — it only says which of the two you were talking about, which is the one thing it can see and we cannot. Everything after that is our job.

  267. The app now says which jobs it is holding back, by name

    When the daily list asks whether a seed has come up, it explains what it is staying quiet about while it waits — and it names the actual jobs rather than saying "some tasks are paused". The sentence is built from your plant, so it says two jobs for one and four for another, and says nothing at all when nothing is being held back. There is a second kind of waiting, where a job is held until the first proper leaves show. Answering that one does not yet release the job, so **the app does not ask about it** — a question whose answer changes nothing is worse than no question.

  268. The daily list knew the tree was too young. The calendar beside it did not.

    Every plant page shows you two things: what to do today, and the handful of dates that make up its year. Only the first was checking how old the plant is. So a three-year-old pear got a correct daily list that said nothing about fruit, and a calendar right beside it booking a fruit-thinning for June. Seven plants did this — apricot, asparagus, grape, kiwi, peach, pear and rhubarb. Asparagus was the one worth hurrying for: it was scheduling a spear-cutting in the establishment years, and cutting those first spears is how a bed that should crop for twenty years gets ruined. The cause was small and easy to miss — the two lists were being handed two different copies of the plant record, and only one of them carried the age. They now read the same copy, so they cannot disagree again. A second gap went with it: the check knew about ripening and picking but not about the stage where the fruit first forms, which is the one that carries the thinning job. Twenty-three plants were affected. And then the fix gave something back that we had not gone looking for. The old check hid a young tree’s entire late-summer stage — and on an established tree that stage is the only one still open, so it was taking the watering reminders with it. A three-year-old pear, peach or persimmon was being told nothing at all about water, for the whole year, which is the opposite of what a young tree needs. Now only the jobs that need fruit are held back. Pear went from 47 days of watering advice a year to 138.

  269. The chat and the This week screen were answering the same question two different ways

    Same tomato, same afternoon. The This week screen said "will not finish before your frost — it would start ripening 14 days after your first frost". The chat, asked about the same plant an hour earlier, said "you are tight but you have a real window" and then "fifty-two days is plenty of time for early fruit, and you might be surprised". One of those says ripening starts two weeks after the plant is dead. If you read both, you cannot act on either — and whether the thing you just planted will give you anything is the question this whole app exists to help with. The cause was not that the two numbers disagreed. The app already had a single answer: it works out, for every plant you have, whether it finishes before your frost, using your dates and your sowing day. The screen was reading that answer. The chat was not — it was handed the raw growing times instead and did the arithmetic itself, taking the optimistic end of a 52-to-90-day range. Now the chat is given the same verdict the screen shows you, in the same words, and told plainly that it is settled and not to work it out again. Tested against the real complaint: without that, three tries out of three produced the encouraging answer, including the words "plenty of time". With it, three out of three say it will not finish. And for the genuinely close cases the app now says both halves — it can work, and an early frost ends it — rather than picking the cheerful half.

  270. The chat described a watering screen that does not exist, and every number in it was real

    Someone asked the chat about watering and was told to press buttons for "one, two, three, six, twelve or twenty-five gallons". They went and looked: there are no buttons. Watering is the one job the app deliberately never asks an amount for, because nobody standing there with a hose knows whether they put on one gallon or two, and a guessed number is worse than a blank one. The interesting part is that the chat had not made the numbers up. One, two, three, six, twelve and twenty-five are the real buttons — for a HARVEST, counting fruit, which is a different screen entirely. The chat took a true row from one part of the app, moved it to another, and changed the unit from fruit to gallons. Everything in the answer was ours. Only the arrangement was invented, and that is worse than a guess rather than better, because an answer built out of real parts reads exactly like knowing. So there is now a seventh rule in the list of things it never does: never carry a fact about one part of the app across to another. If our own writing does not cover the screen you are actually looking at, it has to say it is not sure what that screen looks like and ask you what you see. We would rather it asked than described. But the rule on its own only fixed it two times in three, which is not a fix — one roll in three is a gardener. What actually closed it was taking the six numbers out of what the chat is given at all. They were in a help page that named them and ruled watering out in the same breath, and that turns out to be exactly the shape that gets half-remembered. It cannot move a number it was never handed. Twelve tries since, all clean.

  271. Every evening the chat thought it was tomorrow, and argued with you about it

    From about six in the evening in Colorado — earlier on the west coast — the chat was told the wrong date. Not a display problem: it reasoned from it. Somebody said the watering advice was wrong and the chat disagreed, explaining that they had planted everything "yesterday, the 17th" and watered "twice yesterday and again this morning". All of it had happened that same afternoon. The person was right and the app talked them out of it using history it had invented, which is worse than not answering. The cause is that the server built every date in UTC, and after six in the evening in Denver it is already tomorrow in UTC. So one afternoon got split across two days: a watering at 4:27 read as today and one at 7:22 read as tomorrow. Every interval it quoted was off by one too — days since planting, days to harvest, days to frost. Now your phone tells the server which timezone you are in, and every date in the conversation is the date on your wall. "Two days ago" also means two dates ago rather than forty-eight hours, which is what a person means by it. If you ever see the chat and the Today screen disagree about what day it is, that is a bug worth telling us about — and telling the chat now reaches us.

  272. The chat invented a week away that never happened

    Somebody who had been in the app all evening — planting things, watering things — asked "what did I miss?" and the chat opened with "You were away from the garden yesterday and today is the first day back. Let me walk you through what happened while you were gone." There had been no absence. Everything on the list had gone in that afternoon. We first read this as the date bug we fixed the same day, and it was not. Fixing the dates and asking again still produced "You have been away for a bit." The real cause is worth explaining, because it is the thing to watch for in any app like this. Hand a fluent model a record it cannot make sense of and it will not say so — it will invent whatever makes the contradiction disappear, and here that was a gardener who had gone somewhere. It is a confident, friendly, completely fictional explanation, and the person it hurts most is the one who genuinely has been away for a week, opening this screen for real, with no way to tell the true half from the invented half. So there is now a standing rule: the chat will never tell you that you have been away, that you are back, or that you have not looked at something in a while. It cannot know any of that. Nothing here records when you last opened the app or last stood in your garden — and a gap in the written record is not a gap in your attention, because almost everything a person does to a plant never gets written down. "What did I miss?" is a question about the garden, not a confession.

  273. A check that quietly stopped checking every evening

    The app has a guard that catches an impossible date: a seed cannot come up before it was sown. Log a sprout for a bean you planted next week and it should stop you and ask which of the two dates is wrong. It was doing that all morning and quietly giving up every evening. The reason is the same one behind yesterday's chat fix, in a different place. The guard worked out what day the sprouting happened on using UTC — the clock at Greenwich — and then compared it against a sowing date recorded in your own local time. For most of the day those agree. After about six in the evening in Colorado they do not, because it is already tomorrow in London, so the sprouting date came out one day too high and stepped over the line it was supposed to stop at. Nothing broke and nothing showed a warning. It simply let the impossible entry through, and only after dark. It now uses the same date math as the rest of the app, which is the whole point of having one copy of it. We also taught our own build checks to spot this specific mistake, so the next one gets caught before it ships rather than after — and that check found this one.

  274. The free tier is open — no limit on photos or questions for now

    A free account is not being metered at the moment. Ask as many questions as you like, send as many photos as you like, and nothing will stop you halfway through working out what is wrong with a plant. **This is a decision for now, not forever, and we would rather say that than let you find out later.** The design is a one-time grant — ten photo answers and twenty questions, not refilling each month — and it is switched off rather than removed. When it comes back the help pages and the app will say so first. **You will not discover it by being refused.** **Profile now says nothing about limits**, which is the only honest thing it can say while there are none. It used to print whatever figure was last left on your phone, which is how a beta tester opened Ask this morning and was told they had no questions left on a plan that has never had a ceiling. Everything that costs us nothing stays free regardless — your plants, your beds, your dates, your journal, your reminders, and the whole plant database.

  275. The invite box only appears if you actually need one

    Signing in asked everybody for an invite code, and read it from almost nobody. The code is only checked when an email address has no account yet — that is the moment it creates one — so for every gardener signing in for the second time or the twentieth, it was a box that took your typing and quietly dropped it. Somebody half-remembering that they were told they needed an invite would go and find the code, type it in, and get no sign either way that it mattered. A box that ignores you is worse than no box. **Now it is not there until it is needed.** Put your email in, type the six digits we send, and if your address is new the app asks for the invite code right then, with the box already focused. If you already have an account you never see it at all. **We could not simply look your address up**, and deliberately so: an app that will tell you whether an email is registered will tell anyone, about anyone. So the app does not ask that question. It waits until you have typed the code we emailed you — which means you are reading that inbox — and only then does it say an invite is needed. **And six digits now signs you in on its own again.** The screen submitted by itself once you finished typing the code, but only if the invite box had something in it, which meant the one person who correctly left it empty was the one made to hunt for the button. Every time. That was backwards and it is fixed.

  276. It stops asking whether the radish came up once the radish is ready to pull

    Earlier today the app stopped assuming a seed had come up, and started asking instead. That was right, and it went one step too far on a few crops. **A radish is ready about three weeks after sowing.** But the point where we would normally stop waiting and assume it must be up is a week later than that. So for that week, if you never answered the question, you had a radish ready to pull and an app that would not mention it — the exact thing we were fixing, running the other way. **Now the question stops as soon as your own dates say the crop is pickable.** Not the calendar's dates — yours. If you sowed it and the time it takes has passed, that is a better reason to stop waiting than any average. **Where the timing does not come from your dates, nothing changed.** Some plants have picking seasons worked out from the local frost rather than from when you sowed — sage and anise hyssop among them. A season being open says something about the year, not about whether your seed came up, so those still wait for the answer or for the usual point where we assume it.

  277. A crop page stops saying it is too late for a plant you already have

    Open a crop you are already growing and the page led with **"Too late this year"** — about something already in the ground, sometimes germinated an hour earlier. **It now leads with your plant.** *You have one of these growing*, with a link straight to it. The sowing window is still there, below, asking whether you were thinking of sowing another — because a second row is a real thing to want and we should not delete the answer. **And the sentence was claiming more than we had checked.** That verdict is worked out from a crop's spring sowing dates, so *too late this year* was a statement about the whole year made from one window — and plenty of crops take a second sowing in late summer that those dates say nothing about. It now says **the spring window closed around…**, which is what we actually looked at.

  278. The growth stage saved with every journal entry was about a typical plant, not yours

    Every time you log something, the app quietly writes down roughly where that plant should have been in its life on that date. The point of it is comparison: months later you can see that your tomato is running three weeks behind what is normal, which is genuinely the most useful thing this app could notice. It was working that stage out from your frost dates and nothing else — not the day you actually sowed the thing, not how many seasons it had been in the ground. So a tomato you sowed in late July was recorded with the stage a tomato sown in May would be in. About a third of the entries carried a stage the plant was not in. On some crops it was worse than wrong, it was missing: basil, broccoli and cabbage recorded no stage at all for the whole of January to September, because their stages are counted from the day you sow and the sowing date was the one thing not being used. Across the catalog that was 68 crops recording nothing for nine months. It is now 4, and those four are ones we genuinely cannot place. We have not gone back and repaired the old entries, and that is deliberate rather than laziness. What makes the stamp worth anything is that it was written at the time. Recalculate a season of them from the planting date and what you are looking at is our own model checked against itself, which tells you nothing about your plant. So the old ones stay as they are and the new ones are right — which is exactly why we did this one before several more visible bugs. Every day it waited wrote more records that could never be corrected.

  279. The whole plant catalog now downloads with the app

    Install GardenTrack and everything comes with it — every crop, every variety list, every picture. Walk to the bottom of the garden, lose your signal, look up a plant you have never opened before, and it is there. **Before this, the pictures and the variety lists were fetched the first time you opened each one.** Fine on the sofa, useless in a field, and you would not find out which until you were standing in one. **It became affordable because we were sending four times the picture anybody sees.** The crop icons are drawn about the size of a large postage stamp and were being shipped at four times that on every edge. Resized to what actually gets displayed, the whole set went from about five megabytes to one and a half — so nothing had to be left out to make room. The complete download is now around five megabytes, once, and then the app stops asking the network for anything it already has.

  280. Your variety moved the harvest window. The "something is wrong" warning stayed put.

    Telling the app which kind you planted changes real dates: a Sungold tomato is ready in about 57 days and a Cherokee Purple nearer 80, so the app re-centers the whole picking window on your variety rather than the crop average. Every plant stage also carries a quieter number behind it — the day after which, if you still have not seen anything, the app starts asking whether something has gone wrong. When the window moved, that number did not. A Murasaki sweet potato had its harvest window pushed out to 120 to 150 days and its check left at day 130, so on day 130, with three weeks of digging still ahead, the app announced the crop was overdue. The check now travels with the window and keeps the same distance from it. Fourteen varieties were affected — twelve sweet potatoes and two buckwheats — out of 1,369 whose dates shift at all. Worth saying how we got the number, because the first two attempts got nothing: the list of varieties and the list of crops are stored separately and the file we were checking has no link between them, so the search kept coming back empty. That was a fact about where we were looking, not about the app. The link is in the per-crop files, and once we joined on those the fourteen fell straight out.

  281. When the beta is full we now say there is no waiting list, because there is not one

    If the beta filled up while you were signing in, the screen told you **your place in line was safe and we would email you.** **There was no line.** Your address was never stored — the app turns the sign-in down before it writes anything — and we have nowhere to keep a list of people waiting. So nobody was ever going to write to you. **It now says what is true:** the beta is full right now, we are not holding a list, check back in a week or two. **We would rather tell you to come back than let you wait for an email that is not coming.** And it is the worst sentence we could have got wrong: it only ever appeared to somebody who wanted in enough to type their email, at the exact moment we had no room — and with no account, they had no way to tell us we had let them down.

  282. Garlic was told to go in in March, and four crops said nothing about sprouting at all

    Three small things, all the same shape: a fact we already held, not reaching the screen — or reaching it wrong. Garlic goes in around October, and its page said "Not yet — around 6 March". The reason is a piece of arithmetic worth explaining, because it is the sort of thing that looks right until you check: a plant's dates are stored as offsets from a reference point, and each offset says which point it counts from. Garlic's count from the FIRST frost of autumn. The screen was adding them to the LAST frost of spring instead, which turns "six weeks before your first frost" into a date in March. Eleven crops were doing it, and for some the number being read was not a planting date at all — grapefruit's came from its ripening stage and oregano's from its dormant period. Those eleven now say we have no planting window on file rather than printing a confident wrong month, which is the honest answer until the autumn dates are sourced properly. Second: amaranth, asparagus, crimson clover and cucamelon told you nothing at all after sowing. Most crops have a range for how long they take to come up — six to twelve days — but those four have sources that publish a single figure, "within ten days", and the app was built to read a range and quietly ignored anything else. They now say "usually up by day 10". Third: the tree-size question on cherry, pear and persimmon had an option called "seedling", which in the nursery trade means a grafted tree — the opposite of what someone who grew one from a pip would assume. Those now read "standard".

  283. Waiting to back up and failing to back up no longer look the same

    Profile has always shown how many changes are still to reach your account. What it could not show is the difference between **waiting** and **failing**, and for a while today that mattered a great deal. **A fault on our side meant every logged event was being refused.** The app kept sending them, our server kept refusing them, and it answered in a way that looked like success — so the screen said *waiting to back up* and went on saying it. That is the same sentence a perfectly healthy phone shows for the half-second before a sync finishes. **The fault is fixed.** But a screen that cannot tell those two apart will hide the next one just as well, so that is fixed too: when something has been refused several times over, Profile now says so, says it is our end rather than yours, and says the app is still trying. Nothing is lost from your phone while it does. **If you ever see that message stay put, tell us with the pencil button.** It means something is wrong on our side and we would rather hear it from you than not hear it at all.

  284. When the answer is no, it now says what is still true instead of inventing a consolation

    Asked whether a late-sown tomato would ripen, the chat gave the honest answer and then undid it in the same paragraph: "you will not finish the season where you are, but you have time to grow some tomatoes and pick what colors up before the freeze." Its own sentence one line earlier said the first ripe fruit arrives two weeks AFTER the first frost. By its own arithmetic there is nothing to pick before the freeze — the plant is dead two weeks before the first fruit is ready. That is not a gentle framing of a hard fact; it is a claim the previous sentence disproves. What caused it is worth knowing, because it is a general risk with any assistant rather than one crop's wording: a flat no with nothing after it is an empty space, and something will fill it. So the fix was not to forbid softening — it was to put something true in the space. When a plant cannot finish, the app now supplies the consolation itself, in the same words the This week screen already shows you: they will keep growing and the app will keep tracking them, but the season runs out before they finish, unless you can give them some protection. And nothing after that about a partial crop, because there is not one to offer.

  285. The plant page is readable in light mode

    If your phone is set to a light theme, eight things on a crop's page were nearly invisible — pale sand text on a pale cream background. **The worst of it was the part that matters most.** The line that says *"based on an average last frost"* is where we admit the date we are giving you is a typical year, not your year. That sentence is the honest half of the whole answer, and you could not read it. Nor the plant's Latin name, nor the link back out to look at something else. **One page, two opposite mistakes.** Colors meant for the dark theme were being used on the light page, and in one place the reverse — dark text on a panel that stays dark in both themes. Neither was picking the wrong color so much as never asking which background it was sitting on. Every one of them now does, and we checked the dark theme is exactly as it was.

  286. You told the chat you planted them, and it wrote down the mulch

    One message, three things in it, one of them recorded. Somebody planted four bean seeds in a bucket, mulched them, and said so in the chat. Back came a card offering to write down the mulching. The planting itself went nowhere and neither did the four — and nothing on screen said so, which is the worst part. You would have walked away believing it was written down. The chat had understood every word: we checked, and it reported the planting, the number and the day, every single time. The problem was on our side. A note only ever attached itself to a plant by matching the NAME of the crop, and he had said "those seeds in that bucket" — no crop anywhere in the sentence. So the note landed loose in the garden, attached to nothing, and a count of four had nothing to be a count of. Now the place you name is enough. If there is one plant in that bucket, the note, the date and the number all go on it, and the card tells you which plant before you save. If there are two, it will not choose — the note is still kept, and the number waits for you, because putting your four on the wrong plant is a mistake you would never think to go looking for. The same change also lets you finish a job by talking. Tell the chat you pruned the apple while the app is asking you to prune the apple, and the card now offers to tick it off your list as well as write it down. That was never possible before: some jobs — a winter prune, planting garlic sets — could only be ticked by hand on the Today screen, however plainly you had said you had done them.

  287. Your reports come back when you sign in, and a beta account stops being told it has run out

    Two things a first day of testing found, both about being told something untrue about your own account. **Sign out and your reports came back empty.** Signing out wipes the garden off that phone on purpose — if the phone changes hands, the next person must not be able to read what you wrote about your own garden. Signing back in then restored the plants, the beds, the journal, the reminders and the conversations, and not the reports. Neither half was broken on its own: the wipe did exactly what it was written to do, and the restore had never been told to include them. Nobody owned the gap between the two. Your notes now come down with everything else, in your own words, with the date and any answer underneath. **And Profile told beta accounts they had none left.** Beta and paid accounts have no ceiling at all, so there is no number to report — but the line was reading a figure left over on the phone from the last time the server sent one, and printing it as though it were current. A tester opening Ask was told they had nothing left before asking anything. An account with no limit now says nothing about limits, which is the only honest thing it can say. Free accounts still see what they have, because that number is real and finding out at the end is worse. **While fixing it we found the help pages had the wrong figures.** The free grant was set at thirty photo answers and a hundred and twenty questions and cut hours later to ten and twenty. The app took the new numbers; two help pages kept the old ones, and so did the answers our assistant reads from. Anyone reading up before signing up was told six times more than they get. Corrected everywhere, and the checks that are supposed to catch this were themselves testing for the old numbers — which is why three days passed.

  288. Your tomato was still cropping and the app had stopped talking about it

    Sow a tomato in May and you will still be picking it in September. Around the middle of August the app went quiet on it — "nothing scheduled right now" — for 54 days, because a plant stage has a typical end date and nothing took over when it passed. Cucumbers went quiet for 88 days, summer squash and leaf lettuce 83, pole beans 48. Those plants were not finished; they were the ones you were eating from. There is now a standing state for exactly this: the window has closed, the plant is still producing, keep picking on the same rhythm the crop already carries — every two to four days for a tomato. It runs until the first frost in YOUR garden, which is the honest end for a tender plant, rather than to a date we would have had to invent. 25 crops get it. What decides whether a plant qualifies is already in our data and not a guess: some crops are picked over and over, and some are pulled once and done. A tomato keeps cropping. A radish does not, and telling you to keep picking a radish for three months would have been a worse answer than saying nothing. Which leaves one honest gap we have not closed: a radish that finished six weeks ago still gets silence, when what it deserves is "this one is done — pull it, or sow another". That is a different job and we are not pretending it is fixed.

  289. Watering your apple tree in October could stop the app asking again all the next year

    This one was bad and it was completely silent. The app remembered which jobs you had done, but it only remembered the day of the year — not which year. So a watering you logged on the twenty-seventh of October was read the following spring as something you had done on day two hundred and ninety of THIS year, which is still months away. The job simply never came back. Not an error, not a warning, not an empty space where something should be — the watering quietly stopped appearing on your list and stayed gone. It hit trees and bushes hardest, because those stay in your garden for years and keep collecting history, and it got worse each season: every autumn job you logged pushed the date further out. Anything you recorded after about the middle of July could cost you the whole of the following year. The app now remembers how long ago you did something rather than what date it was, which is the question it was actually asking all along. If your fruit trees have gone quiet on you, this was why, and they will start asking again.

  290. A lemon grown from a pip waits about seven years, and now we can say so

    Almost every citrus tree sold is grafted — a cutting of the variety you want, joined to a different tree's roots — and it fruits in two to four years. A tree grown from a pip out of a supermarket lemon is a different plant on this one question, by about the length of a childhood. Mississippi State puts seed to fruit at seven to eight years; UC says up to ten. We already held that for oranges, because somebody grew one from a seed and the app kept telling a three-year-old seedling it was overdue. It only ever worked for oranges. Lemons, limes, grapefruit and mandarins now carry the same figure, from the same two sources, which both turn out to be about citrus as a whole rather than one fruit — we checked that before copying it across, because a sentence about one plant stretched over a dozen is how bad data happens. Nine fruit records now also say plainly which kind of tree their bearing age is about, which none of them did yesterday. Pomegranate is the odd one out and it goes the other way: the ordinary nursery pomegranate is grown from a cutting on its own roots, so its two-to-three years already describes the plant most people have. What we still cannot tell you is how long an apple, pear or peach from a pip takes. We read five extension pages looking, including one whose whole subject is growing fruit from seed, and none of them says — because nobody in extension recommends it, so nobody has measured it. We would rather leave that blank than fill it with a number we made up.

  291. Two people, one tablet, and the second one saw the first one’s garden

    Your garden lives on your device as well as in your account — that is what lets the app work in a bed with no signal. To stay in step it keeps a marker meaning "I already have everything up to here". Signing out cleared the login and nothing else: the plants, the journal, the photos and that marker all stayed. So the next person to sign in on the same device inherited a marker that belonged to somebody else, the app concluded there was nothing new to fetch, and they were shown a stranger’s garden while every screen reported a healthy backup. No error and no warning, which is the part that makes it serious — nobody would have found it by looking. Two fixes went in. The device now declares whose garden it is holding on every sync and the server checks, because the server is the only side that actually knows who is signed in; when they disagree the local copy is cleared and the right account is downloaded in full. And signing out now clears the garden off that device, so a tablet you hand to somebody else does not keep yours on it. Nothing is lost either way — it removes the copy on the device, not the one in your account, and signing back in brings it all down again. One more thing came out of the same pass: anything you had written but not yet backed up was being sent up under the NEXT person’s account. Those are refused now. And a beta tester’s profile page had been telling them they were on the free plan, because the screen only knew about two plans and there are three.

  292. Plant strawberries in spring, pick them in June — and the app said the plant was too young

    Every fruiting plant in the app carries a figure for how many seasons it waits before there is anything to pick. For an apple that is two to eight years, and holding the harvest job back is exactly right: a tree planted yesterday is not ripening fruit. The trouble was that the figure had been written down two different ways. Ours counts the season you plant in as season zero, so something you put in this spring and pick this summer is a zero — and fourteen records had been filed the other way round, each of them telling the app to wait a year that does not exist. Strawberries were the worst of it, because an everbearing type fruits the same summer you plant it and the app quietly withheld the pick. Artichoke, raspberry, chayote, sage, lovage and horseradish were doing the same. All fourteen are corrected against the sentence in their own source that decided them, and there is now a check that reads each record's note against its number, so the two readings cannot drift apart again. Asparagus still refuses to be picked in its first two seasons, and that one is not a bug: its figure is not about when it can bear, it is the rule that you must not cut the first spears at all, because those spears are what builds the crown. One more thing came out of it — a plant that crops the year you plant it has no year by which it should have started, so it can no longer be told it is overdue. A chives clump has been getting that message for its whole life.

  293. Sow peppers or broccoli and the countdown said nothing at all

    Sow a seed and the plant page tells you roughly how many more days until you should see something. It needs two numbers to do that, a first day and a last day. Nine crops carried only one number, and rather than build a countdown on half a fact the app showed nothing — which looks exactly like the crops where we have no figure at all and silence is the right answer. Peppers and broccoli were two of the nine, and between them they are most of what people start indoors. Five are fixed, and every edge is a sentence somebody published rather than a number we picked. Broccoli is 4 to 20 days, cauliflower 5 to 14, cilantro 7 to 21, summer squash 3 to 12. Peppers are 7 to 28, and that wide end matters more than the rest of this: the old figure was a flat 10 days, which quietly told anyone whose peppers had not shown by day 11 that they were late. They are not. Michigan State says a pepper can take another seventeen days after that, and peppers are the seed people most often give up on and re-sow. Two of the five were already right elsewhere in their own record: broccoli has held Michigan State’s "4 to 20 days" for weeks in the part of its file that draws the timeline, while the part the countdown reads held a flat 14. Cilantro was a different kind of wrong — its file said in writing that no other source gave a figure, and one did, on a page already cited two fields further up. The remaining four still show nothing, and that is the honest answer today: for amaranth, asparagus, crimson clover and cucamelon every source we could open gives a single number, and inventing the other end of a range to fill the gap is the one thing we will not do.

  294. A pepper takes 70 days, or 120, and the page only told you one of them

    Seed catalogs count days to maturity from one of two moments: the day you sow, or the day you set a transplant out. Those are about five weeks apart, and for a pepper they are 100 to 120 days and 70 to 85 — the same plant, two honest numbers, and the difference between them is the whole of a raising period. We hold both figures for 56 crops. Until today only one of them left the building: the transplant number won every time, unlabelled, so anyone sowing straight into the ground read a number that was never about them and every "ready around" date built on it was a month optimistic. For 28 of the 56 the figure being discarded was a sourced one — looked up, cited, and thrown away in the last step. Crop pages now print both, each saying what it counts from. Where we only have one it says so too, which is also new: tomatoes have always been a from-transplant number and the page has never mentioned it. We are not choosing for you, because the right answer depends on how you started the plant and a public page cannot know that. Inside the app it can — a planting already records whether it was sown or set out — and wiring the countdown to pick the matching figure is the next step. One small thing fell out of it: the fact strip at the top of every plant page has always had room for a note under each number, and nothing had ever rendered it. The zones cell has been carrying the word "USDA" since the day it was written and no reader has ever seen it. It shows now.

  295. It is mid-August, the perfect week to sow kale, and we told you the window shut in April

    Kale, spinach and carrots get sown twice: once in spring, and again in late summer for a crop you pick through autumn and into the cold. Our pages only knew about the spring one. So somebody opening the kale page this week — exactly the right week to be sowing it — read "too late this year, the window closed around 10 April". True of the spring sowing. Wrong about the plant. The cause was not three missing numbers, it was that we had nowhere to put them: every planting date we store is measured from the last spring frost, and an autumn sowing is measured from the first frost of the coming winter. There was no field in the whole database that could hold one. There is now, and the first three crops are in it — carrots 70 to 84 days before your first frost, kale about 90, spinach 36 to 68. We store it as days before the frost rather than as a date on purpose, because "ten weeks before your first frost" is true in Maine and in Georgia and a date is only true in one of them. Two things we are not doing. We are not converting "sow in August" into a number of days — some extensions publish months rather than frost offsets, and Clemson gives spinach two different August windows for two parts of one state, six weeks apart. Turning that into a single figure would be us guessing on your behalf, so those crops wait for a way to say it properly rather than get a number we made up. And filling this in across the rest of the catalog is ongoing — about fifty crops are cool-season enough to have a second sowing, and each one needs a real source before it gets a number.

  296. One word in the tree menu meant the exact opposite of how it reads

    Almost every fruit tree you buy is two plants joined together: the variety you wanted, on somebody else's roots. Which roots decides how big the tree gets, so the app asks you. Pear, cherry and persimmon offered a choice called "seedling" — and in the orchard trade that means a full-size root that was itself grown from a seed, with a grafted variety on top. To anyone else it reads as "mine came from a seed", which is the opposite kind of tree. Persimmon was the worst of it: it offered that one option and nothing else, so it was the only thing a person with a seed-grown persimmon could have picked, and picking it would have handed them a grafted tree's answers with more confidence than before they told us anything. Eight other crops already called the same size "standard" — apple's own source writes it out as "standard (seedling rootstock)" — so the catalog was using two words for one thing, eight to three, and the odd one out was the one people misread. All three now say standard. The actual root names, Old Home x Farmingdale for pears, Mazzard for cherries, common American persimmon, are still recorded and still cited; they were never the thing the menu was asking about. The same word had already caught us going the other way earlier today, while we were looking for how long a tree grown from a real seed takes to fruit: search after search returned "trees on seedling rootstocks take 7 to 8 years", which is a grafted tree, and we nearly wrote it down as the answer for a tree grown from a pip.

  297. The app was telling you a frost date that belonged to nobody

    If you have never told us where you garden, the app still needed a first-frost date to work anything out — so it used the twenty-first of October, which is roughly the middle of the country. That part is reasonable. What was not reasonable is that it then said so with total confidence, as though it were your date: how many days you had left, whether a crop would ripen in time, what to plant now. In Denver that date is over a week wrong. In Miami it is wrong by months. Every screen that used it now knows whether it is your date or an average, because that fact travels with the dates themselves instead of each screen working it out again — which is exactly how five of them came to forget. Where it is an average, it says so. The fix for the whole thing is still the same and takes a moment: tell the app where you garden and every date on every screen becomes yours. Two more screens turned up in a second sweep and are fixed the same way: the crop page you tap out to before adding something, which was quoting a spring frost date of 17 April as yours, and the season plan, which said a sowing was too late "where you are" without knowing where you are.

  298. You can put a picture on a problem report

    Some things are much easier to show than to describe, so a report can now carry a picture. It shows up alongside what you wrote, in your Profile, so you can see exactly what we can see. One thing we decided not to do: the app does not take a screenshot for you. A browser can only do that by asking permission to record your whole screen, every single time, and the ways around that draw our own app wrong — so you would be sending us a picture of something that is not quite what you were looking at, which is worse than no picture. Instead you take the screenshot the way you already do on your phone, and attach it, which is one tap. Attaching a picture to a report costs you nothing from your photo answers. Those are for asking about a plant, and telling us something is broken should never compete with that.

  299. A tree you grew from a seed is years away, and the app now knows it

    Most fruit trees you buy are two plants: a variety grafted onto somebody else's roots. That is what makes them fruit in two or three years. A tree grown from a seed is on its own roots and takes far longer — seven to ten years for a citrus, according to Mississippi State and UC ANR. We held both numbers and only ever used the first, so a three-year-old orange grown from a pip was being told it was overdue to fruit. On the plant's page you can now say the tree came from a seed or a cutting, and the dates change to match. Everything else about it stays the same. We also fixed a word that was set to catch people out. Cherries, pears and persimmons offered a choice called "seedling", which in the nursery trade means the tree is grafted onto a root that was grown from seed — so the tree itself is definitely grafted. Anyone who had grown a pear from a pip would have read that word, recognized their own situation, and picked the one option that meant the opposite. It now reads "standard (seedling rootstock)".

  300. The beta opens with an invite code

    GardenTrack is open to a small group of gardeners first, so there is now an invite code on the sign-in screen. You type it once, the first time — that first sign-in is what creates your account — and after that you never need it again. If you already have an account, nothing changes for you at all: the box is not checked for people who have been here before, and it never will be. That was the part we were most careful about, because a gate that can lock out the people already using something is worse than no gate. The screen now also tells you which thing went wrong rather than blaming the six-digit code for everything — an invite that does not match, a beta that is full for the moment, and a code that has expired are three different problems with three different answers, and only one of them is solved by asking for a new code. There is a limit on how many people join at the start. That is deliberate: a beta where everybody gets in is just a launch, and we want the first group small enough that when you tell us something is wrong, a person reads it and answers you.

  301. We told you your carrots had failed three weeks before they were late

    The app has a quiet checkpoint on every seed you sow: a day by which you should have seen something come up. Carrot was set to day 28. In cold spring soil a carrot takes about 50 days to emerge — so on the twenty-eighth day the app was telling people a perfectly healthy sowing had failed, three weeks before there was anything to worry about. The cause was not carelessness. Those days came from extension pages that quote emergence at the ideal soil temperature, plus a few days for the seed varying. What that misses is that cold soil does not add a few days, it multiplies them: a carrot that takes 7 days at 68°F takes 50 at 41°F. The buffer was built for the wrong kind of error. So we went back to the table the whole field still uses — J.F. Harrington measured this at UC Davis in 1954, and it holds up — and re-cut every checkpoint we could against the coldest soil each crop is actually sown into, using that same document's own minimum-temperature table to decide what counts as cold for each one. Fifteen checkpoints moved. Tomato went from 18 days to 43, carrot from 28 to 51, beets from 21 to 42. Onion had been firing on day 30 against a median of 30.6 — wrong for half of all sowings by construction, which is the kind of error you cannot see from inside. Seven crops we deliberately left alone: Harrington never tested their cold end, and moving them on a warm-soil number would have repeated the mistake in the other direction. The first pass through this found thirteen and stopped, because it matched crops by name and the beans and lettuces are filed under names the table does not use — so we wrote something that re-derives every checkpoint from the table instead of trusting the list, and it immediately turned up three more. Lima bean was the worst in the whole set: it was calling a sowing failed on day 18 against a cold-soil figure of 31, on the one crop that most needs patience in cold ground. One crop we got wrong on the way and put back. Parsnip is so slow that we already allow it up to sixty days to come up — and its cold-soil figure is fifty-seven, which lands inside that. Moving it there would have had the app calling a parsnip sowing failed three days before the time we ourselves say it can take. It is back at sixty-three, and the check now refuses any checkpoint that lands inside a crop's own normal window, whatever the cold-soil number says. A checkpoint that fires late costs you nothing, because you already know nothing has come up. One that fires early tells you to dig up seed that was going to be fine.

  302. Two things we went looking for and found before anyone was using this

    Before opening the beta we had the account system pulled apart specifically to find what was wrong with it, and it found two things worth telling you about. The first: if you asked a question about a plant, the app checked that the plant existed but did not check that it was yours. In principle somebody could have asked about a plant belonging to somebody else and been read its journal. It now checks who owns the plant before it reads a single entry. The second was about our own costs rather than your privacy — the counter that tracks how many questions have been asked could be stopped from counting, which would have let one account run up a bill without limit. Both are fixed, and both are now guarded by tests that fail if anyone undoes them. Nobody was affected: at the time we found these, the only accounts that existed were ours. We are telling you anyway, because the alternative is you finding out we knew and said nothing, and because a garden journal is a personal thing — it has your notes, your dates and your photographs in it. Five more findings from the same review are queued and none of them can be reached without already knowing the exact private address of somebody else's plant.

  303. The problems you report now come back to you

    Until today, telling us something was wrong inside the app felt like posting a letter into a wall. You typed the problem, it went, and there was nothing anywhere to say it had arrived. Your Profile now lists everything you have told us, newest first — what you wrote, when, what it was about, and whether it has reached us yet. A report written in the garden with no signal sits on your phone saying "waiting to send" and goes up on its own the moment you are back in range, so a bad connection can never lose it. What it deliberately does not do is show you a made-up progress bar. We could have put "status: new" next to every one, but nothing yet moves that status where you could see it, and a label that never changes reads like being ignored. So it tells you the two things it actually knows: whether we have it, and that a person reads these. Writing back inside the app is next; until then anything needing an answer comes to you by email.

  304. If you shared your location, we were throwing half of it away

    When you set the app up you can either type where you garden or let your phone tell us. Either way we worked out your frost dates and kept the coordinates — and then quietly discarded the rest. If you let your phone share your location, your ZIP code was left blank, because the app only ever knew how to go the other way: type a ZIP, get a location. It could not turn a location back into a ZIP. That is fixed, using the same list of ZIP codes the app already carries, so nothing new is sent anywhere. Your timezone was worse. The app has always known it — your browser tells us, and we were already attaching it to every problem report — and we stored it nowhere. It is saved now, and refreshed each time you sign in, because people move and a gardening app that thinks you are in the wrong place is wrong about your whole season. We still do not keep your street address. The coordinates and a ZIP answer everything the app actually asks, and the address is the one piece of this worth not having.

  305. The floating button can no longer fall off the bottom of the screen

    The round button in the bottom corner sits above whatever else is down there, and on the Ask screen it works out where by measuring the typing bar. When that measurement came back wrong the button did not merely sit oddly — it sat twenty-two pixels below the bottom edge of a phone screen, clipped, resting on the corner of the Profile tab underneath it. Tapping that corner opened the button instead of Profile. Profile still opened from its left side, so nothing was unreachable, but it is exactly the kind of fault you feel as the app being slightly broken without being able to name it. It now has a floor it cannot go below — the same distance from the bottom it uses on every other screen, the one that clears the tab bar. Whatever the measurement says, a button meant to be raised can never end up lower than an ordinary one. We have not reproduced what made the measurement wrong in the first place, and the fix is deliberately a limit rather than a guess at the cause: it holds either way.

  306. A safety ceiling behind every plan, including the paid one

    The free plan has always had its limits counted and enforced on our side, not in the app — so they are real rather than a suggestion, and a signed-out visitor cannot reach the AI at all. What did not exist was a bound on the other end. A paid account skipped the counting entirely and was simply unlimited, with nothing behind it. Nobody is on a paid plan yet, which is exactly why this is the right moment: the day billing arrives, the ceiling either already exists or it does not. Every account now has a monthly ceiling on what its AI answers can cost, worked out from the real token cost of every call rather than from a count of them — because a photo answer costs roughly twenty times a typed question, and counting both as "one" was never going to be right. To put the size of it plainly: a whole free month of asking costs us about seven cents, a busy first month with the camera about forty, and the ceiling sits about fifty times above that. It is a guard against a bug or a stolen sign-in, not a limit on gardening. And if anyone does meet it, they get a sentence saying so rather than being told they have used up a free allowance they were not on.

  307. A deletion the other device never heard about

    Clear a garden on your phone and open your laptop a day later, and the laptop could still be showing you everything you removed — looking, from where you were sitting, as though the app had simply forgotten. It had not. The phone was right the whole time and nothing was ever lost. What went wrong is narrower and stranger: when a record is removed we do not erase it, we mark it as gone and give it a fresh position in the running order, and every other device reads forward from where it last stopped. Eighty-four records were marked gone without being moved to the front of that order, so they sat behind every cursor that would have found them. The second device was never told, and could not have known there was anything to ask for. The records have been put back in the right place and the laptops that were behind have caught up. The more useful half is the test that now runs on every build: it deletes a row on one device from a position the second device has already read past, and fails if the second device does not hear about it — which is exactly the shape of what happened, and exactly what no amount of looking at the phone would have shown. Two smaller things went out alongside it. The chat box no longer slides behind the row of buttons at the bottom of the screen when you scroll up through a long conversation. And the code at the foot of Profile used to be the version of our plant information wearing a label that made it look like the app version; it now says both, each named.

  308. A device that only listens was never listening

    If you used GardenTrack on two devices, one of them was probably wrong. Not a little behind — wrong, and staying wrong. A garden cleared on a phone would still be sitting there on a laptop a day later, and opening the app, closing it, or coming back to the tab would not have fixed it. Here is the whole of it: the app talks to your account in one call that carries changes both ways at once. Before making that call it checked whether it had anything of its own to send, and if it did not, it skipped the call. Which also skipped hearing anything back. A device you only read from — the laptop you check in the morning, the tablet in the kitchen — has nothing to send almost by definition, so it stopped receiving the moment it finished its first sync, and would have stayed that way until you happened to edit something on it. The condition was named for the outbox: nothing to do. That was true of the outbox and false of the situation, and the distinction is the entire bug. The call now happens whether or not there is anything to say. The uncomfortable part is how it survived. A two-device test exists and its own notes describe this exact behavior — that a pull-only check would never reach the network and would, in the author’s words, pass by not running. Rather than being read as a fault, it was worked around: the test resets each device to look like one that had never synced, which is the single state where receiving worked. So the suite exercised the one path that was fine. It also turns out that test does not currently run at all. Both of those are being fixed, and the fix that matters is not the one-line one.

  309. A send button that could not send

    Signed out, the Ask screen told you plainly that asking needs an account — and then gave you a working text box and a live send button. You could write a real question about a real plant, press send, and the only thing that came back was an error. We stated the rule and then handed over the control for breaking it. The server was never the problem: it turns those requests away before anything is asked or spent. The problem was that its refusal had become how people found out they needed an account, after they had already done the work of writing. Send now takes you to sign in instead, and your question goes with you — it is waiting in the box when you get back, for you to send yourself. We deliberately did not switch the box off. Somebody signed out with a garden is a real gardener, not a lapsed account, and disabling the thing they came to use in order to teach them a rule is the move we had already decided against on this exact screen. Typing was never the part that needed an account. Sending was.

  310. A smaller crop is not no crop, and the answer now says which

    Ask whether it is too late to plant something and the app works out whether it can finish before your frost. Until now that had two answers: yes, or no. It needed a third. Sweet potatoes want about 90 days for full-sized tubers, and if you have 61 the honest answer is not "nothing" — the tubers keep growing until the frost kills the vines, and killing the vines is exactly when you dig them. What is in the ground that night is what you get: smaller than a full season would give, and real. The same goes for anything you cut, because baby kale is a crop. What has not changed is the flat no for anything that has to ripen. Green tomatoes do not ripen after the vine dies, an unfilled pod stays empty, and there is no small version of a broccoli head that never formed. The difference is which part of the plant you eat, and we hold that for all 152 crops. Where it is a smaller crop the app says so, says why, and then leaves the choice with you — worth doing if you want any at all, not worth it if you were counting on a proper harvest. That last part is deliberate: it depends on things we do not know, like whether that bed has a better job to do. This one came from a gardener telling us a flat no was too absolute, and he was right.

  311. A thousand squares, and one of them is yours

    The first screen of setup asks where you garden, and explained why in three lines of prose above a large amount of nothing. "Your spot, not your region" is the whole argument for this app and it was a sentence you had to take on trust. It is now a picture. One ZIP code, drawn as the roughly one thousand 800-foot squares that actually fit inside it, with a single one lit. That is the claim made physical: your region contains a thousand of these, they do not share a frost date, and we use yours. The arithmetic in it is real rather than decorative. A ZIP averages about five miles across, which is 26,400 feet; our square is 800. So the grid is drawn 33 across and 33 down, because that is how many fit. Nobody is expected to count them — it lands as texture — but if you did count them the number would be right. It is drawn rather than photographed, and that is deliberate. This screen runs before you have told us anything, so any aerial photograph here would be somebody else's garden presented as yours. We would rather show you the idea honestly than show you a stranger's roof.

  312. Add a plant tonight, and it asks you to plant it tomorrow

    You can now enter a plant before it goes in the ground. Put in the day you plan to do it — tomorrow, next week — and the app says nothing until then, because nothing needs doing yet. On the morning of the day you chose, the job to plant it is sitting on your Today screen. Ticking it off is what turns the plan into a real plant. Two things had to change for that. The date box would not accept a day in the future at all, on the reasonable-sounding grounds that you cannot have planted something you have not planted. And underneath, the app deliberately never asks you to do the thing that created the record — it does not tell you to sow a plant you have obviously already sown. That rule was right for every plant in the app until this one, because a plant dated ahead exists precisely because you have not done it yet. So the job now shows on its own day and goes quiet again afterwards. Written the evening before somebody planted bush beans, which is exactly the moment the old version was no help.

  313. Dark mode goes dark all the way through

    Choose dark and the app used to give you a near-black page with cream cards sitting on top of it. Perfectly readable, and still mostly a bright screen when you are standing in a garden after sunset — which is when somebody who picked dark is most likely to be looking at it. The cards go dark with the page now. Two screens deliberately do not: the setup walkthrough, and the one-job-at-a-time screen you work from. Both are built to be read at arm's length while your hands are busy, and the pale background is what makes them legible outdoors, so they keep it in either theme. The change turned out to be mostly a deletion. Cards had been overriding their own text colors back to the light values, for the good reason that their background could not move; once it could, the override was the only thing keeping them light. What it did expose is a separate thing worth mentioning: a link and a button on the account screen had never been given colors at all, and had been quietly wearing the browser default blue and gray since the app was built. Nobody noticed, because those defaults are close enough to invisible against a cream card. They are ours now.

  314. The hot-weather warning was describing the wrong time of year

    When a hot spell is coming, the app tells you what it will do to your plants. What it does depends entirely on what the plant is busy doing: heat on a tomato that is setting fruit knocks the flowers off and costs you the crop, while the same heat on a tomato seedling in April just slows it down, because there are no flowers to lose yet. We were working that out from the crop rather than from the plant — reading the whole list of stages a tomato will ever go through, and answering as though all of them were happening at once. Of the 152 crops we hold growth stages for, 66 were telling you heat would cost you flowers all year round and 29 were telling you they would bolt all year round. 95 of them give a different answer depending on the stage the plant is actually at. Now the warning reads the stage your plant is at today. And where we do not know what stage it is at, it says the plain true thing — heat is hard on plants, shade in the afternoon helps, and a deep watering in the morning gives it something to work with — rather than picking a mechanism to fill the gap. A wrong reason is worse than no reason, because you act on it.

  315. It notices you are asking, however you phrase it

    The app works out for itself whether a crop can still finish before your frost, and says no when it cannot. But it only did that once it recognized you were asking — and it was checking against a short list of ways of putting it: can I, should I, is it too late, when. Write "am I able to plant these this year", which is a planting question in plain English, and it matched nothing on that list. The whole check stayed silent and you got ordinary encouragement instead of an answer. It now understands intent as well as questions. "I want to plant this", "thinking about putting in some kale", "planning to sow spinach this weekend" and "is there still time to start beans" all count, because somebody saying what they are about to do has not done it yet — and telling them it will not finish is the whole point. One thing it still ignores on purpose: anything already in the ground. "I planted the beans in June, when will they be ready" is about a plant that exists, and answering that with a no would be the app arguing with something you watched happen with your own hands.

  316. Photograph a plant in a pot and the card already knows it is in a pot

    Send a photo to add a plant and the card now comes back with where it is sitting already filled in — a pot, a seed tray, a raised bed, open ground — with a line underneath saying it came from your photo. Change it if we read it wrong. Nothing is written until you press Save, which is the rule for everything the camera works out. The reason this is worth saying plainly is what we found on the way. Somebody photographed potted citrus to add them and the app asked, separately, whether they were in the ground or in a pot — a question the picture had already answered. It turned out the app was mostly seeing the pot the whole time: measured against a real photo of a potted citrus tree, it identified the pot in two rolls out of three before we changed anything. The answer was arriving and nothing was reading it. It now reads it three times in three. One thing it deliberately will not do: if the photo does not show the base of the plant, nothing is pre-selected. Not being able to see something is not the same as knowing it is in the ground, and a guess that looks like an answer is worse than a question.

  317. It remembers the question you asked one message ago

    Ask whether a crop can still finish before your frost and the app works it out and answers plainly. But it was reading only your newest message — so if you asked in one breath, got a question back, and gave the detail in the next, the check went quiet exactly when it mattered. On its own, "I have a sweet potato in my kitchen and it is the one growing off shoots" asks nothing. That is how the answer came back saying there was still time to plant a crop that cannot finish. It now reads the turn before as well, which is how conversations actually go: the plant in one message, the details in the next. Two limits on purpose, because a stale answer stuck to a new question is worse than no answer at all. It looks back exactly one turn, since six messages ago is usually a different subject. And it only carries on while you are talking about the same plant — ask about sweet potatoes, then ask what is eating your kale, and you get an answer about kale. The first version of this did not do that, and answered the pest question with a planting verdict about sweet potatoes. We found it before it shipped by running it rather than reading it.

  318. One Add a plant button, and a camera beside it

    There were five places in the app offering to add a plant and three different-looking buttons doing it — one orange and solid, two plain purple links, two more that were barely buttons at all. They all led to the same screen. Nobody planned that; it is what happens when five screens each get the button they needed on the day they were built. They are one button now, used in all five places, so it looks and behaves the same wherever you meet it. The wording still changes to suit where you are standing — add a plant, add another, add one here — because that part was never the problem. The camera moved with it. Photographing a plant to identify it already worked, but it lived as a small icon inside the search box on one screen, which framed it as a hint for people who could not spell the name. It is a way of adding a plant, so it now sits beside the button as an equal, at all five. It is the same camera doing the same job — one copy of that flow, not a second one built to match. The part worth admitting: the first version of the pair was inverted on screen, with the camera taking the whole row and the words wrapping into a narrow column running off the edge. Every measurement passed. The pair existed, both halves were the right color, both sat on one line, and the tap targets were the right size. It took looking at a screenshot to see it, which is the second time this week that a defect survived every number we had and lost to a pair of eyes.

  319. The free AI allowance is one grant that runs out

    It used to be fifteen photo answers in your first week, then three a month and five questions a month, forever. That is gone. You now get ten photo answers and twenty questions, once — counted from the day you made your account, and they do not come back at the start of the month. We first set that grant much higher and cut it the same evening, before anyone had spent one, so if you read this page earlier in the day it said thirty and a hundred and twenty. The reason for the change is the shape rather than the number. A few a month teaches you to ration and wait, and a gardener with a sick plant in week two does not ask — an assistant you have learned not to consult is not an assistant. A grant behaves the opposite way: spend it freely, hit the wall while you still care, and decide. Ten is enough to get a real feel for whether the answers are worth anything, which is what a free trial is for. When it runs out we say so plainly and we do not pretend there is something to buy, because there is not yet. And everything that costs us nothing stays free permanently — your plants, your dates, your journal, your reminders and the whole plant database. The grant is only for the answers that go to an AI.

  320. One spring mulching told the app to water less, forever

    Tell GardenTrack you mulched a bed and it changed how it talked to you about watering: check every few days rather than every two or three, and when you do check, pull the mulch aside and feel underneath. That is correct advice for a mulched bed — mulch really does cut evaporation, and the surface really is dry by design. The problem was that it never stopped. The app asked whether a bed had ever been mulched, not when, so a bed you mulched in April was still getting mulched-bed advice the next summer, long after the straw had broken down. By then it was telling you to pull aside mulch that was not there, over bare soil — and, more seriously, telling you a bed could go two or three times longer between waterings when it could not. Confident, specific, and wrong in the direction that costs you a plant. The cause was smaller than the symptom: the date was being handed to the function that makes this decision the whole time, and that function described what it accepted in a way that left the date out, so it arrived and was dropped. Mulch now lasts about four months in the app, which is roughly how long a top-dressing lasts in a garden. After that the advice goes back to open ground: feel two inches down, check every two or three days. Mulch again and log it and the mulched-bed advice returns. Two things we deliberately did not do: mulch events logged before we started recording dates are still believed rather than thrown away, because silently un-mulching real beds to fix a staleness bug is the wrong direction; and the expiry only affects advice, not your record — the journal still says you mulched that bed in April, because you did.

  321. Photograph the seed packet and the variety fills itself in

    Take a picture of a seed packet in the chat and say "I want to plant this". It reads the packet, tells you what the crop is and roughly how long it takes, and hands you a card with the crop AND the variety already filled in — not just "bush bean" but "Golden Wax". One tap and it is in your garden with its kind recorded, which is the part that sharpens every date afterwards. The variety is the difference between a rough guess and a real harvest window, and it is normally the field people skip because typing it means going into the plant and finding it. Now it comes off the packet in your hand. What it is reading is the printing, so a clear photo of the front with the name legible is what it wants; a packet at an angle in dim light is a harder job. And one thing it honestly cannot do: a plant already in the ground has its variety written nowhere on it. A seedling in a bed is not a packet, and no amount of looking will find a name that is not there — for those, tell it the name instead and it will save that.

  322. Photograph the thing you cannot name

    Adding a plant started with a box asking what it is, which is a fine question if you know. There is now a camera beside that box. Photograph the plant and it opens a conversation with your picture already in it, asking what it is — no typing a name you were never sure of. It answers the way everything else here does: what it thinks, what it read to get there, and if it genuinely cannot tell, which two it is choosing between and what would settle it — a leaf laid flat, the underside, a fruit cut through the middle. What it will not do is add the plant by itself, and it is built so that it cannot. The camera opens a conversation and has no way of its own to write anything to your garden. The answer comes back as the same card you already get when you tell the app about a plant in words — crop, bed, date — and nothing lands until you tap it. That rail is the whole reason this took a decision rather than an afternoon. A wrong diagnosis gets checked against the plant standing in front of you and corrected in a minute. A wrong identification becomes the record, and every date, task and frost warning after it is worked out for a plant you do not own. Nothing about that looks broken from the outside; it is just quietly wrong all season. One photo, one plant, for now. Point it at a bed with four things growing in it and expect it to talk about the most obvious one. Four plantings from one picture is a different screen and a different set of questions, and it is worth doing properly rather than quickly.

  323. Four pages we owed you: privacy, support, terms, and how to leave

    Until today there was no page on this site that told you how to get help, and the privacy page was written in July when GardenTrack was a website with a waitlist form. It said the only personal thing we collect is your email address. That stopped being true the day the app shipped, and a privacy page that understates what a company holds is the wrong kind of wrong. So: the privacy page now names every single thing we keep — your garden, your photos, your email, the coordinates of your plot, your conversations with the app, and a count of the questions you ask it — and every company that touches any of it, which is four. It was written by reading the database, not by remembering what we built. Support is one page with two real routes and no invented response time. Terms says the free thing is free, that your garden is yours, and spends its longest section on the limits of gardening advice from software — the short version being that you should never eat anything on the strength of our identification. And there is a page about leaving, because "how do I get my garden out" deserves an answer before you need it. Two of the things on that page are email requests rather than buttons: closing your account, and getting a copy of your data. We have not built either button, so the page says so in those words rather than implying one exists. The honest version of a thing you cannot do yet is more useful than a polished version of a thing that is not there.

  324. Seeds still in the packet were being told they were sprouting

    Add a plant for tomorrow and your garden list said "Sprouting in 8d" — a growth stage, with a countdown, for beans sitting in an envelope on the kitchen counter. The half of the app that decides what you have to do already knew better and stayed quiet, correctly, because there is nothing to do the night before. But the line describing the plant was worked out separately, by counting forward from the planting date, and nothing in that sum ever asked whether the date had arrived. So the jobs were right and the sentence above them was wrong. The row now reads "Planting tomorrow", and the plant's own page says the same instead of describing a stage. On the day itself both go back to normal: the growth clock starts, the job to plant it turns up, and the row tells you what stage it is at. Written the same evening somebody was holding the bean seeds.

  325. The beta is opening, so the site stopped saying 2027

    Until this morning a stranger landing on gardentrack.app was told three times above the fold that this was a spring 2027 product with a waitlist — the badge, the button, and the fine print under it. That stopped being true: the app is built enough to hand to people, and invites are going out. So the site says what is actually happening. You join the beta rather than a waitlist, and when it is your turn we email you an invite. There is no date anywhere in the new copy, and that is deliberate. A countdown in a hero is true the day you write it and false two weeks later, and nothing on a website tells you when its own promises have gone stale — which is exactly how the old date survived long enough to need a sweep of sixty-three files. Two things were fixed on the way through that had nothing to do with timing. The free-features list promised "export", and there is no export — not in the app, not in the API. Under a 2027 framing that read as a plan; the moment the page says the beta is open, every item in that list reads as something you can do today. Our own page about leaving already said plainly that getting a copy of your garden is an email request, and the two now agree. And a sentence about frost alerts had been flattened into claiming a feature that is still roadmap. Both were caught by reading the pages as a reader gets them rather than trusting the find-and-replace.

  326. The prompt for people who skipped setup only showed up for people who did not

    Skip the setup questions when you first open the app and Today was nine lines of almost nothing: no dates, no jobs, and no offer to pin your garden. The card whose entire purpose is to catch somebody who skipped — "Pin your garden", "Add your first plant" — sits further down that screen, below a shortcut that fires when you have no plants yet. So it appeared once you already had a plant, which is to say once you no longer needed catching. It survived because everybody who had ever tested the app already had a garden pinned. Today now offers to pin your garden while it is still empty, and says plainly that every date is a typical zone 6b guess until you do. It is one line rather than a checklist, because on an empty screen there is exactly one useful thing to do and a four-item scorecard would just be furniture. It disappears the moment you pin. This also makes an existing help answer true: it already promised the app "will keep saying" your dates are a guess if you skip, and there was nowhere on that screen that said it, because there were no dates on it at all.

  327. The empty screens now say what they are for

    Open the app on a brand-new account and four of the first screens you see are mostly blank. That is honest — you have not planted anything yet — but blank reads as unbuilt, and two of them left you with nowhere to go. Your week said nine words: "Nothing is asking for you." No explanation of what the screen is, and nothing to press, on a tab in the main navigation that a new gardener can reach in their first minute. Garden mode managed two negatives in a row — "Nothing logged. Nothing needed doing." — without ever saying what garden mode is. An empty screen has to answer three things: what this screen is for, why it is empty for you, and what would fill it. The third one has to be a button, not a sentence: our catch-up screen said "add a plant and it will start filling in" and gave you nothing to tap. All three now answer all three. We deliberately did not pad the short ones to match the long ones — the garden screen says its piece in nineteen words and that is good writing, not a gap. And there is no progress bar, no percentage and no "0 of 5 done" anywhere near them. "Nothing is asking for you" is a good morning, not a failing score.

  328. The free allowance is now ten photos and twenty questions

    We set the free grant at thirty photo answers and a hundred and twenty questions this afternoon and cut it to ten and twenty the same evening, before a single one had been spent. The shape has not changed: it is still one allowance counted from the day you make your account, and it still does not come back at the start of the month. Only the size moved. The reason is what the free tier is for. It is there so you can find out whether an answer about your own garden is worth anything to you, and ten photographs is enough to learn that. A larger number was not buying more of an answer to that question, it was just a longer runway before anyone had to decide. The warning that tells you the end is coming moved with it, which is the part that would have broken quietly: it used to speak at five photos and twenty questions left, and against the new grant that would have warned you at halfway on photos and on your very first visit for questions. It now waits until three photos or five questions remain — late enough not to nag, early enough to still do something with what is left. Everything that costs us nothing stays free and unlimited: your plants, your dates, your journal, your reminders and the whole plant database.

  329. The list now says which plant

    A garden with a tomato, a kale and a pepper produced two jobs on the morning list that were word for word identical — feel the soil around the roots, water it if it is dry — differing only in which bed they named. The list told you the job and the place and left out the one thing you needed in order to act on it. Each row now carries its plant, and its variety if you have told us one. We had the names the whole time. The screen you land on when you tap a job has always shown them; the list itself simply never printed the field. That is the sixth thing this week that was built correctly and connected to nothing, and it is the most expensive one — the whole promise here is that the app remembers your garden so you do not have to, and the first screen of the morning was asking you to remember which bed held what. Three other things from the same review. The card on the home screen offering to back up your garden was painted in a color meant for dark backgrounds, on a light card — which made its heading exactly the same color as the page behind it. Not faint: invisible. The Garden tab called itself "My garden" while the screen beneath it said "Your garden is empty", so it now says Your garden like every other heading in the app. And on the add-a-plant list, the one crop carrying a "7 days left" note put its Look button in a different place from every other row — first in the list, which is the worst place for it.

  330. The variety search shipped, and still could not find a wax bean

    Yesterday we added variety names to the plant database search, because someone went looking for wax beans, found nothing, and got there by opening bush beans and scrolling. It shipped. It went live. And typing "wax beans" still returned nothing at all. The search compared the whole phrase you typed against each name as one lump, which works only when your words happen to sit side by side in that name — and the variety is Golden Wax BUSH Bean. So "wax" found it and "wax bean" did not. Add the plural everybody actually types, against a database where every variety name is singular, and the exact phrase that was reported failed twice over. It now matches every word of your query independently and does not care about plurals or the order you type them in, so wax beans, purple cherokee and sugar snap peas all land. Two more things were wrong in the same place and neither was visible without clicking. Every variety we offered you was a dead link — the address we linked to was the one the database uses internally, not the one the page actually lives at, so all of them 404ed. And 1,849 of our 3,174 varieties have no page at all yet; those are now named as plain text rather than offered as a link to nowhere. Finally, searching "tomato" used to put Purple Coneflower at the top, because it has a variety called Tomato Soup. A real match, and never the one you meant. The crop you actually named comes first now.

  331. Three rough edges on the Ask screen

    All three came from walking the app from a blank install, and all three are things you would notice by looking. When a message failed to send, the explanation was written for a person right up until the end, where it handed you "TypeError: Failed to fetch" — the name of a JavaScript class. It now says what actually happened: the connection dropped partway. We deliberately keep carrying the browser's own words for anything we have no sentence for yet, because that is the detail that makes a bug report worth sending, but a class name is not a reason. Second, the Ask screen had two microphone buttons a thumb apart doing entirely different jobs — one dictates your question, one tells us about the app. The typing bar's mic is the microphone; the floating button was taken off the Ask screen entirely the next day, and stays a microphone everywhere else where nothing competes with it. Third, the chat printed your question twice: once as the heading and once as your own message underneath it. A conversation is still named after its first line where that name earns its place — in the list of past conversations — but the heading inside now just says Ask.

  332. We told a paying account it was on the free plan

    Profile had a row reading "Plan: Free". It said that to everybody, because the word was not coming from anywhere — the app is never told which plan an account is on, so the row was filled in with a guess that happened to be right most of the time. It was wrong for the people it mattered to most, and this morning we made it worse by putting the free allowance underneath it, so a paying account was being told about a ceiling it had specifically paid not to have. The row is gone until the app actually knows, and there is no fallback: when we have not been told, we say nothing. A default there is a claim about your money that nobody checked. The same change fixes a second thing. The allowance line only ever said what you were given, never what you had left, for anyone who used the app before we built it — the number only gets recorded when an answer comes back, so an account with history had nothing stored and got the introductory sentence forever. It now stays quiet unless it has a real figure. That means Profile says less than it did this morning for some accounts, which is the point: it was saying more than it knew.

  333. The wrong countdown to frost is fixed, and the cause was ours

    Ask whether it is too late to plant something and the answer sometimes told you how many days you had until frost — and got it wrong, saying 69 where the real figure was 61. We had measured that thirty times, tried three ways of telling the AI not to do it, and concluded it simply could not be trusted with the subtraction. It turns out we were handing it a sentence that began "Only 61 days remain before the first frost", and then, two lines further down, instructing it never to state a number of days remaining. We were showing it the sentence and banning the sentence at the same time. The giveaway was sitting in our own code: a second kind of answer, written later, happened to carry no day count at all — and it was the one that mostly did not produce a countdown. So the answer now names the frost date instead, "the first frost comes Oct 13", which is exact, matches your Today screen, and requires no arithmetic from anybody. Measured on the same question: a wrong countdown in 15 rolls out of 15 before, and 0 out of 15 after. It can still slip one into an answer about a crop you dig up, roughly one time in four, and that half is still open.

  334. The app now tells you what you have left

    A free account comes with 10 photos and 20 questions to ask about your garden. Until today nothing in the app said so — not the sign-up screens, not the Ask screen those numbers limit, not Profile, which has a section for how cold your winter gets and one for when you would rather not be disturbed and none for this. The only way to discover there was a ceiling was to hit it. That is worse than it sounds, because the allowance is one-time rather than monthly: somebody who spends the photos in their first week on one puzzling plant has spent the season, and was never told they were spending anything. Profile now carries a plain line under your plan saying what you hold and that it does not refill. Ask says nothing at all until you are near the end, and then puts one sentence just above where you type — the moment before you use one. Deliberately not a progress bar: a bar that empties on a free account reads as a countdown to a paywall, and watching a number fall is not something this app asks anyone to do. Everything else stays unlimited. Adding plants, logging what you did, hardening off and every date the app works out are yours without a counter anywhere near them.

  335. A photo you took back was sent anyway

    Attach a photo to a question, change your mind, press the ✕ on the thumbnail — and it came off the screen while staying on your phone, still queued. The next time you had signal it went up to your account. You had taken it back and we sent it. The cause is the same thing that makes the app quick: a photo is written to your phone the instant you attach it, so closing the app halfway through a question never loses the picture. That is right and it stays. What was missing is that removing it only removed the thumbnail. It now removes the picture too, in the same tap. One thing it will not delete is a photo that has already become a journal entry on a plant — that belongs to your record rather than to the question box, and the plant's own page is where it goes. Found by attaching a photo, removing it, and then counting what was actually left on the device rather than trusting the screen.

  336. Add to my garden now goes somewhere

    You could add a plant to your garden from any variety page, and then there was nowhere to see it. The counter went up, the plant lit up, and that was the end of the road — tapping the counter scrolled you back to the button you had just pressed. Three things fix it. There is now a page listing everything you picked, at gardentrack.app/my-garden, with the day you added each one, a link back to it, and an ✕ to change your mind. At the bottom of that page is a button that opens the app carrying those plants. And the app, once it has them, asks where you garden, works out your frost dates, shows you your own picks instead of an empty search box, and asks the one thing the website could not know: where they live. You never type a plant twice, and the variety comes with it — pick Cherokee Purple and you get Cherokee Purple, not "a tomato". The reason it needs a button rather than happening by itself is worth saying plainly: the website and the app are at two different addresses, and browsers stop one address reading another one's storage. That is the rule that keeps any website from reading your bank's page. So the plants ride across inside the link instead, in the part after the # that never reaches a server — which also means copying that link to your phone brings the same plants with it. If your garden is already going, there is no walkthrough; they are just added, and nothing you already had is touched.

  337. Profile told people with no account that everything had backed up

    The line under "waiting to back up" was worked out from one thing: how many changes are queued to go up. With an empty queue it said everything on this phone has backed up. But an empty queue is not a backup — it only means nothing is waiting, and on a phone with no account nothing is ever waiting, because there is nowhere for it to go. So the people who had least protection got the most reassuring sentence. Three blocks higher on the same screen the app said "it lives only on this phone", which was the accurate one. Two sentences, one screen, flatly opposed. It now reads: nothing is waiting, nothing has backed up either — that needs an account. Nobody's garden was at more risk than the honest sentence already described. What was broken was which of the two you happened to read.

  338. Answers stop printing their own punctuation

    Replies were arriving with literal stars around words and dashes down the left margin. The chat prints an answer exactly as written — there is no formatting layer, deliberately, since adding one means sending a sizeable chunk of extra code to every phone to turn stars into bold. So the AI reached for formatting and you got the punctuation instead of the effect. We told it to stop, rather than teaching the screen to read it, and that turned out to fix the bigger complaint too: bold headings over three-line sections were turning two-sentence answers into a page you had to read all of to find the part that mattered. Answers now come back the way someone would say them out loud, and then stop.

  339. Ask stops claiming to know a garden you have not planted yet

    The empty Ask screen said "it knows what day it is, what you have planted, when it went in, and what you wrote down" — to somebody who had just installed the app and planted nothing. It was describing what the app becomes after you have used it, to the one person who had not. It now says what is true on a new phone: there is nothing of yours for it to go on yet, and adding a plant is what changes that. Add one and the sentence changes on its own, because the screen counts what you actually have. Two more in the same family. Ask needs an account, and the only thing that ever said so was the failure after you had written a question and pressed send — the requirement is on the empty screen now, with a link, and the box stays live because somebody signed out with a real garden is a real gardener rather than a lapsed one. And Profile told you "everything works, but it lives only on this phone" while one of your four tabs did nothing at all; it now names the exception instead of softening the promise, in the words the sign-in screen has been using correctly all along. Profile also stops opening on two settings for features you may never have touched — your account and where you garden come first, because they are what decide whether any of the rest works.

  340. Ask stops offering three questions it cannot answer

    Open Ask on a brand-new phone and it suggested three things to ask, every one of which was a dead end. "What did I miss" lands on a screen about yearly jobs like pruning, which belong to trees and bushes you have not got yet. "When will things be ready" has no plants to have dates. "What should I do this week" has no jobs to list. Three doors, all painted on. The screen now offers the single thing that makes every one of them work — add your first plant — and the three come straight back once you have. The wording changed with it, and the first attempt at that was ours to fix too: this screen used to claim it knew what you had planted before you had planted anything, and the sentence we replaced it with opened by telling you what it could not do. Honest, and about as welcoming as a closed shop. It leads with what it is for now and ends with the tap that gets you there, in half the words. Nothing is switched off either way: the typing box and the microphone work from the first second, and you can ask anything you like. The suggestions are simply not offered when we already know the answer would be empty.

  341. "Can I still grow this?" is worked out now, not guessed at

    Asked whether sweet potato slips were worth planting in mid-August, the chat said there were 61 days until first frost, that sweet potatoes need 90 to 150 days, that this was "tight but workable" — and suggested planting them right away. Both numbers are correct and the conclusion is not: 61 days against a 90-day minimum is 29 days short of the fastest variety there is. Not smaller tubers. No crop. Now the app compares your frost date against the crop's own days-to-maturity before the question is even sent, and hands the AI a settled verdict — yes, no, or risky — which it leads with and then explains. When the answer is no it says what you can do instead, like potting the slips up for next spring. On that exact question the honest answer came back 4 times in 15 before and 14 times in 15 after. One limit we would rather state than hide: the AI still sometimes writes its own countdown to frost inside the paragraph and gets it wrong — 69 days where the true figure is 61. The verdict is computed and reliable; a day count in the prose is not, and your Today screen has the real number. That half is not finished.

  342. Buttons you can actually hit

    We have had a number written down since the app had its first screen — a control should be at least 44 points, which is roughly the pad of an adult thumb. Nothing checked it. Measuring the real app on a phone-sized screen found 66 controls smaller than our own rule, including the Start button on your daily list at 21 points tall and the two attachment buttons in chat at 36 by 36. Twenty-four of them were not oversights. They were written with a smaller number typed in, in the same file as the rule that says 44. Those are fixed, and more usefully, controls now start at that size by default and a check refuses to let a smaller one be written. The daily list, the hardening card and the add-a-plant screen are now clear. Some links are still short and they are next — a link behaves differently from a button and needs a different fix, which is the honest reason they are not done yet rather than an oversight.

  343. Fill in a plant you already have, by saying it

    This morning you could tell the chat which kind a plant was. Now you can tell it the day it went in, how many you put in and which bed they are in — and all of it at once. Say "I put six Red Russian kale in the back bed on Saturday" about kale already in your garden and you get one card listing exactly what it is about to write, with one button. Before today the app could record all four while you were ADDING a plant and none of them on a plant it already had, so the only way to fill a gap was to go into the plant and tap it in. The date is the one worth having most: every job and every ready date is counted from it, so a plant without one gets no dates at all. Three things it deliberately does. It fills blanks only, field by field — say four things about a plant that already knows three and only the empty one is written, so the card can never quietly correct you. It shows the date as a real date before you save, so "Saturday" reads as 9 August 2026 rather than being taken on trust. And a phrase that names no day, like "in the spring", writes nothing rather than guessing.

  344. Hardening off has a way in now

    Somebody reported that they could not work out how to reach the hardening off page. They were right, and it was worse than hard to find: the only link to it anywhere in the app was a card on Today that shows up while a run is under way. No run, no card, no route in — so between runs the page, and the reminder times you had already set, could not be reached at all. Profile now has a Hardening off card with two links: one to the page that tracks your runs, and one to the reminder times, which reopens the short setup so you can change when you are nudged to put trays out and bring them in. The same links sit on the hardening page itself, including when nothing is running — an empty screen that only explains itself is a dead end. The setup was already skippable, already remembered your answers, and already enrolled later plants without asking again. What it did not have was a door.

  345. Hardening off moved to the top, and the buttons now do the thing

    A hardening week now has its own block near the top of Today, above your garden tasks, with a purple edge so you can find it without reading. It is there because it is the one job in the app where being an evening late can cost you the plant. The bigger change is what the buttons do. "Out they go" used to send you to another screen to press it again; it now records the tray as out, on the home screen, with an Undo underneath. The offer of a bring-in alert still appears — after the tray is written down, so dismissing it loses nothing. That offer was the whole reason the button was a link, and the honest fix was to carry it here rather than drop it. Three things had been scattered by sorting one week across four levels of urgency: a tray already outside, today's step, and "the Sungold is hardened off" — the end of a good week, which came out filed under No rush. They are one week and now they sit together, on Today and on the week screen both. Two quieter fixes. When the day is done the row says so with a tick and stops asking, instead of disappearing or growing a button. And if you open the app late enough that today's step would run past dark, it now tells you the tray goes out tomorrow morning — that sentence was being worked out correctly and shown to nobody, so from about five in the afternoon the only hardening thing on the screen was a link about repairing past days.

  346. How much do you want to gamble?

    Your last frost date is an average, and an average hides the thing that actually bites you. The same 800-foot square in Utah runs from early April to early May depending on the year — thirty-four days of spread in one spot, standing still. Every gardening app in the world prints the middle of that and says nothing, and so did we. Setup now asks one question instead: play it safe, middle of the road, or push my luck. Play it safe counts against the date the frost is done nine years out of ten and costs you about two weeks of season. Middle of the road is the date on the back of the seed packet, and it is what you get if you never touch it — nobody’s dates moved because we shipped this. Push my luck takes the early end, and says out loud that most years you will be covering things at least once. Pick one and watch the growing-day count and both dates move on the screen in front of you. From then on it is not a note in a help page: every date in the app counts against the end you chose — the season chart, the plant pages, the home screen counter, what the app says when you ask it a question. It also knows where it cannot offer the bet. Along the Gulf Coast, in coastal California and across the southern tier there are winters that never freeze at all, so the records genuinely cannot produce an early date. Houston gets two buttons and a sentence explaining why, rather than a third that quietly hands back the same date as the middle one.

  347. It can tell you your plant is fine — and say what to look for when it is not sure

    Photograph a healthy plant and the app used to find something wrong with it anyway. A good sunflower came back with a fungal leaf spot. A healthy corn plant was said to be losing out to a nearby tree. Three of thirteen real garden photographs, all wrong in the same direction, and not one of them hedged — which is the worst shape a wrong answer takes, because nothing tells you it apart from the ones that are right. The cause was not carelessness. It had no way to say nothing was wrong: the vocabulary existed in our own data and the instructions never mentioned it, so a clean leaf arrived as a puzzle to be solved. It can say a plant is fine now, and say what you are actually looking at — the lower leaves yellowing because that is what a tomato does to its oldest leaves all season. Two things keep that from becoming a blind spot. Normal covers color and age, not a change of shape: puckered, thickened or distorted growth still gets looked at properly, which is what peach leaf curl looks like and exactly what a softer app would miss. And where a plant is growing is not an illness — corn planted under a tree in long grass really is competing for light, and you should be told that, but it is an observation about the spot rather than a verdict on the plant. The third change is the one we care most about. When it genuinely is not sure, it no longer asks you to go and take a better photo — that is the app asking you to do work for it. It names what it might be, tells you the signs on your own plant that would confirm or rule it out, and says what to do if it turns out to be that. "This might be peach leaf curl — watch the new growth as it comes in, puckered and thickened and often reddish rather than just pale, worst after a cool wet spring." Something you can act on this evening, rather than a shrug. Across the same thirteen photographs, confidently wrong answers went from three to none.

  348. It works out which plant you meant, even when you do not say

    Telling the chat about a plant you already have — the kind, the day it went in, how many, which bed — only worked if the crop got named along the way, because that word is how the app finds the plant. Say "it is Red Russian" with no "kale" in the sentence and you got a friendly answer and no button. Measured against the live model, that was happening about twice in every eleven tries: a correct answer, and nothing to press. Now the app does the part it can do without asking. If you named no crop and exactly one plant in your garden is missing everything you just mentioned, that is the only plant the sentence could be about, so the card appears. Two facts are treated as one question — a plant missing the kind and a different plant missing the date are two candidates, not one, and it will not write half your sentence onto the wrong plant. If more than one plant could be meant, or none, it stays quiet exactly as before. It can only ever turn a dead end into a button; it can never turn one button into a different one.

  349. Light or dark, and the app now opens light

    GardenTrack has been dark since the first screen, which reads well on a phone in the evening and badly on a bright morning in a garden. There is now a switch on your profile, and the app opens light for anyone new. Two things about it worth knowing. It is remembered on the device you set it on rather than on your account, so a phone you use outside and a laptop you use at the kitchen table can look different — which is usually what you want, because the reason to pick one is the light you are standing in. And it is applied before the first pixel is drawn, so opening the app does not flash the wrong color at you for a fraction of a second the way a lot of apps do. Every screen has been checked in both, one text color at a time, against the contrast standard for readable text.

  350. It stops offering to back things up when you have no signal to do it with

    If you were not signed in, the line at the bottom of the screen offered to back your changes up whether or not you had a connection — and with no connection that button could not do anything, because signing in works by emailing you a code. It now says the true thing instead: your changes are saved on this device and safe there, and signing in to back them up needs a connection. The count itself was never wrong. Those changes really are on your phone and really are not backed up anywhere else, online or off. It was the invitation that could not be honored. When your signal comes back the offer returns on its own, without you reloading anything.

  351. A bed you described reads the same on both screens

    Describe a bed and the review row said "raised bed · 4x8" while the card one tap underneath said "4 ft × 8 ft" — the same sentence, spelled two ways, one screen apart. The row was reading your words back and the card was showing what had actually been understood, and side by side that looks like two facts rather than one. The row now says what will be saved, however you typed it: "4x8", "4 by 8" and "4 × 8" all read the same. One case deliberately still shows your exact words — a size we cannot read, like "4 by 8 meters". We only record beds in feet and will not convert a number we might be guessing at, so the boxes stay empty, and seeing what you actually said is the only thing that explains why.

  352. One plant, not "1 plants" — and a question that was using your own words back at you

    A bed with a single seedling in it read "1 plants" on the plant page. Signing in with one unsaved change offered to back up "1 changes". Neither is hard to write correctly; both were written by somebody looking at a screen with three of the thing on it, which is the only state anyone ever tests. There is now one small helper for counting things and the three places that got it wrong use it. The bigger one: the app asked "which kind of may tomato?" It was building the question out of YOUR name for the plant rather than the crop's name. Call something "May tomato" and that is what came back; a plant already showing its variety got "which kind of tomato · sungold?", which asks which kind of a thing that is already a kind. It only went wrong for a crop we do not carry, because everything else had a real crop name to use. There is no honest way to name a crop we do not hold, so the question stops trying — it reads "which kind is it?" now. It was reported on the plant page. We found the second one, on the garden list, by going to look for it. And on the add-a-plant screen, the gray heading above the crop list — "ready to plant this week" — was being laid out by a rule written for the rows underneath it, so its explanatory half sat in a second column and wrapped badly on a phone. It is one sentence again.

  353. Past conversations you could not read

    Open the list of your past chats and the words were not there. Not missing — invisible, pale text on a pale panel, the whole list a blank rectangle. It lasted a few hours and it is fixed. The cause is a small thing worth explaining, because it is the kind of fault that waits. That panel had always named the wrong color for its background — it asked for the color we use for text. That did nothing at all for as long as the text color had no name in the app, because the line carried a spare instruction to fall back on, and the spare was correct. This week we started giving our colors proper names, so that the app can offer a light theme as well as the dark one. The moment the text color had a name, the panel got what it had been asking for all along, the spare instruction stopped applying, and it painted itself in the color of its own writing. A mistake that had been sitting there harmlessly became visible the day something else went right. We checked whether anywhere else in the app does the same thing. Nothing does.

  354. Photos you never sent no longer back themselves up

    Earlier today we fixed a photo that was uploaded after you removed it from a question. This is the other half, and it is the commoner one: attach a photo, then close the app or wander off to another screen and never send it. The picture stayed on the phone, still queued, and went up to your account at the next bar of signal — a photo you never sent, from a question you never asked. The app now clears those when it opens, and it is deliberately fussy about which ones. It will only take a photo that is more than a day old, is not part of any journal entry, and is not attached to any question — including one still waiting to send. Anything in progress is left alone, and it runs on opening rather than on leaving a screen, because leaving a screen is exactly what somebody does halfway through asking something. It also keeps a record of what it removed and when, so that if a picture is ever missing we can tell you what happened to it rather than guess. A deletion nobody wrote down is impossible to tell apart from a bug.

  355. Pinning your garden no longer disappears when you hide the setup list

    Hiding the setup list used to hide all four items, and one of them should never have been in that group. Everything else on it costs you something you can see if you skip it. Pinning your garden costs you something invisible: every journal entry records roughly where the plant should have been on that date, worked out from your frost dates — so with no location, every entry you write is saved with that part permanently blank, because we never recalculate a stage once it is written. Now hiding the list hides the other three and leaves this one as a single quiet line. Nothing is blocked and there is no pop-up; it simply does not go away until the app knows where you garden. Pin it and the line goes for good, and the entries that were already blank get filled in at that moment — each marked as worked out later, so you can tell them from a stage recorded on the day.

  356. Plants go into the bed you just described, before we ask its size

    Say "I built a new raised bed and put a row of lettuce, spinach and kale in it" and you used to get three loose plants and a Save button — no bed. The bed only appeared a turn later, once you had answered a question about how big it was, and only then did the plants gather under it. Take the button in between and you got three plants belonging nowhere, plus a bed arriving afterwards that had to be joined up by hand. The grouping was something we already knew; the dimensions were a detail we did not, and there was no reason to hold the first hostage to the second. Now the plants land in the bed straight away and the size question is just a question. Two things it deliberately will not do: if you name a different bed for a plant, that wins, because you telling us beats us guessing — and if you describe two new beds in one message it leaves the plants unfiled and asks which, since a plant in the wrong bed is worse than one not yet in a bed. It looks finished.

  357. It no longer offers to record a pest it was only reminding you about

    Ask when things will be ready to pick and the answer might mention the codling moth you logged last week — which is the whole point of it knowing your garden. What should not happen is a row of buttons underneath offering to record a codling moth, as if it had just been found. Your journal is given to the AI so it can answer from your own history, so naming something out of it is quoting you back to yourself, and saving that would file the same sighting twice on a day it never happened. The buttons now only appear for something it can tell from the message you just sent or the photo on it. Spot a genuinely new pest in a new photo and the button is still there.

  358. Starting your garden over replays the setup

    The new first-run walkthrough had a rule that sounded sensible and was wrong: it only ran for people who were not signed in. Signed-out was standing in for "new", and the two are not the same thing. Anyone with an account who wiped their garden and started again got dropped onto an empty list with nothing to guide them — which is the exact moment the walkthrough exists for. What it asks now is whether the garden has been set up, not whether you have an account. So restarting from Profile with Clear everything puts you back at screen one, the same as a brand-new gardener. Keep my location still does not, and should not: it leaves your frost dates in place, so there is nothing left to ask. Skipping the walkthrough once no longer blocks it either — a skip in March is not a decision about a garden you start over in July. One nuance worth stating, because it is the sort of thing that goes wrong quietly: if you are signed in on a new phone, the app waits until it has heard from the server before deciding your garden is empty. An empty phone and an empty garden look identical for the first second or two, and walking someone through setting up a garden they already have would be worse than saying nothing.

  359. Say which kind it is, instead of going into the plant to fill it in

    Say "my kale is Red Russian" about a plant already in your garden and you used to get a friendly reply and nothing else — no button, no record. The same sentence about a plant we had never seen produced a card. The app could record a variety while you were ADDING a plant, where it rode along as one detail of the new row, and had no way to record one on a plant it already held; the only route was to leave the conversation, find the plant and tap into it, which is the tapping the chat exists to save you. Now a button appears offering to save it onto the plant you named. If the kind is one of ours it links to the real variety and your dates sharpen, exactly as picking it from the list would; if it is not, your words are kept and the app stops asking. Two things it deliberately will not do: it never overwrites a kind already recorded, because a passing sentence should not be able to replace something you chose by hand, and it never guesses at half a name — "Red" does not become "Red Russian". Fixed on the way past: five varieties are named exactly what their crop is called — Lovage, Mizuna, German Chamomile, Sweet Marjoram, French Tarragon — and picking one wrote a label that trailed off after the separator with nothing behind it. The kind you had just chosen simply was not there.

  360. Search the plant database for a wax bean and you now get a wax bean

    The plant database holds 3,174 named varieties and, until today, you could not reach one by typing its name. Search read crop names only. So "wax beans" found nothing at all — not because we do not hold it, but because no crop is called that: it is a variety sitting inside bush beans, and you had to already know that to find it. Which is backwards. The people most likely to type a variety name are the ones who know exactly what they are growing. Search now reads every variety name we hold, and the crop card tells you which variety you matched, so you know why it came up. Type zucchini, land on summer squash. Type cherokee purple or black krim, land on tomato. Three smaller things came out of testing it on real phrases rather than on the ones we invented. Plurals work, because a person types "wax beans" and every variety name in the database is singular. Word order does not matter, so "purple cherokee" finds it too. And if you type the name of a crop we hold, that crop comes first — before we fixed the ranking, searching "tomato" put Purple Coneflower at the top, on the strength of a variety called Tomato Soup. A real match. Never the one you meant. This came from a gardener who went looking for wax beans, gave up on the search, and found them by opening bush beans and scrolling.

  361. Settings are switches now

    The alerts control we shipped in the morning was two things pretending to be one: a line of text telling you the state, and a red link underneath to change it. Neither looked like something you could press. Two cards further down, another setting was a plain blue browser checkbox sitting on a screen with a full palette and three typefaces of our own. Both are now switches — one thing that shows you the state and is also how you change it. The rule behind it: anything you can turn on or off gets a switch. A link that says a verb is for things that are destructive or hard to undo, like deleting a plant or restarting a garden, where stopping to read the sentence is the whole point. A setting is not one of those. Three of them across the app, all changed. The alerts switch also stays visible when it cannot move — grayed out, with the reason underneath — because a control that disappears teaches you the feature is missing, and one that explains itself teaches you what to fix.

  362. You can run the setup walkthrough again whenever you want

    Skipping the setup walkthrough used to be permanent. That was on purpose — a skip should mean something, rather than the same screen nagging you every time you open the app — but it went too far. A decision you can never revisit is not really a decision, and one accidental tap on the X cost you the whole thing for good. Profile now has a card called Walk me through setup again. It runs the same five screens on any garden, in any state: skipped, half-finished, or three years old with two hundred plants in it. It deletes nothing. It updates your frost dates if you give it a location, adds a plant if you name one, and leaves the rest of your garden exactly as it was — and it puts you back on Profile when you are done, because that is where you started. It is deliberately not beside Restart my garden. That one destroys a garden and this one cannot, and putting a harmless control beside a destructive one is how people learn to skim the destructive one.

  363. Signing in now tells you your unsaved work is coming with you

    The sign-in screen has always been able to say "4 changes will back up as soon as you are in" — the sentence was written and the app knew the number. It just never appeared, because the count feeding it was left at zero and nobody came back to it. So the one screen where you are most likely to wonder whether your work survives said nothing about your work. It says it now, with the real number. We found it while checking for a much smaller thing: whether the app ever writes "1 changes" instead of "1 change". It does not anymore either.

  364. Ten squares instead of a paragraph

    The hardening card now opens with a row of ten small boxes, one per day of the week. Filled means the plant went out and came back. Hollow means that day went by with nothing logged. Half-filled is right now. Faint and dotted are the days that have not arrived, with a line between those and the rest. That line is the part that took the thinking. A day you missed and a day that has not happened are both "nothing recorded" — draw them the same way and on day one the row reads as nine failures, which is the exact opposite of the truth. The count beside it works the same way: how many days you managed out of the days SO FAR, not out of ten. When the week ends those are the same number and it says "6 of 10 days" on its own, which is the only moment that sentence is true. A percentage of the hours sits next to it, and the last night counts toward it. That step records no hours — you leave the tray out, so there is nothing to log coming in — and an earlier version of this arithmetic scored a perfect week at 90%. The explanations have not gone. The reasoning for each step is under "why this step" and the day-by-day record is one tap away. What changed is what the card leads with: the thing you came to find out is now answerable at a glance, and the words are the second thing rather than the first.

  365. You could ask what was wrong with a photo. You could not read the answer.

    Take a photo on a plant's page and GardenTrack offers to have a look at it. Tap yes and it asks, gets an answer back, and saves it. Then the offer disappears and nothing else happens — because the only screen that shows one of those answers was not linked to from anywhere in the app. The reply was sitting on your own phone and there was no route to it. The plant's page now carries a line for it, from the moment you ask: it says we are looking while we are, and becomes the way in once the answer is back. That also matters for a reply that arrives while the app is closed, which was the case most likely to be lost entirely. It leads somewhere worth going. That screen is where you tell us which parts of an answer are right, and a reading you confirm gets written into the plant's own record rather than staying a paragraph you have to remember. Asking in the chat gives you words; confirming turns them into something the app knows. We found this while auditing pages with no way in. It had been filed as a screen kept for a capability nobody used, which is nearly the opposite of what it was.

  366. The app could open to a blank screen. It cannot now.

    Two things had to be true at once. You had a plant whose crop name this copy of the app did not recognize, and the app had a weather forecast saved. Then every screen came up empty — not a broken card, the whole thing, including your daily list. How a plant ends up with a name the app does not know is the part worth explaining, because it is not exotic. Our catalog has "head lettuce" and "leaf lettuce" but nothing called just "lettuce"; it has "cucumbers" rather than "cucumber". If we rename a crop, or if you use GardenTrack on two devices running different versions, one of them can be holding a name the other has never heard of. Local-first means your phone keeps working on its own, and it also means two phones can disagree for a while. The weather half is why it stayed hidden from us. The code that crashed only runs when there is a forecast to read, and a test device with no saved weather never reaches it. Everything we do on this app we do with real data on a real screen, and this is one we could look straight at and not see. Fixed at the root rather than at the one place it happened, so a future bit of code asking the same question cannot bring it back. And your garden was never at risk — nothing was lost, the app just could not draw it.

  367. The app now asks where you garden

    Until today, opening GardenTrack for the first time asked you nothing at all. It went straight to an empty list. That sounds like restraint and it was actually the bug: almost every date in the app is worked out from your frost dates, so with nothing to go on it fell back to a typical zone 6b and labeled its own answers a guess. The first run is now five screens with one thing on each, and it asks two real things — where you garden, and one thing that is growing. The second screen hands the answer straight back: your last frost, your first frost, and the number of growing days between them, worked out for a square about 800 feet across around your garden rather than for your region. A ZIP center can sit four miles from a garden, eight in the country, and in hilly ground four miles is weeks of difference. Every screen has a skip and none of them dead-ends. It never asks for an account — the whole app works on your device without one — and it does not ask about notifications, because asking permission before you have been given anything is a poor trade. It also does not ask your hardiness zone, for the honest reason that we cannot work it out from your coordinates and would rather not ask for something we cannot check. That one stays in Profile. The same pass fixed the orange "1 thing today" bar on the home screen. It looked like one big button and only the word Start was actually tappable — about 2% of it — so tapping the obvious place did nothing. The whole bar is the button now.

  368. Your weekly job list is written by the app now, not by the AI

    Tap "What should I do this week?" and the list underneath comes straight from the app — the same task list your Today screen uses. The AI writes one short sentence above it saying which job matters most and why, and nothing else. It used to write the whole list, and we measured what that cost: in five rolls out of fifteen it invented a job that did not exist and named none of the three real ones. Not a wrong word — made-up work, on the button a new gardener taps first. We had already handed it the correct list; we were asking it to read that list back, and one time in three it wrote something else. We tried tightening the instructions first and that is what was already in place when we measured. So the app draws the list and the AI does the part that genuinely needs judgment: which one to start with, in your garden, this week. A list the app renders from its own records cannot be wrong one time in three, because nothing about it is a roll of the dice. One honest limit: that drawn list currently lives on the phone that asked, so opening the same conversation on a second device shows the sentence without the list under it. The list is not lost from the phone that has it, and putting it on both is on our list.

  369. The backup bar only speaks when it has something to say

    A thin line above the tab bar used to report "64 changes saved here, waiting to back up" — which is to say, nothing is wrong and the queue has not gone yet. It said that almost all the time, and because it floats above the page, whatever you scrolled past sat underneath it for a moment. On one screen it printed straight across a heading. We spent longer than we would like trying to make that overlap readable — padding, a different kind of sticking, a lighter tint — before measuring it properly and finding the text underneath was already perfectly legible. The problem was never that you could not read it. It was two sentences in the same place, and no amount of shading fixes that. So the line is gone in the one case where it was only ever reassurance. It still appears when it has news: backing up now, waiting on a signal, or a backup that did not go through. If nobody tells you there is a problem, there is no problem — and the count is still on your profile whenever you want to look.

  370. The chat knows what a hardening day is, not just which one you are on

    Tell the chat "I took my plants out yesterday and today and brought them back in yesterday" and about one time in three it argued: that would be before you took them out, can you walk me through the order? What you described is two completely ordinary days — out in the morning, in that evening, out again the next day. The cause was oddly specific. The chat is handed your hardening schedule, so it already knew which day you were on and how long the step was. Nobody had ever told it what a hardening DAY is: that the tray goes out and comes back in on the same day. Without that one fact, a routine reads as a contradiction. It has the sentence now, so you can describe two days in one breath and it follows you. Worth saying how this was found, because it is the part that changes what we ship next: our own testing caught it, not a second report. We keep a set of real questions and run each of them against the live chat several times over, because it does not answer identically every time — and a fault that appears on one try in three is invisible to anyone who asks once.

  371. The chat stops ignoring the variety you picked

    Ask when a tomato will be ready and the chat answered with the range for tomatoes — 52 to 90 days — while the plant's own page answered with the figure for the variety you actually chose: Cherokee Purple, 80 days. Same plant, same afternoon, two answers, and the chat's was the one throwing away the choice you took trouble over. That is the second time in a week we have lost that same piece of information; the first was a sync bug that never carried your variety off the phone at all. Both screens read the variety now, and both fall back to the crop range when we hold no figure for it. The gap this closes is not small: across the catalog the middling difference between varieties of one crop is about 30 days, and at the extreme it is Purple Sprouting broccoli at 220 days against Melody at 24, from the same crop record. One thing it still refuses to do is convert between the two ways a figure can be counted — from sowing, or from planting out. Those differ by the whole time a plant spends indoors, six to eight weeks on a tomato, so where a variety records the one its crop does not, the honest crop range stands instead of a converted guess.

  372. The orange tree stops getting tomato advice

    Somebody with a potted orange told us its tasks were vague and generic. One of them was worse than generic — it was wrong. "Pinch out suckers where branches meet the main stem" is what a sucker means on a tomato. On a grafted citrus, the shoots that matter come from below the graft union, and doing what that sentence said would have had somebody cutting the tree's own branches off. The right instruction already existed. Whoever researched the orange had written it down — rub or snap off the shoots below the graft union, because those are rootstock, not your orange — in a notes field nothing on screen ever read. So a crop can now carry its own wording for any task, and the general sentence becomes the fallback rather than the winner. The same tree was also being told to give it "about an inch of water at the base", from a figure our own data marks as a guess, for a plant that can stand thirty feet tall. Citrus is soaked deeply and occasionally, not watered by the inch — the sources say so, which is exactly why none of them state an inch figure. Trees and bushes no longer print a weekly inch when the number is ours rather than a source\u2019s; they get the honest instruction to feel the soil instead. Thirteen crops are affected, all of them woody. A sweep of the other 151 crops found around 60 more places where somebody wrote a specific instruction that a generic one is currently talking over. Checking a sample by hand suggests roughly a third are genuinely wrong rather than merely less detailed. Those are next.

  373. The hardening page said "ready for the ground" and "add eight more days" about the same plant

    Both sentences were true and neither should have been on the screen alone. One was counting the calendar — ten days have passed and the last night is behind you. The other was counting the log — how many of those ten days the tray actually spent outside. A run really can be both finished and thin, because the days pass whether or not you are home for them. The page just had two halves that each knew one of those things. It now says it in one breath: "the 10 days are up, but it was outside on 3 of them", and the recommendation underneath agrees with it. Fixing that turned up a worse one underneath. The last step of the week is the overnight — you leave the tray out, so there is no bringing-in to record — which meant that day had no hours on it and got filed as a day we could not read. So a gardener who did all ten days exactly right finished on nine out of ten and was advised to do an eleventh. Every correct run was being penalised for being correct. "We could not read it" is gone too. It described our processing rather than the garden; it now says what it means, which is that the day has no time coming back in. Two smaller things. The way into the hardening page was a line of gray text that happened to be a link, and it is the only way in — it is a real control now. And "planted it out" is "transplanted" everywhere, which is the word an American gardener uses and the one our own records have always used underneath.

  374. The plant page stops promising a harvest after the frost

    Add a tomato in the middle of August and its timeline laid out ripening on 1 November and harvest on 6 November — while the home screen of the same app, in the same session, said 69 days to frost. That is 21 October. Sixteen days before the harvest we had just promised. Both numbers were already on screen and nothing had ever compared them. Now, where a plant reaches a date past your first frost and it is a plant a frost genuinely ends, the timeline says so on the first date it applies to: "Your first frost is usually around Oct 21 — before this." The dates stay. It is a comparison, not a forecast — we are not saying the plant will die, because a tomato under fleece in a warm autumn does fine and you know things about your ground we do not. The chat answers "when will things be ready?" from the same rule and the same sentence, so the two cannot drift apart. Hardy crops are deliberately left alone: a kale harvest after the first frost is ordinary and often better, and those are measured against your first hard freeze, which is a different and later date. And if you have not pinned your garden the sentence says it is comparing against a typical zone 6b rather than your own — because a warning built on a guess should not read like one built on your garden.

  375. The same damage is not the same problem on every plant

    A leafminer tunnels between the two surfaces of a leaf, which is why nothing you spray on the outside reaches it. On spinach or lettuce that is your crop ruined — you cannot cut around a tunnel and serve the rest. On a sunflower or a tomato it is a few marked leaves on a plant carrying hundreds, and it changes nothing about what you pick. Same insect, and only one of those is a problem you need to do something about. Photo answers now judge it that way: damage to the part you are growing the plant for gets told to you as a problem, and the same damage anywhere else gets mentioned plainly as something worth knowing, with no alarm and nothing to do. It is a rule rather than a leafminer rule, so it covers a chewed leaf on a carrot, a blemish on tomato foliage, and a spotted outer cabbage leaf you were going to trim anyway. Being straight about how well it works: on our own test photographs it lands about one time in three so far. We know why — the answer is never actually told which part of a plant it is grown for, so it has to infer that a sunflower is not a leaf crop, and sometimes it does not. That is the next thing to fix, and it is a plumbing job rather than a wording one.

  376. The sign-in button could stick on "Sending…" for ever

    Tap "Email me a code" at a moment your phone could not reach us and the button went to "Sending…", switched itself off, and stayed there — no message, nothing left to tap, and no way out but closing the app. On the one screen whose whole job is letting you in. It comes back now and says which thing happened: "You are offline" when your phone knows it has no connection, and "Could not reach us just now" when it thinks it does — a phone on café wifi reports itself online while nothing gets through, and blaming your signal for our outage would send you looking for a better place to stand. The cause was not the sign-in screen. The file that talks to our server promises it will never crash a screen, and three of its calls quietly broke that promise, so we fixed the promise rather than the one screen — which turned out to also fix "Sign out on this device", which had been silently doing nothing at all with no signal. Your garden was never at risk in either case: it is written to the phone first, always.

  377. The two suggested questions now promise a shape, not just an answer

    Tap "What should I do this week?" and you get one line per job, most overdue first, and then it stops. Before this it named the right jobs and wrapped them in four paragraphs — correct, and far longer than the answer. Because we know what those two buttons are asking, each one now carries its own instructions about how to answer: how long, what order, what to leave out. A question you type yourself gets none of that on purpose, since forcing a list onto "why are my tomato leaves curling" would be worse than letting it answer properly. Editing the words before you send makes it your question again. Fixing this also caught something worse: asked what to do this week, the app would sometimes offer to set four reminders for the four jobs it had just listed — reading them off your own list and treating them as new requests. Asking what to do is not asking to be reminded.

  378. The week screen lost four things that were not earning their place

    The row of bars across the top is gone. It answered "which days are busy", and six of its seven columns were empty — not on a quiet week, but on most weeks, because most of what a garden asks for has no date at all. A watering check is due when the soil dries out, not on Tuesday, so it lands on today along with nearly everything else. A chart with one column of data is a number in a costume, and the number was already printed next to the word Today. The second season chart is gone too. Its own caption said what was wrong with it — "established plants, this is their usual year, not a countdown" — a picture of a normal year for plants that are not racing anything, in the same shape and colors as the chart above it and carrying a second copy of the same color key. The part of a perennial's year you can act on was already just below, with dates on it. The chart for this year's crops stays, because it is the only place the app tells you a plant you already own will not finish in time. That warning used to be a collapsed orange box further down with a Hide button on it. It is now a line under the chart that draws the same plants, which is where you are already looking. And the Start button at the foot is gone, which began as a bug: it read "Start all 6" and one of the six was a winter pruning job dated 30 December. We built the fixed version and every honest count disagreed with the word on the button, because this screen's Today column is not a list of things to do today — it is everything without a date. Every row is still one tap into that job, and the Start that means something is on your daily list. Two smaller things while we were in there: the chart no longer hides a single row behind a "+1 more" button taller than the row, and a job due today no longer sits under a label reading Today four points below a heading reading Today.

  379. "Transplant on Wednesday" — the card now reads the weather

    The hardening card ends with one line telling you what to do, and it changes with where the run actually is. Mid-week it counts what is left: three more days of hardening off. If the ten days ran but you only managed a few of them, it says what we would add first — in our words, as a suggestion you can decline, because nobody has published a rule for missed days. Once the week is genuinely done it looks at your forecast against the crop's own cold floor. Tomatoes should not sit out below 50°F, and that figure is sourced per crop. Cold tonight and warmer on Wednesday, and it says transplant on Wednesday. Cold all week and it says so rather than naming a day it cannot see. The rule we would not bend: if there is no forecast, or ours is more than twelve hours old, it will not clear you to plant. It tells you the plant is ready and hands the cold question back. "Transplant now" with a frost coming is the worst sentence this card could produce, so the weather is allowed to stop it and never to assume on its behalf.

  380. Ask when something will be ready and you get dates, not "a couple of weeks"

    We hold a sourced days-to-maturity window for 111 of our 152 crops, and none of it was reaching the chat — so when you asked when your tomatoes would be ready, the AI was guessing with nothing to guess from. It now gets your own planting date plus that window, already worked out into real dates: "typically ready 5 September to 13 October". The sums are done by the app rather than the AI on purpose. Adding fifty-two days to a July date is something a language model gets right most of the time, and most of the time is not good enough for a date you plan around. It also carries what the window is counted from, because fifty-two days from sowing and fifty-two from transplanting are weeks apart. Forty-one crops have no window, and a plant with no planting date cannot be worked out — it says so instead of estimating.

  381. You can turn alerts off

    There was no way to turn notifications off from inside the app. Not a hidden one — none. The code that unsubscribes a phone had been sitting there since alerts were built, under a comment reading "Turning it off must never fail", and nothing had ever called it. Your only route was your browser or phone settings. Profile now has it, under Alerts. It says "this phone" on purpose: it unsubscribes the device you are holding and tells our server to forget that device, so if you also have the app on a tablet, that one keeps its own setting. Wiring it up found a second problem worth naming. The unsubscribe function waited on the app\u2019s background worker being active — and on a phone where it is not, that wait never ends. So the first time anyone pressed the new button, nothing happened at all, silently, with no error. It now asks whether a worker exists rather than waiting for one, and the app forgets locally before it talks to the server, so the switch always does something you can see even if the network does not answer.

  382. Your frost date, against the ones five miles away

    Setup already told you your last frost. It now shows you what that same date is five miles north, south, east and west of you, with the difference in days — your own figure in the middle, the neighbors around it. On the address we tested, five miles west is eleven days earlier and five miles east is thirty-four days later. That is a month and a half of spread inside a ten-mile box, and a ZIP code would have handed every one of those gardeners the same date. We have been saying that in a sentence since the beginning; this is the first time anyone can see it. It refuses to perform where it would be dishonest. We built the obvious version first — your own square and the eight touching it — and threw it away after measuring: neighboring squares give the identical date in four of five places we tried. The difference lives at miles, not yards. And in genuinely flat country the screen says so plainly rather than inventing a difference, because everything nearby giving the same week is worth knowing too.

  383. Your own messages were hard to read, in both themes

    Everything you type in the chat sits in a colored bubble. For a few hours today that bubble was filled with a pale lavender that was never meant to be a background — it is the color we use for text on a dark page — and the white words on top of it measured 2.4 to 1, well under the readable standard. It is fixed. The cause is one we have now hit three times in a single day, and it is worth explaining because it is the least obvious kind of bug. A line of styling can name a color that does not exist yet, and carry a spare instruction to fall back on. For as long as the color has no name, the spare applies and everything looks right. This week we started naming our colors properly, so that the app could offer a light theme as well as a dark one. Each name we defined switched off the spare in every line that had been quietly relying on it. Nobody edited the chat. Nobody edited the panel of past conversations. They changed because something else went right somewhere else. We have now found and fixed three, and there are nine more lines in the app naming colors that still do not exist. They all look correct today. Each one will change the day its name is defined, with nothing in the change that made it happen to say so, which is why they are being dealt with now rather than when somebody reports one.

  384. The app can warn you about a hot night for eggplant now — and we found only one crop we could add

    A hot night is the failure you never see coming. The plant looks fine, the flowers open, and then nothing sets fruit — because pollen goes sterile overnight when the plant never gets to cool down. Until now the app could only warn about eggplant on a hot day, which is half the problem. Minnesota Extension says eggplant flowers poorly when nights go above 70°F, so that is what we now watch, the same as we already did for tomato, pepper and the squash family. The honest half is what we did not find. We went looking at thirteen crops and came back with one number. Extension services publish daytime temperatures and then describe the nights in words — beans get "over 95°F" for dropping their flowers and no night figure at all, on the same pages that hand tomatoes a day and a night figure in the same sentence. Peas get flower loss described with no number anywhere. So for those crops we have written down that we looked and there was nothing to find, which is more useful than leaving it blank — nobody has to go and read those same pages again. Nine crops are now watched for hot nights. Thirty-six that we watch on a hot day still have no night figure, and we would rather tell you that than let you assume the app is watching something it cannot see.

  385. A plant whose bed disappeared is no longer counted and hidden

    If a bed vanished — usually because it was deleted on another device and the change came down mid-way — the plants that lived in it stayed in your garden but stopped appearing on the screen. The heading still counted them. You would read "20 plants", scroll the whole page, and find fifteen, with nothing to tell you the other five existed or where they went. They now appear under "Bed missing", with the count matching what you can actually see, and each one opens where you can give it a new spot.

  386. A variety name you typed yourself now follows you to another device

    Pick a variety from our list and it has always traveled with your garden. Type one in — because the thing you are growing is not in our catalog — and it stayed on the phone you typed it on, forever. It saved correctly, it went up with the rest of the plant, and our side had nowhere to put it, so it was quietly dropped on arrival. On one device this looked perfect; the name was there, the plant was named, nothing was wrong. It only showed up the first time somebody opened the same garden on a second device and found the name missing. That is now stored and sent back like everything else. Nothing you typed was ever lost from the device you typed it on, and it will go up the next time that phone syncs. We also added a check that fails our build if any future field is saved on a phone and never read on our side, because this one was invisible to three checks we already had.

  387. A hardening day you already logged can be corrected — including its date

    Tap the times on any day in the run and you can change them, and change which day it was. Logging a day late is at least as common as logging it short, and until now the app could only fix the clock. If you move a day onto one that already has an entry it refuses and names the day in the way, instead of merging the two into a day that never happened.

  388. Entries logged before you pinned your garden now get a stage — and say they were placed later

    Every journal entry records roughly where the plant should have been on that date. That is worked out from your frost dates, so an entry written before you pinned your garden had nothing to work it out from and was left blank — permanently, because we never recalculate a stage once it is recorded. That rule is there to stop us second-guessing something you observed, and it was never meant to protect a blank. So when you add your location, those blank entries get filled in. Each one says it was worked out later, and that wording is deliberate: a stage recorded on the day is better evidence than one placed afterwards from dates alone, and we are not going to let the second quietly pass for the first. We only fill in the ones that were genuinely blank. An entry we already placed is never touched, and one for a crop we hold no stage model for stays exactly as it is.

  389. We called a strawberry a woody plant. Every number on the page was correct.

    **Our fruit-tree care page counted 26 crops and called all of them woody.** One of them is a strawberry, which is a soft plant about eight inches tall and not woody by any definition. **And the same page said the four crops with no pruning job were "the brambles and grape" — which is three.** The fourth was the strawberry, and we did not name it. **What makes this worth writing down is that we checked every number on that page and all six were exactly right.** 26 crops, 22 with a pruning window, 19 with a feeding date, the seven without named correctly, 25 with a first-harvest range, one spray window. Not one was off by so much as a single crop. **The counting was right and the word attached to it was wrong**, which no check we own can catch — a number can be tested against the data, and "woody" cannot. **Fixed:** the page now says fruit crops rather than woody fruit crops, names all four that have no pruning job, and says plainly that the strawberry is in the group because it is a fruit, not because it is a bush. **If you grow strawberries, nothing about your jobs changes** — they never had a pruning job and still do not. This was our description being wrong, not your plants.

  390. You can fill in a hardening day you forgot to tap

    The line counting your week is now a button. Tap it and every day of the run is a row with its date; a day nothing was logged on shows in orange and offers "I did this day". Say roughly when it went out and came in and it is recorded on that day, not today — with the times starting on the step’s own window, so a day that wanted eight hours does not quietly get logged as three. Until now a day you did but did not tap stayed missing for good, and the app went on recommending extra days to make up for a gap that never happened.

  391. When the app does not know what time something happened, it now asks instead of guessing

    Two places on the hardening card were quietly writing down the current time and presenting it as fact. Correcting what time a tray went out: type eleven at night by mistake at midday and it silently recorded midday, with the label agreeing and nothing saying it had changed your answer. It now tells you that time is still to come and leaves your record alone. Same underlying problem as the bring-in question fixed earlier today — the app could not say when, so it substituted now.

  392. Photos and their answers now come back on a new phone

    Sign in on a second device and your photos appear, along with what we told you about them. Until today they did not, and the reason is an odd one: nothing was ever lost. The pictures were safely on our side, the plant came back, the journal entry came back, and the entry even knew a photo was attached — but nothing in the app ever asked for the picture itself, so a new phone showed a garden with no photographs in it. The answers were worse off: every diagnosis was saved on our side and read back by nothing at all, so the one thing in the app that takes real work to produce was the one thing a replaced phone lost entirely. Both now arrive. Photos load as you look at them rather than all at once when you sign in, because pulling a season of pictures down on a phone plan is not a restore, it is a bill.

  393. Telling the chat you put the trays out now counts as the day

    Say "I took the trays out this morning and brought them in at four" and it records that day of hardening off, the same as tapping the button. The row on the card says "Hardening off" now instead of "Written down", so you can tell it is going to count before you tap. The gap it closes was a strange one: those sentences were already being understood correctly and filed with the right date — they were landing on no plant. "All my plants" and "the trays" name no crop, so nothing was attached, and a day you genuinely did came out as missed. When you describe putting them out or bringing them in without naming a plant, it now means the trays that are actually on a run. Only then: "watered all my plants" still means all of your plants, because watering is not part of the run. Name a plant and the plant wins.

  394. The app had no way in on a device you had not used before

    Open GardenTrack on a new phone or a laptop and there was no sign-in anywhere on the front page. Not hidden, not hard to find — not there. Every place that offered you an account only appeared once you already had plants saved on that device, so the app looked complete to anyone who had used it before and had no visible way in for anyone who had not. The front page now says it plainly, under the button for adding your first plant: "Sign in or start an account — so your garden survives a new phone." It sits below the main button rather than in front of it, because you do not need an account to use this — adding plants works with none — and it disappears the moment you add your first plant. Profile also now says "sign in" rather than only "back up my garden": our own help page had claimed that was already true, and it was not.

  395. The chat can see which day of hardening off you are on

    It could not, and it asked. Somebody told it they had taken their plants out and brought them back in, and got back that it could not look up the hardening-off schedule — followed by "which day are you on?" The app was running a ten-day schedule for those exact trays and keeping count. The chat simply had no way to see the count. It is handed the same thing the Harden screen shows now: which day of how many, what today's step is, how long they have been outside, and how cold is too cold for that particular crop. It comes off your phone rather than being worked out again on our side, which is why the two cannot disagree — there is one count, and the chat is reading it instead of guessing. Asking a gardener for something the app already wrote down is the one thing this app is supposed to never do.

  396. Our download said a plant was “tender”. It knew the actual temperature and did not tell you.

    **The free plant database now carries the frost numbers themselves** — the temperature a crop takes damage at, and the one that kills it. 1,447 records have the first and 739 have the second. Until today the file only said `frost_sensitivity: tender`, which is a category, not a number. **We had the number the whole time.** **And the notes explaining the gaps now ship with them.** When we cannot find a frost figure we write down which extension pages we read and what they actually said. Forty-two of those notes existed and reached nobody — the field they hang off was not in the file, so neither was the explanation. **A gardener saw no number and no reason there was no number**, which looks exactly like not having checked. **We had decided to hold these back. We changed our mind — here is the argument.** Our own export code carries a list, field by field, of what we keep out of the free download and why. Frost temperatures were on it: *a number that only does work against a forecast*, with the plain word — tender, hardy — as the version a person acts on. **That was wrong in one specific way: it assumes we hold the only forecast.** You have a weather app open on the same phone. Reading *tonight, 30 degrees* against *peppers die at 32* is not a computer joining two inputs. **That is you, deciding whether to go out and cover them.** **And "tender" is a label, not a number.** It does not tell you whether to cover at 33 or at 29. A label is only useful to somebody who already knows the translation, which is not the person asking. **What settled it:** we published a piece called *Nobody publishes the temperature your vegetables die at*, and it told you the whole database was free and that the 124 crops with no kill temperature would say so rather than show a blank. **That was not true when we wrote it.** It is true now — 124 crops, exactly, each one carrying the note of which pages we read. Writing a story about nobody publishing a number and then not publishing it is not a position we wanted to defend. **And we got here badly, which is worth saying.** We first shipped this calling it an oversight, on the grounds that no decision existed. One did, in the same file, 350 lines below where we looked. **We missed a considered decision and called it a mistake** — then argued the point properly and reversed it on purpose. Written up as decision D-113. **Also fixed, in the same pass:** forty-two British spellings that had been riding into the download inside those notes — *judgement*, *behaviour*, *colour*. Our spelling check covers that folder and had never once read the file, because it did not open `.json`. It reported a clean pass every time. **Three separate layers of the same check were skipping it**, and each one looked green.

  397. The mic stops when you pause — now it says so, and you can carry on

    Dictation ends after a break in talking, and until today nothing told you that or told you what to do about it: the box just went quiet and it looked like a fault. Now the heading says "Tap the mic to keep talking", a line under the box tells you your words are saved, and the button itself says "Keep talking" instead of being a small icon next to a large Send. What you say next is added to the end rather than replacing what is there. We cannot make it wait longer — the browser has no setting for how patient it is during a pause, and on Android the one that looks like it would is documented as having no effect. We could have made it restart itself, and did not: Android beeps every time the microphone opens and a website cannot turn that off, so pausing to think would mean being beeped at for thinking.

  398. Two different facts about a tomato were sharing one box. One of them kept getting thrown away.

    **Our plant records had a field for a plant’s shape** — bush, vining, upright — the thing that tells you whether to build a trellis. **And 133 varieties were using it to store something else entirely:** whether the fruit arrives all at once or keeps coming until frost. **Those are two different questions, and there was one box.** So a variety whose seed catalog answered both lost one of the answers. **Three tomatoes show exactly what that cost.** Husky Cherry Red, Patio and Tiny Tim each have a note quoting the catalog on both counts — *"dwarf indeterminate habit"*, *"dwarf determinate"* — and in every case the fruiting half was dropped, because there was nowhere to put it. **That is the fact our variety pages use to tell you whether you get one big harvest or a steady trickle**, so those three showed you nothing. **Fixed by giving fruiting its own field.** All 133 moved across carrying their original source, so nothing was re-researched and nothing invented. The three got their lost answer back from notes we already had. **The download now has both, and a variety can finally say it is a dwarf plant that fruits until frost**, which was impossible to record yesterday. **What we did not do is guess.** Those 133 varieties now have no shape recorded, because we never actually had one — the box held the other fact. **We would rather show you a blank than a number we made up**, and working the shape out from a plant’s height is exactly the kind of guess our own rules forbid. **And the bug had grown a feature on top of it.** Our variety picker groups tomatoes under "Vining" and "Bush" — shape words — but the note under each one reads *"keeps growing and fruiting until frost"*, which is about fruiting. **It had been reading the fruiting fact and labeling it as shape for as long as it has existed.** A test caught it the moment we separated the two. Nothing changed on screen; the same tomatoes sit under the same headings, and now the app is reading the field that actually holds the answer.

  399. We turned one gardener’s text message into “proof”. Then we deleted it. Neither was true.

    **Our hardening-off page said phone alerts were proven to reach a closed app.** It was not a test. **It was one person here saying they had gotten one on their own phone on 31 July** — relayed, written up in our voice, and published as *proof the channel works*, with no sign it had come from anybody in particular. **That is laundering, and it is the exact thing we spend our days removing from plant data.** A real fact, stripped of whose it was, restated as if we had established it. **Then today we made it worse in the other direction.** A review of our own honesty notes went looking, could not find the 31 July report, and concluded it had never happened — so the page was rewritten to say no alert had ever been confirmed, and a note was published announcing that correction. **That went live for a few hours and it was also false.** The review found four of our own records agreeing with it and stopped; three of them predated the correction they were contradicting, and the fourth was about a different feature. **What is actually true, stated with its limits:** one person on our team got an alert on one real phone with the app shut, on 31 July 2026, and got a second near-duplicate when they opened the app — a bug now fixed. **Nobody here has watched a push land on a device we control.** So it has worked once, for one person. That is not the same as working reliably, and we are not going to write the sentence that says it is. **There is a Send a test alert button on Today and in Profile. Use it once.** A minute now beats finding out on the night of a freeze. **Both pages say this now.** The frost alerts page had spent eleven days saying alerts were unproven, right beside a page saying they were proven — yesterday’s correction reached the page somebody reported and never its twin. **The pattern worth naming: over-claiming and under-claiming are the same mistake.** One of them just feels careful.

  400. We said we read “Beans Bush in the Garden”. No such page exists.

    **When we cannot find a number, we write down where we looked** — which page, and what it did or did not say. Forty-four of those notes named a Utah State Extension page that does not exist. **The page names were built from our own file names.** Our record for bush beans is filed as `beans-bush`, so the note said we read *"beans bush in the Garden"*. The real page is **Beans in the Garden**. Swiss chard became *"chard swiss"*, sweet corn became *"corn sweet"*, and carrots, leeks, onions, tomatillos and head lettuce were each named in the wrong number or the wrong form. **The research was real — the citation was not.** We checked, and the pages exist, we did fetch them, and Utah State is a recorded source on every one of those crops. **The reading happened. The page name was assembled.** **That is the one defect that specifically ruins a source note**, because the whole point of it is that you can go and look. A name we invented sends you to a search that finds nothing. **And we found something else while checking: these particular notes do not reach you at all.** The frost-temperature fields they belong to are not in the public download, so forty-four explanations of why we left a number blank are sitting in our own files where nobody can read them. That is a separate fix and it is now on the list. **Fixed by citing the web address we actually hold, not a title.** You can open a link. You cannot check a title. Forty-four notes across twenty-two crops now carry the real address. **One note we left alone**, and it is worth saying why: our currant record cites Utah State's *Gooseberries in the Garden*, which looks wrong and is not — currants and gooseberries are the same genus and Utah State covers both on that one page. The note says so itself. **Our own checking script flagged it; reading it did not.**

  401. The app no longer guesses when you brought the tray in

    If a hardening tray went out and nothing was logged after, the card asks whether it came back in. Saying yes used to record the bring-in at the moment you tapped — so answering the next morning about a tray put out at nine wrote down twenty-six hours outside, counted the day as a full one, and warned you the plant had been out overnight and needed checking. A truthful answer produced a warning about a night that never happened. It now asks what time, starting on the time the step itself suggested, and records it on the day the tray actually went out. Also fixed while we were looking: that whole card was being laid out as three squeezed columns on a phone, so its question read two words per line.

  402. Hardening off can record where the tray actually sat

    Putting a tray out already assumes you followed the step, so the ordinary button is still one tap. Tap "Put it somewhere else?" and you can say it sat in full shade, some sun, most of the day in sun, full sun — or somewhere else entirely. It is recorded and never scored: we went looking for whether extra shade buys a shorter day, or more sun makes up for a missed one, and across twelve extension sites nobody makes that comparison in either direction. So the week is still counted in hours. Where the tray sat is there for later — if the leaves scorch on day six, your journal can tell you it was in full sun on days three, four and five.

  403. A help page told you a working feature did not exist. We built the thing that catches that.

    **Our photos page said GardenTrack could not look at a picture and tell you what is wrong.** It can, and has for a while — another help page describes it working. **Two of our own pages disagreed, and the one that was wrong told you a shipped feature was not built.** **That is the third stale claim we found today**, after a page that said phone alerts had never been proven (they had) and one that described a fix an hour before it existed. **The pattern is the problem, not the sentences.** We already had a check that fires when the app changes and no help page does. It is blind to this, because *nothing changed* — no commit, no deploy. A sentence like **"not yet"** stops being true when the world moves, and nothing was watching. **So every "not yet" and "never" on every help page is now classified.** Either only we can make it false — a policy, a guarantee — or somebody else can, in which case it carries the one sentence saying what would make it untrue, and a date somebody last checked. **Go past that date and the build fails.** **Writing that sentence is the part that works.** The photos error was found while writing it — not by the check running, but by having to say out loud what would prove the claim wrong. **It also caught its own author twice within ten minutes**, on the correction to the very page that started it.

  404. You can change your hardening times now, because a routine changes

    **The setup asks when you leave and when you are home, once, and never asks again.** That is deliberate \u2014 an app that keeps asking is one you stop reading. It also left the answers locked to whichever week you happened to be having when a tray of seedlings got ready. **A new job, a school term, the clocks going back.** So the two questions now live in Profile under **Hardening off**, with the same taps, and a change takes effect on the next day of the plan. **Skipped them the first time? That is where you answer them later.** The ten days run either way \u2014 you just do the timing yourself until you do. **On Profile and not on your home screen, on purpose.** Home is for things you have to do. Settings you revisit go somewhere you go looking for them, or Home fills up with things that are not jobs.

  405. You planted the thing we suggested, and we said there was nothing to do

    **We walked the app as somebody who had never opened it.** New phone, nothing saved. It suggested radish as ready to plant this week. We planted one. Then the home screen said, in the biggest text on it: **"Nothing needs you today."** **There was something to do.** The week screen listed it. The garden screen offered to do it. **Three screens, one radish, and the one you land on was the one saying the app had nothing for you.** **The cause.** Every watering check was filed as a job for the week rather than for today, unless it was over 90\u00b0F. **The seedbed check is the one that shows how wrong that is: a seed that soaks up water, starts to swell and then dries out is dead** \u2014 it does not get a second go. That check now takes its place in your day from how often it actually needs doing. At once a day or more it is today\u2019s job, which is seedbeds, trays, root balls and pots. Mulched beds and open ground stay weekly, which is right for them. **And the job itself was a riddle.** It read *"Is the seedbed still damp?"* \u2014 which is a question, not a job. You read it, walk out, look, work out whether there is now a task, and then do it. **Four steps, when the app already knew all of it.** Every one of our six watering checks was written that way. They now say what to do with the condition inside: **"Feel the soil where you sowed \u2014 water it if it is dry."** **The buttons changed too, and this is the part that matters for later.** They said *Damp* and *Dry*, which describe the soil. They now say **Still damp** and **Watered it**, which describe what you did \u2014 because that is what a journal entry is. **Both were already recorded and both still are.** Going out to look and finding it damp is not a skip; it tells us when to ask again.

  406. Basil now warns you about a cold night, not just a frost

    **Basil goes black at 50°F, and nothing on the plant page said so.** We already warned about frost — but frost is 32°F, and basil is ruined a long way above that. A 48°F night does not kill the plant. It stunts it and blackens the leaves, and the leaves are the whole point. **Now basil carries that number.** University of Illinois Extension states the harm and the temperature in one sentence; Clemson and Iowa State independently put the same 50°F line at night. **We say which of the three kinds of harm it is** — this one costs you the picking, not the plant — because "cover it" and "give up on it" are different advice. **We also wrote down what we could not find.** Nobody publishes a hot-night limit for basil, so basil says we looked and found nothing rather than quietly showing you a blank. **One herb, not thirty-one.** We checked four extension sources for basil and found one usable sentence, so we are not going to pretend we can do the rest in an afternoon.

  407. Cabbage is not the heavy feeder everyone says it is

    **Cabbage has a reputation as a hungry crop, and the extension services do not back it up.** Utah State and Minnesota both prescribe the same thing: feed the bed before planting, then one side-dressing about four weeks in. That is it. Broccoli, its close cousin, really is a heavy feeder — cabbage is not, and we had it blank rather than guess. **The warning is the useful half.** Utah State says to stop the nitrogen once heads begin to form, because feeding then makes the heads loose and split them. So the number now carries that condition with it instead of leaving you to find out at harvest. **We nearly got this wrong.** The obvious answer was "heavy" and reputation is not a source.

  408. You can delete a plant you added by mistake

    **Deleting something and recording that it died are now two different things, because they mean two different things.** At the bottom of a plant or a growing space there is a quiet line: delete this, for something you added by mistake. **If a plant really died, keep saying it died.** That is a fact about your garden and it stays in your record — the journal is the whole point. Delete is for the test plant you added while poking at the app, which was never in the ground. Getting those two mixed up costs you either way: a test plant marked dead becomes a gardening fact that is not true, and a real death recorded as a delete loses the season. **Deleting a growing space takes the plants in it**, and it says so with the numbers before it does anything — "also removes 3 plants and 14 journal entries". Deleting a seed tray does not touch the plants; a tray is where a plant sat, not what it is.

  409. A plant you added by mistake can go. A plant that died stays.

    **You can now delete a single plant or growing space — and it is deliberately not the same thing as recording that a plant died.** Delete says this never happened. Died says it happened and is over. **Both mistakes damage your record, in opposite directions.** Deleting a plant that really died removes a real season: the sowing date, the feed in June, the photo from July, and the fact that it failed at all — and a failure is the entry you are most likely to want next year. Recording a test plant as *died* writes a false gardening fact, so next spring your own history tells you that variety dies in your garden when it never grew there. **So the control opens by pointing at the difference** rather than asking you to work it out: *for something you added by mistake — if it really died, say that instead so it stays in your record.* **Deleting a bed counts what goes with it.** *Deleting Bed 2 also removes 3 plants and 14 journal entries.* It names only what is actually there, and deleting a single plant does not say "1 plant" — a number that is always one teaches you to skim the line, and the entry count beside it is the one that matters. **There is no undo and it removes it from your other devices too.** The protection is the question before it, not a rescue after it.

  410. "It’s got its first true leaves" now records a stage, and a question still records nothing

    **Telling the app what a plant is doing now saves it as a stage.** True leaves, cotyledons, setting fruit, heading up, bulbing, pods filling out, starting to ripen, curing, gone dormant. Flowering, bolting and germinating already had their own entries. **The hard part was not the list. It was everything that contains the same words.** *"Should I pinch the flowers off?"* has *flowering* in it. So does *"I’m going to let it flower"*, and *"no flowers yet"*. **None of those is you telling us something**, and recording a stage from any of them would put a fact in your journal that you never stated. **So only a sentence that asserts a stage records one.** Questions, plans, worries, conditionals and negatives all pass straight through and your words are kept as a note instead \u2014 which loses nothing. **A wrong stage would be permanent and invisible. A note is neither.** **One case we made sure still works:** *"the peppers are setting fruit, is that early?"* counts. You told us something and then asked about it, which is how people actually write. Our first version threw that away because it ended in a question mark \u2014 the test caught it.

  411. Hardening off no longer gets stuck on day two

    **Miss a day and the plan used to step backwards.** Three days off repeated a step, three weeks started you over — so a busy week could leave the screen sitting on "day 2 of 10" indefinitely, while the plant outside carried on experiencing actual weather. **The ten days now run on the calendar.** Day six is day six because six days have passed. A day you miss is recorded as missed and the plan keeps going. **We went looking for the research behind those old numbers and there is none.** Illinois, Utah State and Minnesota all tell you the ramp takes about two weeks, and not one of them says what to do when you miss days. So the app stopped pretending it knew. **It counts instead** — days it was out, days shorter than the step asked, days with nothing logged. If fewer days went well than the plan wanted, it suggests adding that many back, **and it says that is a suggestion**, with the numbers beside it. Which days you missed is a fact. What to do about it is our opinion, and it reads like one.

  412. The chat can read what stage your plant was at — and it will not pretend to know more

    **Every entry you log now records two things about timing:** what stage the plant was in, and what stage our model expected on that date. **The gap between them is the signal** \u2014 and the chat can now read it back. *"Watered while it was flowering, where the model expected leafy growth."* Both facts, and you draw the conclusion. **What it will not say is "ten days ahead", and that is deliberate.** To count days we would need the dates the model expects each stage to start, and we do not save those \u2014 on purpose, because a number worked out at the moment you ask is our model checking its own homework. **And "ahead" needs the stages to be one ladder every plant climbs in the same order.** They are not: bulbing, heading and pod fill are different crops doing different things, not steps in one sequence. **Reading a ranking into that would be inventing biology.** **When there is no stage, it says why.** *We hold no growth-stage model for this crop* is a different problem from *our dates for this crop did not line up with your planting*, and you can do something about the difference. Silence would hide both. **Nothing logged before today gets a stage added.** Those entries have none, and guessing one now would put our opinion into your records where a fact should be.

  413. Third report of the voice stutter, and it was never our code

    **We fixed the repeating-words bug twice and it kept happening.** Then the person reporting it gave us the clue that solved it: **his phone\u2019s own keyboard microphone transcribes him perfectly.** Same phone, same microphone, same connection. The only difference is that we were asking the browser to listen ourselves. **It is a known bug in Chrome on Android.** There is a mode where speech recognition listens continuously rather than one sentence at a time, and on Android that mode repeats what it hears \u2014 reported to Chromium and hit by other apps using the same browser feature. **We were using it, so the words arrived doubled before any of our code saw them.** **Both of our earlier fixes were real improvements to code that was not the problem.** The first genuinely stopped us gluing half-finished guesses together. The second genuinely stopped us re-adding sentences we already had. **Neither could fix words that were already repeated when they reached us**, which is why the output never changed. **It now listens for one thing at a time**, which is what every report of this bug recommends. If you have more to say, tap the microphone again and it adds to what is already in the box. **We could restart it automatically and chose not to**: Android plays its listening beep on every restart, so a pause to look at a plant would mean being beeped at, by an app, in your garden. **We are not calling this fixed.** It has been called fixed twice already. It is fixed when the phone that found it says so.

  414. "Not supported here" was one tap from working, and we were about to test the wrong thing

    **We are about to find out whether alerts actually reach a phone.** They have never been proven to — not because they fail, but because nobody here had tried it on a real device with the app closed. That test takes one person about a minute. **Which is exactly why the app had to stop shrugging first.** On an iPhone, alerts only work once the app is saved to your Home Screen — Apple\u2019s rule, no way around it. The app did not know that. So an iPhone user tapped "register this phone", it failed quietly, and the status read **"not supported here"** — which sounds like a dead end and was one tap from working. **Now it says what to tap:** Share, then Add to Home Screen. **And a test that does not arrive now names its reason** — not on the Home Screen, blocked in your settings, this phone never registered, or our own end missing a key. That last one says plainly that it is us, not you. **The order matters more than it sounds.** On a fresh iPhone, three of those are true at the same time, and only one of them can be acted on. Telling you about the other two sends you to a settings screen that cannot help. So the app names the one that has to be fixed first. **Why we built the explanation before running the test:** a test that comes back "nothing arrived" with no reason burns the one expensive thing we have — somebody\u2019s minute with a real phone in their hand — and leaves us knowing nothing.

  415. One button on every screen, and you can just say it out loud

    **The pencil button now opens the chat, already knowing what you were looking at.** If you were on a plant, that plant comes with you \u2014 say *"watered it"* and nothing else needs asking. If you were on the home screen, nothing about a plant comes with you, which is the honest answer, so you say which one. **And you can speak instead of typing.** There is a microphone next to Send. It keeps listening through pauses, because describing what you did in a garden is not one clean sentence. A gardener has dirty hands and one free thumb; the whole point is the distance between noticing something and having it written down. **Tapping a row records nothing.** *Something\u2019s wrong* and *Just a note* hand the chat a starting point and stop there. One tap cannot know which plant, how much, or when \u2014 so it does not pretend to. You say the rest, and the app still shows you a card to check before anything goes into your garden. **There are only two rows and that is deliberate.** We did not add *Watered* or *Picked*: if the chat cannot understand *"watered the tomatoes, about two gallons"* said cold, that is something we need to know, and a button would have hidden it from us. **The plan is fewer rows over time, not more.** **One honest limit.** Speaking needs a connection \u2014 the sound is turned into text on a server, and there is no version that happens on your phone. That sits oddly beside everything else here, which is built so writing something down never waits for signal. **Typing always works, anywhere, and saves instantly.** Speaking is a shortcut on top of that. If you see no microphone, your browser does not do it \u2014 Firefox does not \u2014 or it is turned down for this site, and there is nothing to fix.

  416. "Overnight in left out" — what twenty minutes on a phone found that a typecheck could not

    **The hardening setup shipped this morning had never been looked at on a phone.** It compiled, it passed its tests, and we walked it at phone size before anybody else did. Three things were wrong, and none of them was the kind a test catches. **Day 10 read "overnight in left out."** Day 9 read "the whole day in where it is actually going to live." Our own plan describes the last steps in a way that does not take the word "in" in front of it \u2014 and **the app already knew that**: four other screens write it with a comma. We had invented a fifth way and it was the broken one. **Day 3 was scheduled to come back in at 9pm.** Which is not a shade step \u2014 it is an hour of daylight and two and a half hours of night. **The ten days save night for day 10 on purpose**, and this quietly moved it to day 3. Evening sessions now finish by 8pm, and anything that will not fit goes out before you leave instead. **And six days in a row ended with the same advice: "put it somewhere it stays in shade all day."** On days 7 and 8 that contradicts the plan itself, which by then asks for half a day of sun and then most of the day. **Telling you to keep it in full shade on the day the ramp wants sun is not a hedge, it is wrong.** That line now appears only on the days that actually call for shade. On the sun days it states the trade and stops \u2014 **because we looked for guidance on that case and nobody publishes any.** **All three are now in the tests**, so they cannot come back. But no test would have found them: they needed a screen, at the size somebody holds.

  417. Planting something out now asks where it went

    **"Plant it out" recorded the day and nothing else.** The plant stayed on file as a seed tray for the rest of its life — so a tomato in open ground kept getting watering advice written for a tray under a light, and where a plant sits is the single thing that most changes that advice. **The move was recorded; the plant never moved.** **Now finishing a transplant asks the one question that follows from it** — a tray, a pot, a raised bed, straight in the ground, or under cover — and the answer fixes the watering advice and ends any hardening off in the same tap. **This covers potting up as well**, because moving a seedling into a bigger pot is the same kind of change: the container is different, so the watering is different. Any job that records a transplant inherits the question rather than having to be remembered separately.

  418. You can wipe your garden and start over

    **If you have been trying the app out rather than recording a real garden, you can now clear it and start again.** Profile has a Start over section with a Restart my garden button. It deletes every plant, growing space, journal entry, photo, reminder and conversation, and leaves your account signed in. **It tells you what it is about to delete, with the actual numbers** — three plants, one space, fourteen journal entries — because a vague warning is not something you can check. Then it asks you to type the word restart, so it is always something you decided rather than something your thumb did. **You pick whether your location goes too.** Keep it and you land on an empty garden ready for plants. Clear it and the app asks for your zip and frost dates again, which is what a brand-new gardener sees. **There is no undo, and it empties your other devices as well.** That last part is deliberate: a wipe that left an old copy on a tablet would put the whole garden back the next time the tablet connected.

  419. The plantable list now leads with what has the most room, not with what starts with A

    Yesterday the add-a-plant list started sorting by what you can plant this week. **In spring that worked beautifully** — mustard flagged *last chance this year*, broccoli *about 5 days left*, the closing windows first. **From midsummer it did nothing at all.** **By August almost no sowing window is still closing**, so nothing carried a deadline, and the list quietly fell back to alphabetical. Twenty-nine crops you could plant that day, and the first one offered was Amaranth. **The same problem we fixed on Sunday, wearing a different coat, on the exact kind of date a new gardener would open the app.** **Anything about to run out now sits at the top, soonest first.** In April that is five rows reading *last chance this year*, then the ones with about five days left. Skip those today and you have missed them for the year. **Under them, the order is whichever crop has the most room before your first frost.** On 10 August that is mizuna with 50 days to spare, then arugula and radish at 46 — and since nothing is closing by then, that is the whole list. **The same figure the "what can I plant right now?" button uses**, because both now read the same calculation. **We tried each rule on its own and neither survived both seasons.** Sorting by deadline alone went alphabetical in August. Sorting by room alone put *last chance this year* at position 60 of 70 in April, under dozens of crops with no deadline at all — which is how you lose a sowing you were being warned about. They answer different questions, so each orders its own half.

  420. Telling the chat a plant died now actually ends it

    **The It died button on a plant page ended the plant. Typing the same thing into chat did not.** It wrote the sentence into your journal and left the plant alive — **still on your list, still being given watering jobs**, for something you had just told us was gone. **Now both do the same thing.** Say a plant died, press Save on the card, and it is closed out the same way the button closes it — dated to the day you said it happened, not to today, so catching up on Sunday about a Thursday still reads Thursday. **It only acts on a card you pressed Save on**, naming the plant, never off a guess. If it was wrong, Reopen on the plant page brings it straight back. **This is the second one of these we found this week** and they share a shape: something got written down, and the thing it was about never changed.

  421. The app now refuses to record five things that cannot happen

    **You can no longer harden off a plant you have told us is in a bed.** It is rooted — you cannot carry it outside and bring it back in. **That was the bug that started this**, and until now it was only filtered out of the screens; the record could still be created. **Four more:** nothing can be logged against a plant you have recorded as finished (a note still can, because *pulled it out and the roots were knotted* is worth keeping); nothing can be dated in the future, with a day of slack so a gardener in New Zealand tapping **today** is never refused; sprouting cannot be dated before the seed went in — **by date, not by the order you type things**, so catching up on Sunday about Thursday is fine; and an amount needs a unit, because a bare **4** against a watering is four gallons or four minutes forever. **The three rules we threw out matter more than the five we kept.** A plant may go backwards — one cut back or flattened by hail genuinely does, and refusing that would delete the exact signal we just built. A harvest needs no flowers first, because most of what people grow is leaf and root. And a move need not say where it went yet, because **forcing that answer is how somebody invents a bed they do not have.** **A rule that fires on real gardening gets switched off, and then it protects nothing.**

  422. The button is a microphone now, and it stopped repeating you

    **Two things, and the first one is a bug we shipped this morning.** Speak into the app and one sentence came back as a stutter of itself \u2014 *"see see see if see if this see if this thing…"* **Every guess the browser made was being added to the ones before it instead of replacing them.** When you talk, a phone sends a stream of improving guesses; we were gluing them together. It now keeps only what the browser has settled on, plus the words you are saying right now. **Found on a real phone, by the person who asked for the feature, within a day of it shipping.** We said at the time that whether speech actually becomes text needed a real phone to prove. It did, and it was broken. **And the button changed shape entirely.** For one day it was a pencil that opened a short list \u2014 *Something\u2019s wrong*, *Just a note* \u2014 and each row took you to the chat. **Which is more taps than just opening the chat.** So the list is gone. **It is a microphone, and it starts listening the moment you tap it, on the screen you are already on.** Say what you did. The words appear as you talk and you can fix any of them. Tap send and *then* it takes you to the chat, with the message already on its way. **Going somewhere is the reward for finishing, not the price of starting.** **You no longer tell it what kind of thing you are about to say.** No categories, no picking a plant first \u2014 just say it, and the chat works it out. If your browser has no microphone, the same box opens with the keyboard and nothing mentions voice at all.

  423. A help page sent you to a chart that had moved off that screen a week ago

    **We read all 22 help pages looking for one thing: every place a page quotes what the app says, checked against what the app actually says.** Fifty-one quoted strings. **Two were wrong.** **The worse one.** The tree-and-bush page told you to find your once-a-year jobs *"under the second chart on Today, in a list called \u2018The year\u2019s work on these\u2019"*. **There is no chart on Today** \u2014 the season chart moved to its own screen on 10 August \u2014 and the list is on **This week**, headed *"Coming up on your trees and bushes"*. The page also said anything due right now shows NOW. It does not: **a job whose window is open has left that list and become a card in your day**, which is where you would act on it. Four sentences describing a screen by the shape it had a week ago. **The smaller one.** A page quoted a button as *"Yes, that\u2019s what I see"*. The button reads *"Yes, that is what I see"*. Inside quotation marks that is a misquote rather than a paraphrase, so it now matches the button. **What the other forty-nine turned out to be is the useful part.** Thirty-seven matched the app word for word. Ten were pages quoting a sentence the app builds around your own numbers \u2014 *"29\u00b0F tonight"*, *"2 gallons"* \u2014 which is a real quotation with your garden filled in. Two were correct history: a page explaining that a button **used to** say something else. **Nothing on any page quoted a string the app has never shown.** **Both failures had the same cause, and it was not carelessness at writing time.** Both pages were accurate the day they were written and were broken later by a screen changing underneath them. **A support page is a claim about the product, and it goes stale silently.**

  424. The hardening setup now arrives before you start, not after

    **We shipped the setup flow this morning and described it as appearing the first time you have something to harden off. That was not what the code did.** **It waited until you had already put a plant outside once** — so the walkthrough that exists to lay out the ten days and set your reminder times would have introduced you to hardening off on day three of doing it. **Ordered backwards, not merely hard to find.** **Now it asks the same question the daily list asks:** is this plant ready to start? Not: has this plant already begun? You meet it before day one, which is the only moment it is any use. **Written up rather than quietly corrected** because the help page has been describing the fixed behavior since this morning — for about an hour, our own instructions were ahead of our own app, and that is worth saying out loud rather than letting the record close over it.

  425. You told us when you get home. We were not listening

    **The hardening setup asks two questions: when do you leave the house, and when are you back.** It then lays the ten days out around those two times and shows you the plan. **And that was the only thing your answers ever did.** The moment you tapped Start, the app went back to its own arithmetic: bring the tray in two hours from now, whenever *now* happened to be. **Tell us you are home at six, open the app at eleven in the morning, and it asked you to bring the tray in at one o\u2019clock** \u2014 when you are at work. **Now the time you gave us is the time on the card.** You cannot carry a tray indoors before you are home, so your own return time is the bring-in whenever the plan puts one there and it is still ahead of you today. Open the app in the evening, past your own time, and it falls back to the step\u2019s own window exactly as before. **We found it by mapping every piece of information the app holds about you and asking, for each one, which screens actually read it.** Thirty-four screens; this was the one thing collected, stored, shown back to you on your profile, and acted on nowhere.

  426. The hardening walkthrough would have arrived on day two. Now it comes before day one

    **The setup we shipped this morning explains the ten days and asks about your week.** It only knew about plants that had already been put outside at least once. **So it would have appeared on day two** \u2014 after you had carried the tray out on your own, guessed the hours, and done the thing the walkthrough was about to help you plan. Not hard to find. **Ordered backwards.** **Now your home screen offers the setup the first time a plant is actually ready**, before anything has happened. **The fix was to ask the question the app already asks itself.** The daily task list decides whether to show you a hardening job using the plant\u2019s eligibility \u2014 not its history. The setup now asks the same thing the same way. The right answer was already in the building. **This is the fifth time this week we have found a mechanism that was built, correct, and wired to something that could not happen at the moment it mattered.** We are getting faster at spotting them, which is not the same as making fewer of them.

  427. We fixed the voice stutter, shipped it, and it came back on Android

    **Second report from the same phone, same evening.** *"I I I took I took I took the seeds out I took the seeds out today…"* \u2014 one sentence, every version of it glued to the last. The same shape as the bug we had just fixed, from the opposite mistake. **Here is what happened, because it is a good lesson and an uncomfortable one.** When you speak, the browser hands over the whole sentence again on every update, improving as you talk. It also says which part changed. **Our first fix trusted that "which part changed" marker and only read from there** \u2014 which works, right up until a phone leaves the marker at the beginning and hands over the whole list every time. **Android does exactly that.** So every update re-added the whole sentence to a sentence that already contained it. **The second fix keeps nothing between updates.** Each one describes the entire sentence on its own, so it does not matter whether a phone moves that marker or not. **It is right on every phone rather than on most of them.** **And the test we wrote for the first fix could not have caught this**, because we built it from how we believed the browser behaves rather than from how it does. The test now replays the Android shape as well, and we broke the code both ways on purpose to watch it fail before trusting it. **A test that has been seen failing is worth more than ten that have only been seen passing.**

  428. We never told it what a growth stage was. It answered in its own words, and we blamed the photograph

    **This morning a photo of sweet corn came back described as *"young seedling, a few leaves"*.** True, useful, and not one of the seven words our calendar knows \u2014 so the part that compares a picture to your planting date could not place its own answer, and asked whether you had photographed somebody else\u2019s plant. **We fixed that this morning: it no longer doubts a photograph over a reading it cannot follow.** **Today we went looking for why the reading was in its own words at all, and the answer is that we never asked for anything else.** We have two places that read your photos. One of them lists the seven stage words when it asks. **The other gave one example and stopped.** **The difference is measurable and we measured it on the same corn photograph.** Asked without the list, three times: none of the three answers was a word our calendar could place. Asked with it, three times: all three were. **Same photo, same model, same everything but one sentence of instruction.** **So both now ask the same way** \u2014 and if none of the seven words fits what it sees, it is still free to say so in its own. Nothing gets thrown away for missing our vocabulary; that would delete a true sentence about your plant, which is exactly what we refused to do this morning. **One thing we are not claiming.** Given the list, it answered *growing* \u2014 and *seedling* was on the same list, for a plant its own free answer had called a seedling. **More of the answers are now placeable; whether more of them are right is a separate question and we have not established it.** Whether corn with a few true leaves is a seedling or growing is a gardening question, and we would rather log it than settle it with a number that only measures whether we were understood.

  429. We said phone alerts had never been proven to work. They had.

    **Our help page said no alert had ever been shown to reach a phone with the app closed.** That was wrong, and it had been wrong for eleven days. **One arrived on 31 July, on a real phone, with the app shut.** We know because it caused a second bug — opening the app produced a second, near-identical alert for the same tray — and the fix for that has been in the app since the same day. **The code knew. The help page did not.** **What is true now, stated exactly:** alerts have arrived on one phone, once, on a stated date. That is proof the channel works — not a promise it works on every phone, which is why the app still has a **Send a test alert** button and why you should use it. **Why we are writing this up rather than quietly editing a sentence.** We had a claim on a public page that our own code contradicted, and nobody noticed because every check we run points at the code. **Nothing points from a published sentence back at the thing that would disprove it.** Being wrong in the cautious direction is still being wrong.

  430. It stopped guessing how far along your plant is from the calendar

    **Our own record for sweet corn says the seedling stage runs about day 7 to day 31, and the stage after it day 14 to day 55.** They overlap by more than two weeks. **64 of our 66 crops overlap the same way**, and that is honest rather than sloppy \u2014 on day 20 a corn plant really can be either, depending on the spring. **But something still had to answer, and the thing answering was a rule in our code.** Faced with two stages that both fit, it took the later one. **Not because anything about corn decided that \u2014 nothing in the plant record was consulted at all.** **So it asks a different question now: what can you actually see?** First true leaves. Fast new growth. Stems ankle high. **Every crop\u2019s record already lists which stage shows which of those**, sourced the same way everything else is. *"Several true leaves"* is past the first and short of ankle-high \u2014 which is exactly the thing a date cannot tell you, and exactly what a photograph can. **And when a sign belongs to two stages, it says both.** Sweet corn lists silks under two of them, because silks appearing and silks drying are both worth noting and our list has one word for it. **In that case the app names both and will not question your photo over a reading it cannot place itself.** Picking one would look more confident and be less true. **Across the whole catalog, 673 signs point at exactly one stage and 181 point at more than one.** The second number is not a defect to be tidied away \u2014 it is the honest share, and those are the ones you now get told about instead of guessed at.

  431. Every event now records what stage the plant was in — and reaches your account

    **When you log anything now — a watering, a harvest, a pest — it records what stage the plant was in and where it was sitting at the time.** It also records what stage it was *supposed* to be in, worked out from when you planted it. **The gap between those two is the useful part**: a plant three weeks behind where it should be is the most worth-knowing thing an app like this could notice. **Nothing is filled in for the past.** Every entry made before today has no stage and will keep none — we could calculate one, and it would be our own guess dressed as an observation, which would quietly ruin the thing this exists for. **Blank is honest. A guess is not.** **And a test caught this deleting itself before anyone shipped it.** The first time anything else about an entry synced, the stage would have been wiped — permanently, since it is never recalculated. **That led to a bigger fix:** our build now fails if any new thing is stored on your phone and quietly never sent to your account. **Something that saves locally and never leaves looks recorded until you replace the phone.** **One known gap remains and the new check found it independently:** a variety name you typed yourself still lives only on that device. We already said so on the varieties page. Now two separate things say it, and one of them fails the build if we forget.

  432. The hardening-off setup asks when you leave the house, not what time you want reminders

    **Nobody fails at hardening off because they do not know what it is.** They fail because day 3 is a Tuesday and they leave at 7:30. The knowledge is one paragraph. The commitment is ten days of being in the right place twice a day. **So the new setup flow is not an explainer.** It is three screens, all skippable. The first shows you the whole ten days in your own plants\u2019 names. The second asks **when you leave and when you are home** \u2014 and that is the whole feature, because the app already knows the ramp, your frost dates and how cold each crop can take. Your week was the only missing part. **Then it puts the tray out and brings it in at times you are actually there.** And on the days that do not fit \u2014 day 5 wants five or six hours and you are gone ten \u2014 **it says so rather than pretending**: out before you leave, and it will be out longer than the step asks. **What we deliberately did not write** is a sentence telling you the plant will be fine about that. Whether a long day in full shade is really equivalent to a short one is a gardening claim we have not sourced, and we would rather show you the trade than invent the reassurance. **No streak, no ring, no percentage.** Ten days is a plan, not a game. Showing day 4 of 10 is the plan; showing 40% is theater.

  433. Our free plant data now explains its own gaps in plain English

    **When a field in our plant database is empty, the download tells you why — and until today 47 of those explanations were written for us rather than for you.** They opened with things like *MIGRATED FROM `revision_history`, WHERE THIS WAS DECIDED AND NEVER RECORDED AS STATE* and named internal batch numbers. **The useful answer was already inside them.** Underneath the bookkeeping, each note named the pages we actually read and what those pages said — which is the whole point of publishing a gap rather than a blank. So we stripped the scaffolding and kept the reason. **Beets, for example, now reads:** no source we read gives one — *"no beet-specific source states a value; USU/UMD/Clemson/NC State give only consistent moisture / water regularly, no numeric"* — re-fetched 11 August, and Utah State, Minnesota and Maryland still state no per-week figure. **The quoted part is left exactly as it was written**, because that is the evidence. Only the wrapper around it changed. **And 33 notes still read a little like internal shorthand** — mostly ones that open in capital letters. Those are a different shape from the 47 and they are on the list rather than quietly left.

  434. You told us it came up, and the app kept telling you to wait

    Sunday we added a line to the plant page that says when to expect your seeds up — **"Sown 4 days ago. Expect the first sprouts in about 2–8 more days."** **It did not listen when you told it they had come up.** Log "germinated" on the plant and the card carried straight on counting down, on the same screen where you had just recorded it. Fixed: the moment you say it sprouted, that line retires. **How it was found is the useful part.** Three separate bugs this week were the same shape — you tell the app something happened, and one part of the app updates while another never hears about it. Moving a plant. Recording one as dead. Now this. So instead of waiting for a fourth, we listed **every one of the 29 things you can log** and asked which ones nothing in the app reacts to. **Five.** Four of those are simply diary entries — writing down that you treated something does not need to change anything else. **The fifth was this one.** **And there is now a check that will not let a new one through.** Add something a gardener can log, and the build fails until either something acts on it or somebody writes down why nothing should. It cannot tell whether silence is correct — but it can stop silence being an accident.

  435. A code nobody can read is not a reason

    **The list of changes the server would not take had one row reading `not_your_thread`.** The rows above and below it said things like *"It belongs to a different account"*, in English. One of them was a word from inside our own code, on the screen you open when something has gone wrong with your garden data. **It was reported as one code. It was three.** The list that turns those codes into sentences had eight entries; the server can send eleven. `not_your_plant` and a catch-all for a refusal that arrives with no reason at all were both missing too \u2014 nobody had seen them because a hole in a lookup only shows when somebody\u2019s change happens to land in it. **All eleven have words now, and a check reads the server\u2019s own code to keep it that way.** Add a new reason on our side without writing the sentence for it and our build fails, by name. **And if a newer server ever sends something this app has not heard of, it says so** \u2014 that it was refused for a reason this version has no words for \u2014 rather than printing the token. **Then the same sweep found a worse one in the chat.** When an answer started coming back and the connection dropped partway, the message read *"Did not send."* **It did send.** It reached us, we started answering, and the line broke while we were writing. Same for an answer that came back in a shape we could not read. Both now say what actually happened, and both offer Try again, because both are worth one.

  436. “A couple of weeks” now means the same thing in both directions

    **“Remind me in a couple of weeks” worked. “Planted a couple of weeks ago” did not.** Same app, same person, same ordinary English word, two different answers — and the second one just refused, so you had to go back and rephrase it. **The cause was two lists.** The words the app understands for counting time were written down twice in our own code, and only one copy had ever learned “a couple”. There is one list now, and both directions read it. **All the ways people actually type it work** — with “of” or without, with “a” or without. What has not changed is what it refuses: “in the spring”, “a while ago”, “when it warms up” still get nothing rather than a guess, because a season is six weeks wide.

  437. Garlic finally answers “what can I plant now?”

    **Ask in September and garlic used to say the payoff was next year.** The right answer is “yes, now” — garlic goes in around your first frost and comes out the following July. **We already had the date and never looked at it.** Garlic’s first growth stage runs from six weeks before your first frost to two weeks after, sourced and sitting in the record. Every other crop is measured from the last frost of spring, so nothing ever thought to check the other end of the year. **Two more were broken the same way** — cereal rye and hairy vetch, the cover crops you sow in autumn. Both answer properly now. **Asparagus and rhubarb have not changed.** They are perennials that genuinely make you wait a season, and they still say so.

  438. Help is now grouped by the question you arrived with

    **The help section was 22 pages in one flat list**, ordered by a number we assigned by hand and had quietly stopped maintaining — two pages tied at 13, three at 20, then gaps up to 60. That is what a list does when it has outgrown being a list. **It is now six groups, named after the question that sends you there:** getting your plants into it · when can I plant it and will it survive · what should I be doing right now · something looks wrong with my plant · keeping a record · when the app is wrong. **Every page kept its address.** Nothing you have bookmarked or linked to has moved, because grouping into new URLs would have cost 22 redirects for a change nobody asked for. The groups are headings. **And the part that stops it drifting back:** a new help page now cannot be added without choosing which group it belongs to — the build refuses it otherwise — and the hub fails to build if any page would go unlisted. The old flat list had collisions precisely because nothing ever forced that decision.

  439. Two small things on the add-a-plant screen

    **Cucamelon, lovage and summer savory were offering you “1 varieties”.** All three sit in the “ready to plant this week” list, so it was on the first screen most people ever see. Fixed. **And typing a place name now lights the right kind for you.** Type “raised bed” and the raised-bed button is already picked when you get to it; type “the big pot” and it picks pot. You can change it with one tap, and once you touch those buttons it stops guessing. **It suggests rather than decides.** We do not save a guess about where your plant is sitting — that answer drives how often we tell you to water, so it should be one you actually looked at. What it fixes is being asked the same thing twice when you had already typed the answer.

  440. Our spacing calculator and our radish page disagreed. They do not now

    **The calculator told you to leave 6 inches between radish rows. Our own radish page said 10 to 12.** Both numbers came from real university guides, so neither was a typo — but you should not get two different answers from two of our pages. **So we read the guides again, and found something more useful than a winner.** Line up the two numbers each guide gives and they split cleanly. On how close radishes go *to each other*, everybody agrees: about an inch or two, and Utah State says why — crowd them and they never make a proper root. On how wide the gap *between rows* should be, the same guides range from 6 inches to 18. **That second number is about you, not the radish.** Missouri gives two answers for the very same crop — 18 inches if you are working the row by hand, 42 if a tractor is going down it. Nobody says a radish grows worse in a narrow row. They are telling you how much room you need to stand, kneel and weed. **So the calculator now says 12 inches**, which fits inside more than one guide and matches our radish page. We show the range as 6 to 18 rather than averaging it: if your beds are tight and you weed by hand, 6 is fine. If you want to get a hoe down there, go wider.

  441. Seedlings sharing a tray now get their own card

    **If you sow seed into one tray, the seedlings have to be separated before they crowd each other out.** It is the first time a seedling is ever handled and the app had no word for it — so the first real event in a plant’s life went unrecorded, or got called a transplant. **Now a tray whose seedlings are up gets a card asking whether they have their first proper leaves yet.** It asks rather than tells, because we cannot see your tray and nobody publishes a day count for this — it is what the leaves look like, and you are the one looking. **It goes by the tray, not the crop.** A tomato sown one seed per cell never needs pricking out; the same tomato scattered in a flat does. We checked two extension services and they give opposite advice about the method, and neither of them lists crops — so the thing that decides is how you sowed it, which you already told us. **And four jobs now record themselves properly.** Weeding, staking, covering and hilling up were being written into your journal as plain notes because of a lookup that had gone stale. They get their own entries from today.

  442. The home screen said both things about day one

    **Four lines apart, on the same screen, about the same plant:** a card reading *"HARDENING OFF \u00b7 DAY 1 OF 10 \u2014 put the basil out"*, and under it *"Ready to start hardening off \u00b7 Basil (tray)"*. **Both true. Together they read as though the app had lost track of your week.** **The line was ours from the day before.** We had just fixed the setup so it arrives before day one instead of after it \u2014 and put it directly beneath the card that announces day one. **The plant name was wrong on its own terms, too.** The setup asks two questions: when you leave the house, and when you get home. **You answer them once and they are used for every plant you ever harden off.** Naming the basil implied a per-plant setting that does not exist. **So the line now says the one thing the card cannot** \u2014 *"fit the ten days round your week \u2014 set your times once"*. No plant, no day number, no second opinion about whether you have started. **The same duplication was one state further along and nobody had reported it yet.** Once a run was going, that line restated the day number for every plant while the card above said the same thing. It now carries a status only when the day\u2019s cards are silent \u2014 which happens in exactly one situation, when you have finished today\u2019s step and there is nothing left to do. **And it is the compiler that keeps it that way.** The list of situations that get a card is now written once and this line is its opposite, so a new one added to the app with no card fails our build by name rather than quietly turning up here. **We proved that by adding a fake one and watching the build refuse it** \u2014 the first version of the same check compiled happily and guarded nothing.

  443. A photo can guess the stage. Your planting date is what makes the guess worth anything

    **The app has been reading a growth stage off photographs for weeks and comparing it to nothing.** Now it meets the one thing only we hold: **when you actually planted it.** **Three answers.** If the picture and your dates agree, it offers to write the stage down \u2014 one tap. If they differ but your calendar could plausibly put the plant there around now, it says both and records nothing: *"that looks like fruit set to me, your dates put it around leafy growth."* Two facts, no verdict, and you decide. **And if the picture cannot fit your dates at all, it asks whether it is the same plant.** Fruiting on something sown eleven days ago is not a stage \u2014 **it is evidence about the photograph.** A neighbor\u2019s plant, last year\u2019s picture, the wrong bed, the wrong plant tapped on the way in. It never tells you you are wrong, and it writes nothing about the plant. **If you have already told us a stage, the photo does not get a vote.** Your words stay the record; a picture that disagrees becomes a question for you rather than a correction we apply. **What it will never say is "ahead" or "behind."** The stages are not one ladder every crop climbs \u2014 bulbing, heading and pod fill are different plants doing different things \u2014 so there is no axis to be ahead on. Both facts, and you draw the line between them.

  444. Three more jobs stopped saving as untitled notes

    **Training a vine up a trellis, snapping garlic scapes off, and the dormant spray for peach leaf curl were all being written into your journal as blank notes.** The job saved and the date was right, but the entry did not say which job it was — so reading your year back in January had holes in it. **All three now record as themselves**, and each already had somewhere honest to go: training to a trellis is staking, taking the scapes off is pruning — the point is sending the plant’s energy back into the bulb — and a dormant spray is a treatment. **One is staying a plain note on purpose.** Curing onions and garlic happens to the crop after you lift it, not to the plant, so it is kept in your own words rather than filed under a category that would not tell you anything.

  445. A phone said 6 changes were not backed up. 31 were

    **The app holds two different kinds of unsent change and it was mixing them up in every sentence it wrote about them.** Some are simply on their way. Others we asked the server to take and it said no \u2014 those will not go up on their own, however long you wait. **On a phone with thirty-one changes queued, six of them refused, here is what four different parts of the app said.** The alarm at the bottom of the screen: *"6 changes are not backed up."* Twenty-five more were not backed up and were not mentioned. The row on Profile: *"Waiting to back up \u2014 31 changes"*, when six of them were waiting for nothing at all. The line beneath it promised they would go up as soon as there was signal, which for those six was simply untrue. And a **Back up now** button that, on a queue of nothing but refusals, sent nothing and changed nothing on the screen. **All four now read from one place.** The alarm leads with the whole number, because that is the one that answers *is my garden safe* \u2014 *"31 changes are not backed up. The server will not take 6 of them."* Profile shows both. The note says which ones signal will fix and which ones it will not. The button appears only when there is something for it to send; when everything has been refused, the one that helps is **Try these again**. **This is the second half of a fix we shipped on 5 August.** That one taught the app to stop calling a refused change *"waiting"*. It did that in the one line it was written at, and left three more sentences describing two things as one. Splitting a number in two does not go back and correct every sentence that was written when there was only one of it.

  446. We shipped something that questioned good photographs. A picture of corn caught it within the hour

    **This morning we shipped the photo check that compares what a picture shows against when you actually planted.** Three answers by design: agree and offer to record it, differ but plausibly so and just say both, or \u2014 when the picture cannot fit your dates at all \u2014 ask whether it is the same plant. **That third one was firing on almost everything.** **Here is why, and it is our fault in a specific way.** The app holds a fixed list of growth stages \u2014 seedling, fruit set, ripening. The part that looks at your photo does not pick from that list; **it writes like a person.** Asked about a corn plant it answered *"young seedling, a few leaves"*. True, useful, and not a word on our list. **So the app could not place its own answer on your calendar \u2014 and treated that as evidence about your photograph.** It asked whether you had taken a picture of somebody else\u2019s plant, because we could not follow ourselves. **Fixed: it may only question your photo when the stage it sees is one your crop genuinely goes through and your dates put it somewhere else entirely.** Fruiting on something sown eleven days ago still gets asked about. An answer we simply do not recognize now says what it sees and stops there. **Failing to understand ourselves is not evidence about your picture.** **What found it was one real photograph.** Every test we had passed the code a tidy stage name off our own list, so fifteen green checks certified a path the real thing never takes. The test now contains the exact sentence the model returned, word for word, and a second one making sure the useful question can still be asked when it is genuinely earned.

  447. Ask a question before you have an account, and the app now holds your place

    **Two small things from the same walk, and they were the same problem twice.** **The app was writing in your voice.** Ask something without an account and the reply came back inside your own message bubble — your question and our instruction in one purple block, as though you had said both. It is the one thing we forbid the answering side from doing, and the app was doing it to itself. Anything the app says now sits underneath your message, where it belongs. **And it gave directions instead of a door.** The line read "sign in on Profile" — except Profile does not have the words *sign in* anywhere on it, only a link about backing up. So we sent you to look for a word that was not there. Now the sentence says you need to be signed in and **the link is right beside it**. **The part that actually cost people something:** signing in dropped you on the home screen, and the chat reopened empty. Your question was gone from view and you had to remember it and type it again. **Now signing in brings you back to the same conversation**, question still there, and the line under it turns into Try again. One tap and it sends. **We had already built exactly this for jobs** — finish something the chat asked you to do and it offers you the way back to that conversation. **The path that needed it most was not using it**, and a stranger's very first sign-in is the most common place in the whole app to be holding a question you have not managed to ask yet.

  448. A row of white dots on a leek leaf is an insect telling you what it is doing

    **Allium leafminer leaves a sign almost nobody reads as a pest.** Not a blotch, not a chewed edge — Penn State describes "a characteristic linear series of round white dots in leaves". A neat line of pinpricks, made by the female puncturing the leaf to lay. **And it appears weeks before the part that hurts.** The dots are on the leaf; the damage is in the bulb. "Larvae tunnel into the leaves, moving down towards the bulbs", finishing as "small reddish-brown pupae in the bulbs" or leaving to pupate in the soil. **So a garlic or leek that comes up ruined was announced by a line of dots on a leaf tip a long time earlier** — which is the difference between knowing and finding out. **The timing is the other half**, and it is uncomfortable if you grow garlic: two generations a year, and in the Northeast the fall flight runs "in mid-September and remains active through October", which is exactly when garlic goes in the ground. **One honest limit we have written into the record.** Penn State says those dots are "particularly apparent on green onions and scallions" — thin green leaves. Expect them to be harder to spot on a garlic or a leek than the description makes it sound. That completes the onion-and-garlic set and takes us to **94 problem descriptions**, covering a bit over three-quarters of the times a plant in our database names a problem.

  449. A source we cited has been withdrawn, and we are telling you rather than quietly relinking

    Our hardening-off page carries a number we like a lot: an artichoke needs **250 to 500 hours below 50°F** before it will form a bud, which is why the one crop in the garden that wants the cold snap is the one nobody hardens off. **The publication we got it from no longer exists.** University of Florida IFAS has withdrawn it — the link now returns "gone" rather than a page, on their old address and their new one. **We only found out because we now check.** Last week we started fetching every source we cite and comparing our quotes against it word for word. A page that cannot be fetched is recorded as such instead of shrugged off, which is how a dead citation stops being invisible. **Then we went looking for the number somewhere else, and it is not there.** Utah State says only that artichoke "requires cool spring temperatures to initiate the flower stalk". UC IPM gives no figure at all. **So here is where that leaves it, and we would rather say it than tidy it away.** We read that publication while it was up, and the sentence on our page is what it said. You can no longer go and check us, which is most of what a citation is for. **Treat 250–500 hours as the best figure anyone published rather than a settled one** — every source agrees an artichoke needs a real stretch of cold, and only the withdrawn one put a number on how much.

  450. A permanent way to your week, and a chart that was covering the buttons

    **Your week had one way in: a line on Today counting what was left.** Clear everything and the line goes — so the screen became unreachable at the exact moment you had earned the right to look at it. **There is a Today / This week switch at the top of both now**, because they are two views of the same question rather than two places. **And the season chart was drawing over the buttons at the bottom of the screen.** Not near them — through them. The tab bar was pinned in place without ever saying how high it sits, so anything that did say won. It says now, and the chart is sealed so nothing inside it can climb out onto the app’s own furniture again. **Some tidying with it:** the decorative torn-pixel divider is gone, because it separated an upper and lower half of a screen that no longer has two halves. And "22 more this week" and "3 done today" were two loose lines at two sizes; they are one row under the card now — what is left on one side, what is behind you on the other.

  451. A wrong address no longer reads as a lost garden

    **Open a link to a page that does not exist and the app used to show you the Today screen.** Not an error, not an explanation — Today. And on a fresh load, before anything has come back from your own garden, Today says **"Nothing planted yet — add the first thing in your garden."** **So a stale bookmark, a shared link to a plant since removed, or a typo could show somebody with a full garden the most alarming sentence in the app.** Nothing was wrong. It read exactly like everything was. **Now a wrong address says so, and says why:** the address is empty, not your data, and everything you have saved is where you left it — with two ways back. **The same screen now covers a plant and a spot that are no longer there.** Those two used to say the bare words "Not found." with nothing else on the page: honest, and a dead end, because an installed app has no address bar to retype. **Four places could be handed a dead link and they did three different things** — one of them badly. Three now share one screen. The fourth, a crop we do not carry, already said something better and specific, so it kept its own words.

  452. Both cankers weep gum, so the gum is not the test

    **A cherry or plum with sap oozing from a sunken patch on the trunk has two common causes, and everyone diagnoses it by the ooze.** That cannot work: both of them do it. Wisconsin says bacterial cankers "often produce a gummy, resinous ooze", and Penn State says the first sign of Cytospora is "the exudation of gum at the point of infection". **Three things do separate them.** **Look at the leaves.** Bacterial canker does not stay in the wood — "infected leaves become spotted and yellowed" and "the centers of leaf spots often shothole", meaning the dead middle drops out and leaves a hole. Spotted leaves full of small holes, on a tree that also has a gummy canker, is the picture worth knowing. **Look at the color of the gum.** Cytospora's "turns black from alternate wetting and drying", so an old dark crust points there rather than fresh amber. **And look at the shape of the patch.** Cytospora cankers "enlarge more along the length than the width of the branch", so older ones are "oval to elongated" — stretched along the limb rather than round. **One honest limit.** There is a sharper test we have not used: the shape of the canker edge under the bark. We found it in a search result rather than on a page we fetched, so it is not on this site until somebody reads the source it came from. That takes us to **97 problem descriptions**.

  453. Finishing a job with no photo no longer loses the conversation it came from

    **When the app asks you to go and photograph something, finishing that job takes you back to the conversation that asked.** That already worked. What did not is the case where you finish it and there is no picture — you looked, and the answer is something you can just say. **An empty photo list read as "nothing to come back for", so the way back quietly vanished** for anybody who skipped the camera. Now the thread still opens and the line above the box says pick up where you left off, rather than claiming a photo is attached when none is. **Closing a job with no photo means no photo. It does not mean no conversation.** **The reason this had no test was not that anybody skipped writing one.** The decision lived inside a screen, wired to the database, and nothing outside the app could call it — untestable rather than untested. Pulling the decisions out into their own piece and leaving the database work behind made it reachable, and **the very first run crashed**, on a line that had been reading the wrong field the whole time. A test written from what we expected to happen would have checked the sentence and never run the code. **Nine checks now hold it**, including the one that would have killed the feature silently.

  454. Five sprays out of six came with no label warning. Now the app reads the answer itself

    When an answer names something you put on a plant, a caution appears under it: check the label lists the plant you are treating, because the same ingredient is sold in versions that are not for food. **We write that line ourselves rather than asking the answer to remember it**, and have done since we measured the answer remembering about two times in three. **What we had not measured was the trigger.** The caution appeared when the answer flagged the ingredient to us behind the scenes. So we asked about cabbage worms six times and counted: the answer named Bt in all six, and flagged it to us in one. **Five people out of six would have been handed a spray with nothing under it** — and our own help page told them this part was best-effort, which made it sound like a rounding error rather than five out of six. **The fix is that the app now reads the answer.** It is holding the words on the screen, so it looks through them for the name of anything you put on a plant — Bt, horticultural oil, insecticidal soap, copper, neem and the rest of what a home gardener actually meets. Find one, draw the caution. Nothing has to be remembered by anybody. **There is still an edge and we would rather say it.** Something unusual, named in an answer and not flagged to us either, could slip past the list. That is a much smaller hole than the one it replaces. If you ever see a treatment with no caution under it, send it to us with the pencil button and the name goes on the list. **The wider lesson is one we keep paying for:** a safety line that depends on remembering is a reminder, not a guarantee. We had written "best-effort" in a code comment and moved on, and the number behind those words turned out to be one in six.

  455. Hardening off now checks where the plant is, not just where it started

    **A plant already growing in a raised bed or straight in the ground was still being asked to go outside for two hours and brought back in.** It cannot. It is rooted in a bed. **The app was asking one question and it was the wrong tense:** was this plant started indoors? That describes how it began and stays true forever. Where it sits now is a different answer, and nothing in the hardening code was reading it. Now it does, everywhere at once — the job on Today, the evening bring-in alarm, the line on the home screen and the hardening page all stop together. **Seed trays, pots and greenhouse plants keep theirs,** because those are the ones you actually carry outside and back. **If we have never been told where a plant is sitting, it still gets the job** — going quiet over a question we never asked would be worse. So the card now carries a button that says it is already in the ground. One tap ends it, and tells us something the watering advice needed anyway.

  456. "How much water?" offered you the answer in fruit

    **One fruit. Two fruit. Six fruit.** No gallons anywhere. That is what the app put under the question *"how much water?"* **Watering is the one job with two answers that do not convert into each other** — a watering can is gallons, a hose is minutes, and nothing turns one into the other without knowing how fast your tap runs. So the app is meant to pick neither and ask. **That rule had been written down correctly since the day it was written.** The screen simply never read it, and fell through to the answer it uses for a harvest — a count of the thing you picked. The comment sitting directly above the offending line said *"watering is always in the two units a person can answer"*, while the line below it removed exactly those two. **A comment describing the intent is not the intent.** The units now come from the job itself, so watering offers gallons and minutes and nothing else — and there are tests that fail if any job ever offers an amount nobody could answer in.

  457. Old copies of the app no longer pile up on your phone

    **Every version of the app you had ever installed was still being kept on your phone.** The part that cleans up after an update looked for old copies by name, the name never changed, so it found none and deleted nothing. Driven from a clean phone through three updates: 17 files kept, then 18, then 19 — all three versions still there. **It could not show you the wrong thing** — each version’s files have unique names, so an old one is simply never asked for. It was taking up space, and it would have kept doing that for as long as you used the app. **The name now changes when the contents do**, so the previous copy is cleared on the update that replaces it — and an update that ships identical files re-downloads nothing. **The good news from the same test:** one ordinary reload gets you the new version. No force-quitting, no closing every tab, nothing you would not already do.

  458. Rosemary does grow where you live. Our own page was implying otherwise

    Look up rosemary and you will see **hardiness zones 8 to 11**. If you garden in zone 5 that reads as a closed door. **It is not one.** That number is where rosemary lives through the winter outdoors — colder than that, people grow it as an annual or keep it in a pot that comes inside, which is how most of the country grows it. **The number was right. The name of the box it sat in answered a different question.** Six crops had this: rosemary, marjoram, snapdragon, lemongrass, chayote and scallion. Each now says in plain words what the zone actually means for it. **Twenty-one crops matched the same pattern and only six were wrong.** The other fifteen are annuals sitting at zone 2 — a floor that excludes nobody. We read the list rather than trusting the pattern, which is the only reason fifteen fine crops did not get a warning they did not need. **Three more numbers picked up the condition they were measured under.** Goji's soil pH of 6.8–8.1 is the band it *prefers*, and Florida's own page says the plant grows across a much wider range — so acidic soil is not a reason to skip it. Bitter melon's 50 days to harvest was measured in north Florida, and days to maturity move with heat. Malabar spinach's 70 days assumes a good summer. **None of these were wrong numbers.** Every one is exactly what the source says. What was missing is the half-sentence the source put next to it.

  459. Running out of questions used to be silence. We found it by using the app on a phone

    **Ask your sixth question of the month and nothing happened.** No answer, no explanation, no Try again — your question sitting on its own above an empty space. Ask another and the same nothing. **Anybody who did not know a limit existed would keep typing into a box that had stopped working.** **The infuriating part is that the app knew.** It had the sentence written and ready — *that is all the questions on the free plan this month* — and it wrote it down correctly the moment the limit was hit. **Then a background sync wiped it a second later.** The sync's job is to agree with our server about which messages exist, and it treated "the server has your question" as proof the question had been answered. Your question WAS delivered. That is why it came back. **What failed was the reply**, and a sync that reconciles delivery has no way of knowing that. **We fixed it as the rule rather than the case:** the sync owns what it knows, and it does not know about the answer. Anything else that can fail after a message is delivered would have had the same bug. **Second thing, from the same session.** Asked "when is my first frost again?", the chat said it had no note of your frost dates — while the home screen one tap away was showing them. **Then it explained the gap by inventing a setup step you never did**, and pointed at a settings screen that does not exist. Until you give a ZIP those dates are the typical ones for your zone, they live on your phone, and the chat was simply never told. Now it is sent the same line the home screen shows, plus where the dates came from. It gives you the date, says it is the typical one rather than yours, and tells you a ZIP gets you your own. **Both were found by walking the app on a phone-sized screen, signed in, like a stranger** — which nobody had ever done. Every number in every test before that came from a machine talking to a machine.

  460. Setup moved above your jobs, and stopped being a checklist once it is nearly done

    **The setup list sits above the day\u2019s jobs now, because it feeds them.** A garden with no ZIP code gets the typical dates for its zone, so every deadline underneath is an average wearing a date\u2019s clothes. Fixing what the app knows about you outranks working through what it worked out. **It only earns that spot because it shrinks.** With one thing left it is a single line — the step, the reason, the count — instead of four rows where three are ticked and carry a paragraph each explaining why they were worth doing. **Nobody needs the reason for something they have already done.** **And the two cases are genuinely different screens.** A brand-new garden gets the full list, because then the list IS the thing to do. A nearly-finished one gets a line. **The date and frost countdown were also redrawn** — same height, but the days-to-frost figure is set apart, because that is the half that decides what is still worth planting. The date is context and now looks like context.

  461. The add-a-plant list used to open on African marigold. Now it opens on what you can plant

    Tap **Add a plant**, do not type anything, and you got all 151 crops in alphabetical order. On a phone that is a 260-pixel window over eight thousand pixels of list, so the answer to **"what can I actually put in today"** was about thirty scrolls away — and the first thing offered was African marigold. **The search was never the problem. The default was.** **Now the list opens with what is plantable this week in your garden**, worked out from your own last frost date rather than a national average — the same calculation the crop page uses, so the two can never disagree. Below that, a divider, and then everything else we hold. **Nothing is hidden.** A browse list exists to show you the catalog is bigger than you thought; filtering it would teach the opposite. All 151 are still there, in one scroll, just in an order that answers the question you opened the screen with. **And the ones about to close come first.** If a sowing window has a week left, that crop sits at the top with **"about 5 days left"** beside it, because a window nearly shut is the most urgent thing on the screen rather than the least. Where it is the final week, it says **"last chance this year"** instead of counting down to zero. **How much it changes depends on the day**, which is the point: in late April a zone 6 garden sees 84 crops ready, in mid-July 18, in late October 5.

  462. The add-a-plant screen was giving two different answers to one question

    On the add-a-plant screen there are two ways to ask **"what can I plant now?"** — the button at the top, and the crops highlighted at the top of the list beneath it. **Yesterday, on the same day, in the same garden, they said 34 and 11.** **Both were honest. That is what made it bad.** The button asked the real question — *will this crop actually finish before your first frost* — and the list underneath asked a shallower one, *is the sowing window technically open*. Two reasonable questions, one screen, and no way for you to know which you were reading. **They now run the same calculation, so they cannot disagree.** Not "we checked and fixed the gap" — there is one piece of code answering the question and both parts of the screen call it. The list can no longer drift away from the button, because there is nothing left to drift. **Crops that will "only just" make it count as plantable in both.** If a source says a crop will finish but without much room, that is a yes with a caveat — and the list must not be stricter than the answer sitting above it. A test now checks the two numbers match on four dates spread across the year, because agreeing today is not the same as being unable to disagree tomorrow.

  463. Hardening off now names the tray you are about to pick up

    **A card that said "Put 6 plants out" made you work out which six.** If those six are on one named tray, it now says **Put the windowsill tray out** — the object your hands are actually going to lift. Same for bringing them in. **Two different trays are never called one tray,** even on the same day of the plan. Sending you out for one and leaving the other on the sill overnight is the exact failure this whole feature exists to prevent, so a mixed group goes back to counting plants. **And here is what we did not do.** The ask was to run hardening off by tray, so we went and read 34 extension and seed-company sources first. The guidance is not written that way — it describes the plant, by about 17 to 1, and the tray language belongs to seed catalogs rather than the horticulture. So the ten-day plan is still tracked per plant. **What is genuinely a tray thing is the carrying,** and that is the part we changed.

  464. Two universities disagree about what eats dill, and now we say so

    **Ask us about hornworms on your dill and until today you got a description written about tomatoes**, with nothing telling you that is where it came from. **Here is the honest tangle underneath.** University of Minnesota's hornworm page names the hosts plainly: "Tomato is the host of choice, but they have also been found on potato, eggplant and pepper." No dill. **But NC State's dill page says the opposite** — "Dill is susceptible to aphids, tomato horn worms, and powdery mildew." **Both are real extension services and neither is wrong.** One is a page about the insect, listing the crops it was studied on. The other is a page about the plant, listing what troubles it. They are answering different questions, and we had quietly stacked one on top of the other. **We nearly deleted the dill link to tidy it up. That would have thrown away a sourced fact** because a different page did not repeat it — which is exactly the mistake we spend most of our time trying not to make. **So nothing was removed. Something was added:** when the app answers about hornworms on a plant Minnesota did not study, it now tells you that page is about tomato. **You get the disclosure instead of the deletion**, and you can decide what it is worth on your dill. **One thing genuinely worth knowing while you look:** the big green caterpillar on dill, parsley, fennel or carrot is usually a black swallowtail — we hold a separate page for it. Plenty of gardeners leave that one alone on purpose.

  465. The home screen went from four and a bit screens to one

    **Measured on a real garden of eleven plants: nineteen separate things asking for attention before you scrolled, and the largest type on the page said 23 when one job was actually due today.** The other twenty-two were this week and no rush. **A pile of bills, not a morning.** Our own research file has the most damning review in this category, about a rival: a planner that *"just made me constantly feel behind."* **Now the number is today\u2019s, and the job is named.** *One thing today — the skin has set, it is ready to come in.* One button. The rest of the week is a single line underneath. **Nothing was deleted.** The season charts, the will-not-ripen warning, the tree jobs and the pollination note moved to your week screen, whose whole rule is that doing nothing there is a successful visit. Your plants moved to the Garden tab, which already listed every one of them grouped by bed. The setup checklist stayed, because it is what tells you what the app still needs from you. **Four and a bit screens became one.** Sixty-three things to look at became sixteen.

  466. The card is a header now, and Done means done

    **Your jobs were inside the orange card, so the card grew with the list and every job sat on a block of color.** The orange is a header now — the count and one way to be walked through everything — and the jobs sit below it on the page, each with its own button. **And "Done" now finishes the job where you are standing.** If there is something left to fill in, it opens on the same screen: log that you watered and the how-much question appears right there. **The word "Open" is gone** — it was an extra tap that started nothing, and the few jobs that genuinely move you somewhere (a photograph of a leaf, permission to send you an alarm) now say what they will do instead. **One of those buttons was appearing where it should not have.** Our own rule said a job covering more than one plant could not be finished in a tap — but that is the rule for the "how much" question, not for the job. The app had always logged all of them happily and simply not asked. **The guard was stricter than the thing it was guarding**, and the cost was a pointless tap on a job that needed none.

  467. The season chart moved off the home screen, and nothing was deleted

    **Your home screen had nineteen separate things asking for attention before you scrolled.** That is measured on a real garden of eleven plants, not guessed — and the season chart was two of the biggest. **It is a thing you look at, and it was sitting above the one thing you opened the app to do.** So it moved to your week — tap the job count on Today and it is underneath, unchanged. **That screen was already built for looking.** Its own rule is that doing nothing there is a successful visit: no progress bar, no percentage, nothing that treats an unticked job as a debt. The week and the season are the same question at two zoom levels, so they belong together. **Nothing was removed and nothing was hidden** — one tap, and it is the same chart with the same two bands. This is the first of two changes to the home screen; the second is the diet.

  468. The tomato virus you spread yourself — and the bit about smoking that everyone gets wrong

    **Yesterday we added the tomato virus an insect brings you.** Today, the one you bring yourself. Penn State: "The most important way that TMV can be spread from plant to plant is on workers' hands, clothing, or on tools." **The mechanism is the useful part, because it tells you exactly when it happens.** "When plants are handled, the tiny leaf hairs and some of the outer cells inevitably are damaged slightly and leak sap onto tools, hands, and clothing. If the sap contains TMV, it can be introduced into other plants when those come in contact with this sap." **Touching a sick plant and then a healthy one is the event.** Not a season of bad luck — a minute. **And it waits.** The virus "can also survive outside the plant in sap that has dried on tools and other surfaces", and in dead tissue it stays infectious "for years after the infected plant part dies". **Now the part almost everyone has backwards.** Tobacco products "particularly those containing air-cured tobacco, may carry TMV", and hands pick it up from handling them or keeping them in a pocket. **But Penn State says plainly: "TMV is not spread in the smoke of burning tobacco."** The packet is the risk. The smoke is not. **One limit we have written into the record rather than glossed:** that page describes the virus across plants generally rather than on tomato specifically, and it warns its own symptom list can also be caused by heat, insects, herbicides and mineral problems. Mottled leaves alone do not settle it. That takes us to **95 problem descriptions**.

  469. The way in had three names, and none of them was the one you were told

    **Ask tells you: "sign in on Profile to ask."** You go to Profile, which offers **"back it up"**, and tapping that lands you on a screen headed **"back up your garden."** **Three names for one door — and the word you were sent looking for was on none of them.** Nothing was broken. You simply had to work out for yourself that all three were the same thing, at the exact moment you had already been stopped once. **Profile now says "sign in to back it up" and the screen says "sign in to back up your garden."** The benefit is still the better half of the sentence, so both keep it. **And the screen now says what you actually came for.** It explained that signing in means your garden survives a lost phone — true, and not why you were there. It also says that signing in is what lets you ask questions, which is the thing that sent you.

  470. Today's jobs are on the home screen now, each with its own button

    **You used to get a count and a Start button.** Now you get the jobs themselves, listed, and a button on each one — so a job you have already done takes one tap and no screens. **Not every job gets a button, and that is on purpose.** Anything that needs a photograph, an amount or permission to send you an alarm opens properly instead. **A one-tap button that skipped the second step would record half an answer and look like the whole one.** Everything you do tap can be undone from the same line. **The list leads with what cannot wait.** A tray that has to come in tonight sits at the top with a mark — hardening off is the one routine where being late costs you the plant, and it used to be a line at the very bottom of the screen. **And the two kinds of task now say what they are.** Garden tasks are what you do outside. App tasks are what you tell us — which variety, what kind of bed, your ZIP — and they sit above, because with no ZIP every date underneath is your zone\u2019s average rather than your garden\u2019s. **One more fix:** a failed backup was announced in the quietest text on the page, tucked behind a button. It is the only thing on that line that will not fix itself, so it is the only one that now looks like a problem.

  471. Two names, one fungus — and a squash that rots on the shelf was already sick

    **Most of what we have added this month has been one name hiding several different organisms** — blight, mildew, damping off, cabbage worms. This one runs the other way. University of Minnesota: "Gummy stem blight describes the leaf and stem infection stages of the disease. Black rot describes the fruit rot stage. Both are caused by the fungus _Didymella bryoniae_." **Two names, one fungus.** So a rot in the fruit and a blight on the vine are not two things that went wrong — the one you can see tells you about the one you cannot. **The stem sign is the one to learn.** "Tan lesions develop on infected stems, often close to the crown of the plant. These lesions crack open and exude gummy, amber-colored fluid." Amber goo weeping from a split near the base of the plant. **And on the leaves it depends which crop you are looking at**, which is the kind of thing a general answer gets wrong. On cucumber and summer squash the browning starts at the leaf edge and becomes "a brown wedge extending into the leaf tissue". On melons it is "brown discoloration between veins or into circular tan to brown spots" instead. Do not go hunting for a wedge on a melon. **The part worth knowing if you store winter squash:** Minnesota says "fruit infections may develop in the field or in storage depending on the crop". A squash that blackens on the shelf was carrying this, not catching something in your house. That takes us to **91 problem descriptions**, covering a bit over three-quarters of the times a plant in our database names a problem.

  472. Some blanks on our plant pages are deliberate. Now they say so

    Ask us how much to feed a crop and you will find no number. **That is a decision, not a gap**, and until today the page looked identical either way — an empty row tells you nothing about whether anyone looked. **Here is the reason, which is now printed on the page.** Extension services do publish fertilizer figures, and they are pounds of nitrogen **per acre** for a production field. Converting one to your raised bed needs your soil test and your fertilizer's analysis, and guessing errs in the direction that burns roots. **It is also why every feeding chart you find online disagrees with the next one.** We would rather tell you that than invent a number. **Same for watering.** We give a depth per week rather than gallons per plant, because that is how irrigation is actually measured — a per-plant figure depends on your spacing, your soil and whether it is in a pot, so it would look more precise than it is. **And where a source does clear the bar, you get the number.** Blackberries have a real per-plant watering figure and grapefruit have one too, so those pages show it and skip the explanation. The refusal is a default, not a rule — thirteen crops beat it. **Behind this:** a field can now be one of exactly four things — it has a value, it does not apply, we looked and nobody published it, or we decline to say and here is why. **There is no fifth state and no silent blank**, which is what let 285 of these decisions sit in internal notes where no reader could ever see them.

  473. Two onion rots that look identical from outside. Cut it top to bottom.

    **You store onions or garlic, they look fine going in, and six weeks later some of them are rotten.** There are two common causes and from the outside they present the same way — a bulb that was sound at lifting and is soft now. **"It went bad in storage" does not tell you which one you have. Which END of the bulb does.** **Fusarium basal rot comes up from the bottom.** Utah State describes "red-brown discoloration and rot" forming "along the root-basal plate margin" — the flat plate the roots grow out of — with the tissue inside turning brown. It starts where the roots are and works upward. **Botrytis neck rot comes down from the top.** It starts "in the neck area during storage", the neck goes sunken, the scales turn "gray to dark brown", and pulling the scales apart shows "white to gray mycelium" growing between them. **So the test is one cut, lengthways.** Rot at the root plate is one disease, rot at the neck is the other, and you can tell in a second what you could not tell from the outside at all. **Both of them hide until they are in the bag**, which is the frustrating part and worth knowing: Utah State says basal rot symptoms "may not be visible in the field, as they tend to develop during storage", and puts neck rot at one to two months in. That takes us to **93 problem descriptions**, covering a bit over three-quarters of the times a plant in our database names a problem.

  474. You do not need to know the name of the thing eating your kale

    **"Something is eating my kale" used to save as a plain note.** So did "bugs on my beans", "holes in the leaves" and "something ate my lettuce". Four sentences that are unmistakably a pest sighting, and the journal counted none of them. **The reason is embarrassing and worth saying.** The app was looking for the NAME of the pest — aphid, slug, caterpillar, beetle — **which is the one thing you do not have when you are asking what is wrong.** Somebody who already knew it was aphids got a proper entry. A beginner describing exactly what they could see got a note. It did not even recognize "bugs", because the word it was looking for was "bug" and the plural fell off the end. **Now the damage counts, named or not.** An unnamed something doing the eating, a generic word like bugs or critters, or just the holes themselves — all of them record a pest sighting on that plant, with your words kept exactly as you wrote them. **And it will not invent one.** "We ate the first tomato" is not a pest report, and neither is digging holes for the tomatoes — the difference is whether something unnamed is doing the eating, which is what the app now reads. A wrong entry in a journal built to be trusted is worse than the miss it replaces, so both halves are in the tests. **And the same day, the sentence at the other end of the season.** "Got our first zucchini" recorded nothing, and "got the first tomato" recorded the plant SETTING fruit rather than you picking it. Nobody says pick, harvest or dig about their first one — they say got. It counts now, along with "got a few beans off the plants". Not for the two things you also get your first of that are not a harvest: a frost, and a flower. **Where that leaves the wider number:** of 56 real sentences a gardener might say, the app now understands 80%, up from 57% a week ago and 43% before that. Anything it still does not follow is saved in your own words. Nothing is ever lost; it just does not count toward a total yet.

  475. Your name for a bed now answers the question about it

    **We were asking "what kind of space is this?" under a bed somebody had named "raised bed."** The name says it. Now the app reads it — **raised bed**, **deck pots**, **the orchard**, **greenhouse** all stop the question. **It refuses more often than it answers, and that is the design.** Call a bed "Back bed" and it still asks, because a bed is raised about as often as it is in the ground and the word settles nothing. Name two things at once — "greenhouse pots" — and it asks rather than picking one. **A plant name is not a place**, so "Orange tree" asks too. **The reason it is careful is that the kind decides watering.** A pot holds a fraction of what a bed does and dries from every side, which is why pots are the commonest thing people lose. Reading "bed" as "pot" would water somebody’s garden wrong on the strength of one word. **And nothing read off a name is stored as if you had chosen it.** What you pick always wins, and rename the bed and the reading changes with it. **Fixed alongside: a chart that quietly dropped a plant.** Two of the same crop planted the same day shared one identity, so one of them vanished from your season chart with nothing on screen saying so. Two tomatoes in on the same afternoon is an ordinary thing to do.

  476. "Nothing is wrong" is now something the answer can actually say

    **Roughly half of every honest answer about a plant is that nothing is wrong** — and until now there was nowhere in the answer to put that. The reply had a field for the likely cause, one for what it could also be, one for what to do. **No field for whether anything was actually wrong.** **So everything downstream had to guess.** A healthy answer would come back saying the speckling on an apple was normal lenticel dotting, and the card would headline the cause and leave you to work out that this meant you were fine. Our own checking tool guessed by looking for disease words in the text — and marked a healthy tree as a confident mistake because the word "aphids" appeared in a sentence saying there were none. **Now the answer says it outright.** *Nothing is wrong with it*, and underneath, what the marks actually are. Verdict first, then the reason — because being told you are fine without being told why is not reassuring, you just go and look again tomorrow. **And there is a third answer: it can say it cannot tell.** That is different from not knowing which problem it is. It means take a closer photo, rather than assume either way. **The lesson we are keeping:** we had patched that guessing twice in two days. The second patch is the point where you should stop patching and ask why anyone is guessing at all.

  477. "Picked the first tomato" was recorded as the plant fruiting, not as a harvest

    **The first tomato is the moment of the season, and we were writing it down as the wrong thing.** "Picked the first tomato" got filed as the plant setting fruit rather than as you picking one. **"Picked the first strawberry" worked perfectly**, which is the part that gives the cause away. We had a short list of fruit words — fruit, tomato, pod, bean — that meant "this plant is fruiting", and that list outweighed the word "picked" sitting right beside it. Strawberry was fine because it was not on the list. **The cases that worked were the ones nobody had written down.** **Now the verb decides.** Picked, pulled, harvested — any of those makes it a harvest, whatever the fruit is called, including fruits we have never listed. With no picking word, "first tomato" still means the plant is setting fruit, which is its own thing worth keeping. **We found it by driving the app rather than waiting for it to be reported.** Nobody had hit it yet. It was sitting on one of the first sentences a new gardener types.

  478. Three citrus numbers now say what they depend on — and twelve deliberately say nothing

    Some of the numbers we publish come from a source writing about a whole family rather than the one plant. **"Most citrus trees"** is not a measurement of your mandarin. We went looking for every number like that, found seventeen across the five citrus, and then read them — because the interesting question is not which ones are general, it is **which ones could mislead you.** **Twelve could not, so they were left alone.** The chill-hours figure is the clearest case: citrus needs essentially no winter cold, and that is true of a lemon and a satsuma equally. Stamping *"this is a general citrus figure"* on it would be technically accurate and completely useless — and every pointless note makes the next one easier to skip. **Three earned a note, and none of them for being general.** They earned it for the same real reason: **a citrus tree's size is set by the roots it was grafted onto, not by the fruit on top.** A semi-dwarf mandarin wants about eight feet; a standard one wants fifteen. Same fruit, nearly double the space. So the spacing rows now tell you to check what yours is grafted onto, and the pot size says fifteen gallons is where a young or dwarf tree starts, not where a mature one ends up. **The rule we settled on: a note has to change what you would do.** If it only tells you our sourcing was broad, it is our problem to fix rather than your problem to read.

  479. We taught the app the harmless curl first. Today it learned the serious one.

    Yesterday GardenTrack learned that curling tomato leaves usually mean nothing is wrong. **That left it half-taught, and the wrong half.** It could reassure you and it could not warn you — so the one case where you needed it to speak up was the one it had nothing written down for. Now it holds tomato yellow leaf curl virus too, from NC State Extension, and the two are meant to be read against each other. **Do not go by which way the leaves roll.** That is the test everywhere else on the internet, and NC State says this virus curls leaves **both** ways. Two things separate them instead. **Which leaves:** the harmless roll starts on the older leaves low down and the plant otherwise looks well, while the virus takes the youngest leaves at the top, yellowing them between the veins, and the plant stunts and goes bushy with it. **And the pattern across your row:** a feeding problem is, in their words, "likely to be consistent across the entire crop", where infected plants "will be patchy across the field and not uniform" — because it arrives one whitefly at a time. That takes us to **87 problem descriptions**, covering a bit over three-quarters of the times a plant in our database names a problem. **Two things we deliberately did not write**, because that page does not say them: that the virus cannot spread on your hands or tools, and that there is no cure. Both were in our first draft, both sounded obviously true, and neither was on the page we were citing.

  480. Two of the ladybugs in your garden are eating it

    **Everyone learns that ladybugs are the good guys. That is true right up until it is not.** Clemson Extension: "This is one of two species in the lady beetle family that feed on vegetable crops. The other is the Mexican bean beetle." So there are exactly two ladybugs you should look twice at — the **squash beetle** on your squash and pumpkins, and the **Mexican bean beetle** on your beans. Every other one is working for you. **The Mexican bean beetle is the one people wave through.** It is domed and coppery-brown with eight black spots on each wing cover in three rows, and Clemson describes its damage in a way that identifies it on its own: it feeds on the **undersides** and leaves the upper surface "more or less intact", so the leaf ends up skeletonized and lacy rather than holed. **Its neighbor on the same bean plants is the opposite.** The bean leaf beetle chews "large irregular holes" straight through, and — the part worth knowing — also girdles stems down at the soil line, so a young plant that keels over for no visible reason is worth checking at ground level. Its spots sit in a single row along the inner edge of each wing cover, not in three rows across. **And do not go by color on that one.** Clemson says bean leaf beetles "vary considerably in color and markings", which means every color-led identification guide for it is arguing with the source. Where the spots sit is the test. That takes us to **90 problem descriptions**, covering a bit over three-quarters of the times a plant in our database names a problem.

  481. We put quote marks around a paraphrase. Now a machine checks every one.

    On our tomato leaf curling page we wrote that herbicide damage comes with **"white, split stems and deformed fruit"** — in quotation marks, credited to Clemson. **Clemson did not write that.** What they wrote is: "In addition, stems may turn white and split, and the fruit may become deformed." **The word we lost, twice, is "may".** Ours read like a checklist for the diagnosis; theirs says these things sometimes happen. A gardener could have ruled out herbicide drift because their stems were not white and split — which the source never asked for. The page now carries the sentence as written, and says plainly that the absence of those signs does not clear it. **Two people had already checked that page for exactly this, on the day it was written.** The difference is that a person compares a quote against their memory of the source, and a machine compares it against the source. So we built the machine: every one of the 229 pages we cite is now fetched and kept, and **every quoted sentence we publish is checked, word for word, against the page it is credited to.** A build fails if one does not match. It is running on 80 quotes today, and it will run on every one we write from now on.

  482. We said the shape settled it. It does not — correcting our cucumber page.

    Our page on yellowing cucumber leaves told you that angular patches with straight edges, stopping dead at the veins, meant downy mildew — and that **nothing else makes that shape.** **That last part was wrong, and it was ours rather than anything a source told us.** Angular leaf spot is a bacterial disease named for doing exactly that: Minnesota describes its spots as "typically confined within leaf veins". Same tiling, different organism. **Where the mistake came from is worth saying,** because it is an easy one. Minnesota's cucumber diagnostic lists nine causes and only one of them has that shape — so "nothing else does this" felt like reading the list. It was not. A list of nine causes is a list of nine causes, not a statement about everything that exists. **The page is better for it, and the fix is a thing you can actually do:** turn the leaf over. Minnesota describes "dark purplish-grey fuzz" on the underside for downy mildew, and for angular leaf spot "sticky drops of whitish liquid" instead, with its spots later drying and dropping out to leave "irregularly shaped holes". The shape gets you to two; the underside picks between them. On a cucumber specifically, downy mildew is still the better first guess — Minnesota notes angular leaf spot is "less common on cucumber due to the availability of resistant varieties".

  483. What actually grows in the shady bed — and what it costs you to put it there

    Ask most plant databases about sun and they will tell you almost everything wants **full sun**. Ours did too: **150 of our 151 crops** said full sun and exactly one said partial shade. So if you told us a bed was shady, the honest answer we could give you was chervil. **The information was never missing.** It was sitting in our own sourced notes for **85 crops** — currants, honeyberry, mache, chamomile, spinach, kale — written in a sentence rather than in a field anything could read. It now has a field. **And it carries what shade costs you, which is the part that matters.** *"Tolerates partial shade"* is true of a blackberry. The same source sentence continues *"produce best in full sun."* A yes-or-no answer would have put blackberry at the top of your shady-bed list, which is a confident recommendation to grow fewer blackberries. So there are three answers, not two: **shade is better here** (chervil, arugula — light shade slows bolting in heat), **also takes part shade** with nothing lost, and **takes part shade but crops less**, which names what you give up. **One thing we deliberately did not build.** The plan called for recording how many hours of sun each crop needs, and 114 of our files contain the phrase *"6 or more hours of direct sunlight a day"* — which looks exactly like that number. It is not. It is one university's **definition of the words "full sun"**, printed identically beside every plant they list. Filling a column from it would have put a made-up figure on 114 crops. **Real per-crop hour figures exist for about eight**, so the column waits until there is something true to put in it.

  484. You sowed it four days ago. The app now tells you when to expect something

    The week after you sow seed has exactly one question in it: **is anything going to happen?** We have had the answer for **116 crops** since the database was built — how many days that crop usually takes to come up — and no screen had ever shown it. Now the plant's own page says it, and only while it matters: **"Sown 4 days ago. Expect the first sprouts in about 2–8 more days."** **The version that earns its place is the last one.** Once you are past the window, it says so — *"this usually comes up within 10 days, so it is worth a look"* — because that is the point where you have a decision to make about re-sowing, and nobody wants to make it on a hunch three weeks in. **It does not tell you to re-sow.** We cannot see your bed; it could be cold soil, old seed, or a bird. It tells you the window has passed and leaves the looking to you. **And it knows when to say nothing.** A plant you bought as a seedling never germinated in your garden, so it gets no sprout line at all. Thirty-five crops have no trustworthy figure and stay quiet rather than guess. And the whole thing retires itself two weeks after the window closes — a plant that came up last month does not need a card about germination. **How we found it:** not by noticing. A check we built the day before, which walks every fact in the database and asks whether anything on screen actually reads it, flagged this one on its first run.

  485. A lime gets three kinds of mite. We had it down as "mites"

    The University of Florida names them individually on limes: **citrus red mite, citrus rust mite, and broad mite** — and says which one russets the peel, which is the whole reason you would want to know. NC State, writing more briefly, just says "mites." **We recorded "mites," and the note explains why: somebody took the part both sources agreed on.** That sounds careful. It is the same move as averaging a precise measurement with a rough one and calling the result agreed. **A vaguer statement is not competing evidence against a specific one — it is the same claim at lower resolution**, and the only thing the intersection does is throw away the resolution we already had. **Lime now carries citrus rust mite by name, with the generic entry kept beside it** — because Florida names two more species we hold no code for, and dropping to a single named pest would imply those two are not on the page. **The part worth telling is what it looks like across the family.** Grapefruit was already specific. Lemon and mandarin say spider mites. Lime and orange said "mites" — and orange is the only one of the five whose source is genuinely generic. **Five crops, three answers to the same question, and four of them decided one crop at a time by whoever was reading that day.** That is the real finding, and it is the kind you only see by looking at a family rather than a row.

  486. A photo of damaged leaves landed as a plain note and nothing looked at it

    **Take a photo on a plant's page and it now asks whether you want it looked at.** One line, a yes and a no. **Before this it just filed.** Somebody photographed damaged apple leaves and the picture went onto the timeline as an untyped note — three rows below the pest that had been logged from the same conversation, and the two never met. The app had the sourced descriptions and the ability to look, and did neither, because nothing connected a new photo to either one. **It asks rather than just doing it, and that is deliberate.** Most photos people take of their plants are records, not questions — the tomato getting big, the first flower, what the bed looked like in July. An answer nobody asked for is the app talking when it was not spoken to. **The one exception is a photo we asked you for.** If it said "photograph the underside of that leaf" and you went and did it, the asking already happened, and asking again would be the app forgetting its own question.

  487. A sunflower that flowered is not a problem

    When a lettuce shoots up and flowers, that is bolting: the leaves turn bitter and the crop is over. The app treated that as bad news, correctly. **It treated it as bad news on every plant in your garden**, which meant telling somebody their sunflower had gone wrong. **Of the 28 event types the app records, this is the only one whose meaning depends on what is planted.** A harvest is good news on every plant. A disease is bad news on every plant. Flowering is the whole point of a sunflower, a cosmos, lavender or chamomile — and on a cover crop it is the signal to cut it down — while on a lettuce it is the end. **And it runs both ways.** If your spinach *flowers*, that is bolting under a different word, and the app now says so rather than congratulating you on a milestone. **Nothing new had to be recorded to fix it.** The app already knew which plants are grown for their flowers — it just was not asking before deciding. 28 of our 151 plants, and the two that were hardest to spot were coneflower and feverfew: filed as herbs grown for their leaves, and nobody on earth grows a coneflower for the leaves.

  488. A true description, a real source, and the wrong plants

    **Our description of root rot came off a University of California page about peppers.** It was quoted faithfully and credited properly, and we had it attached to 46 different crops. Same with leaf spot, off a page about trees and shrubs, on 31. **Nothing was misquoted, which is exactly why it was hard to see.** An independent read scored the writing 15 out of 16 and still found this, because the problem was not in the sentence or in the source — it was in which plants we hung them on. A source makes a claim look checked, and that one was checked, for peppers. **Now the answer tells you.** Where a source covers something narrower than your plant, it says so — "this is described for peppers" — instead of quietly applying it to your beans. **One was worse than a scope problem and was simply wrong.** Our spotted cucumber beetle entry said the grubs feed on the roots and wilt the plant. That is the *striped* cucumber beetle. The spotted one lays into corn, beans and grasses instead — and every crop we had it on was a squash, cucumber or melon, so it was wrong on all of them, and it sent people digging for grubs that were not there. **And our stink bug description was one species pretending to be all of them.** The banded antennae we called the giveaway are what tells the brown marmorated apart from the native ones — so if you were holding a native stink bug with no banding, we told you it was not a stink bug.

  489. By the time you can see leaf miner tunnels, spraying is too late

    A new guide on leaf miners — the pale winding tunnels inside a leaf — and it argues with the advice on nearly every other page about them. **The grub is not on the leaf. It is inside it**, feeding in the layer between the top and bottom surfaces, which is why the tunnel looks drawn on under a film. University of Minnesota Extension states the consequence outright: a pesticide **"prevents adults from laying eggs but does not kill larvae that are already feeding within plant leaves."** **So by the time you can see a tunnel there is nothing useful to spray.** The larva sits behind a wall of leaf for about two to three weeks and then drops into the soil. That is why people spray this pest again and again and nothing changes — nothing was going to. The only stage a spray reaches is a small fly in April that nobody notices. **And whether it matters at all depends on which part of the plant you eat.** Minnesota again: "Leafminer activity has little impact on plant growth but can be destructive to vegetables grown for edible greens." On a beet grown for the root, or a tomato, mined leaves cost you almost nothing and stripping them off does more harm than the grub did. On spinach and chard the damage is not a symptom of a hurt harvest — **it is the harvest**. The page ends by refusing to give a threshold for when damage is "bad enough" to act on, because we could not find one published for home gardens and an invented percentage would be worse than the judgment you can make standing at the plant.

  490. Finish a job the chat asked for and you land back in the conversation

    **The chat asks you to photograph a leaf. You say remind me later. It becomes a task.** Then you do it — and until now that was the end of the line. The photo filed itself and the conversation that asked for it sat there, three rows up the same timeline, none the wiser. **Now there is a way back.** Finish a job that came out of a conversation and you get one more button: back to the conversation. It opens where you left off with the photo already attached, above a line saying which day it was and what you had been asked. **The date is the point, not an apology for it.** Somebody who just did a chore is not carrying a three-week-old conversation in their head, and a wall of old text with no explanation reads as a mistake. Saying *picking up from 4 August* turns the age into the thing that is useful: the app kept hold of a question you had stopped carrying. **It offers rather than jumping.** You might be halfway through a list of jobs, and being thrown onto another screen you did not ask for is how you lose your place. **And the photo is attached, not sent.** It waits in the box for you to send it, because the app writing a message in your voice and posting it as though you had typed it is not something we are willing to do to make a flow one tap shorter.

  491. Five pot sizes were wrong because we read the wrong line

    Maryland Extension publishes container sizes two ways: a rough sorting list that puts a dozen crops in a bucket together, and a proper table with one row per vegetable. We had been reading the bucket. **Summer squash is the one worth knowing about** — we said 4–6 gallons, the table says 10. Four gallons of soil under a summer squash is a plant that wilts every afternoon in July. Radish went the other way: we said 1–3 gallons, the table says one pint. Bush beans 4–6 → 2, cabbage 4–6 → 5, Swiss chard 1–3 → 2. The bucket was not even consistent with itself — beans appear in two different size groups on the same page, and chard appears twice in one list. Where a source names your crop directly, that is the number we use.

  492. Four blank rows that were never blank

    Garlic, sweet corn, kohlrabi and onion all have no container size on their page. Not because nobody checked — each one has a careful, re-verified record of exactly which university sources were read and why none of them answers the question. Alabama Extension tells you to put four to six kohlrabi in a five-gallon pot, which is a shared pot for several plants, not a size for one; dividing it out would invent a number nobody published. Garlic has two real sources that disagree. **All of that reasoning existed and none of it reached the page.** Now each of those four says plainly that the line is missing on purpose. The same was true of winter chill hours on currant, elderberry, goji, honeyberry and mulberry — the exact five crops that feature was built for. A new check refuses to let it happen to a sixth.

  493. Garlic has a pot size now, and the reason it did not is worth telling

    Garlic’s page said nothing about container size because our records said two university sources disagreed — Maryland asking for a 4–6 inch depth, and a garlic-specific source saying at least 8 inches. We do not pick a winner when two sources disagree, so the line stayed blank. **We went to check which source said the 8 inches, and there isn’t one.** All five of the extension pages behind our garlic record were read again, twice, two different ways. None of them mentions growing garlic in a pot. The one page containing the words "8 inches" says to plant cloves "6 to 8 inches apart and 2 to 3 inches deep" — that is how far apart, not how deep. Somebody wrote it down as a depth, and two later passes repeated it without checking. So garlic now reads 1–3 gallons, from Maryland, along with the part that actually decides whether you get a bulb: it needs 4–6 inches of depth too, and a wide shallow bowl will not do even if it holds enough soil.

  494. How deep the pot needs to be, not just how much it holds

    A pot can hold plenty of soil and still be too shallow. Three gallons in a wide, flat bowl grows no garlic bulb and no carrot — and until today we only ever told you the gallons. **Seven crops now show a depth as well**: carrot wants 10 inches, garlic 4–6, beets 8, and blueberries, raspberries and blackberries all want two feet. Every one of those numbers was already sitting in the extension pages we had read — the sentence that gives the gallons usually gives the depth in the same breath. We just had nowhere to put it. Most crops still show no depth, and that is deliberate: it is there where a university actually states one and where getting it wrong costs you the crop. We are not going to estimate the rest.

  495. It recorded a plant you pulled out as one you planted

    **"Pulled the dead plant out."** The app read the word *plant* and recorded a planting — a new plant on your timeline, dated the day one died. **That is worse than not understanding you.** A missed sentence costs you a fact; this one invents a fact, and every date the app works out for a plant hangs off its planting date. **The cause is that we had taught it verbs, and you name jobs by what you touched.** *"Pulling weeds."* *"Threw a sheet over them."* *"Stuck a cane in next to it."* Not one of those contains the word weed, cover or stake the way the app was listening for it. Across 20 such phrases it understood **three**. **The fix was not more phrases.** Counting up, those twenty sentences used 15 different verbs and only 7 different nouns — and the noun is the reliable part. Weeds mean weeding whether you pulled them, got them out, dug them up or cleared them. So the app now recognizes the *thing* as well as the doing. **3 of 20 became 17 of 20.** **And the false records got their own guard**, which does not depend on anyone thinking of the right sentence: no phrase about removing something can be recorded as planting, harvesting, transplanting or putting a tray outside — checked across 48 combinations, not a list of examples. Two of those combinations were wrong when we started. Understanding of what a gardener says is now **80%**, up from 73% this morning.

  496. Look at a plant before you add it

    Adding a plant, every crop in the list now has a **Look** button beside it — and the icons are finally there too. Tapping the name picks it as before; tapping Look opens a short page for that crop. **Its first line answers one question: can I plant this here, this week.** Not what the plant is — you can get that anywhere. Whether it belongs in *your* garden right now, worked out from your own last frost date. Yes, not yet with roughly when, or too late this year said plainly, because an annual is not coming back. Then the few numbers that decide it — room, pot size, and how deep the pot has to be. At the bottom, a button that brings you back to where you were with the crop already chosen. **That button is why the door exists**: wandering a catalog is only worth your time if it ends with something planted.

  497. On the day of your first frost, the chat put it in the past

    **"Will the tomatoes ripen before frost?"** turns on one number: how many days you have left. The chat is told that number, counted from your own frost date. **On the day itself it said "0 days ago."** Past tense, for something that had not happened yet — on the one night of the year when the answer matters most and the right move is to go out and cover things. It now says that is today. **A second one on the same line:** a plant with no bed and no spot recorded read as *"Tomato (tomato) — , in since July 15"*, with a comma sitting where a fact should be. A person skims past that. The thing reading it is not a person, and a hole that looks like a failed lookup is worse than one that says nothing was entered. **Both were found the same way** — by listing the situations that part of the app can be in and checking which ones the tests had never actually put it in. The eight tests covering it all passed, and all eight ran the same summer garden with everything filled in.

  498. Blight is two diseases, and they need opposite responses

    A new guide on tomato blight, and the shared name is the problem. **Early blight and late blight are different organisms that demand opposite tempos**, so a gardener who reads the wrong half either panics over a slow problem or shrugs at one that takes the planting in a week. **The tell is rings.** University of Minnesota on early blight: "Larger spots have target-like concentric rings," starting on "older foliage near the ground" and working up. Late blight makes "large, dark brown blotches with a green-gray edge" — no rings — **anywhere on the plant, including new growth at the top.** In muggy weather late blight also grows a thin white powdery layer. Early blight never does. **But the row that changes what you do is where each one spends the winter.** Early blight overwinters "in infected plant debris and soil" — it is yours, it comes back, and you manage it across seasons with mulch, rotation and resistant varieties. **Late blight mostly is not in your garden at all.** It survives a northern winter only "if protected in potato cull piles"; otherwise it blows in from the south or arrives on shipped-in transplants. Resting the bed does almost nothing about it. **And late blight is not even a fungus** — it is a water mold, *Phytophthora infestans*, which produces thousands of airborne spores per lesion in under five days and can cause "total crop failure if untreated". **Minnesota's instruction for it is not a product. It is a phone call** — contact the extension team, because "late blight is an important region-wide issue and neighboring crops are at risk". That is an unusual thing to ask of a home gardener, and it is the clearest signal that this half of the name is not an ordinary garden problem.

  499. Stripes mean the grubs are in your roots, spots mean they are not

    A new guide on cucumber beetles, and the two that share the name look almost identical. Both a quarter of an inch, both yellowish. **One has three black stripes down its back, the other has twelve black spots and a black head.** Standing over a squash plant that reads as a difference that does not matter. **Underground it is the whole story.** UC IPM on the striped beetle's larva: it **"feeds exclusively on cucurbit roots and can damage these crops when infestations are heavy."** The spotted beetle's larva feeds on corn, small grains, beans, sweet pea and grasses, and does "not usually cause noticeable damage in gardens." **So the marks tell you where the next generation is.** Stripes mean grubs in the roots of the plant you are standing over. Spots mean they are in the sweet corn or the lawn, and whatever is wilting your cucumber is not their doing — which sends you looking for the real cause instead of blaming the beetle you can see. **And we will not tell you which beetle spreads bacterial wilt**, because our source does not. UC IPM says only that cucumber beetles "may also spread cucumber mosaic virus or wilts in cucurbits" — no species named, and wilts in the plural. Plenty of pages assign it confidently; that confidence is not in the publication. **There is also no spray recommendation here**, because there is none on their page for home gardens. UC IPM says management of cucumber beetles is difficult, and what they do recommend is cloth over the seedlings at emergence, taken off when the plants can tolerate the damage.

  500. The app can now tell you nothing is wrong with your tomato

    Ask GardenTrack why your tomato leaves are curling and until today it had nothing written down for that, so it said so rather than guessing. **Now it has — and the answer is that usually nothing is wrong.** Leaflets cupping **upward** and rolling inward, starting on the lower older leaves while the rest of the plant looks well, is physiological leaf roll. University of California IPM is unusually blunt about it: **it is not caused by a pathogen, no action is needed, and it will not harm the plant** — nor the fruit that forms later. It follows heat, a wet spell, hard pruning or a knock to the roots, and it passes as soils dry. **The direction is the whole diagnosis**, so that is written down too. Leaves rolling **downward** with twisted, strappy growth are herbicide drift instead, and that one does not recover. That takes us to **86 problem descriptions**, covering a bit over three-quarters of the times a plant in our database names a problem. **This one is the first where the useful answer is "leave it alone"** — which is a thing a plant-problem app should be able to say, and most cannot, because a list of diseases has nowhere to put it.

  501. The app only understood you once you had stopped working

    **"My lettuce is going to seed."** That is the sentence, and the app filed it as a plain note — no event, nothing your records could ever count. Say *"gone to seed"* instead and it understood perfectly. Every phrase the app knew had been written down in the past tense: *watered the beans*, *pruned the plum*, *gone to seed*. **That is how you talk when you have finished. It is not how you talk with a hose in your hand.** Measured across 21 jobs: 100% understood in the past tense, **71% while you are still doing them.** **One of those was worse than a missed note.** Say *"treating the roses for aphids"* and the app recorded that you had **seen** aphids — the fact that you had done anything about them was gone, and the record said close to the opposite. **And taking a cover off was recorded as putting one on.** *"Taking the fleece off tonight"* landed as covering the bed. All fixed, along with *picking*, *cutting back*, *putting stakes in*, *sowing*, *thinning out*, *starting seeds indoors* and the rest. **The general understanding of what a gardener says went from 73% to 75%** on our own test set, and the mid-job phrasings went from 71% to 100%.

  502. It is a calcium problem, and the calcium spray cannot reach the fruit

    A new guide on blossom end rot — the sunken brown patch on the bottom of a tomato — and it takes apart both the popular answer and the popular correction. **Everyone says calcium deficiency. Half right.** NC State: the rot "is caused by a lack of calcium in the developing fruit." So the fruit really is short. **But your soil usually is not** — Clemson notes it "can occur even when calcium levels in the soil are adequate." Calcium travels to the fruit dissolved in water, so when watering swings between dry and drenched the delivery stops while the supply sits there untouched. **And the spray sold for it cannot work.** Clemson publishes it as a named gardening myth with two separate mechanisms, either enough on its own: "Calcium that is present in leaves is not able to move through the phloem into the fruit," and **"the skin of the fruit is not able to directly absorb foliar-applied calcium."** Spray the leaves, it stays in the leaves. Spray the fruit, it does not go in. There is no route from the bottle to the tissue. **The overcorrection is wrong too, which is why the page does not stop at "it is watering."** NC State does recommend lime or gypsum where a soil test shows genuine deficiency. The rule is test first, and most of the time the test says you did not need it. **One surprise worth knowing:** too much water causes it as well. NC State — "either an inadequate or excess moisture stress favors blossom-end rot development." The target is steady, not more.

  503. Ask what a problem looks like and you get a sourced answer, with the source

    **"What does powdery mildew look like?"** now comes back with text we wrote off a named source — a university extension service or a plant clinic — and it tells you which one, with a link. We hold descriptions for 85 of the problems our plants get, which covers just under three-quarters of the times a plant in our database names a problem. **Ask about one we have not written up and it says so.** That is the part worth having: an answer from memory reads exactly like an answer from a source, and only one of them can be checked. **What it will not do is guess between two things that look alike.** Ask about "mildew" and you get both the powdery and the downy kind, and it says plainly that it cannot rank them. These descriptions say what each problem looks like on its own; none of them says what tells it apart from the one beside it. **We tested what happens when a description gets used to tell things apart, and it made the answer worse** — it pushed the model off an answer it already had right. So it says it cannot, which is slower and true. **A note on how this nearly did not happen.** The descriptions had been written, sourced and checked, and nothing in the app read a single one of them. Written is not shipped, and from the outside those look identical.

  504. The chat could lose your task list and answer as if the week were empty

    **"What should I do this week?"** is the first thing most people type, and the chat answers it from the same list your Today screen shows — worked out on your phone and sent along with your question, so the two screens cannot disagree. **If that list could not be built, the chat said nothing about it.** Not an error, not a warning — the list simply was not there, and a missing list looks exactly like an empty one. So it would tell you there was nothing due, in a week that was full. That is the worst kind of wrong answer: confident, specific, and about the one question people ask most. **It now says so.** If it cannot see your list it tells you plainly and sends you to Today, which builds the list on your phone and is almost certainly still fine. Anything you asked for by name still comes through either way — those are yours, and they do not depend on the rest being worked out. **The part worth explaining:** the app already knew this was happening. It had been writing a note about it to a log on your phone that nobody can open, which felt like handling the problem and handled nothing. Telling the developer is not telling the person reading the answer.

  505. The cucumber tell does not work on a squash

    Our cucumber yellow-leaves guide is built on one shortcut: if the yellow patches have straight edges that stop dead at the veins, it is downy mildew and you are done diagnosing. Minnesota Extension calls those spots **"angular and bounded by leaf veins."** People kept arriving at that page with a squash or a zucchini, so we went and read Minnesota's separate diagnostic for summer squash. **The cause list is identical — the same nine, right down to the order they matter in.** Powdery mildew, cold, squash bug, virus, vine borer, bacterial wilt, spider mites, downy mildew, aphids. Nothing on one list is missing from the other. **But the description of downy mildew is not the same, and it is the one that matters.** On squash they write it as "Pale green to yellow spots on upper surface of leaves, later turn brown." No angles. No veins. So the single most useful thing you can do with a yellow cucumber leaf is not what they tell a squash grower to look at — check the underside for fuzz instead, which both pages agree on. Powdery mildew reads differently too. The guide now has a squash and zucchini section saying exactly that, cited to the squash page rather than stretching the cucumber page's citations to cover a crop they were never about.

  506. The fusarium in your tomato bed cannot touch your beans

    A new guide on fusarium wilt, and it exists to correct one belief that costs people a whole bed. **Gardeners meet this disease and conclude the soil is finished.** It is a reasonable thing to think and it is wrong. UC IPM, on its own tomato page: the disease is caused by **"a fungus that infects tomatoes only."** NC State states the general rule — "Fusarium species are often host-specific, attacking only a single host species or group." **So there is no such thing as "fusarium in my soil" in the way people mean it.** There is a tomato fusarium and a watermelon fusarium and a pea fusarium, and they are not interchangeable. The one that killed your tomatoes last August is still in that bed and it can do nothing at all to beans, lettuce, corn, brassicas or carrots. That is the difference between losing a crop and losing a bed. **It also means "fusarium wilt" is not really one disease** — it is a family of host-locked diseases that look alike and share a name. **And the page refuses to tell you it is fusarium rather than verticillium**, because UC IPM calls the two "extremely difficult to distinguish," noting only that fusarium browning "tends to be darker." Any page handing you a confident visual test for telling them apart is claiming more than the source does. It mostly does not matter: the response is the same either way — a resistant variety, marked F or FF, and grow something unrelated in that ground.

  507. Sixteen frost jobs now name a temperature — including the orange tree, eventually

    A job that said **"cover plants when frost is forecast"** was true and useless — it is the sentence you already knew. We hold a real temperature for sixteen crops that get that job, and it was sitting in the data with no way onto the card. **All but one said it straight away:** cover these beans when nights head toward 32°F, which you can check against tonight's forecast. **The sixteenth was the orange tree, and it is the reason this took a second pass.** The only figure we held for orange was 20°F — and that number is the temperature the tree is **still fine at**, not the temperature that damages it. Printed as a trigger it would read *"cover it when nights head toward 20°F"*, which tells you to wait for a night the tree does not mind. **The exact opposite of what the source says, on the one plant that prompted the work.** So the app said nothing, which was right but not good enough — a missing number is a thing to go and find, not a thing to explain. **It has been found.** Georgia extension publishes what actually happens to a citrus in the cold, and it depends on which part of the tree you mean: the fruit freezes at **26–28°F** if it stays there for a few hours, while the wood on a sweet orange takes until the low-to-mid 20s. The fruit is what you lose first and what ends your harvest, so that is the number the job now names. **The 20°F did not go anywhere** — it moved to the line that answers the other question, where the page now reads *"survives winter down to 20°F"* instead of implying damage begins there. One number, two questions, and it was only ever wrong about which one it answered. **A second kind of number had the same problem in a different direction.** Some frost figures only apply while a tree is in blossom — apple's is one. Said flatly in November, it would send somebody out to cover a bare dormant tree. Those now say *while it is in blossom* or they do not appear. **So the rule is: a number becomes a sentence only when we know which question it answers.** Anything we cannot read that way produces no sentence at all — the job keeps its plain wording, which is worse copy and true copy. **We would rather tell you less than tell you backwards.** The same pair of misreadings reached a plant page a week ago and was caught there too, which is why the fix this time went into the shared code both screens read from rather than into the screen. **The number was right every time. The words in front of it were wrong.**

  508. A potted tree was being told to dig into a bed

    **"Water. Pinch off suckers. Check for pests."** That is what a plant's own page said, and those three phrases are the whole of what it said. Meanwhile the daily run-through had been printing *"Check the leaves for aphids, scale and mites"* since July. Same app, same plant, two answers depending on which screen you opened. **The plant page now carries the instruction, the rhythm and the reason.** Every job says what to actually do, repeating jobs say how often, and one tap explains the word — because "pinch out suckers" assumes you know what a sucker is, and the sentence that says where to find them had been written and shown to nobody. **And it now reads three things about the plant it had been ignoring:** where it is sitting, whether it is mulched, and what you already logged. That last one is why a job goes quiet after you do it instead of sitting there all week. **The one that mattered most: a pot is not a bed.** "An inch of water a week" is a depth of rain over open ground and it means nothing over a container. A potted plant now gets a question — *lift the pot, a dry one is light* — and a stopping point: **water until it runs out of the drainage holes, then stop.** You never have to know how many gallons your pot holds, which is the point, because almost nobody does. **One bug fell out of it.** The check for "has this only just been planted out?" subtracted two dates inside a single calendar year, so a tree planted two summers ago read as ten days old every spring and was told to check a root ball that stopped existing two winters back. Before its own planting date the subtraction went negative, which also counts as "under two weeks". It affected 233 of 1,160 crop-days we simulated.

  509. The plants go in the bed before we ask how big it is

    **"I built a new raised bed and put a row of lettuce, spinach and kale in it"** now draws one bed with three plants inside it, straight away. **It used to arrive a turn late.** The first card showed three loose plants and a Save all button; the bed only turned up after you answered how big it was. **And that button was live** — taking it left you with three plants sitting nowhere and a bed that had to be joined to them afterwards. **The two are not the same kind of thing.** That the plants went in the bed is something you already said. How big the bed is, is a detail we can ask for after. Holding the first back until we had the second meant showing you a version of your own sentence with half of it missing.

  510. The straight-edged patches are a cucumber thing

    A new guide on downy mildew, and it takes apart the one shortcut every page about it teaches. **Look for patches with straight edges that stop dead at the leaf veins.** On a cucumber that is exactly right. NC State describes "angular, yellow to brown lesions on top of the leaves that are restricted by leaf veins." **Then everyone applies it to every crop, and NC State says plainly that it does not hold:** "identification of downy mildew can be more difficult in watermelon and cantaloupe than in cucumber since **lesions do not always have the characteristic angular shape**." So the best shortcut in cucurbit diagnosis is crop-specific, and using it on a watermelon will talk you out of a correct answer. **The reason the descriptions differ is that the organisms differ.** Cucurbit downy mildew is *Pseudoperonospora cubensis*. Basil downy mildew is *Peronospora belbahrii* — a different genus, not a variant. They share a common name and very little else. It splits again inside the cucurbits: one clade more often infects watermelon, pumpkin and squash, another cucumber and cantaloupe. **What works on every crop is turning the leaf over.** Fuzzy growth underneath the discolored patch — purple-gray on cucurbits, near-black on basil. On basil especially, because from above it looks exactly like a plant that wants feeding, and the fertilizer does nothing. **And one fact that inverts the usual advice:** on cucurbits in a cold-winter garden it is not in your soil. NC State says it "can only overwinter on plants in sites with warm weather such as the Southern United States and greenhouses" — it arrives on the wind each year. The exact opposite of fusarium wilt, which waits in the ground for years.

  511. Three green caterpillars, one name, and the spray only works on one of them

    A new guide on cabbage worms, which is not an insect. **It is at least three** — the imported cabbageworm, the cabbage looper and the diamondback moth larva. University of Minnesota describes all three on one page, and reading their descriptions together shows the problem with every identification guide ever written for them: **"velvety green", "pale green", "light green."** Appearance is the one thing these three share. **So the test is not looking. It is touching.** Minnesota separates them by behavior. The looper has no legs in the middle of its body, so it humps its back and inches along — nothing else here moves that way. The imported cabbageworm "moves sluggishly when prodded." The diamondback larva **"wiggle vigorously when touched"** and is tiny, up to a third of an inch. Three seconds and a finger. **And it is not pedantry, because the name decides whether your spray works.** Minnesota on Bt: use it "when diamondback moths are the dominant caterpillar found, or when other caterpillars are found while they are still young," because it is "highly effective on small caterpillars." The common factor is size. **So finding a full-grown looper in August and reaching for Bt is the right product at the wrong moment** — and the same spray three weeks earlier is the recommendation. That is how a good product gets written off as useless. The page also declines to give a threshold for how many caterpillars are too many, because we could not find one published for home gardens.

  512. Two universities disagree about how big a raspberry pot needs to be, and now the page says so

    Oregon State says a raspberry wants a 20 to 30 gallon container. The University of Maryland puts brambles in a bucket starting at 16 inches, about 10 gallons. **Both are real extension services, both are talking about the same plant, and they are roughly three times apart.** We have known that for a while. It was written in a curator's note, in a file nobody outside this project reads. **The page said 20 to 30 gallons and looked settled.** A number with a single citation under it reads as a fact that somebody checked — which it was — and gives no hint that a second institution checked the same thing and got a different answer. **Now the disagreement is on the page, next to the number.** We still lead with Oregon State's figure, because a gardener needs one number to act on and the bigger pot is the one that fails safe. But the sentence says the other exists. **Blackberry carries the identical wording, deliberately** — the same disagreement described twice in two different ways would drift apart over time, and two slightly different accounts of one fact read like two facts. This is the same machinery that put garlic's depth warning on its page this week: a short condition a reader actually sees, rather than a note only a curator reads. **The gap between what we know and what the page says was the whole problem, and it is not fixed by knowing more.**

  513. Warmth is not comfort for seedlings — it is a shorter time at risk

    A new guide on damping off, the thing that takes a tray of seedlings overnight, and it is the last of six new plant-problem pages. **The seedlings that fell over are dead and there is no treatment**, which sounds like bad news and is actually the most useful sentence about it. Every rival page has a treatment section. There is nothing honest to put in one. So the entire job moves to before you sow. **And the best line in the source is one almost nobody quotes**, because it does not read like disease control. Wisconsin says to germinate seeds at high temperatures **"so that seedlings rapidly grow out of the stage."** Read that carefully: warmth is not about comfort or speed for its own sake. The seedling is vulnerable for a window after it emerges, and a fast-growing seedling **spends fewer days in that window.** The disease has a clock and you are trying to beat it. **It is also several different organisms sharing one name** — Wisconsin lists Pythium, Rhizoctonia and Fusarium, "including (but not limited to)". That is the third time in this set that one name covered several things. **Unusually, here it does not matter which you have**: none can be treated, they all like cool wet soil, and the prevention is identical. Narrowing it down would need a laboratory and would change nothing. The rest is short — fresh pasteurized mix rather than last year's tray, do not overwater, and thin crowded seedlings early.

  514. We were wrong about the other garden planners

    Our home page told you that garden planners are a winter puzzle, and that **"come planting season they just make you feel behind."** The implication was that they hand you a drawing and stop. **That is not true, and we should not have said it.** Seedtime's own site offers "a daily or weekly task list that automatically compiles from your gardening calendar plan." Several others ship a calendar too. They do not stop at the drawing. The same block claimed your history is "locked up the moment you stop paying" — **a claim about other companies' pricing that nobody here had actually checked.** Also gone. **The honest version turned out to be better for us, which is the annoying part about holding a false one:** it hid the thing we actually do differently. Their reminder is counted forward from the date you said you planted, so **it arrives on schedule whether the seed came up, drowned, or never went in.** Nothing is watching the plant. Ours is watching. We hold **229 checkpoints across 149 crops** for a sign that should have appeared by now — first true leaves, first flower, first fruit — so the app can tell you when the thing that was supposed to happen didn't. **A date cannot see that.** We would rather be accurate about a competitor and win on the real difference than be flattering to ourselves and win on a made-up one.

  515. Where you put the word "down" decided whether the job counted

    **"Laid woodchip round the beds" was logged as mulching. "Laid down woodchip" became a plain note.** Same job, same material, same person — and the only difference was which side of the woodchip the word "down" sat on. **We had it filed as a missing word, and it was not.** Woodchip was already on the list. Every pattern for mulching wanted the material first and the direction second, so any sentence that put the direction in front fell straight through. Fixing the one phrase would have left "put down bark" and "tipped a barrow of compost out" broken right beside it. **We tested it on nine sentences written before the fix, and it got seven.** The two it missed were the same shape a third time — "laid the cardboard down", with the material in the middle — so that closed too. **One thing fell out of it that was worse.** "Took the compost out of the bag" was being recorded as putting plants outside to harden off — a real event, on a real date, for a plant nobody carried anywhere. Compost does not harden off. **And two of them we are leaving alone, on purpose.** "Cleared the bed" and "emptied the pot out" stay notes, because a bed is a place and not a job: clearing one could be weeding, digging, or pulling out a crop that had finished. We would rather keep your words than pick one of the three and be wrong. That is written into the tests now, so nobody quietly changes their mind about it later.

  516. Which way the leaves roll tells you whether anything is wrong

    A new guide on curling tomato leaves, and it opens somewhere no other page does: **with the possibility that nothing is wrong.** Every page on this symptom is a list of problems, and **the most likely answer is not a problem.** UC IPM on physiological leaf roll, in three consecutive sentences: **"This is not caused by a pathogen." "No action is needed." "It will not harm plants."** They add there is "no damage to the fruit that develop later." It comes on in wet or hot spells and eases as soils dry. **And the thing that separates it from real damage is not a color or a spot. It is a direction.** Clemson describes physiological leaf roll as "an upward cupping of leaflets followed by an inward lengthwise rolling of the leaflets toward the mid-vein," starting on the lower leaves. Herbicide injury is the opposite: **"downward rolling of leaves and twisted growth,"** often with white split stems and deformed fruit — and that damage cannot be reversed. **Up, from the bottom of an otherwise healthy plant, is nothing. Down, with twisting, is drift.** That is an unusually clean test for a garden symptom, and it decides between doing nothing at all and having a real problem. A virus is the third possibility and reads differently again — it cups the NEW leaves, pales them, puts purplish veins underneath and stunts the whole plant, rather than curling the old leaves on a plant that is otherwise thriving.

  517. A bucket was never too shallow. That is not what stops it

    New guide, on what a five-gallon bucket will not grow. **The thing everybody repeats about buckets turns out to be false.** Maryland Extension sorts container plants into three sizes, and the deepest one — tomatoes, peppers, eggplant, cucumbers, winter squash — asks for 12 to 16 inches. A standard bucket stands about fourteen. It is inside that band. **What actually stops a bucket is two different things that usually get called one.** Root volume, which a bigger container fixes completely. And the plant itself — how wide it grows, whether a twelve-inch base holds it up, whether you can still lift it. Nothing fixes that second one, and a bigger container makes it heavier. So fruit trees are out. Maryland puts a dwarf one at 25 to 30 gallons of potting mix and a shrub at 25 — five or six buckets' worth **in one container**, because roots cannot cross from one bucket to the next. The distinction we are most pleased with: **a fifty-foot chayote does not need a fifty-foot container.** A vine sprawls from roots that stay put, so how wide a plant grows rules out a tree and says nothing about a squash. Half the lists of what-not-to-grow-in-a-container treat those as the same fact. And the part where we mark our own homework: we hold a container size for 143 crops, 26 of them need more than a bucket, and **only 4 of those 26 carry a citation.** The other 22 are our estimate. So the guide argues from how big the plant gets — sourced on 91% of our records — rather than from gallon figures we cannot stand behind, and it says which is which on the page.

  518. Seven fruits will never fruit alone, whatever size pot you buy

    Last of four new guides on growing in containers, and this one starts somewhere odd on purpose. Every article about fruit in pots opens with what size pot. **That is the third question.** **A container garden is a one-plant garden.** Nobody puts two apple trees on a balcony — you buy one thing, in one pot, and find out three springs later whether it works. So the first question is whether one plant can fruit on its own. **Seven of the 26 fruit crops we hold cannot.** Apple, sweet cherry, European pear, persimmon, kiwi, honeyberry and mulberry all need a different variety flowering nearby. One on its own blooms every spring and gives you nothing, in any pot, forever. Every one of those seven carries citations — apple alone is Clemson, Michigan State, Minnesota and Utah State. What makes it cruel is that the failure looks exactly like patience. Three years is a normal wait for a young tree, so nothing in the first three springs tells you anything is wrong. **And here is why citrus is the classic patio fruit, which we had never seen explained.** Lemon, lime, orange, mandarin and grapefruit all need only 0 to 100 hours of winter cold — Mississippi State, all five. A peach wants 200 to 1,050. The one thing a pot does that the ground cannot is move, and citrus is the fruit you can carry indoors for winter without costing yourself the crop. **We left out the table you were expecting.** Pot size is cited on 4 of our 26 fruits. A pot-size table would have been 22 estimates wearing four citations, and you would have had no way to tell which was which.

  519. A trait tag now says who is talking

    Variety pages showed trait tags like "drought tolerant" or "takes the heat" as flat facts, with nothing to say where they came from. Most of them came from a seed catalog describing its own product — a sales claim with a URL on it. Now, once you have picked a variety, the app names the source: "Johnny's Selected Seeds describes this as drought tolerant" reads differently than "NC State Extension records this as drought tolerant," and both beat stating it as our own fact. 144 varieties had a trait nobody could be named for — those show nothing now, instead of an unattributed claim standing in as the truth.

  520. An estimate can now say we went looking for something better

    Strawberry’s container size, 1–2 gallons, is our own estimate — no extension office states a gallon figure for a strawberry plant. Until today, if we went back and genuinely searched for a real number, there was nowhere honest to put the result: our database could hold an estimate or a record of a search, never both on the same field. That is fixed. The estimate on strawberry’s page now carries one line saying we checked four university sources for a better figure and found none — one was about freezing the fruit, one was actually about grapes. **The number did not change. What changed is that you can now see we looked**, instead of wondering whether anybody ever checked.

  521. Every guide we have rewritten now says why it is worth reading

    The last three guides in this pass are done: tomato flowers dropping, will it frost tonight, and how to protect plants from frost. Same treatment as the others — the writing reads like a person talking, and every temperature, figure and university quote is exactly where it was. Each one also now states what makes it worth reading over the other pages answering the same question, and a check refuses to build the site unless that claim is genuinely in the page. Two are worth calling out. The flower-drop guide gives you how LONG it has to stay hot before you actually lose flowers, not just how hot — because one hot afternoon costs you nothing and a run of hot nights costs you the set, and almost nobody publishes the duration. The frost protection guide now leads on what a cover is actually doing, which is trapping the ground heat rather than the plant heat. Every way covering fails follows from that: a cover that does not reach the ground lets the only heat you have pour out the sides, a cover touching leaves conducts cold straight through, one left on into sunshine runs 20 to 40 degrees hotter than the air and cooks the plant, and a wet sheet can leave things colder than no sheet at all, because evaporation pulls heat away.

  522. The free plant data keeps every crop and every variety, and drops the fields only software uses

    When we put the plant database up for download last week we put up all of it — including the parts that exist to make our app work rather than to help anyone garden. That was more than we meant to give and we have narrowed it. What did NOT change: all 151 crops and all 3,176 named varieties are still there, free, CC BY 4.0. What came out: the growth stages and the care actions inside them, the watering rates and weather thresholds our alerts fire on, and the frost calendar those stages resolve onto. None of that changes what you do with a trowel; all of it is what took eighteen months to put together. What stayed is what you act on — spacing, sowing depth, sun, days to maturity and what it counts from, how big it gets, hardiness zones, pot size, pests and diseases, when to start relative to your last frost, and per variety its maturity, type, color, size and habit. The provenance file came with it: every value in the download that has a source names it, and every value that has none says why. If you want the complete record for research or to check our work, email us and ask — the page says so, and we would rather hand it to somebody who says what it is for.

  523. We fixed one link that reloaded the app. Then we fixed all of them.

    Earlier today the guide link in a chat answer quietly reloaded the app instead of opening the guide. Fixed. But the cause was never that one link. **The app answers for any address at all.** Ask it for a page it does not have and it hands back its own front page with a perfectly healthy response — which is exactly what makes it work as an app, and exactly why a link to our website disappeared into it without a trace. So it was not one broken link. It was every link to our own site, present and future — and the future part matters, because the chat has just learned to answer from all eighteen help pages and that list writes itself. **The surface was growing on its own.** Now anything belonging to the website is handed to the website. Guides, help, the plant database, the tools, the research pages. We wrote the list by hand first, and it was wrong before it shipped: four addresses, when there are eleven, and the plant database was not one of them. **A list you type twice drifts the first time somebody adds a page** — so it is now read from the website itself, and adding a page updates the app by building it. The check also refuses to hand over anything that is one of YOUR screens. Sending somebody from their own garden to our marketing site would be a far worse bug than the one we started with, so the build fails rather than allow it.

  524. Fall crops were not too late — the app just thought they were

    Ask the app in early August whether you could still plant spinach, lettuce, radish, kale, turnips, arugula, mustard or cilantro, and it was telling some of you "not this year" when the true answer was "yes, plenty of time." A tomato really does die at the first light frost, so the app checked every crop against that same date — but a light frost barely slows spinach down, and it makes kale taste better. Now a crop a light frost does not kill is checked against your first HARD freeze instead, a colder date later in the year that we already had for your address and simply were not using. In Fargo, ND, about as short a growing season as the Lower 48 has, turnips sown today went from "three days short" to "a week to spare." Most of the country has an easier season than Fargo. If the app told you no a few weeks ago, it is worth asking it again.

  525. It made the cherry trees and it made the watering. It did not connect them.

    Reported after a real message: "I moved the orange tree and potted lavender to the front porch and watered the two cherry trees I have in the front yard." Two cherry trees were created. A watering was written down. **Nothing joined them** — the watering was a note carrying the words "front yard", so asking that tree next month when it was last watered would have got nothing back. Two things were wrong underneath. Everything was saved in the order you said it, so the watering went looking for trees that did not exist yet. And the way it looked was by matching your words against the plant's NAME — so "front yard" would find a tree you had labeled "front yard cherry" and miss two labeled "Cherry". It worked sometimes, which is why nobody noticed it usually did not. Now the bed is made first, then the plants, then anything referring to them — and the watering is attached to the actual trees, one entry each, so each tree can answer for itself. **And when we are not sure, we ask.** Say "the two cherry trees" when we hold three, and you get the three offered so you can pick. That is deliberate: a number you stated is something you know about your own garden, and when it disagrees with our records, one of us is wrong and it is not automatically you. Quietly picking two of three would settle that in our favor, invisibly, in your own records — and a watering on the wrong tree is never noticed.

  526. It recorded a healthy rose as dead, and a bolted lettuce as a milestone

    We took every sentence the app understands and rewrote each one the way somebody who has never gardened would say it. Most of the failures were harmless — the app kept your words and saved a plain note. **Four were not harmless. They recorded the opposite of what happened.** **"Pulled the dead flowers off the roses" marked the rose as dead.** Deadheading is the most ordinary job in a rose bed and August is exactly when you do it — and "dead" is the one thing in your records you have to be able to trust. A thriving plant filed as dead is a lie you would read next spring and believe. **"The lettuce shot up and started flowering" was recorded as flowering** — a milestone. That is bolting: the plant has given up on leaves and gone to seed, and the crop is over. We would have congratulated you for it. The other two were quieter. **"Sprayed a bit of water on the seed tray"** was filed as treating a pest, because of the word *sprayed*. **"Gave everything some plant food"** was filed as planting, because of the word *plant*. **Every one of them lost to a shorter, more general word** — *dead* beat *dead flowers*, *plant* beat *plant food*. All four now land right, and the sentences they used to steal from still land right too: spraying a rose is still treating it, a genuinely dead tree is still dead, and a first flower on a zucchini is still a first flower. **A missed sentence costs you a fact. A wrong one invents a fact.** Those are not degrees of the same problem, and only the second is worth interrupting the week for.

  527. It understood 43% of what a gardener actually says. Now 57%.

    We fixed "I moved it" as a one-off last week, and that was the wrong shape of fix. **"Moved" was not special — it was the one thing somebody happened to try.** Nobody had ever written down the list of things a gardener says out loud, so we were finding the gaps one report at a time. So we wrote 56 of them down first, in the words a person actually types — short, lowercase, half a sentence — and measured before fixing anything. **43% understood.** Five were understood as the *wrong* thing, which is worse: a note keeps your words and loses the fact, but a wrong type invents one. "Picked the caterpillars off by hand" was filed as a harvest of caterpillars. Three fixes, measured after each. **The app picked the first matching pattern rather than the best one.** "Lost the zucchini to slugs" matched on the word *slugs* and became a pest sighting, when the sentence plainly says the plant died. Now the most specific match wins — and the ordering is pinned by tests, because it had been silently load-bearing for years. **There was no way to record treating a plant.** Spraying, traps, picking pests off by hand — the app will tell you to do these, and had nowhere for you to say you had. The second spray is the one where remembering the first matters. **And everything the app understood was something a PERSON did.** "Beans are up." "Lettuce has bolted." "First flower on the zucchini." You say those in exactly the same breath as your own jobs, and it heard none of them. **It understood a logbook, not a garden.** Now it hears them, and records them against the plant with the date — which matters more than it sounds, because we hold how long a seed should take. Beans up on day six when we said eight is your garden telling us something about your soil.

  528. It said you were offline. It was calling your own phone.

    Reported twice, four days apart, both times on full signal: a message that would not send, "could not reach us just now, though you are online", and a queue of unsent changes climbing to nineteen. The app was sending every request to `localhost` — a address that means **this device**. So the phone was asking itself for the answer, and getting an instant refusal. It looked exactly like a network problem because a refused connection is the same error a network problem gives you, and it failed in nine milliseconds, which is why the Try again button appeared to do nothing. The cause is duller and worse than a bug. The address of our server is a setting supplied when the app is built, and if it is missing the code fell back to a developer's own machine — a sensible convenience while writing code, and a catastrophe once shipped. That setting had gone missing, so every build since quietly pointed at nowhere. **A production build now defaults to production**, and the developer address only exists while running the app locally. We also found the same address written out FIVE separate times across the app, which is why nobody noticed: fixing one would have left four. There is now one copy, and a check that reads the finished app before it can ship and refuses it if the word localhost appears anywhere in it. Nothing was lost. Everything saved while it could not send has been waiting on the phone and goes up as soon as the app can reach us again.

  529. "I moved the orange tree to the front porch" — and the apple tree stayed where it was.

    Telling the app you moved something now works, and the app knows the difference between two things that sound the same. **Repotting is not moving.** "Moved it to a bigger pot" changes what a plant is planted IN — the app already understood that one. "Moved it to the front porch" changes where it SITS, and until now that fell through as a plain note. They are worth telling apart because where a plant sits decides its light, its wind and how fast it dries, and none of that changes when you repot it in the same spot. **And a plant in the ground cannot be carried anywhere.** Say you moved a tree we have on record as rooted and we will write down that you told us — and leave the tree where it is, and say so: *"Apple tree stayed put — our record says it is in the ground rather than a pot. If that is wrong, change it on the plant and we will follow."* Either our record is wrong, or you dug it up, or it was a slip of the tongue, and all three of those need you rather than a guess.

  530. Nine bean varieties were given another species’ sowing numbers, and one of those numbers could cost you the seed

    If you looked up Scarlet Runner, Christmas Lima, King of the Garden, Big Mama, Painted Lady, Sunset Runner, Florida Speckled Butter, Willow Leaf, or Dr. Martin’s on this site, the growing numbers you saw were not that plant’s. They were pole bean’s. Runner beans and lima beans are not pole beans. They are three different species — a pole bean is Phaseolus vulgaris, a runner bean is P. coccineus, a lima is P. lunatus — and somebody filed those nine varieties under pole bean because they are all grown up a pole. They inherited every pole bean number as a result. **The one that matters is soil temperature, and it runs wrong in both directions.** We told you to wait for 60°F soil. A runner bean can go in at 50°F, so anyone who waited lost the front of the season — in the one bean whose whole advantage is that it goes in early. A lima wants 62 to 65°F, so anyone who sowed at 60 put seed into soil that is too cold for it, and cold soil rots lima seed. That is not a late planting. That is a planting that never comes up. Every other field was wrong too, just less sharply: days to maturity, days to germinate, how far either side of your last frost to sow, and what size container. A runner bean finishes up to 35 days sooner than a pole bean, so its whole calendar was stretched. The nine are moved to their own crops and now carry their own figures. They were also in the plant database download, by name, so anyone who took a copy before today has the wrong numbers for those nine rows and should download it again. On how it was found, because it was not luck and it was not a bug report. We fixed a different filing mistake yesterday — five lemon balms sitting under lemon — and then went looking for anything with the same shape rather than assuming it was a one-off. That is what turned these up. The first measurement of the damage came back saying no field differed at all, which was clean, confident and completely wrong; it was caught because three different species sharing an identical soil temperature is not believable, not because anything failed.

  531. One row of cucumbers is the entire 4×8 bed

    A new guide on laying out a vegetable garden, and it argues with itself on purpose. **The number that decides whether a plan fits is not the one on the seed packet.** In-row spacing is the famous number; the gap between ROWS is the one that decides, and across the thirteen crops we checked it runs from about one and a half times the in-row figure up to ten times it. The pattern is the opposite of what you would guess — the smaller the plant, the bigger the gap, because you can pack the row and still need somewhere to put your feet. **Cucumbers are published at 8 to 12 inches in the row and 48 to 72 inches between rows. A 4×8 raised bed is 48 inches wide.** Read those together and one row of cucumbers is the whole bed — not a corner of it. Summer squash at 36 to 48 does nearly the same thing. That is why so many first beds turn into a thicket by July: nothing was done wrong, the subtraction was just never done. **Then we ran the same check on our own recommended plan, and it fails too.** The four-row bed we suggest needs 72 inches of gaps at published spacing and a 48-inch bed gives 36. We printed that rather than round it away, because the resolution is the useful part: those figures reserve a walkway for someone with a hoe and a field, and in a bed you reach into from both sides, half is genuinely fine. Shaving a number you have seen is a decision. Shaving one you never met is a guess wearing a plan. **Every figure comes from our own records, and behind the ten crops named sit 42 extension publications from 11 universities.**

  532. One fruit’s source bled onto its neighbors, and we caught it before you saw it

    Fifteen crops got a real, cited container size today — ten herbs and five fruits. **Three of the five fruits were wrong when they were written, and a second reviewer caught all three.** **Fig was the clearest.** We had it at 10 to 15 gallons with a note about starting small and moving it up a pot size as it grows. That advice is real — it is just about **blueberries**. Fig appears in our source exactly once, inside a sentence that names four fruits together and gives them one number: fifteen gallons. No range, nothing about potting up. **Fig now says 15 gallons and nothing else.** **Blueberry had a floor nobody stated.** We showed 5 to 15 gallons. The page we cite gives a size for a mature plant and says to repot as it grows — it never names a starting number. So the 5 was ours, not theirs. It now says 15 gallons, with the repotting advice kept as words rather than invented as a figure. **Blackberry’s number was right and its receipt was wrong.** 20 to 30 gallons is what Oregon State says. We had also listed a Maryland page as backing it up — and that page actually says **10 gallons** for the same crop. Two sources disagreeing is worth knowing; a disagreement presented as agreement is not. We dropped the citation that did not support us and say plainly on the page that the two disagree. **All three are the same mistake.** When one page covers several crops in one sentence, it is easy to let the detail from a crop that HAS its own page slide sideways onto a crop that does not. The number looks sourced. The sentence it came from was about something else. We now have a written check for it and a second reader on every batch, which is what found these — not the person who wrote them.

  533. Every pest and disease now has exactly one name

    **Thirteen pests were living a double life in the database.** "Cabbage looper" on some crop pages, "cabbage loopers" on others — same insect, two different spellings, and nothing tying them together. Same story for the Japanese beetle, root-knot nematode, wireworms, and nine more. It never showed up as wrong information — every individual crop page was correct on its own. The problem was invisible until you read the full list and noticed two neighbors that were obviously the same bug. We picked one spelling per pest — checking what the actual extension sources call it, not just going with whichever spelling showed up on more crops — and repointed every crop page to it. A few crop pages now name a pest slightly differently than before (plural vs. singular). **The real payoff is what this unlocks:** we can now write one real "what it looks like, what to do about it" page per pest and have it correctly show up on every crop that has that pest, instead of silently missing half of them.

  534. It asks you once what "planted out" means, then never again

    **Some gardeners say "planted out the leeks" and mean the leeks are in the ground for good. Others mean the tray went outside for the day and comes back in tonight.** Both are ordinary English. It is not a careless way of talking — it is regional, and there is no majority we could quietly side with. We went looking for something that would settle it. **Nothing does.** Not the time of year: hardening off happens in the days right before the transplant, so the two sit on top of each other by definition — and of our 151 crops, only 38 even mention hardening off and not one of them says when it happens. Not whether the plant is already in the ground, which answers the easy half and leaves exactly the half people say this about. Not whether you mentioned hardening off earlier, which is missing both when you did not do it and when we did not hear you. **So it asks you. Once.** Two buttons — *into the ground* or *out for the day* — and the thing it remembers is not about the leeks. It is what those words mean when **you** say them, and that does not change between Tuesday and next April. One tap buys every sentence you type after it. Until you answer, those sentences save as your own words rather than as a guess, because a coin flip repeated all season is worse than a note. In our own test set of 56 things a gardener actually types, that one answer takes us from 59% understood to 63% — and takes the number we understood **wrongly** to zero.

  535. How to grow potatoes in a bucket, and the number that decides it

    New guide, and it is the first of a short series about growing in actual buckets rather than in pots you have to go and buy. Every page on this subject answers the same question — what size container — and then leaves you guessing how many potatoes to put in it. That second question is the one that decides your crop. University of New Hampshire Extension publishes the figure: plan for five gallons of soil volume for each plant. A standard bucket is five gallons, so a bucket grows one potato plant. Not three. One. Put three in and they all come up, share one plant worth of soil between them, and you tip out a bucket of marbles in September. The guide has the filling method from the same source, which is not like filling a pot — you start the bucket half empty and keep adding soil as the stems rise, because the potatoes form on the buried stem above the seed potato rather than below it. It also says what a bucket does not fix: it dries out faster than the ground and wants watering daily in July, and it will never out-yield a row. One plant makes what one plant makes. What the bucket buys you is somewhere to grow with no ground at all, and a harvest you tip onto a tarp instead of digging for.

  536. Seven jobs the app asked you to do and then had nowhere to write down

    Nik asked a simple-sounding question: do we cover all the jobs a gardener actually does — **"pruning, put up supports or braces, thinning out"** — and do we know the proper words *and* the casual ones *and* how somebody new would say it. Two of his three examples worked. **Staking did not**, and nor did six others: weeding, covering, uncovering, hilling up, dividing a clump, and taking cuttings. All seven were saved as plain notes — nothing lost, but nothing countable either. **Four of them are jobs the app itself tells you to do.** It will say *stake this while it is still small*, or *keep the bed weeded* — and then have no way to record that you had. So the job never got ticked off by saying you did it. That is fixed: doing the thing now finishes the thing. Each one understands three ways of saying it, because they are genuinely different sentences: *staked the dahlias*, *tied the tomatoes up*, and **"put sticks in for the beans to climb"**. That last one is the kind we were worst at, and it is the one most people would actually type. **The hard part was the words that already meant something else.** "Covered in aphids" is a pest sighting, not a row cover. "Split the rhubarb" is dividing a plant; "the plum split after the rain" is damage. In each case the new word would have won and quietly stolen the sentence, so each one is now guarded and tested. Understanding of the things a gardener says went from **59% to 73%** in the same change.

  537. Half of "I watered it" was not the word water

    Nik reported something small: **"for watering I can put in 10 but I want to either select gallons or minutes."** That part already worked — a bare number keeps the number and shows you two buttons, because a can is gallons and a hose is minutes and there is no honest way to turn one into the other. So before changing anything we drove it, the way we drove the verbs last week: **30 ways a person says they watered something, scored before any fix. 43%.** **The units were barely the problem.** Half those sentences never reached the amount question at all, because the app was looking for the word *water* and people mostly say the tool or the amount instead. "Gave the beds two gallons." "Drip ran for an hour." "Misted the seed tray." "Gave them a drink." All ordinary, all landing as a plain note. **And the tool you name settles the unit, so it should never have been a question.** Nobody measures a hose in gallons — you do not know how many came out and you never will. Nobody measures a can in minutes. A hose, a sprinkler, a soaker or a drip line is minutes; a can, a bucket or a jug is gallons. It still refuses to guess from the *job* — "watered the tomatoes, 10" is genuinely unknowable and still asks — but it no longer interrupts you to ask something you already said. **"Two cans" is not two gallons.** That one was quietly the worst: a real number sitting against the wrong noun, with the gallons button one tap away. Your can holds somewhere between one and three gallons and it is not labeled. Now it keeps the gallons and leaves the number to you. **And "a good soak" is not an error.** It used to answer *there is no number in that we could record*, which is true and reads like being told off — and somebody told off for talking normally learns to talk to their app like a form. The watering was always saved. Now it says so, and the number is an offer with a reason attached. **43% to 93%, and nothing it writes is a number you did not say.**

  538. Winter was never empty. The app just could not count past New Year

    **Garlic goes in during October and comes out the following July.** A plant's stages are stored here as day numbers, so garlic's harvest lands on **day 544 of a year that stops at 365**. Asked in January whether day 544 had arrived, the app said no — correctly, and uselessly. Then it filled the gap with the only thing it could find ahead of it, which was next October's planting. On 15 January the row read *"Taking root in 237 days"*: advice to plant garlic, given to somebody whose garlic was already in the ground and four months old. **33 of our 151 crops had at least one stage the app could not see, and garlic was the worst — invisible for 227 days of the year**, including its dormancy, its spring growth, its bulbing, its harvest and its curing. Five fruit trees lost the bare-wood prune for the two weeks either side of New Year, which is the only stretch that job exists. **Nothing was broken enough to notice.** Nothing threw, no test failed, and an empty winter looks exactly like a quiet winter. The app now works out which year a plant is actually in before it compares anything. Garlic reads **Dormant** in January, **Growing leaves** in April and **Ready to pick** in July, and the winter jobs on fruit — the bare-wood prune, peach's dormant spray, straw round the strawberries — turn up on the day they are due instead of never. The fix ships with a sweep that checks **all 55,115 crop-days** in the catalog rather than the handful of cases a person would think to write down.

  539. What actually fits in a five-gallon bucket, and the four crops that do not

    New guide. A bucket is the right container for **bush beans, carrots, Swiss chard, cherry tomatoes and cabbage**. It is too small for summer squash, which wants ten gallons — two buckets' worth of soil for one plant. The part worth reading is the four crops in between. **Maryland Extension answers this question twice, and the two answers disagree.** One of their pages carries a per-crop table where a standard tomato needs five gallons. Another skips crops entirely, sorts plants into three sizes, and puts that same tomato in the large class at eight to ten gallons, one plant per container. Peppers, eggplant and cucumbers sit in the same class. Both pages say minimum. Neither links the other, so you land on one number and never learn there is a second — and the five-gallon bucket falls exactly in the gap between them. Our read, and we label it as ours rather than something they publish: **five gallons is where the plant lives and eight to ten is where it does well.** A pepper in a bucket is a real pepper plant. It is the smallest container that is not a mistake, which is a different thing from being told five gallons is the answer. One thing we went looking for and could not find: how many plants fit in a bucket, crop by crop. Nobody publishes it except for potatoes. So the guide says that instead of doing the arithmetic ourselves and putting a citation on it.

  540. The link to our own guide quietly reloaded the app instead.

    When the chat names a problem we have written about, it offers you the page. Tapping it took you nowhere — or rather, it took you back to the app. Our guides are served from one address and the app from another. The link inside the app was written as a plain path, which looks perfectly valid and resolves to **the app's own address instead of the site's**. **And the app answered.** Not with an error — a single-page app hands back its own front page for any address it does not recognize. So the link returned a healthy, successful response and showed you GardenTrack again. No error page, no broken link, nothing at all to suggest anything had gone wrong. That is the same shape as the app calling your own phone last week: an address that looks right, resolves somewhere wrong, and gets a confident answer from the wrong place. Fixed, and the check that catches it had to be built twice. The first version scanned the shipped app for those bare paths — and flagged the corrected version too, because the same paths legitimately live in the shared data the website itself uses. **A check that fires on good work is one people switch off.** So the real test now asserts that the app builds the link against the site's address, and it was proven by breaking it on purpose first.

  541. Our pictures now describe themselves, instead of reading the headline out twice

    If you use a screen reader, every guide on this site used to do the same unhelpful thing. The big picture at the top was described by reading out the page title — **the exact words you were about to hear again from the heading underneath it.** So the picture told you nothing, and you had no way of knowing you were missing anything. All 17 guides now carry a real description of what is actually in the picture. The frost one is a curly kale plant edged with white frost in cracked soil. The tomatoes-in-pots one is two plants side by side — a short bushy one loaded with fruit, and a tall thin one on a cage with barely any — **which is the whole argument of that page, and it was previously invisible unless you could see it.** One note on how they were written, because it is the part that could have gone wrong quietly. We keep a log of the instruction behind every image we make, and it would have been much faster to write the descriptions from those instructions. We opened every picture instead. **An instruction is what we asked for, not what came back** — one image generated this week was asked for a plastic bucket and came back with an old metal pail. A description written from the request would have been confidently wrong, and the one person who cannot check it is the person relying on it.

  542. A variety that says "62 days" no longer also says "early"

    Small cleanup to the variety lists in the app. Each variety can carry short tags — **drought tolerant**, **cold hardy**, **bolt resistant** — and two things were wrong with them. **The same tag existed under two names.** 96 varieties said "pollinator" and 68 said "pollinator friendly". Those are the same claim, so anything that grouped or filtered on one quietly missed the other half. Nine pairs like that are now filed under one name. **And a row that already prints a number was printing the word for it too.** A variety that says 62 days does not also need the tag "early". That tag is gone from 215 rows. It is **kept** on the 73 varieties that carry no day count, because there the word is the only thing said about timing — honeyberry is the case that decided it. No honeyberry variety we hold has a day count, honeyberry needs a second variety flowering at the same time to set fruit at all, and **early or late is exactly how you pick a pair that overlaps.** Dropping it everywhere would have deleted the fact that decides whether the plant fruits. One thing we did not do: a first pass at finding duplicate tags by name similarity proposed seventy pairs, and among them was "bolt prone" and "bolt resistant" — **opposites.** Merging those would have inverted the fact on every row carrying it. Only pairs that plainly mean the same thing were merged, and the test suite now refuses the opposites by name.

  543. Nobody publishes the temperature your vegetables die at. We checked all 151

    New piece, and it came out of a column we could not fill. You stand in the garden at nine at night, the forecast says 30°F, and you want one number: **does the kale die?** We went looking for that number on every one of the 151 crops we hold. **27 have one. 124 do not — and we had already written down that we looked**, which crop, which sources, what date. 242 of those notes across 136 crops. Then the part that turned a gap into a finding. **Eight of the 27 are not death temperatures at all** — they are a source saying the plant is still fine down to that number, which is a hardiness statement wearing a temperature. That leaves 19. **And all 19 belong to somebody with a crop to lose.** Seven are fruit trees in blossom. Five are perennials getting through winter. Four are field crops. Two are tropicals. One is asparagus losing its spears. **Not one is an ordinary vegetable on a frost night.** We named it the orchard thermometer. Those tables were built for a grower deciding whether to run frost fans over a blooming peach block at two in the morning, and they answer that person precisely. For a cabbage in a backyard the same institutions publish a hardiness zone — the right answer to what can I grow here, and no answer at all to does this die tonight.

  544. Three honest answers for which variety you planted Partly live

    Adding a plant had no way to say which variety it was — the name you typed sat in the label, and the plant page kept asking "which kind of tomato?" above a plant that already looked answered. Now there are three real answers: pick one from our list and your dates sharpen; say you are not sure and the app asks again later, because it genuinely does not know; or type the name if it is not in our list, and the app stops asking. A typed name also gets logged by crop — a variety enough people type becomes one we go and add for real.

    Not yet: A typed variety currently lives on the device you typed it on and does not yet follow you to a new phone. A picked variety is unaffected.

  545. Three more guides rewritten, and one of them contradicts the usual advice

    The hornworm guide, the yellow tomato leaves guide and the yellow cucumber leaves guide have been rewritten to read like a person talking, with every temperature, figure and university quote left exactly where it was. Each also now states what makes it worth reading, and a check refuses to build the site unless that claim is genuinely in the page. The cucumber one is the interesting case. Almost every page answering "why are my cucumber leaves yellow" tells you to feed the plant. University of Minnesota publishes a diagnostic tool listing nine causes of discolored cucumber leaves, and nutrient deficiency is not one of them. So our page says that outright rather than recommending fertilizer to sound helpful, and points you at the wilt test instead — the one you can run without touching the plant. The hornworm guide leads with the caterpillar you must not kill, the one carrying white wasp cocoons, because squashing it destroys the insects that would have done next year work for you. And the tomato one starts from the leaf in your hand rather than from a list of five causes you have to guess between.

  546. The 'today' mark on your calendar stopped landing on yesterday

    Two things on the plant pages — the little 'today' mark on the calendar, and the 'what can I plant right now' list — work out today's date with some quick math. That math had a bug: for about an hour after midnight, on any day the clocks were set to daylight saving time (roughly March through November), it could land on yesterday instead of today. It never threw off a whole week, just that one day, and only in that hour. Fixed 7 August 2026 — today's date is now worked out a way the clock change can't trip up.

  547. Two guides rewritten, and both now say why they are worth reading

    The hardening-off guide and the squash bug guide have been rewritten to read like a person talking rather than a manual. Every temperature, every week count and every university quote is exactly where it was — what changed is the sentences around them. Both also now carry a short declaration of what makes them worth reading over the ten other pages answering the same question, and a check refuses to build the site if that claim is not actually in the page. For hardening off it is the six extension services that disagree about the length, plus the two crops that invert the whole exercise: celery, which the usual cold treatment ruins, and artichoke, which will not form a bud without exactly the cold that sets a pepper back. For squash bugs it is the stage argument — the bug you can actually see is the one spray works worst on, which two extension services state from opposite directions. Neither of those was new to the pages. Both were already in there, written by someone reaching for the bigger idea, and nothing had ever asked them to say so out loud.

  548. When we said two sources agree, it was sometimes one source counted twice

    Every figure on this site carries the publication it came from, and some carry more than one — which is meant to tell you the number has been checked in two places. **Eighty-three web pages were filed in our records under more than one name.** So a figure citing both names looked like two independent sources agreeing when it was one page, cited twice. **Nothing on the site was wrong because of it, and we checked that specifically rather than assuming.** No figure anywhere actually cited both names of the same page — so no confidence was inflated, and not one number changed. What existed was the mechanism, waiting. We found it because two people working on different things hit it within an hour of each other, and the second one stopped before publishing anything built on top of it. The cause is dull and worth saying plainly. Our source list grew over months, and two naming habits ran side by side — one written by hand in capitals, one generated automatically in lower case. **The same university page could arrive down both routes and be filed as two different things.** Nobody was careless; the list simply had no rule that a page may only appear once. **Now it does, and the build refuses to finish if a page is ever filed twice again.** Ninety-four duplicate entries were merged into the originals and every figure that pointed at one was repointed — 12,646 citations checked, all of them still resolving. If you have downloaded our plant database, the source list in it is now 845 publications rather than 881. **That drop is the fix, not a loss:** the missing 36 were pages already in there under another name. Every figure and every value in the download is unchanged, which we verified by rebuilding the whole dataset and confirming the health report came out byte-for-byte identical. If you keyed anything on our source IDs, download it again.

  549. We said we had looked and found nothing. Four times, we had looked in the wrong place

    Eight crops on this site carried no container size at all. Each one had a note attached from whoever tried: **we searched, nothing published a figure, so we are not making one up.** We went back and checked those notes against the pages nobody had read. **Four of the eight were wrong.** **Leaf lettuce** has its own row in Maryland Extension's container table — half a gallon. Two separate people recorded that no source states a size for it, and neither had opened that page. **Fennel** is named individually on both Maryland pages, agreeing at five to six gallons. **Dill** is in Maryland's large-herb line at five gallons or larger. **Watermelon** turned up in Alabama Extension's series at one plant per five-to-seven-gallon container — a family of pages none of the original searches had touched. **The other four stand, and now say what was read.** Sweet corn is not named in any container guide we can find. Garlic has a real published figure and it is a *depth* — at least eight inches — which is a different measurement from volume and one this field cannot hold. **Kohlrabi and onion are the interesting refusals.** Alabama gives a number for both — but as plants per pot, not pot per plant. Four to six kohlrabi in a five-gallon container. Dividing one by the other would have produced a tidy per-plant figure **that no source anywhere states.** So we left them empty. **The rule this bought us: a refusal is only as good as the sources it was made against.** A written note saying "we searched and found nothing" is the most convincing thing in a dataset. It is signed, it is dated, it reads as settled — and it quietly stops anybody looking again. Those four notes were honest. They were just made against the wrong shelf of the library. Every refusal on this site now names the pages that were actually read, so the next person can check the search instead of trusting it.

  550. We listed kohlrabi among the plants that shrug off a hard freeze. It does not

    Our frost-protection guide had a table telling you which of your vegetables to worry about on a cold night. **Kohlrabi was in the wrong row.** It sat with kale, collards, cabbage and Brussels sprouts, under a line saying most of these shrug off a hard freeze. Kohlrabi is half-hardy — it takes damage in the high twenties, which is exactly the night that table was telling you to leave it alone. **That is the direction that costs you a plant.** Five other crops on the same table were also in the wrong row, and every one of those errs the harmless way: we told you to cover something that did not need it, and you lost an evening. Spinach, kale and onions are tougher than we said; peas and radishes are tougher than we said. **Kohlrabi was the only one we made sound tougher than it is**, and it is the only one where following our page and doing nothing was the wrong move. We are not giving you a temperature for it, because we do not have a sourced one. We know its tier and we know what that tier means; inventing a number to look precise is the thing the tier system exists to prevent. What went wrong is duller than a bad source. **We had the right answer already.** Every one of those six crops carries a frost rating in our plant database, sourced, and five of the six disagreed with the table on the page. The table had drifted away from our own data — in both directions, which is how we know it was drift rather than a deliberate simplification. The page now sends you to the frost-tolerant vegetables guide, which reads from the same ratings the database holds, so there is one list instead of two that can disagree. If you grew kohlrabi this year and lost it to a cold night, we are sorry — that one is on us.

  551. We were marking about half our estimates, and the other half looked sourced

    Every plant page shows a small **est** tag next to a number we could not find a published source for. That tag has been there a while. **It was appearing on roughly half the numbers that deserved it.** That is worse than having no tag at all. A mark that shows up on some numbers is a claim about every number it skips — you see three tagged values on a page and reasonably conclude the other twenty are sourced. **370 times across the site, that was not true.** The cause is dull and worth saying anyway. The page was reading a shortcut flag stamped into our data file rather than the citation records themselves. The flag missed one whole category (numbers a person set by hand) and 221 values it simply never got stamped on. **The page was checking something that stands in for the answer instead of the answer.** It now reads the citation records directly, so it no longer depends on what the export remembered. And the line at the bottom of each plant page used to say we carry "a cited fact per field". It now says how many — **"22 of the 23 values on this page carry a citation"** on tomato, 11 of 20 on orach — a number you can check by counting the tags yourself. **Some pages look thinner now, and the herbs and flowers look thinnest.** That is what our coverage has always been; the difference is that you can see it.

  552. Who says this variety is drought tolerant

    Every crop page now has a column saying what each variety is known for — **and who said so.** Not "drought tolerant" on its own. **"Fedco Seeds describes this as drought tolerant."** The difference matters more than it looks. **About seven in ten of these claims come from the company selling the seed.** Printed flat, that is us repeating a seller’s marketing as our own finding. Printed with the name on it, it is completely true, and you already know how much weight to give a shop describing its own stock. The other three in ten come from somewhere like NC State Extension or a university citrus collection, and those read differently on purpose — **an extension service "records" where a catalog "describes"**. We are not flattening the two into one voice, because the difference between them is the useful part. **And where nobody is on record, the row says nothing at all.** Not a bare tag, not a borrowed name — around a hundred varieties have a trait we cannot attribute to anyone, and a trait with no author is a claim we would be making ourselves. That is the thing we decided not to do. We are also showing 27 traits rather than all 155 we hold. Thirty-six of them appear on exactly one variety, and a row wearing twelve badges teaches you to stop reading badges.

  553. You do not need to know the gardening word for it

    **"Deadhead." "Pot up." "Thin." "Hill."** If you know those words the app understood you perfectly. If you did not, it mostly did not. We measured it rather than assumed: every sentence the app understands, rewritten the way somebody who has never gardened would say it. **31% survived.** Not because the app is bad at English — because we had been checking it against our own vocabulary, which is a test you cannot fail. So it now understands the job **described** rather than only the job **named**. *"Put some radish seeds in."* *"Put straw round the apple tree."* *"Cut some branches off the plum."* *"Took some of the seedlings out so the others have room."* *"The beans have come through."* *"The peppers are starting to form little peppers."* All of those now land on the right entry, and so do the proper terms — nothing was traded away. **The phrasings did not come from us.** We took them from published gardening glossaries: pages written by people who know the words, for people who do not. That is the exact translation direction we needed, and it is a better source than our own guesses about how a beginner talks.

  554. Our lemon page was listing a mint, and a two-record rounding error is why we found it

    If you looked up lemon on this site before today, we told you it had seventeen varieties. Five of them were lemon balm — a mint, not a citrus, not remotely the same plant, and not something you would ever plant expecting fruit. Lemon has twelve varieties. It says twelve now. The cause is small and stupid in the way these usually are. Our database gives every plant an id: lemon is `lemon`, lemon balm is `lemon_balm`. To find a crop’s varieties the code asked which ids start with `lemon_` — and every lemon balm does. Out of 151 crops that is the only pair where one name is the start of another, so it went unnoticed. It now matches the longest name that fits, which puts each variety with the plant it actually belongs to. What we want on the record is how it surfaced, because nobody found it by looking. Two of our own counts disagreed by two — one part of the system said 3,181 varieties and another said 3,179. Two records out of three thousand is exactly the kind of gap that gets rounded away as a rounding error. We went after it instead, and it was not two records at all: five varieties counted twice, and three counted never — three lentils that were quietly dropped because the lentil crop record itself is not finished. Plus five, minus three, and the two that showed up were the leftovers. The real number is 3,176, which means both of the numbers we had were wrong. The dropped lentils now get named out loud when it happens, rather than disappearing. And a small unexplained discrepancy in our own data is not something we intend to round off again.

  555. Tell it four things and get a picture back, not a form to proofread.

    Last week the chat learned to take four things in one sentence. What it handed back was four forms — which turned twenty seconds of talking into a paragraph of proofreading, the exact tax the feature existed to remove. Now it is one card, and it is a picture. Your beds are drawn as beds with the plants inside them: six tomato icons in the back bed, three peppers beside them, the new raised bed as its own box, and anything that is not a plant on a line underneath. One button saves the lot. The reason is not that it looks nicer. **You check a picture by looking and a list by reading**, and ten lines of correct-looking text get a tap and no real attention. A pepper drawn sitting in the wrong bed is wrong before you have read a word. Tap a row to fix it. Tap the small ✕ and that one is gone while the rest stay — without which one invented plant would force you to accept it or abandon four correct things beside it. And there is a box on the card that says don't ask me again. Check it and what you say saves as you say it — though it still tells you, one line, with an undo. It stops the asking, not the telling. Profile has a switch to bring the card back, because a setting you cannot reverse is not a setting. Three bugs in this one were invisible in the code and obvious the moment somebody opened it: a bed labeled with its own name twice over, a new bed drawn below a watering as though it were an afterthought, and "6 tomato" printed next to six tomato pictures. A fourth was worse and only turned up by pressing the buttons — undo left behind the bed the app had quietly made on its way to holding a plant, under a message reading "nothing was kept".

  556. A place to look at your week.

    The card on your home screen used to read you the first job on the list and offer one button: start, at whatever happened to be first. It spent most of its space on a task you had not chosen. It now shows the shape of the morning instead — "10 things to do", then 2 now, 1 today, 6 this week, 1 no rush, each one a button that opens just those. Tap the number itself and you get the new week view. That screen is for looking, not for being managed. Seven days across the top as small bars so you can see at a glance where the busy days are, then the days themselves down the page with the jobs on each. Today is split by urgency because today is the only day with a mixed bag. Tap any single job to do just that one, instead of being walked through everything from the top. It is also the first place your further-off reminders show up. Something you asked to be reminded about in six weeks was deliberately kept off the daily list — a job six weeks away is not this morning’s business — but it was not visible anywhere else either. Now it sits at the bottom under "further off", where you can see it without it nagging. There is no progress bar and no completion score. Looking at your week and deciding to do none of it today is a perfectly good use of the screen, and an app that scolds you for that is an app you stop opening in July. Putting it all on one page also caught something we could not see before: an apple tree was being told to mulch twice, once by the part of the app that tracks a plant’s stages and once by the part that tracks once-a-year jobs. Two different corners naming the same work. In a scrolling list they looked like two jobs; side by side on one page it was obvious. Fixed.

  557. The app kept promising you a page it never handed over.

    Buried in the rules the AI answers under, written the day the rules were written, is this: "if the app has given you a page of ours on this problem, point to it once." The app never gave it one. Not once, in any answer, since the day it shipped. Four guides were live, sourced, argued over and fact-checked line by line — and the part of the product most likely to need them could not see they existed. Now it can. Name a hornworm, get our page on how to actually find one at nine in the morning. Squash bugs, get the one on why spraying the ones you can see does not work. Yellow leaves on a tomato or a cucumber, get the page for that crop — they are different problems that look identical, and sending you to the wrong one of the pair would be worse than sending you nowhere. Which is the whole design. Four problems have a page today and everything else gets no link, because a link makes you lower your guard and stop checking. And the app looks the page up AFTER the answer is written, never before — show an AI a list of diseases alongside a healthy plant and it will pick one. We measured that two weeks ago and deleted the feature that did it. This one runs the other way around, so there is nothing to pick from. The bug we caught building it makes the point better than we could. The rule for yellow leaves was one line of pattern-matching, and a misplaced choice in it meant any answer that so much as said the word "leaves" matched — "early blight, a fungal disease of the leaves" came back with our yellowing guide attached. A confidently wrong citation, written by the same hand that wrote the warning against them, four lines above it. Running the thing found it in a second. Reading it had not.

  558. A question we could not answer is now the note about what to write next.

    The chat answers questions about the app from our help pages, and says so plainly when we have not written a page about what you asked. That answer is honest, and on its own it wastes something: you have just told us exactly where our documentation is behind. So it reaches us now, in the words you typed rather than a summary of them, because the sentence somebody actually chose is the thing worth reading in three months. Nothing is asked of you and nothing appears on screen to say it happened. One person asking once is just a question; the same question three times is a page we owe you, and only the words make that visible. We also found the chat holding two instructions that disagreed. One rule said never talk about how the app works — written after it kept narrating its own plumbing mid-answer — and the new one said to answer questions about the app from our pages. Both were in front of it at once. The fix was to say what the old rule always meant: never describe the app from your own idea of it. Read out what we have written, or say we have not written it.

  559. A reminder is just a task.

    Ask the app to remind you about something and it used to build you a second list. "You asked to be reminded" sat on the home screen as its own headed section, with its own paragraph explaining what it was, above the jobs the app had worked out for you. Two lists of things to do is not a feature. It is a second place to lose one. So the section is gone and the jobs are in the same place as everything else — counted in the number on the button, worked through one at a time in the same walkthrough, closed with the same tap. Anywhere you can ask for a reminder, including in the chat, now puts it there. They come near the top, because a job you chose beats one we worked out, and an overdue one comes above a job due today: the one whose day has already passed is the one most likely to be quietly abandoned. Two things still outrank them, and only two — a frost coming tonight, and seedlings still outside in the cold. Those are the ones that cost you a plant by morning. The rest works the way it did. A reminder that wants a photo still opens the camera and keeps the picture with the job that asked for it, so the answer sits next to the question. "Not needed" still drops it for good. And a job you set for six weeks from now still stays out of the way until it is close.

  560. It builds beds and jobs too, not just plants

    Say "I built a raised bed out back, it is 4 by 8" and it offers to add the bed, size and all. Say "remind me to prune the apple tree in December" and it offers to put that on your list, dated — in your words, not wrapped in ours. The refusals carry over: it will not convert a bed size from meters, because a bed recorded as 4 feet when you said 4 meters is a garden that does not fit, and it will not pick a date for "at some point", because a reminder that fires on a day nobody chose is the one you would have trusted.

  561. The chat could answer anything about your garden and nothing about itself.

    Eighteen help pages, a changelog, and the part of the app people are most likely to ask could not see a word of it. Ask how many free questions you get and it changed the subject. Now it answers — from these help pages, in the same words you would read here. How the free questions work, whether it needs a signal, where your photos live, what changed lately. If we have not written a page about what you asked, it says so rather than guessing. That last part is the design, not a limitation. **It has never been shown how the app is built — only what we have published about it.** So the worst it can be is out of date, and a stale page is a fault with an owner and a fix. A guess about our own product would sound exactly as confident as a fact about it, and there is no gardening extension service to check that against. The bit that took the longest was keeping the two kinds of question apart. "Where are my photos stored?" is about the app. "Why does it think my tomatoes need water?" only sounds like it is — that is a question about your tomatoes, and it gets answered from the plant. Building it turned up something we would not otherwise have noticed: asked how many free questions you get, it correctly said five a month for the chat and kept that separate from the fifteen-then-three for photo answers. Two meters, two pages, and it did not blend them. We only found out because we asked it.

  562. It could tell you that was a sunflower and then do nothing about it.

    Reported from the app: "it identified this as a sunflower and it should have some logic to let me click add plant and go through the workflow." Right — it knew the plant, and the only way to get it into your garden was to go and type it in again. Now there is a line under the answer offering to add it, and it opens the ordinary add-a-plant screen with the crop already chosen. It stays away when the plant is already in your garden. **It does not guess when you planted it, and that was the interesting decision.** The ask included "maybe assume a planting date and ask to edit or adjust", and we planned to suggest one from how far along the plant looked — showing the reasoning rather than just asserting a date. Then we went and measured whether our own records could carry it. **They hold more than we first thought.** Every one of our 151 crops records how long each stage lasts and what it counts from, and 110 of them carry days to maturity. The reason it still cannot answer is not absence, it is width: a tomato flowers anywhere from 35 to 65 days after going in the ground, and that is the tightest link in the chain — working further back to when it was sown widens it again. **A date offered with a month of slack in it is the plain question wearing a confident coat**, and a planting date is the one field that quietly ruins every other date the app works out. So it asks. Worth saying plainly, because we got this wrong twice before publishing it: our first check looked for the figure at the top of each crop record, found nothing, and reported that we did not have it. It was one level down the whole time. **A check that does not look inside returns zero and reads exactly like absence.** Two things nearly shipped broken and were caught by following the link rather than trusting it. The first version passed the plant's NAME where the screen expects its catalog id, so the button landed on an empty form — the link existed, the label read correctly, and it did nothing. The second tried to pass the variety along too, until we noticed the add screen has no variety field at all. A link that does not keep its promise is worse than no link.

  563. It can see tonight’s weather now

    Ask about watering, frost or heat and the answer is built on tonight’s real forecast low for your grid square — not a thirty-year average for the date. That is the difference between "it can get cold in August" and "41 tonight", which is the sentence that actually makes somebody go out and cover something. Where we have no forecast it says nothing about the weather rather than guessing. Photo answers also name a second possibility worth ruling out now, or say plainly that there is not one.

  564. Not every job is the same job.

    The list always knew which jobs mattered most — it has been ordering them that way since the day it shipped. It just never told you. Seven things to do, in a considered order, presented as seven identical things to do. Now the ones that matter say so. A job is marked "Now" or "Today", or it is left alone, and the button splits its count: "1 now · 2 today · 4 no rush" instead of one number that flattens a frost warning and a bag of garlic into the same seven. The part worth explaining is what moves a job up. Watering is routine most of the year. At 96°F it becomes a job for today, and the card says why — "96°F today, so this dries out about twice as fast as usual." At 104°F it becomes a job for now, because a pot in triple digits can go from damp to dead inside a day. We were already checking twice as often in heat. We were not saying it any louder, and saying it louder is the point. Nothing gets promoted silently. If a job has moved up, the reason is on its face, in a sentence you can check against your own sky — because an urgency you cannot account for is one you learn to ignore. And if we have no forecast, nothing moves at all. A guess about the weather is worse than no opinion about it. "Now" is meant to be empty most days. Frost coming tonight, seedlings still outside in the cold, pots in a heat wave — that is close to the whole list. If everything is urgent then nothing is, and a warning you have learned to scroll past is worse than no warning.

  565. One cell said "sourced" and was not, so we went looking for the rest

    Every value in our plant database carries a label saying how well we know it — whether we read it in an extension publication, whether a person set it, or whether it is ordinary horticulture that nobody bothers to publish. Those labels are the point. If we are asking you to trust a number, you should be able to see where it came from and go read it yourself. One of them was wrong. Blackberry’s pollination entry — whether a blackberry sets fruit on its own or needs a second variety nearby — was marked as read-in-a-publication, and had no publication attached to it. The value itself is right: blackberries are self-fruitful, and Iowa State says so in four words. What happened is that two days earlier somebody upgraded the entry, found the Iowa State page, wrote a note about it, added the page to our source list — and never linked the two. The claim and the evidence sat in the same file and did not know about each other. Strawberry’s identical entry, done the same day from the same page, was linked correctly. So we checked every other cell that claims a source. There are 3,386 of them and blackberry was the only one, which is the answer we were hoping for and not the one we assumed. Then we made it impossible to repeat: our build now refuses to run if any value claims to be sourced without a source behind it. We broke a cell on purpose to watch the check catch it, because a check nobody has seen fail is not evidence of anything. Blackberry’s page now shows thirteen sources instead of twelve. That is the whole visible change, and it is a fair description of how much of this work you will ever notice.

  566. Say four things at once and it kept one.

    You can tell GardenTrack what you did in your own words and it builds the record for you. Say four things in one message, though, and it built the first and dropped the other three — under a reply that said it had got them. Not refused, not flagged. Gone, quietly, which is the worst way for something to go in an app whose whole promise is that it remembers. "I put in six tomatoes and three peppers on Saturday, built a bed out back, and remind me to net the cherries in June" now comes back as four cards, one for each thing, each with its own button. Press the ones you want. Nothing is saved until you do. Two things had to change underneath, and the second is the interesting one. The app had a sensible limit of three buttons under an answer, because five stacked buttons on a phone is a wall. But it was counting two different things as one: our SUGGESTIONS — look closer at that, here is how to treat it — and things YOU had just said. Cutting a suggestion loses you an idea. Cutting the fourth thing you said loses the thing you said. The limit now counts only ours. The other half is which number belongs to which plant. "Six tomatoes and three peppers" is two plants and two numbers, and usually it can follow that. When your sentence is genuinely ambiguous you still get both cards, with the number box empty. That is on purpose: an empty box is a question you answer in a second, and a wrong number is an answer you would never think to check.

  567. Scroll the varieties when you do not know the name

    Tapping the variety box on a plant used to show you an empty search field, which is no help at all when you cannot remember what you planted or you just want to see what is in here. The whole list is there now before you type a thing. On the crops where we hold it, it is sorted by the shape the plant grows into — vining ones that keep going until frost, bush ones that set their crop over a few weeks and stop — because that is something you can answer standing over the plant, and "70 days" is not. Where we do not hold the shape, the list is A to Z rather than pretending. And every row now carries what its variety is known for, in plain words: takes the heat, keeps a long time after picking, no thorns.

  568. It can now tell you how the plant has changed since you last photographed it.

    Any app can look at a leaf and guess. **Only this one is holding the photograph you took of the same plant three weeks ago** — and until now it never looked at it. Ask about a plant you have photographed before and the answer opens with how it compares: better, worse, or no real change, and what is different in the words you would use. "The lower leaves were green in the earlier one and are yellow now." Two decisions worth explaining. It compares against a picture **at least ten days old**, not your most recent one — two photos three days apart show the light and the angle changing, and that is the commonest pair there is, because a worried gardener photographs a plant again the next morning. And **"no real change" is a proper answer, not a blank one.** That sounds like a detail and it is the whole design. We test the AI against real photographs of a real garden, and the last run had it name a problem on four of twelve healthy plants — one of them a confident leaf-spot diagnosis, well argued, on a sunflower that was perfectly fine. Something built only to report differences will find them. So the AI has to choose one of the three every time, and "it looks the same, and at this stage that is what it should look like" is one it can pick. The first version of this failed its own test and the reason was not what we expected. Given two photos of the same healthy tree it kept reporting progress — because **one photo was the whole tree and the other was a close-up of one branch.** It described what it was shown, correctly, and called it change. It read zoomed-out as grew. That is not a rare case. It is the likeliest one: you photograph the whole plant while it is fine, and you photograph the one leaf that worries you. So now it has to name the thing it can see in BOTH pictures before it is allowed to say better or worse at all — and when there is no such thing, it says so and tells you which photo would answer the question. **That is the most useful sentence in the feature**, because you can act on it in ten seconds.

  569. Tell it what you did and it writes it down

    "I watered the tomatoes this morning, gave them about two gallons" now becomes a real entry — on that plant, dated this morning, two gallons — instead of a nice reply and no record. It is the sentence people say most: you add a bed once and water all summer. The refusals hold as always: say "a good soak" and the amount stays empty rather than becoming a made-up number, and anything it cannot classify is filed as a note in your own words rather than guessed at, because pulling out a dead tomato is not a harvest.

  570. Tell it what you planted and it builds the plant

    Say "I put in two rows of Sungold on Saturday in the back bed" and the app offers to add it — crop, variety, bed and date already filled in, nothing saved until you look at the card and tap. The date is the part that matters: every job that plant ever gets is worked out from it, so the app shows you the actual day it worked out from your words, and leaves it blank rather than guessing if you said something like "in the spring". Same with how many — say "two rows" and it will not pretend that means two plants.

  571. Tell it why, and it remembers the why

    Say "remind me to water the tomatoes Thursday, I’m away for the weekend" and the reason is saved with the job. On Thursday you see your own words, not a bare instruction you have to work out again. What it will not do is bump the job up the list — an urgency somebody set by hand goes stale, and then it sits above a real frost warning, and then the top of the list stops meaning anything. Some things are worth recording and not acting on.

  572. The app now tells you if a plant will survive your winter

    We have held a hardiness zone range for every perennial crop since the database was built — rosemary 8 to 10, fig 7 to 10, blueberry 3 to 8, apple 4 to 9 — and until today the app read none of it. So somebody in a cold zone could add a fig and we would cheerfully schedule its whole year without ever mentioning that it does not live through February. That is the one question a zone genuinely answers, and we were silent on it. Now, when you add a plant that is meant to come back every year, the app says plainly whether it survives your winter outdoors — and what to do instead, with the pot size the crop's own sources give. It never stops you planting anything: growing a fig in a pot you carry into the garage is a real and sensible thing to do, and the point is only that nobody is surprised in February. Two things stay quiet on purpose. An annual gets no message, because a tomato was never going to overwinter and warning you about it is how you learn to ignore us. And a perennial that is fine where you are gets no message either — that silence is the answer. The app needs one thing from you to do any of it: your planting zone, which we ask for once, in the moment it matters, because there is no honest way to work it out from anything else we hold.

  573. The plant database is free to download, and you can check every number in it

    Every crop we hold — 151 of them, with 3,176 named varieties underneath — is now a free download. Spacing, sowing depth, days to maturity, container size, hardiness, when to start relative to your last frost, growth stages, pests and diseases. CC BY 4.0, so you can use it commercially, redistribute it, or build something on top of it. Credit us and that is the whole license. The part we care about is the second file. It records where every single value came from: 4,486 of 5,412 values cite a named publication, mostly university extension services, 983 of them in all, each with its title and a link. And the 926 values that cite nothing each say why — 743 because nobody publishes that fact and we filled it from ordinary horticulture, 183 because a person set it without a citation. So you never have to guess whether a gap means we did not check, or nobody knows. Two things on the page we would rather you heard from us: our own first draft of the readme claimed seed catalogs are never used for horticultural facts, and that was wrong — 194 values cite one, and the page now says so with the count. And of the 226 sourcing batches that were audited, only 96 name who audited them. We would rather print that than let the number sound better than it is. Superseded on August 7: the counts above describe the file as it shipped on this date, which was our entire internal record. The download still carries every crop and every variety and now carries fewer fields — see the August 7 entry.

  574. The pot size everyone quotes is for a different plant

    New guide on growing tomatoes in pots, and it starts by taking apart the advice everybody gives. Five gallons is the number you always see, and it is real — Clemson lists a five-gallon bucket, or a 14 to 20 inch container, as suitable for COMPACT tomato cultivars. That last word is the one that keeps getting dropped. In the same guidance Clemson says an indeterminate tomato, the kind that keeps growing taller until frost, will not be successful in a 12-inch pot and is difficult to grow in containers at all. So the advice is not wrong. It is an answer about a small plant, and most people asking have bought a big one. We looked at our own 115 tomato varieties: 82 of them are indeterminate. That is 71%, so the odds are against the pot you were told to buy. The guide lists all 33 determinate and dwarf varieties we hold, with days to maturity, because those are the ones a container actually suits. It also admits what we cannot tell you: Clemson says to go by the mature height on the plant label, and we hold a height for only 10 of our 115 varieties, so where a packet prints one, believe the packet over us.

  575. The question box was a quarter of the screen wide and did nothing when you typed in it.

    Reported from inside the app: "the text box at the top of this page is kind of weird. It cuts off a little visually and when I type my question in there it doesn't actually do anything." Both halves were real, and "cuts off a little" was generous. It had no styling at all, so the browser sized it by its own default — **147 pixels inside a 375 pixel phone**, showing "Ask anything — or leav" of a sixty-character prompt, in the browser's font rather than ours. The only unstyled control on an otherwise finished screen. It was also under the size where an iPhone zooms the whole page in the moment you tap it. And typing really did do nothing, because the question does not send on its own — it rides along with the next photo you take. That is the right behavior and nothing on screen said so. Now the box is full width and readable, it is labeled, the line under it changes to say where your question is going the moment you start typing, the button changes to "Take the photo", and **pressing return opens the camera** — which is what he was trying to make happen. The third thing in the same report — a new picture appearing at the bottom of the list instead of the top — was already fixed. We checked by putting three photos in and looking, rather than by reading the code and assuming.

  576. Tap "start" and get a blank screen.

    The worst kind of bug, because it looked like an answer. You tapped through to today's jobs and got an empty page — which reads as "nothing to do", not as "this is broken". It was broken. Every visit, for everyone, since the harvest-amount question went in a day earlier. One line of that change sat four lines lower than it should have, and the screen threw the moment your garden loaded. There was nothing on it to suggest a crash, so the only way to find out was to be told. Fixed, and the rule it broke is now checked automatically before anything can ship — the tool that catches it has existed for years and we simply never turned it on. It found no others anywhere in the app. Two more, found while proving the first one was really fixed. Tapping a job twice — the thing a thumb does on a phone — used to log it twice and skip the next job without ever showing it to you. A job you never saw, quietly gone. And watering a bed twice in quick succession, or changing your mind from "normal" to "deep soak" before the first tap landed, put both in your records. Now the app takes one tap as one thing done, everywhere, for every kind of entry — while still keeping two entries that genuinely differ, because a splash and a soak are two different facts about your garden and it should remember both.

  577. Our tomato page stopped giving one pot size for two different plants

    This morning the tomato page said "Container size · 5 gal" and stopped there. That is the exact advice our new pots guide spends a page taking apart, so we went and re-sourced it. It now reads 5 to 10 gallons. The low end is the one everybody quotes and it is well supported — Maryland Extension lists a five-gallon minimum for a standard tomato, Oregon State puts a determinate in a five-gallon nursery pot, Clemson names the five-gallon bucket. The high end comes from the same Maryland guidance, which adds the part that usually gets dropped: for an indeterminate tomato, ten gallons would be better. California's Master Gardeners say the same thing a different way, that a tomato needs anywhere from five to 15 gallons depending on which one you bought. One honest caveat, and it is on the record in our data: what none of them publish is a clean two-number rule where the word on the tag decides the pot. They size by how big the plant actually gets. Tennessee makes the point for us by putting an indeterminate cherry in the same five gallons as a bush slicer. Growth habit is the main thing driving size, so it is a good guide — but the neat determinate-or-indeterminate labeling of our two numbers is our shorthand, not a claim we are putting in anyone else's mouth.

  578. "The try again button doesn't work." It did — for nine milliseconds.

    Reported from a phone, with a screenshot: a chat message that would not send, saying there was no signal when there plainly was, and a Try again button that appeared to do nothing. It was doing something. We measured it: pressing it re-sends, the connection fails instantly rather than timing out, and the message is back in exactly the same state **nine milliseconds later** — with "Sending…" on screen for five of them. **A button that works and cannot be seen to work is a button that does not work.** It now says "Tried again — same problem" when the second attempt hits the same wall. Worse, the app already knew WHY and threw it away. The real reason was written to the phone the moment it failed, and the line that draws the message on screen printed a shrug instead. Four lines below it, the photo path does the opposite and prints the reason — same file, same mistake, fixed once and left alone here. It now reads "though you are online (Failed to fetch)", which is a fact somebody can act on. And the one screen where all this happens was the one screen with no way to report it. The feedback pencil had been hidden on the chat page because it sat on top of the Send button — a real collision, solved by removing the button instead of moving it. It is back, above the composer. Our first attempt at moving it still covered Send, and we only found that by opening the page at phone size and measuring the overlap.

  579. Two numbers on the seed-starting guide were arguing with its own table

    The guide on when to start seeds indoors is rewritten, and checking it turned up two places where the writing and the chart underneath it disagreed. The notes said celery, onions and artichokes all want eight to twelve weeks indoors; the chart gives onions a flat eight. And the section on melons said two to four weeks indoors while the chart gives melons two to six. Neither would have lost you a plant, but a page that contradicts its own table is a page you stop trusting, so both now match. Everything else that changed is how it reads: contractions, shorter sentences where a sentence wanted to be short, and the frost-date caveat put back in plain words — a last frost date is an average, not a promise. Every temperature, every week count and all eleven university sources are exactly where they were, and we re-checked that every one of those links still opens. There is also a new check behind the scenes that reads the old version of a page against the new one and reports anything that quietly went missing in a rewrite — a number, a source, or a caveat. It found the melon problem.

  580. We said seven steps. It was ten.

    A correction on the hardening-off write-up. The post said the flow was seven steps. The flow that actually shipped is ten, and seven was wrong in the first place — we went back to the universities and got three answers, every one of them longer than ours. Michigan State says start seven to ten days before your frost-free date. Minnesota and Utah State both say about two weeks. Seven days is the short end of the range and we had been printing it as the range. The post now says ten and says why it changed. We also took back a complaint we had made about our own work: we called the one-size schedule a shortcut we owed you a fix for, then went looking for the per-crop version and found there is not one. Those same three universities describe the same routine for a cabbage and a pepper. What genuinely differs between crops is how much cold each will take, and the app already knows that per plant. Two more guides got the same treatment: garlic and the frost-tolerant vegetable list are both rewritten to sound like a person rather than a manual, with every temperature and source left exactly where it was. Sources on the fact-heavy guides have also moved: instead of a university name sitting in the middle of every sentence, there is now a small number you can tap, and the full list sits at the bottom. Same sources, same checkability, far less clutter in the reading. And the garlic planting diagram got fixed: the depth label was sitting on top of the clove and the spacing arrow was dark green on dark soil, so two of the four measurements were genuinely hard to read.

  581. What planting zone am I in, and what the number is actually for

    New guide, and it starts by sending you somewhere else. If you want your hardiness zone, the USDA map gives it to you in one click from your ZIP code, and we are not going to pretend we can do that better. What we can add is what the number decides once you have it. A zone answers exactly one question: will this plant live through my winter, outdoors, in the ground. So the page carries 53 perennial crops from our own database with the zone range each one survives, sorted by the cold end, because that is the end that decides whether the plant lives. It also explains something almost nobody prints: the two numbers in a range like 3 to 8 are not the same kind of measurement. The low one is a wall — below it the plant dies. The high one is a judgment about performing well, and it is not about heat at all. A blueberry above zone 8 is not scorched, it is under-chilled. One more thing worth knowing: the USDA redrew the map in 2023 and about half the country moved to the next warmer half zone, so a number you learned before then may have changed. The USDA is careful to say that shift is mostly down to using a more recent stretch of data rather than a measurement of warming, and we say the same.

  582. Your zone cannot tell you when to plant, and we measured by how much

    New guide: when to plant tomatoes in your zone. The short version is that your zone will not tell you, and it was never built to. A hardiness zone is one measurement — your average coldest winter night — and it exists to answer whether a perennial survives here. A tomato does not have to survive your winter. It has to survive the last freeze of spring, and a zone does not measure that at all. So two gardens can share a zone number and be a month apart on the day it is safe to plant out. To put a number on it we took every US weather station with a full record, 6,704 of them after dropping the ones that do not freeze most years, and looked at how far apart the stations inside a single state actually are. In the middle state it is 25 days. In California it is 111. In North Dakota, which is flat and uniformly cold, it is 12. The guide has all 47 states we could measure. We did not do this by hardiness zone and the page says so: zone is based on winter minimums, this dataset holds freeze dates, and working a zone out from latitude would have meant inventing the exact number the page is about. One correction we made to ourselves along the way: an earlier draft credited Clemson with saying transplants go out one to two weeks after the last frost. Clemson does not say that. What the sources actually say is Minnesota’s version — transplant after all danger of frost has passed and the soil has warmed — and that is what the page says now.

  583. A blank on a plant page now means we looked and came up empty

    Mulberry used to show a chill-hour number. It has been taken down, because it was our guess rather than anybody’s published figure. Currant, elderberry, goji and honeyberry never had one and still do not — we checked every chilling table we know of and each plant’s own pages, and nobody publishes a species figure for them. What changed is that those blanks are now recorded as searched rather than just empty, with the date and the sources read. It is a small thing on the page and a large one behind it: we can finally tell the difference between a fact nobody has published and a fact nobody has gotten around to looking up.

  584. The cold night that costs you fruit without killing anything

    A new card for the nights that are not frosts. Peppers and tomatoes need warm nights to set fruit — below about 55°F the flowers drop instead, the plants are completely fine, and they start setting again once the nights come up. So the card says to leave them alone rather than feed or spray anything. Bok choy gets the opposite advice, because cold nights make it run to seed and it will be done: pick what is worth picking. When both are in the garden the one you can act on today leads. The card opens by saying what it is not — nothing here is cold enough to kill anything.

  585. A refused change now gets another try tomorrow

    When our server turns a change down, the app used to believe that answer forever — which is wrong, because we deploy several times a day and yesterday’s refusal often stops being true. One gardener’s apple tree was turned away as belonging to a different bed by a server that could not save beds at all; after we fixed it, the tree still sat there, because nothing was ever going to ask again. A refused change is now retried once a day on its own, so a fix on our end reaches your garden without you having to find a button.

  586. A seed-starting guide that actually tells you the date

    Every guide about starting seeds says the same thing — start six to eight weeks before your last frost — and then does not tell you when your last frost is, which is the only part you did not already know. The new guide gives that date for 28 cities, does the tomato arithmetic for each one, and lists how many weeks to count back for 19 crops, each from a university extension service. It also names the two cities where the honest answer is that there is no last frost date at all, because a freeze does not happen there in half of years.

  587. A tree planted yesterday is no longer told to harvest

    Every apple in every garden was "ripening" in August, including one that went in the day before, and the job list said to harvest it. Fruiting stages repeat every year on purpose — that is what makes a perennial calendar work — but nothing ever asked how old the tree was. We already held the answer: how many years each crop takes before it bears. Stages about fruit you can pick are now withheld until the tree is old enough, and they say why rather than vanishing. Flowering stays: a young tree does blossom before it can carry a crop, and stripping that fruit so it builds structure is real advice.

  588. Answers appear as they are written

    Asking about a photo used to mean about ten seconds of "Thinking…" and then a wall of text all at once. The words now arrive as they are written — first ones on screen in well under a second. We measured before building it: a typed question was already coming back in under three seconds and did not need this, but photo questions go to a stronger, slower model and that is where the wait was. Buttons still appear at the end, because they depend on the whole answer, and offering to act on something half-said would be wrong.

  589. Ask what to do this week and it reads your actual list

    It is the first thing anyone asks and it was the worst-answered question in the app. The chat knew your plants, your dates and what you had logged, and had to work out a job list from them — while your Today screen, two taps away, was already showing the real one. So the two could disagree, and they did. The chat now reads the same list Today does, including the reminders you set yourself, which come first because you asked for those by name. One list, so the answer and the screen cannot contradict each other.

  590. Yellow cucumber leaves, and the shape that gives it away

    Cucumbers hand you something tomatoes do not: a diagnosis you can make from across the garden. The disease that ends most cucumber seasons cannot spread past a leaf vein, so the yellow patches it makes have straight sides and the leaf ends up looking tiled. Round, soft-edged yellow is something else. There is a photo on the page that makes it obvious in one look. Two more things worth knowing are in there. If your plant wilts every afternoon and stands back up by morning, that is a specific disease with a name and no cure, and the evening-then-morning check costs you nothing. And the extension list of nine causes for a yellow cucumber leaf does not include being hungry — so feeding it, which is the usual advice, is working from the wrong list. We also print the part nobody sells: for the main disease here, there is no effective spray available to a home gardener at all.

  591. Every job you finish now says what it was

    Stake a tomato from the daily list and its story recorded the bare word "Note" with nothing after it — no way, a month later, to tell what you had done. Fifteen jobs did this, including the winter prune, which happens once a year and is therefore exactly the entry you would go looking for. Every one of them now records what it was. Sowing and the three tree prunes also file under the right heading rather than the catch-all, without one prune ticking off another — a summer prune and a winter prune are different jobs.

  592. Frost warnings now know what season it is

    We hold the exact temperature that hurts each plant, but a number on its own is not much use. 28°F on an apple tree is about the open blossoms in April; the same tree in January does not care. So every one of those temperatures now says which part of the plant it describes and when — open flowers, new spring growth, a crop still in the ground, or a shrub in the middle of winter — and your warning waits for the season it belongs to. Plant pages say it plainly too: “Open blossoms killed at 24°F” instead of the same two words on every plant. Where a source says a plant is still fine down to some temperature, we no longer print that as damage. New numbers this week for strawberries, raspberries, grapes, pears, plums and apricots, and a first warning for tomatoes, peppers, cucumbers, melons and squash on a 33°F night — the night you can still do something about it.

  593. The plant-problem guides now read like a person wrote them

    A house-keeping fix worth admitting to. The four new plant-problem guides went out written in a stiff register — about eleven thousand words without a single contraction, every "it is" and "do not" spelled out. Every fact in them was right and every source quote was exact, but they read like a manual rather than like someone telling you what he knows, which is not how this site is supposed to sound. They have been rewritten into plain speech. Nothing factual changed, and no quoted line from a university source was touched — the rewrite deliberately skipped every quotation so nobody ends up misquoted in the name of style. The yellow-leaves guide has had a full rewrite on top of that — it now opens the way the problem actually turns up, which is you standing there with the hose running wondering whether a couple of yellow leaves are the start of something. A full audit of all twenty published guides and posts then caught three broken sentences the rewrite itself had introduced, which have been fixed and guarded against.

  594. Hot nights are the half that costs you the fruit

    A tomato that flowers beautifully and sets nothing has usually been beaten by the nights, not the days — the plant never cools off, and the pollen goes sterile. We already watched for that, but the night temperatures lived in a short list buried in the app, which meant most plants had no night figure and nothing was there to point it out. They sit with the rest of the plant facts now, each one tied to the university page it came from. Squash, pumpkins, melons and watermelon picked up a daytime figure they never had, from the same sentence. And both numbers finally show on the plant pages: “Suffers in days above 85°F”, “Suffers in nights above 70°F”. One number came out — tomatillo’s — because no source we could find ever published it, and a number nobody published is not one we will show you.

  595. We measured how wrong "your nearest weather station" is

    Every frost date site answers the same way: it finds the weather station closest to you and gives you that station's dates. It is a reasonable thing to do, and nobody has ever said how much it costs you. So we measured it, using the same NOAA file everyone else uses. Across 6,191 pairs of stations, a station and its closest neighbor disagree about the last spring frost by five days in the middle of the pack — and 13 in every 100 stations sitting within ten miles of each other disagree by two weeks or more. Being closer barely helps. The worst pair in the country is the rim of the Grand Canyon against its floor: seven miles apart, and 114 days apart on when frost lets go. It is not only mountains, either. Two stations in the same town in Oregon, three miles apart, are seven weeks apart. We published the whole thing — the method, the raw numbers, and the places where the old way still beats ours.

  596. It asks how much, and it asks after

    Log a harvest and the app now asks how many — with the amounts you actually pick already on buttons, sized to the crop, so a tomato offers 1 to 25 fruit and a watering offers half a gallon to ten. The order matters more than the question: the harvest is saved the instant you tap, and the amount is asked afterwards, so skipping it costs you nothing at all. We added it because a journal that knows you picked tomatoes on August 5th and nothing else cannot tell you next year whether this was a good one — and an amount is the sort of thing that can only be written down while you are standing there holding it.

  597. It can write down that nothing is wrong

    We ran fourteen real photos from a garden through the app and found something we did not expect: about half of every answer was some version of "this is normal." Spent flower heads. New growth coming in pale. Corn that is small because it is under a tree. Every one of those produced a sentence and nothing else — the most common true answer in the app left no trace. Now it offers to note it on the plant. Next August, when the same brown flower heads look alarming again, "spent blooms, not a disease" is already there.

  598. It no longer tells you to dig up a plant you have already planted

    Add a tomato you bought, put it in a bed, and the app would put it on a ten-day hardening-off run — "put it out for 1 to 2 hours, back in by 4:40" — which means digging it up and carrying it indoors. Then it would tell you to plant out the plant it had just watched you plant. Both came from the same gap: the app knew where your plant was standing and never checked before offering a job about moving it. Now it does, so those four jobs only appear for something that is genuinely not in its final place yet. Seed sown straight into the ground is never asked to harden off either.

  599. It stopped telling you to plant things you already planted

    Sow some zinnia seed, open the app three days later, and one of the jobs waiting for you was “sow zinnia seed.” Same shape as being told to plant out a tomato on a card that says JUST PLANTED OUT right above it. The app knew perfectly well when you did it — that date is the only reason it can work out what stage the plant is in at all. It just never noticed that a stage beginning at sowing cannot also ask you to sow. Thirty-five of those, across the catalog, and they are gone. The fix reads it off the plant record rather than a list we maintain, so crops we add later are covered without anyone remembering.

  600. It tells you how to treat it now

    Ask what is eating your apples and you used to get the identification and nothing you could act on, because we refused to discuss treatments at all. That was too blunt. Answers now include the fix — cultural first, because it is usually free and usually works, and sprays when a spray is the answer, named by what is in them rather than by brand. A button under the answer asks for the detail: which ingredient, how often, when in the season, what not to spray it onto, and to check the label lists your crop. The caveats come with the answer rather than as small print underneath it.

  601. It will not tell you it is fine when it is not

    Ask about a plant the app is already warning you about, and the chat now knows that. It will not agree that it is nothing to worry about — not even when you ask it that way, and people do, because "that is just old leaves, right?" is how anyone would ask. Instead it names the two or three things it could be and the one detail that tells them apart. We built more than this at first, then measured it against doing nothing and deleted most of it: the answers were already right without it. What is left is the part that stops two halves of the app telling you different things about the same plant.

  602. “Nothing is wrong” is an answer too

    We ran fourteen photos of a real garden through the app and about half the honest answers were some version of “that is normal.” Spent blooms. New growth coming in pale. A seed head. A plant that is small because it is under a tree. And the app had no way to say any of it — it could raise an alarm or it could stay quiet, and staying quiet leaves you still thinking your plant is dying. So there is a new card, and it is not a cheerful all-clear. It names the thing you are looking at, says why it belongs at this exact point in the plant’s year, and tells you where the same sign WOULD be worth a look. Yellow leaves at the bottom of a sweet potato that is ready to dig are the plant emptying out its oldest leaves and putting what it gets back into the crop. That is the bit that matters: not “it is fine” but WHY it is fine, because once you know what the plant is doing you can see the same thing next week and stay calm without us. The same leaves while it was still growing would be worth a look — and the card says that too, since reassurance you cannot check is just someone telling you not to worry.

  603. The plant-problem guides got their artwork and their tables fixed

    Three things the founder spotted on the new guides, now sorted. The four plant-problem guides had no artwork, so they showed as blank green cards on the section page — they now each have their own picture, drawn in the house style and showing the actual thing the guide is about: a leaf half turned yellow, a hornworm carrying wasp cocoons, an egg cluster tucked in a leaf vein, and the tiled yellow patches that mean downy mildew. The same picture now runs as the banner at the top of each guide. And the comparison tables were badly squashed: the first column was being forced onto one line, so a full sentence stretched it to three quarters of the table and crushed the two answer columns into a narrow ribbon that wrapped every cell onto eight lines. Those tables now share the width properly.

  604. Sometimes “that’s normal” means go dig it up

    We shipped a card this morning that names the scary-looking things a plant does when it is actually fine. It was wrong about half of them. Yellow bottom leaves on an asparagus bed heading into winter really are nothing to do. The same yellow leaves on garlic are the bulb telling you it is finished — and our card was saying “nothing to do” while the app’s own to-do list said “harvest garlic.” Same plant, same screen, two answers. Garlic left past that point splits its wrapper and stores badly, so that is a real loss and not just an awkward sentence. On the 28 plant-and-stage combinations where the sign is the harvest signal, the card now says Ready and gives you the deadline. Same detection, opposite advice. What we had confused was “expected” with “fine” — a plant can be doing exactly what it is supposed to and still be waiting on you.

  605. Squash bugs, and why spraying the ones you can see does not work

    New guide, and the point of it is timing rather than products. You notice squash bugs when the big dark adults show up in groups on the plant, and that is exactly the stage that shrugs off a spray — extension services are clear that the young ones are far easier to kill than the adults. So the guide is arranged the way the insect actually works. The fight is the eggs: little copper-colored clusters tucked into the V where two veins meet on the underside of a leaf. Crush one with your thumb and you have removed a whole generation. They hatch in about ten days, which means a weekly look at leaf undersides cannot miss a batch. There is also a free trick worth more than any bottle: lay a board on the soil next to the plant, and collect the bugs that gather underneath it overnight.

  606. The app now tells you when a change could not be backed up

    A change the server refused used to sit in the queue being counted as "waiting to back up" — and re-sent forever, because nothing marked it as settled. Refused changes are now counted separately and named on your Profile: what it was, why it was turned down, in plain words, with a button to try again. Everything is still saved on your phone either way. Saying something is waiting when it will never happen is the one thing a backup message must not do.

  607. The cold that costs you a crop without killing it

    Frost gets all the attention because you can see what it did. The cold that actually costs most people a harvest is gentler than that: nights in the high 40s and low 50s, nothing dies, and the plant just quietly gives you nothing. Peppers drop every flower below 50-ish nights and set no fruit. Bok choy and kohlrabi that catch a week of cold nights run to seed and are finished. We had no way to say either of those. Now five crops carry the temperature, and — this is the part that matters — what it actually costs you. Because the advice is opposite: the pepper is fine and starts setting again the moment nights warm, so the answer is do nothing and stop worrying. The bok choy is over, so the answer is pick it today. Same weather, same-looking number, two different things to do.

  608. The label warning no longer depends on the answer remembering it

    When an answer suggests something to spray, it has to tell you to check the label lists the plant you are treating — the same ingredient is sold in versions that are not for food. We measured how often that actually happened and it was about two times in three, which is fine for a nicety and not for this. So the app writes it now, not the answer. Tap "how do I treat this" and the warning is always there, every time, in the same words. On an ordinary answer that happens to mention a spray it is still best-effort, and we would rather say so than imply otherwise.

  609. Every date was a day out for most of the year

    We found a bug while building something else: the app worked out what day of the year it was by subtracting two timestamps, which is correct in winter and wrong for the whole of daylight saving. Local midnight in August sits an hour closer to New Year than local midnight in January, so August 5th came out as day 216 instead of 217. Every stage window, every days-until-harvest and every frost countdown was shifted by a day from March to November. The same eight-line calculation had been copied into eight files, and one of them had already found the bug and worked around it locally — the other seven kept it. There is one copy now, it does its arithmetic in UTC, and the build refuses a ninth.

  610. Photo answers now follow the same rules as the chat

    The chat and the photo screen had grown separate rulebooks, and the photo one was three rules behind — each of them added after you hit the problem in chat. Photo answers will now never contradict you about a plant you are standing in front of, never say they have saved or logged anything they have not, and never talk about how the app works instead of about your plant. There is one rulebook now, so anything either side learns applies to both.

  611. The tomato hornworm you should leave alone

    New guide on hornworms, and it opens with the thing most people get backwards. If the fat green caterpillar on your tomato is covered in little white grains that look like rice, do not squash it. Those are wasp cocoons. That caterpillar is already finished, and it is busy producing the wasps that will go hunt the ones you have not found. Extension services say it outright: leave the parasitized ones where they are. The rest of the guide is about finding the ones that are not — which you do by looking for droppings rather than for the caterpillar, because a four-inch caterpillar the exact color of a tomato leaf is genuinely hard to see. Green droppings mean it is still up there right now. There is also an honest note on sprays: the two that work only really work on caterpillars much smaller than the one you are staring at, so your hand is usually the better tool.

  612. When we can’t find a number, the page says so

    Every plant page has gaps. Ours used to look exactly like everybody else’s gaps — a row that simply isn’t there, and no way to tell whether anyone ever looked. We had the answer the whole time: 136 plants carry a written record of a figure we went hunting for and no university publishes. It was sitting in our notes where only we could see it. Now 135 plant pages say it out loud: “No published figure for the temperature that would kill it. We looked — where a number is missing here it is missing from the research, not skipped.” It is a small line. It is also the difference between a page that is quiet because nobody checked and a page that is quiet because there is nothing to find.

  613. A guide to yellow tomato leaves that starts somewhere useful

    Yellow leaves are the most searched tomato problem there is, and the yellow itself is the one clue that cannot help you — all five common causes turn leaves yellow. So this guide is built around what is next to the yellow instead. Rings inside a brown spot mean early blight. Small spots with a pale middle and a dark rim mean Septoria. A yellow wedge narrowing in from the edge of the leaf points to a wilt in the plant's plumbing, which no spray will reach. Nothing on the leaf at all, evenly pale at the bottom of the plant, and it is usually just hungry. There is a seven-step check you can do on one plant in five minutes, a drawing of the two spot types side by side, and every description is quoted from a university extension source. One more thing we put in on purpose: a lot of advice online says yellow bottom leaves are simply old age. We went looking for an extension source that says so about tomatoes and could not find one, so the page says that plainly instead of picking a side quietly.

  614. You can tell it you looked

    The app could record that you found a pest, or a disease. It had no way at all to record the thing that actually happens most days — you went out, you looked, and everything was fine. So a plant’s history could only ever read as a list of problems, and the app could not answer “when did I last actually look at this?” Now it can. There is a “Looked it over — all fine” button on every plant, and the plant page tells you when you last did it. The part worth knowing: it expires. Fine on the 5th says nothing about the 20th — aphids turn up in three days — so after a week it stops counting as current, and after two the page says “worth another look.” An app that took one tap as forever would quietly stop watching a plant that later got sick, and you would never know it had.

  615. Your conversations and reminders now back up too

    Everything else in the app has been backed up to your account since the beginning. The chat and the reminders were built last and never got wired in, so they lived on one phone and nowhere else — lose it, and every answer you had been given went with it. Both now travel with the rest of your garden: the questions, the answers, what each photo was read as, and which jobs you asked for. Sign in on a new phone and the conversation you had in July is still there, with the pictures that went with it.

  616. A guide on why your tomato flowers keep falling off

    The hot-spell warning in the app is one sentence, on purpose. Everything that would not fit is now a guide: the exact temperatures for tomatoes, peppers, beans, squash and greens; why heat ruins the pollen; how long the heat has to hold before it costs you anything, which turns out to be about two days and the night between; and what is worth doing about it. Also what is not — blossom-set spray is sold for exactly this problem and NC State says plainly that it does not work in heat. Every number in it comes from a US extension service, listed at the bottom. The app now links to it from the warning itself.

  617. A photo question now goes to a stronger model

    Asked what kind of apple a tree was, with a photo of five ripe apples on the branch, the chat said it was a tomato — and stuck to it. The cause was not what it had been told but which model was doing the looking: typed questions and photo questions were both going to the fast cheap one, which is good at reading your garden records and not good enough at identifying a plant from a picture. Photo questions now go to the stronger model. It gets the apple right, says which family it looks like without overselling it, and notices the tree is not in your garden yet.

  618. A photo that fails to send now tries again by itself

    Sending a picture partway through a conversation could fail and stay failed — the message said "No signal just now" to somebody looking at full bars, and pressing Try again hit the same wall. An upload from a phone is long enough to catch a wifi-to-mobile handover or a radio going to sleep, which arrives as a bare failure with no reason on it. The app now has three goes of its own, seconds apart, before it says anything. If it truly cannot, it names the actual reason rather than blaming your signal.

  619. A photo that would not upload was our crash wearing a network error’s clothes

    Uploading a 181 KB photo on full wifi failed twice with "the photo would not go up, though you are online". The photo was never the problem. Our server was throwing, and a thrown request came back without the headers a browser needs before it will show the response to the page — so the phone saw the same error it would see with no signal at all. Every response now carries them, so a fault at our end says so, in those words, with the actual reason. Buttons under an answer also stop appearing when the answer was only half sure.

  620. A photo you are asking about jumps the queue

    Photos used to ride the general background upload — fine for a picture you took an hour ago and filed against a bed, wrong for one you are standing there waiting on. It ran oldest first, and it stopped dead at the first photo having trouble, so an unrelated one could hold up yours indefinitely. Ask a question about a picture now and that picture goes up on its own, immediately, ahead of everything. And if it genuinely will not upload, the message says why instead of telling you forever that it has not finished.

  621. Adding a plant now asks how many, and says whether it fits Partly live

    The add screen never asked how many you were planting — which is why almost nothing in your garden has a count against it, and why a bed could only ask rather than answer. It asks now, while you are holding the plants. And once you have picked a crop and a bed, it tells you if what you are adding will not fit: "Back bed has room for about 7 more, and you are adding 12." It stays quiet when there is room, it never blocks the save, and a raised bed is read as the close-planting case it is — a 4x8 bed holds about fourteen tomatoes, not the one that open-ground row spacing would suggest.

    Not yet: Only speaks up for beds you have given a size to, and only when the plants already in them have counts. Plants added before today have none, because the app never asked.

  622. Ask is a conversation now, and it knows what day it is

    The Ask tab is a chat, in the shape you already know from every other chat app — past conversations in the menu top left, message bar at the bottom, camera in the bar. What is different is what it opens knowing: today's date, your frost dates, every plant you have with the day it went in, and the last dozen things you did out there. So "will the tomatoes ripen before frost?" comes back with your frost date and your planting date, not a paragraph about tomatoes. Ask it something it has no note about and it tells you that instead.

  623. Attaching a photo to a question actually attaches it

    Shipped broken this morning and fixed the same day. Tapping the camera in the chat saved your photo and then never told the screen about it — so nothing appeared, and with no text typed the send button stayed grayed out. One fault, and it looked like two: the picture would not attach and the message would not send. Both work now. While we were in there, a failed message stopped claiming you have no signal when your phone says you are online — it names what actually went wrong, and only offers Try again when trying again could help.

  624. Bed sizes stopped disappearing, and rows get a shape check

    A bug first: the measurements you gave your beds were being wiped every time the app synced. They had never had anywhere to live on the server, and each sync rebuilt the bed from what the server did know — which was not the size. Nothing looked broken; the bed just quietly went back to not knowing whether there was room in it. Fixed, and the measurements now have a home. On top of that, tell the app how far apart your rows are and it will warn you before you plant something that does not suit them: squash wants about six feet between rows, so in foot-wide rows one plant covers six of them. A plot can have room to spare and still be the wrong shape.

  625. Beets warn about bolting now — and chard turned out not to need it

    Going to fill a gap we had written down — kale and chard bolt in the heat and the app did not know it — the sources said otherwise. Minnesota Extension on chard: it "will not bolt due to heat or day length". Chard bolts from COLD, which is a different warning in a different season, so the vaguer answer it was already giving was the right one. Beets was a real gap and is fixed: Penn State names beets outright, so a beet in a hot spell now says the leaves will turn bitter and the root will stop sizing. Kale has no source either way and keeps the careful answer. The heat guide picked up the caveat that goes with all of this — bolting is set off by day length as well as heat, so a long-day June can bolt a lettuce that never saw 80°F.

  626. Buttons under the answer, instead of the app talking about itself

    It used to say things like "I can put together a card for you to check over", which means nothing to anyone who does not work on it. Now it just answers, and the next steps appear as buttons underneath: add this apple to my garden, check it for pests and disease, remind me in two weeks. The pest one comes with the exact photos to take. And it stops hedging — it names the varieties a fruit could be and what would tell them apart, and it says what is wrong with a leaf instead of changing the subject.

  627. Every fruit crop now says how much winter cold it needs

    Fruit trees and bushes will not flower properly until they have had enough cold, and if you plant one that wants more than your winter gives, it sulks and barely fruits. All 26 fruit crops now carry that number, up from four. They are ranges on purpose — a peach can want anywhere from 200 to over 1,000 hours depending on which one you bought. Blueberry is the big one: we had it at 800–1,000, which is only true of northern highbush, so anyone in the South with a rabbiteye was being told it needs twice the cold it does. It reads 150–1,000 now and says the type decides it. Citrus is on the list too, at almost none, which is exactly why it fruits where a peach will not. Strawberry and blackberry also gained a straight answer on whether one plant will fruit alone.

  628. Correction: the heat warning was reading half the weather

    The version posted earlier today watched daytime highs only, and warned whenever any two days in the forecast were hot. Both halves were wrong. Clemson says nighttime temperatures above 70°F "and or" daytime above 85°F will make a plant drop its flowers — the warm nights matter as much, and Alabama Extension says for some varieties the nights alone are enough. And the window is about fifty hours, so it has to be two days RUNNING: hot Monday, mild midweek, hot Thursday is not a heatwave. It now reads both the highs and the lows, only fires on a real run, and tells you which of the two is the problem. The wording is plainer too.

  629. Every instruction now says what to actually do

    Putting the numbers on the jobs showed up how many of them still left you guessing. "Sow seeds on the surface, not covered" says what not to do and never says what to do. Asparagus said "pick when the stems have reached picking size", which is pick it when it is ready to pick. Salvia asked for a depth of 0.0625 inches. All of it is rewritten: depths read like a seed packet, a depth too small to aim at tells you what to do with your hands instead, and asparagus now says a spear is ready at about the length of your hand and as thick as a pencil. And every one of the thirty jobs the app can give you now explains itself behind one tap: what thinning is and why it feels wasteful, what curing means and how you know it is done, why mulch must be kept back off the stem, which way up a garlic clove goes.

  630. Every plant now shows the rest of its year

    A plant page told you what was true today and nothing else — one job, one line about what to look for. All the rest was already worked out and thrown away. It now lists what is coming in order: the stages with the dates they start and end, the once-a-year jobs, and anything you asked to be reminded of, yours first. A tomato shows the date you can expect to be picking. An apple tree runs on past dormancy to next March. Nothing new was sourced for this — it was all already there.

  631. It can put a job on your list for two weeks from now Partly live

    "Check the underside of a leaf in two weeks and we will know whether it is mites or rust" is a good answer and a useless one, because two weeks from now never arrives. Now it offers the job — you pick the day, tap once, and it shows up on Today when it is due. It comes with how to do it, which is the part that matters: a reminder saying "photograph the leaf" gets you another picture of a whole tree, one saying "hold it flat, underside up, in shade, fill the frame" gets you an answer.

    Not yet: Reminders live on the phone you set them on for now — they do not yet back up to your account the way the rest of your garden does. The card says so.

  632. It stopped offering to look for a pest it had just identified

    Photograph an apple with a grub in it and the chat names the culprit — and then offered a button reading "Check it for pests and disease", which is asking you to go and find out something it just told you. It now offers "Log codling moth on your apple tree": one tap, no form, straight into that plant's story. The closer-look button still appears when it can only say something is wrong without naming it, which is the case where looking actually helps.

  633. It stopped saying it had done things it cannot do

    Asked to add an apple tree to a garden, the chat answered "Got it, I've added an apple tree." It had not, and it cannot — it only talks. That is a worse kind of wrong than a bad answer, because there is nothing on screen to catch: you walk away believing your garden has a tree in it the app has never heard of. It now says plainly that it has no buttons and tells you where yours are. Giving it real hands is the next job; until then it will not pretend.

  634. It will not tell you how a plant looks unless it can see it

    Asked how the peppers were doing, it used to answer from the watering entries — which say somebody watered them, not that they are thriving. It says the honest thing now: what you did and when, and that it would need a photo to say more. Same for a question sent with a picture that has not finished uploading. It refuses and offers a Try again, rather than answering "what is wrong with this?" about a plant it never saw.

  635. Pick the variety from a list, and tell us when yours is missing

    Adding a plant from a chat used to leave the variety as an empty box you could type anything into — and anything we did not recognize was quietly dropped after you saved. It is a list now, of the varieties we actually hold for that crop, with whichever one the app guessed from your photo already selected. If yours is genuinely not there, one link lets you type it, and we log it so we can go and add it. That last part matters most when the app itself names a variety we are missing: it means our list is behind what people are growing.

  636. Rows in the ground get their own answer

    A raised bed runs out of area. A row plot runs out of length — three rows twenty feet long is sixty feet of row, and the gap between the rows was decided the day you laid them out. The app has asked in-ground plots how many rows they have and how long since the day it had plots, and used it for nothing. It answers now, in feet of row. The distinction is not cosmetic: sixty feet of row holds about 360 carrots, and the same plot measured as sixty square feet would have told you 2,160.

  637. Send up to four photos in one question

    One picture was a real limit, because the app's own best advice keeps being "now show me the underside of a leaf". Mites and rust look similar from above and obvious from below; a tree that needs pruning needs the whole shape, not one branch. You can attach four now and they are read as one set rather than four separate questions. They are numbered, so you can say "the second one" and it knows which you mean — and it will tell you when one of them settles something the others could not.

  638. Sow a short row every two weeks — and the reminder in week two

    Everyone is told to sow lettuce a short row at a time instead of all at once. Nobody is reminded two weeks later, which is why most gardens still get one glut. Forty-seven crops in the app carry their own sowing interval and it now asks you, on the day, with the crop already filled in when you tap through. The harder half is stopping: it works out whether another sowing can still finish before your frost, says "Last sowing of the year" on the one that can, and then goes quiet rather than talking you into wasting seed in October.

  639. Take a photo and ask what is wrong with it Partly live

    Point the camera at a plant that looks off and GardenTrack answers — using that plant’s own history, not just the picture. It says what it sees, how sure it is, and which of your notes it used, with their dates. It answers in a few seconds. If you happen to be somewhere with no signal it takes the question anyway and sends it when you are back in range. The photo also fills in what you could not reasonably tell us — how big the pot is, whether there is mulch on it, how tall the plant is, where it is sitting. That last one decides how often it needs water. You get one sentence and one button, and nothing is saved to a plant until you say so.

    Not yet: Fifteen answers in your first week, then three a month. A refusal costs you nothing, and it refuses often on purpose: it will not name a product or a dose, and it will not guess when something was planted or how old a tree is — a wrong planting date spoils every date after it. Answers are kept in your account. Asking free-text questions works, but a back-and-forth conversation does not exist yet.

  640. The bed asks for the counts it is missing

    Plants you added before the app started asking how many have no count against them, so a bed holding any of them could only say it did not know. It used to tell you to go and open each plant and set a number — which is a dead end wearing a sentence. Now the bed asks you where the question comes up: it names one plant, offers a row of numbers, and moves to the next as soon as you tap one. Five plants is five taps, and then it starts answering instead of asking.

  641. The chat can hand you a plant to save Partly live

    Ask it to add the tree you just photographed and a card appears under the answer with the details filled in — what kind of plant, what to call it, where it is, and the variety if it has a guess. Edit anything wrong and tap save. Nothing reaches your garden until you do, and that is deliberate: this morning it told a gardener it had added his apple tree when it had done nothing, and there was no way to tell from the screen. A card cannot fail that way.

    Not yet: Adding a plant is the only thing it can offer so far. It cannot set a reminder or log a job yet, and it will say so rather than pretend. It never fills in a planting date — nothing in a photo knows when a tree went in the ground.

  642. The one tree where "take the stake out" is bad advice

    Everyone is told to stake a young tree for a few years and then remove the stake. For a dwarf apple that is wrong, and following it can cost you the tree: dwarf roots stay small and brittle, the tree fruits while it is still young, and it leans and then goes over under a crop years after you stopped watching. Tell the app your apple is a dwarf and it now says so. How permanent depends on the exact rootstock, and the app says that too rather than pretending otherwise — if your label does not name one, leaving the stake in costs nothing.

  643. The second photo in a conversation now gets seen

    Send one picture and ask about it and all was well. Send another a few messages later and the answer came back "I don't see an image come through on my end." The picture was being pinned to the top of the conversation instead of to the message you attached it to — invisible with one photo, because the picture and the question end up side by side anyway, and broken from the second one on. Photos now travel with the message they belong to.

  644. Two silent ways a sowing fails, and the app now warns about both

    Some seed will not sprout unless daylight reaches it — lettuce, basil, dill, most of the herbs. Bury it and nothing comes up: no seedling, no rotten seed, nothing on the surface to explain it. Four crops are the opposite and must be covered properly. Twenty crops now say which they are, and the rest say nothing because most seed genuinely does not care. Our records hold twenty-nine — the other nine are either general knowledge, or a value somebody on our side worked out rather than read in a source, and "this will never come up" is not a thing to say from either. Eight of the twenty are confirmed by two extension services. The other half is temperature. "Wait until the soil has reached 60°F" was a number with no way to check it, so it now tells you how: a thermometer 2 inches down, same time on three mornings running, go by the average. And 21 crops that had no temperature line at all now get one, from the range they germinate best in.

  645. When a photo will not send, the message now says which photo

    A failed upload said "though you are online (TypeError)" — the name of a category, with the useful half thrown away on the way to the screen. It now prints the whole reason, and adds the size and type of the picture that would not go, plus whether shrinking it worked. A photo that fails while others succeed is almost always about that photo, and those are the facts nobody can recover afterwards.

  646. Which jobs you can still catch, and which are gone for a year

    Come back from a week away and most garden apps show you one undifferentiated list. Open Ask and tap "What did I miss?" and this one sorts your trees' and bushes' once-a-year work into three: do these now, gone for this year, and plenty of time. The middle group is the point — a missed watering is forgotten by Thursday, but the window to spray a bare peach only exists while it is bare, and the next one is twelve months out. It will not tell you off for a window that closed before you added the plant. No record is not the same as not done.

  647. Why your tomatoes drop their flowers in a hot week

    Above about 85°F a tomato aborts its flowers rather than setting fruit. It is not a disease and it is not something you did, but if nobody tells you that, you spend two weeks hunting for a problem that is not there — or pull a plant that would have come back. Forty crops carry their own heat point and the app has had your forecast all along; the two are joined now. It tells you before the hot spell, names which of your plants will feel it, and says what the heat does to each: lettuce runs to seed, a tomato sheds flowers.

  648. You can now check our work, including the mistakes we found in it

    There are two new pages about where our numbers come from. One shows the method: how a value gets onto a plant page, what re-checks it afterwards, and what those checks turned up — 186 problems in 11,692 values, broken down by what went wrong. Most were a citation that did not back up the number. Some were genuinely wrong, and the page names them, including a grape we had marked as fruiting on its own when it needs a partner. The other page lists every source and what we are allowed to do with it, including the datasets we turned down. Both also say what we do not have: only 16 of our 38 core fields are filled for all 151 crops, and toxicity is the thinnest of the lot.

  649. Your apple stops saying "somewhere between 6 and 25 feet" Partly live

    A fruit tree is grafted, and the rootstock rather than the variety decides how big it gets — a dwarf apple finishes around six feet across and a standard around twenty-five. Both are "apple" in a catalog, which is why the spacing read as a four-fold range that helped nobody. Tell the app which size tree you bought, once, on the plant itself, and it gives you the single number. It is asked per tree because two apples in one garden are routinely different, and left unanswered you keep the wide range — which is us saying we do not know rather than guessing the middle.

    Not yet: Four crops carry the per-rootstock breakdown so far: apple, pear, peach and mandarin. The other grafted crops still show their whole range.

  650. Your bed can now tell you whether there is room Partly live

    The app has asked raised beds for their width and length since the day beds existed, shown you the square footage, and never done anything with it. Now the bed says whether there is space left — "room for more, about 18 of 32 square feet still free" — worked out from what is actually planted in it and how much room each of those crops needs. It only warns that a bed is over-full when it would be over-full even at the tightest sensible spacing, because a warning that goes off when you are fine is one you stop reading. If a plant in the bed has no number against it, the app tells you that and asks, rather than quietly counting it as nothing.

    Not yet: Only for beds, pots and greenhouses you have given a size to. In-ground plots described as rows are not covered yet, and every plant in the bed needs a count before the answer appears.

  651. "A couple of months ago" now lands in the right year

    Tell the app a plant went in a couple of months ago and it works out the real date — including when that falls in the year before. Added in January, a plant put in the ground the previous November used to be filed as 1 January of the new year. Two things went wrong from there: the plant page showed the wrong date, and the app counted it as planted this season when it was already into its second. That gap is the one that matters for trees and bushes, where a first year and a second year get different jobs. Also on that screen: add your very first plant and the big button now takes you to Today, instead of straight back into an empty form.

  652. A pencil button on every screen Partly live

    Found something wrong? Tap the small pencil near the bottom right, say what it is, send. One plain text box — say three things at once if you found three things, which is usually what happens. The box focuses the moment it opens so your keyboard microphone is one tap away, because talking is faster than typing with muddy hands. The app quietly attaches which screen you were on, which plant you were looking at and the version, so you never have to describe any of that. It saves on your phone first and sends itself when you have signal.

    Not yet: You cannot see your own notes back yet, and you cannot attach a photo to one.

  653. A tree you planted years ago stops being treated like a new one

    Tell the app which year a plant went in and it now uses it. Before this, an established tree got its planting-year advice every single spring — stake it, water it every few days, strip the first fruit so it builds structure. Right in year one, wrong in every year after, and nothing on screen said which year it was talking about. The year was already stored and shown on the plant page; nothing had ever read it into a date.

  654. Every job now tells you the number Partly live

    "Thin seedlings" was never the whole instruction. The part you actually needed — how far apart — was in the plant record and never made it to the screen. Now it does, and so does the rest: how deep to sow, how much water a week, what pests to look for on that crop, and how to tell a thing is ripe. On the nine leafy crops whose spacing range spans four-fold or more, the job says what the two ends mean instead of handing you a span — three inches for leaves you cut small and often, twelve for full plants.

    Not yet: Per crop, not per variety, and not per your bed. Beets, dill and peas have no watering rate because no source we hold states one, so those jobs still say just "Water".

  655. Feeding dates for your trees — the month, deliberately not the amount Partly live

    Your fruit trees now tell you when to feed them, alongside when to prune. Nineteen of the 26 woody fruit crops carry a sourced feeding date; cherry, apricot, peach and orange had none at all until today. What you will not get is a quantity, and that is a decision. How much depends on your soil and the size of the plant, and UC IPM is blunt about which way it goes wrong: too much nitrogen means softer fruit, poorer color, worse keeping and more pests, and on citrus a late feed roughens the rind. So the app names the month and says plainly that it will not print a rate it cannot stand behind.

    Not yet: Seven crops still have no feeding date — currant, goji, grape, honeyberry, kiwi, mulberry and raspberry — because no source we fetched covers those groups. Still no spray jobs of any kind.

  656. It now tells you how to know when something is ready

    The app talked all season and went quiet at the one moment the year pays off — which is also the moment most likely to be got wrong. Now, once a plant is within two weeks of its harvest window, it says what to look for in that plant’s own terms: a bean pod that snaps instead of bending, onion tops that flop over on their own, oregano buds that are fat but still closed. 143 of our 151 crops carry one, and it stays quiet until the window is close, because the same sentence in May is trivia.

    Not yet: Eight crops have no cue recorded and say nothing rather than guessing.

  657. It now tells you if your tree cannot fruit on its own Partly live

    Seven of our fruit crops cannot set fruit from their own pollen — apple, pear, sweet cherry, kiwi, honeyberry, mulberry, persimmon. Plant one alone and it blossoms every spring and drops the lot, for years, with nothing to tell you why. The app now counts what is actually in your garden and says so. Two of the same variety still count as alone, because they cannot pollinate each other. And every tree now shows how many seasons it has been in against how long that crop takes to fruit, so a young pear reads as "nothing wrong yet" rather than leaving you guessing.

    Not yet: It flags and explains, it never rules — a neighbor’s tree will pollinate yours and we cannot see it. It does use the variety you named where we hold one, which is 749 of them, so a lone Golden Delicious or Stella is correctly left alone, and Mutsu, Jonagold, Stayman and Winesap are caught: those four need a partner AND cannot be one, so two of them together look like a pair and set nothing.

  658. Late-summer planting answers got more honest

    Ask "what can I plant right now?" in August and the answer used to be too generous. A seed packet’s day count assumes spring — lengthening days, warming soil — and counting those same days forward from August produces a number that adds up and does not grow. So we now add two weeks to every crop planted after midsummer, and another two for anything a frost kills outright, following Nebraska Extension’s fall planting guidance. On 3 August in Denver a tomato moved from "16 days to spare" to "not this year". The list also stopped dumping eighty crops at you and shows the best few first.

  659. One spray window, and the app asks before it shows it to you Partly live

    Peach leaf curl can only be treated while the tree is bare — after the leaves drop, before the buds swell. Miss it and there is nothing useful to do until the following winter, because treating in leaf does not work. That deadline is now in your tree list. What is NOT in it is a product or an amount: what goes on food you are going to eat is your decision, so the app gives you the timing and stops. And because it is your decision, it asks first — one question on that job, the week it matters. Say no and spray jobs never come back.

    Not yet: This is the only spray in the app. Nothing for scale, mites, apple scab or fire blight — those need monitoring and judgment about whether you have the problem, and adding them badly would be worse than leaving them out. The app also cannot yet tell whether you HAVE leaf curl; that is the top case for the photo diagnosis being built.

  660. The camera opens from inside the app

    Tapping "Take a photo" on a plant now opens the camera instead of the camera roll. Picking a picture you already took is still there, one line underneath. Standing in front of the plant is the common case and it was the one that needed two extra taps.

  661. The pollination check, hardened

    A pass over the fruiting checks against real gardens found three wrong answers and fixed them. A tree that DIED still counted as your pollination partner, which is the exact failure the check exists to prevent. Kiwi and mulberry were told to plant another variety when what they need is a male plant — two female kiwi vines will never fruit, so the generic advice was not just incomplete, it was wrong. And two sour cherries were inheriting the sweet-cherry answer and being told to buy a second tree; sour cherries are self-fruitful. The warning also now names the four apples to rule out as a partner.

  662. The weeks where water actually decides the crop

    Every plant needs water, which is not useful to be told. What is useful: the two or three stretches in a season where going short costs you the harvest itself and watering afterwards cannot undo it. Beans at flowering and again as the pods fill. Garlic while the bulb swells. Lettuce at germination and when the head forms. Open a plant while it is in one of those and the app says so. The rest of the time it stays quiet — an app that tells you to water something every day has told you nothing.

    Not yet: Four crops have no stages recorded, and one — endive — has a stage its own timeline cannot date, so it stays silent rather than guessing.

  663. Two season charts, because a tomato and an apple tree are not racing the same thing Partly live

    The band at the top of Today has split in two. One for the crops you started this season, which either finish before your frost or do not. One for the plants that come back every year, which are not racing anything and should stop being told they are. Fruit trees no longer get an arrow saying they run past your first frost, and no longer turn up in the "will not ripen outdoors" warning. The chart also stopped quietly drawing only five plants and hiding the rest, and the line explaining absent plants now gives the real reason instead of the same wrong one for every case.

    Not yet: Written before the jobs existed: established plants now carry a pruning list under that chart. Feeding and spraying are still absent.

  664. Your fruit trees have a to-do list now — and cherries are not pruned in winter Partly live

    Under the second chart on Today there is a new list: every once-a-year job your established trees and bushes need, soonest first, with the month it falls. Twenty-two woody fruit crops carry a sourced pruning window, and the timing is per crop rather than one rule for all of them. Apples and pears are pruned bare in late winter. Citrus only in spring — summer cuts sunburn the bare wood, fall cuts push soft growth into a frost. And cherries and apricots are pruned in warm dry weather after they flower, never in winter, because a winter cut lets canker in and the limb above it can die the next summer. We had that last one wrong: both crops used to say late winter, and no source ever backed it.

    Not yet: Pruning only. There is no feeding schedule and no spray jobs at all — both need their own sourced pass, and a chemical recommendation is not something to estimate. Bramble pruning stays deliberately vague: which raspberry canes to cut depends on a fact our data does not yet record reliably, and getting it wrong costs a whole crop.

  665. Your variety now sets your dates, not just your crop

    Tell the app you planted Sungold and it dates Sungold: 57 days, not the 52-to-90 range our tomato record carries for tomatoes in general. 1,615 varieties have a sourced figure we can use this way, and the spread inside a single crop runs to a month — Melody broccoli and Purple Sprouting broccoli share one record and are most of a year apart. Where a variety counts its days from a different starting point than our crop calendar does, we leave the crop range alone rather than convert it, because a converted guess reads as precision.

  666. Blog summaries that fit a search result

    A search engine cuts a page summary off at around 155 to 160 characters. Every post on our blog carried one two or three times that long, so the back half never reached anybody — and that same summary is the text on the cards at /blog/. All ten are rewritten to fit, with the number or the finding moved to the front where it survives the cut. Nothing inside the posts changed.

  667. Every crop that hardens off now has a temperature

    Yesterday 14 of the 38 crops had a sourced cold floor and the app said so for the other 24. Now all 38 do. Two numbers cover most of it: anything tender and warm-season — including the flowers, so zinnia, cosmos, marigold and petunia — stays in below 50°F, and everything hardy, which is the brassicas plus the cool-season flowers plus the perennial herbs, stays in below 40°F. If you grow herbs from seed, note the second one: thyme and sage overwinter outdoors here, but a first-year seedling is not the plant that hardiness zone is describing. And artichoke turned out to be the opposite of every other crop — it needs 250 to 500 hours below 50°F or it never makes a bud, so the app now tells you the cold nights are working for you.

  668. A help section

    Every part of the app now gets its own page: what it does, what it does not do yet, and the questions people actually ask. Each one carries the date the feature shipped and the date we last checked the page was still true. Where something is half-built we say which half — you should never find out from a support page that a feature works when it does not.

  669. An overdue tray now takes over the screen

    Open the app with seedlings still outside past their time and you get the whole screen, not a card in a list: how long they have been out, whether that is long enough to matter, and three ways to answer — bringing them in now, they came in right on time, or pick the time you actually did it. The app also asks whether you want a reminder at the moment you put a tray outside, which is when the question makes sense.

  670. Hardening off knows how cold your plant can take Partly live

    The ramp is now ten days rather than seven, erring long on purpose — a day too many costs nothing and a day too few costs the tray. We went looking for a different-length week per crop and the research said there isn’t one — three extension services describe the same ramp for everything. What actually differs is the temperature floor, which is the better answer, because the app knows tonight’s forecast. Tomatoes and basil should not sit out below 50°F; broccoli and cabbage take 40°F. When the forecast breaks a plant’s floor, the app now says keep them in instead of offering to put them out. Celery and celeriac are a special case: chilling them is what makes them bolt, so they are hardened by easing back on water.

    Not yet: Coverage was 14 of 38 when this shipped. It reached 38 of 38 the next day — see the 1 August entry.

  671. Notifications that say something

    Alerts now lead with the plant and the action — "Bring the Sungold in", "29°F tonight" — because that line has to work on a locked screen where the rest gets cut off. Underneath are the facts that decide what you do: how late, when they went out in your local time, what happens if you leave it. They never name the app or announce that they are a notification; your phone already prints both directly above.

  672. One trip outside, not five

    Bringing seedlings in is a walk to the step, and the app was asking you to make it once per plant. If several are outside and one is already late, anything else due within two hours now comes in on the same card — it names the ones that are not late yet and says how long they had left, so you can leave them if you would rather. More than two hours apart and they stay separate, because at that point the extra time outside is real.

  673. Photos Partly live

    You can now photograph a plant, and the picture becomes a journal entry with the date on it. It saves to your phone before it touches the network, so it works standing in a bed with no signal and uploads later on its own. Photos of the same plant line up oldest to newest with the plant’s age under each, which turns a handful of pictures into a record of the season. A pest check that finds something now asks for a photo instead of quietly moving on.

    Not yet: Nothing looks at the photo yet — no identification, no diagnosis. That is a much bigger build and it needs the pictures to exist first, which is what this is.

  674. Snooze reminders now actually arrive

    Snoozing the bring-them-in screen used to set a timer inside the app, which meant closing the app killed it — the reminder only turned up when you next opened GardenTrack, which is not a reminder. Snoozes are now held on our server, which stays awake when your phone does not. The check behind it also went from hourly to every five minutes, so the first alert is timely; repeats are limited to one every half hour. And the test alert in Profile now sends after a twenty-second countdown, so you can close the app and see whether it really reaches you.

  675. Snooze the overdue screen, and a nudge to turn alerts on

    The "bring them in" screen now has a way past it: 5, 10 or 30 minutes, an hour, or type your own. The app goes back to normal and the screen returns when the time is up — and if alerts are on, so does a notification. There is still no permanent dismiss, because a tray that is outside is outside. Turning alerts on has also become a step in the setup checklist on Today rather than something you had to find in Profile.

  676. The hardening week now has an ending

    Finish the seven days and the app says so: the plant is hardened off and ready for the ground, with one tap to record the day you plant it. It did not do this before — the last step is a night outdoors, so there was no bring-in to log, and the app would eventually ask whether the tray had come back in from a night it had itself told you to leave it out for. A week of doing everything right ended on a confused question. Recording the planting day also sharpens every date the app gives you for that plant afterwards, because they are all counted from it.

  677. Timelines that know what mattered Partly live

    Every entry is now sorted by what kind of thing it was, whether it went well or badly, and how much it mattered — so a season of watering no longer buries the day your first tomato came in. A "worth remembering" filter shows just those. You can mark an entry yourself as a win, a setback, a loss or a lesson, and your word beats the app’s. A bed also shows everything that happened to every plant in it, which it did not before: it only listed things done to the whole bed, so most beds looked empty.

    Not yet: This is the groundwork for a season retrospective, not the retrospective. There is no year-in-review screen yet — we built the record first so that when there is one, it has something honest to read.

  678. Trays, and a question the app will keep asking

    You can now say where each plant physically is — a seed tray, a pot, a raised bed, straight in the ground, or under cover. It is the single biggest input into how often the app tells you to water, and it used to be inferred from the kind of bed a plant belonged to, which says nothing about a tray on a windowsill. Naming a tray is optional and buys one specific thing: everything on it gets brought in together during hardening off, because it physically does. Plants with no answer get a standing reminder that does not retire after onboarding.

  679. Two fixes from a morning of real use

    Bringing your plants in used to leave “1 thing to do” on the Today screen — an acknowledgement card was being counted as a task, so the number lied and tapping through found nothing. That card is gone and the information moved to the hardening status line. Separately, if the server had already sent you a notification while the app was closed, opening the app would send a second one for the same tray. The phone-side reminder now stays quiet whenever the server can reach you.

  680. What can I plant right now? Partly live

    Adding a plant now offers a list worked out from your frost dates and today’s date: what finishes with room to spare, what only just makes it, and what cannot finish this season, each with the number of days. Perennials and crops whose planting window has not opened are kept separate, because those are answers to a different question.

    Not yet: Five crops, cucumber among them, get "we cannot say" because our data holds no planting offset the engine can use. Garlic is filed with the perennials and shown as "next year" when the real answer is a date in October.

  681. You can see whether alerts actually work Partly live

    Profile now says whether this phone is registered for alerts, and lets you send yourself a test. Being reachable needs three separate things to be true — permission in your browser, an account, and your phone having reached our server — and until now all three failing looked identical, which is to say nothing happening at all.

    Not yet: We are telling you how to check because we could not check ourselves: no alert has yet been confirmed arriving on a real phone. The test button is how that gets proven.

  682. Frost alerts Partly live

    The app now checks tonight’s forecast against every plant you are growing and warns you about the ones frost will end. Hardy crops stay silent deliberately — a light frost improves kale, and warning you about that is how you learn to ignore the warning that matters. The forecast comes from the National Weather Service, looked up for your own grid square.

    Not yet: The warning shows in the app. Reaching a phone with the app closed needs push notifications, which are switched on but not yet proven end to end on a real device.

  683. Hardening off, as a week Partly live

    Moving seedlings outdoors is now a seven-day flow rather than a single button. Each day tells you how long to put the plant out and where, records the time you did it, and gives you a countdown to bringing it back in. Several plants share one card even when they are on different days of their own schedule. Tapping twice in an afternoon is still one day.

    Not yet: The bring-in reminder works while the app is open or in the background. A reminder that reaches a closed phone needs push, which is not proven yet.

  684. One thing at a time

    The Today screen no longer prints every task and all its reasoning on one page. It shows a count and the first thing, and tapping it opens a focused mode: one card, one decision, big type you can read at arm’s length in the sun. The screen stays awake while you are in it. The reasoning is still there, one tap away, for anyone who wants it.

  685. Watering advice that fits the plant

    The app used to give one soil test for every situation, and it was the established-plant test — push a finger in to the first knuckle. Under a seed sown four days ago that measures soil the seed will not reach for two weeks. There are now six: a seedbed, a tray indoors, a plant just moved out, a pot, a mulched bed, and open ground. Each has its own depth, and its own answer for damp and for dry.

  686. The whole plant database, free

    All 148 crops are live, with a page each and 1,325 variety pages beneath them. Sowing depths, spacings, days to maturity, growth stages and harvest cues — sourced from extension services and cited on the page. No signup, no paywall.

  687. Frost dates for your exact spot

    The frost lookup now computes your dates for your own roughly 800-foot square of ground, elevation-corrected, from 26 years of daily temperature records — instead of handing you the nearest weather station’s. It shows the 10%, 50% and 90% odds, because an average is not a promise.