What’s New on AGSIST
Changes to the site by date: new pages, improvements, and fixes. Mistakes are listed too, the same way the prediction bot scorecard keeps its misses.
October 18, 2026
Type a ZIP, town or county and get one page about it: where it ranks in its state, what sits far from its neighbors, and this week's bids, rain, drought and hail.
Post hay, straw or forage you have or need, free. Buyers and sellers find it by distance and call each other. No fees, no cut.
Short written stories on 2,632 county rain pages, 2,876 PRF county pages and 2,902 Farmland Atlas county pages, each dated and checked against our numbers.
27 market and farm program terms in plain words. A dotted underline on a page opens the short meaning.
The Rain Print pages now show photos of real framed prints.
Every state with cash bids on one page, with the towns and elevators in each.
Cash bids now come from 1,869 elevator locations, up from 1,763 on Oct 16.
Pick your PRF grid and get an email when its rainfall index posts.
October 17, 2026
88 sale barns from USDA reports plus 20 read from their own reports, including Premier Livestock in Withee, WI.
On any county rain page, ask for that county's full-year rain total by email in January.
October 14, 2026
When a federal holiday moves USDA's Crop Progress to Tuesday, the site now picks it up Tuesday evening. On October 13, the Tuesday after Columbus Day, it did not, and the homepage and conditions page kept showing the week ending October 4.
On October 9 the Wire posted December corn's 3.9% drop twice, once as December corn and once as corn, worded two different ways. It now keeps one.
October 12, 2026
Pick your grid, acres and two-month intervals for Pasture, Rangeland, Forage insurance and see the premium, USDA's share of it, and what the policy would have paid in each year from 1951 to 2025 at 2027 rates. It covers all 13,414 grids in the 48 contiguous states, works out which county a point is in, applies your county's interval limits, shows each interval's normal precipitation in inches, compares two setups and all five coverage levels, and prints a one-page sheet. Each state has its own page with every county's USDA values, at /prf/<state>.
October 11, 2026
Every cash bid on the site is now read from the elevator's own bid board. The licensed feed that used to fill gaps is off, so an elevator we don't read shows no bid. The elevators page shows which ones we read.
October 6, 2026
The first screen now answers three things: the best corn and soybean bid near you (with the delivery month and basis), where December corn and November soybean futures stand, and whether it is a day to spray. Cash bids are one row per elevator; tap a row for the phone number, delivery months and carry. Weather and a live radar sit beside the bids. Each fact shows once, and things that were stale or approximate (fertilizer quotes, the tariff table) moved to their own pages.
Elevators that listed their company name where the town belongs now show the real town, taken from their own ZIP. New-crop and spot bids now count as this month's bid during harvest, so the top bid near you is the true top.
The Action in the briefing is now a statistical bot's call, labelled BOT CALL, with a public backtest. It currently scores no better than a coin flip, and the page says so.
October 1, 2026
An elevator or co-op can now claim its listing from the elevators page: we check the name and town with them, put their phone on the call button and read their own board through the day. It is free. Payment never changes bid order or ranking.
If your browser sends Global Privacy Control or Do Not Track, the site no longer loads Google Analytics at all, and the privacy page has a switch to turn it off yourself. Google signals and ad personalization are off for everyone. The privacy page was rewritten so every line is true, and the about and sponsor pages now say that the founder also owns Farmers First Agri Service LLC and Loke Drone LC.
A bid good for a delivery window that started before this month was treated as expired. On October 1 the homepage told a reader at Abbyville, Kansas there were no bids within 50 miles while the co-op in town was posting corn at $4.71 for August through November delivery. Open windows now show, labelled with the whole window ("Aug–Nov 2026").
Crop condition, planting and wheat harvest pace were compared against last year's final report of the season, not the same week last year. Each is now compared with last year's week nearest the same date. Corn and soybean harvest pace is added the same way.
From early fall to year end the front month is the harvest contract, and the homepage used to hide the second corn and bean tile and write "+ new crop" on the first. The second tile now rolls to next year's harvest contract, December 2027 corn and November 2027 beans, so a grower pricing next year's crop sees it without leaving the page. The ticker rolls with it.
The Upcoming USDA Reports strip listed WASDE, Crop Production, Grain Stocks and Acreage at 11:00am ET. USDA releases them at 12:00 noon ET, which the full calendar page already said. The October 9 Crop Production was also labelled the final corn estimate; the final is January's.
The export panel said no USDA target had been published for 2026/27. USDA has published one in every WASDE since May. AGSIST's own target table had not been updated, and the line now says so. The panel is titled Cumulative Bookings until the target is loaded, and the date reads "week ending" rather than "week of".
The briefing is written at 6:00 AM CT and the board moves all day. The Action now prints the price it was written at and the price now, with the gap, so a reader arriving in the evening is not told to sit tight at a price that no longer exists.
A bid posted at the futures price showed "+0¢". It now reads "even", on the homepage card and on Cash Bids.
On the first of each month the hail data rebuild rewrote its manifest without the recent-reports timestamp the status page reads, so the hail feed showed no refresh time for a day and the feed check went red. The rebuild now carries the timestamp.
Older changes, by month
September 202660 changes
September 30, 2026
Corn stocks printed 2.095 billion bushels, above the entire pre-report trade range (1.843–2.005B), a real miss versus what the trade had priced in. Soybean stocks printed 0.315B, a mild bullish surprise inside the trade range. Wheat stocks printed 1.846B; no trade estimate was ever on file for it, so it is shown ungraded rather than scored against a guess.
What's Priced In covered WASDE only. It now also carries the quarterly Grain Stocks report: today's corn and soybean trade estimates, graded against the actual print once USDA releases it, the same way WASDE already is. No usable wheat trade estimate was found for this cycle, so wheat is shown withheld rather than guessed.
Look up cash bids on the homepage and two new things appear: a calculator that weighs your storage cost and expected carry against selling now at the bid you found, and a line comparing that bid's basis to the average of the other nearby bids the same search turned up. Also new: a one-line recap of what changed since your last visit, and a prompt to add AGSIST to your home screen.
The homepage Commitment of Traders panel now sits beside the USDA report calendar as a two-column strip, and a new September Grain Stocks card sits above it with today's real print (corn 2.095B bu, soybeans 0.315B, wheat 1.846B) linked through to the full grading on What's Priced In. An "I raise" toggle lets you pin Cattle first in the COT list if that is the position you actually hold. When your ZIP bid lookup finds a match, a basis history chart now draws from this elevator's own logged basis changes (real change-points only, going back to June 10 where we have them, never a smoothed or invented line) and elevators read through the AGSIST network feed are now marked "direct from elevator" so you can tell which numbers came straight from the board.
The nearby-bids comparison on the homepage only ever averaged whatever bids happened to fall inside your ZIP search radius. When your search returns an elevator with real coordinates, the page now also compares its basis to every other located bid within a fixed 25-mile ring around it: a constant distance, not one that shifts with where you searched from. Separately, elevators with a posted corn basis now carry a "Watch this elevator: free" link: enter your email, confirm it once, and you get a message when that elevator's posted basis changes. Unsubscribe any time from the link in every email.
Crop Vigor & Moisture already computed NDRE, the satellite index tied to nitrogen status, as a single number per field. It's now also a map layer you can switch on, next to Vigor and Moisture: because nitrogen stress is rarely even across a field, and a single number can't show you where. Same satellite source as the Vigor layer (Sentinel-2), and the color bands match the number exactly, so the map and the figure never disagree about the same field.
September 29, 2026
After a ZIP search on the homepage bids card finds nearby elevators, there is now a one-line offer to get those prices by email every morning, using the ZIP you just entered.
The Commitment of Traders widget showed corn, soybeans and wheat only. Cattle positioning was in the data all along and had never been shown; it now has its own row alongside the others.
September 26, 2026
That was our mistake. The standard ear-count method uses ears, rows and kernels only, and we had added a test weight adjustment on top. It is removed: 34 ears by 16 rows by 32 kernels now gives 193 bushels at any test weight, where it used to move by as much as 20. The earlier note about 173 at 50 pound test weight no longer applies.
Revenue protection lets the harvest price count up to twice the projected price, and the calculator stopped short of that. It now counts up to 200% and says when the cap applies. Wheat also opened with a $6.00 price we had made up; it now starts blank until you enter one.
We printed $0.00 for a product with no quote, and that row could be picked as the cheapest. A missing price now shows a dash, is left out of the ranking, and every row shows the date of its quote.
We said an $8 to $12 an acre stabilizer pays for itself if it saves about 10 pounds of nitrogen. At $0.55 to $0.70 a pound of nitrogen it takes roughly 11 to 22 pounds. The page and its FAQ now say that.
The column headed on-farm share was printing the other half. Iowa read 43% and is 57%: 2.05 billion bushels of on-farm space out of 3.59 billion in total. All states are corrected.
The headline blended older calls we had graded by hand with the ones checked by machine, which flattered the number. It now shows only the machine-checked calls: 17 of 83, or 20.5%. The older calls are listed separately. Weekend briefings that repeated Friday's call were counted two or three times against the same Monday close; 9 repeats are now counted once.
The audience numbers were typed in by hand and had drifted. They are now filled from the audience file. We also said our pages were being cited by several named answer engines. The count we had came from Bing and Copilot only, and the page now says that.
The top line could say go while the sunrise and sunset window or the 95 degree limit further down the page said no. The headline now uses the same rules as the rest of the page.
The planting date page and the GDU calculator each carried their own heat-unit table, and they disagreed: 2,700 on one and 2,268 on the other. Both now read one shared table.
ADM Mankato was drawn twice. It now appears once. Grade names are shown next to each bid, and products quoted per ton are no longer labeled per bushel.
We mixed older years into the headline: 2,877 counties and a $63.00 median. Counting only counties with a 2026 rent gives 2,400 counties and a $70.25 median per acre.
Weekly reports that fall on a federal holiday are now marked as holiday weeks, with the date to be checked against USDA, instead of listed as a normal release day. Weekly export sales are shown on Thursday for readers in any time zone.
The price cells showed old placeholder prices, such as $16.92 for Class III milk, until live data loaded. They now show a dash until a real price arrives.
The terms now state which parts of AGSIST are all rights reserved, which datasets are CC BY 4.0, and that third-party data is not ours to license.
We removed the FFAI score from the site, including the homepage. It no longer appears anywhere.
September 25, 2026
3,148 county pages and 50 state pages, each with cash rent, census land value, corn yield, the crop insurance record and drought weeks, and a link you can send someone. The figures match the Atlas sheet: 500 counties were checked against it, 13,485 values, no differences. A state page carries a map where every county is a link, and a table you can sort. A blank is a figure the source withheld, never a zero.
Pick counties by name; the link keeps your choice so you can share it. Nothing is scored and no county is called the winner.
One row per county as CSV or JSON, every column with its unit and source, and a line to cite. A CSV for each state too.
Paste a county link into a text or a post and the preview shows that county: its name, dry cash rent, land value and corn yield, and its shape on the map. States show a map of every county shaded by rent. A figure the source withheld shows a dash and the reason, never a zero.
The county pages and downloads are licensed Creative Commons Attribution 4.0. Use them, including commercially, and credit the AGSIST Farmland Atlas with a link. The underlying federal figures stay in the public domain.
The page pointed at an image path that did not exist, so a shared link showed no picture. About 300 pages also lacked the tags that let X show a large image; those are added.
September 24, 2026
The cash bid card on the corn, soybean and wheat pages read a file that a job rewrote about twice an hour. When that job stopped, the card kept showing the last thing it had written, and it stopped for a day. It now reads the elevator boards AGSIST polls every ten minutes, directly. A reader at Chetek, Wisconsin was being shown a bid in Rochester, Indiana labelled “not near you”; the same reader now gets an elevator 52 miles away read twelve minutes ago. Where there is no elevator within seventy-five miles, outside the twenty-nine states we read, the card falls back to the licensed feed exactly as before, and says which one it used.
Corn made a new 52-week high on four days in September and the wire printed the same six words each time, twice word for word. It now says which high it took out and by how much, so a run of new highs reads as one developing story rather than one story filed four times.
Managed money's corn net long went from +414,459 contracts to +414,460 and we published it as the biggest position in a year. That is one contract in 414,460, and it was true only because the yardstick we measured against included the week we were measuring. An extreme now has to be reached by a week that actually moved, measured against the position's own 52-week range. The item has been taken off the page.
The job that pulls cash bids runs a set of checks on itself before it fetches, and one of those checks read the bid file it was about to replace. Two rows in that file could not be told apart, so the check failed, the fetch never ran, and the file that failed the check was the one left in place. Corn, soybean and wheat cash cards carried Wednesday's prices into Thursday afternoon. The two rows can now be told apart, and a check that reads yesterday's data reports rather than stops the job.
Heartland Co-op posts one soybean cell flat, at no basis. Every other cell in that column implies the same futures price and that one implies its own cash price, a cent adrift, so the check that proves we read the board correctly refused the whole board and all 54 of their locations dropped off the map for a day. A cell posted at no basis no longer gets a vote on what the column's futures price is. Its bid is still shown.
“Will no Fed rate cuts happen in 2026?” was trading at 96 cents and this page printed “96% odds of a rate cut” beside it. It is a contract that pays if there is NO cut, so the sentence was backwards, and the same fault turned “Will 1 Fed rate cut happen in 2026?” into another reading of the same thing. Every one of these now reads off the question it belongs to. This was ours.
The board showed nine cards for what were four markets. Four of them were price steps on a single crude-oil contract, printed as if they were four separate bets, and their percentages looked like they should add up to something. They are now one card, with the note that a lower step is already inside a higher one, so the numbers are not meant to be added.
The forecaster board averaged a soybean ending-stocks miss and a corn yield miss into one accuracy number, which is how one name reached the top of the board on a record that was really two yield calls. Yield calls and supply calls are now scored in separate groups and the page says which group a table is showing. It also stops printing a finishing order at all until there are enough scored calls to support one.
Both “closest” badges this board had ever awarded sat on forecasts that landed further from the USDA print than the free trade consensus in the column beside them. A badge now only says a forecast beat the trade when it did; the rest say, in words, that it was the closest of those who filed and still wider than the consensus. Every average now carries the spread of the calls behind it.
Put in your bushels, your grain and the delivery window and you get every elevator in our snapshot that posts for it, in dollars for the load rather than cents a bushel, ranked by what you would actually take home. Put in what a mile costs you and the haul comes off both ways. It says which distances are measured from a door and which from a town centre, and it says how many elevators it left out and why.
The homepage now shows the crop-insurance final planting dates for corn and soybeans in the county it has located you in, with the days left, taken from the USDA Risk Management Agency's published dates for the current crop year. It shows nothing at all for a county it does not have on file rather than falling back on a state or a regional guess.
The calculator seeds the price box from the live board. If you then typed your own price and changed crop, or came back to the page later, the live number wrote over what you had entered. Your price now stays yours, and the live number is only used until you replace it.
The small low and high labels under each price were rounded to whole dollars, which pulled them inside the range that actually traded. Class III milk showed a $15 low against a real low of $14.53 and feeders showed $300 against $299.52. They now carry the same precision as the price above them and are rounded outward, so the range shown always contains the one that happened. The dollar index also had a dollar sign on it, which it should never have had.
The page said the model explained a share “of final yield”. It does not. It explains that share of how Iowa's final yield differs from its trend, which is a much narrower claim and the one the number actually supports. The wording is corrected everywhere it appeared on the page.
The homepage panel said “No ag-relevant markets found today” while the file behind it held nine contracts and the full page showed them. The panel was looking for the price under a field name the file stopped using. It reads them again.
For the part of the year when the front month and the new-crop contract are the same contract (right now corn is December on both) the board printed them as two cards side by side with the same price, the same change and the same symbol. There is one card now, and it says it is the new crop as well. When the front month rolls, the second card comes back.
The 52-week low and high under each price ran out of room on a phone and broke across two lines mid-number: soybeans read “$10.4 / 8” and corn ran the low into the caption as “$4.2552-Wk Range”. The caption is gone on a narrow screen; the two figures sit at either end of the range bar, and neither number breaks now.
USDA has not published a 2026/27 export forecast, so there is nothing to measure the pace against. The page drew a bar at zero and a dash, which reads as nothing sold. It now prints what is actually known: 17.4 million tonnes of corn booked so far, and says plainly that there is no target to measure it against.
The wire carried “Corn closed at a 52-week high — $5.43 a bushel, taking out the $5.39 top of its range” on two consecutive days, word for word, and the same doubling for soybeans. Each was true the day it was written, but the second one could not be: by then the top of the range was $5.43. A headline already on the wire is not posted again.
Sponsor slots were drawn in the same gold as our own headings and links, so paid space looked like part of the site. Every slot on every page now carries the orange used for advertising and an orange edge, so you can tell at a glance what somebody paid for and what is ours.
September 23, 2026
The hail lookup now takes a date. Put in the day the storm came through and the page answers for that day only: the reports near your spot, and the radar swath for that date. It used to answer for the last five years and leave you to work out which line was yours.
You can now set the lookup to 5, 10 or 25 miles, and it starts at 10. It was always 25, which is nearly two thousand square miles, wide enough that the biggest stone on your report could have fallen in the next county. Every number on the report now says how far away it was.
The radar check could tell you there had been no hail in the last thirty days when the days you were asking about had not been processed yet. Radar days are finished the following morning, so a storm from last night was never in the answer. It now tells you where the record stops instead of answering past it, and says so when a day fails to load. This was ours and it was the worst thing the page could get wrong.
The radar verdict called a two-inch estimate baseball-class and an inch-and-a-half golf-ball. The Weather Service calls two inches hen egg and an inch and a half ping-pong, which is what the questions further down this page already said. The verdict was overstating by a size or two; it now uses the same scale as everything else on the site.
The national map colours how many reports came in, and reports come from people: nine of the ten busiest patches on it are cities. Counted by hail days instead, the busiest ground in the country is eastern Colorado, western Nebraska and western South Dakota. The map now says so plainly, and points you at the lookup for your own place, which does not care how many neighbours you have.
Where an elevator posted a bid with no month on it (open storage, spot, a season name) the page sorted it behind every forward month, so a card could headline a bid more than a year out while today's bid sat underneath it. One elevator was showing a July 2027 price of $7.14 over $7.02 for today. Ours, and it is fixed.
When an elevator posted more than one grade for the same delivery month, the nearest-bid line could pick whichever arrived first rather than the highest. One elevator posting soft white at $6.07 and hard red winter at $7.49 for the same month showed $6.07. Also ours.
September 5, 2026
AGSIST now reads a growing number of elevators' own posted bid boards directly, rather than only through a licensed feed. Where we do, the card says “direct from the elevator” and that board is the one you see. It is the elevator's own posting, so it wins over any copy of it. Everything else is unchanged, and the page still shows every elevator it showed before.
A map of every grain elevator AGSIST tracks nationwide. Green is one we read direct; grey is one we know about and are working through. Click a pin to see what is there. If your elevator is grey, the form on that page is the fastest way to move it up.
The badge beside the results now says which CBOT session is running and counts down to the next one: the overnight session, the 8:30 open, the 1:20 close, and the Sunday evening reopen. It previously only knew about the day session, so it read “market closed” through every overnight.
An elevator that posted its board on Friday was being flagged as out of date all weekend. A board is now judged against the trading calendar rather than a fixed number of hours, so Friday's board reads as Friday's board, which is what it is until the market reopens.
August 202693 changes
August 26, 2026
A grower called Kolton wrote in to ask for it: he wanted to see only the bids he could actually deliver against, instead of reading past nine other delivery months to find his. The page now has a Delivery box beside the sort control -- pick a month, or "Harvest", and everything below it obeys: the elevator list, the three headline cards at the top, and the what-that-drive-is-worth calculator. The choice survives a reload, so coming back to the page does not mean setting it again. Thank you Kolton -- this one was your idea, and so is most of what is below it.
A basis of -55 cents means nothing on its own. Against December corn it is one number; against March it is a different trade entirely, and two elevators quoting -55 and -45 are not comparable at all if they are quoting against different contracts. Each commodity on each elevator card now carries a short strip -- Sep26 $5.14, Dec26 $5.37, Mar27 $5.51 -- and each row is tagged with the contract its basis is quoted against, where that differs from the delivery month. The futures price is worked out from that elevator's own two published numbers, its cash minus its own basis, and nothing else; no outside quote feed is involved. Where an elevator's own rows do not agree on what the futures must be -- which happens when a board rounds its cash price -- the page prints nothing for that contract rather than guessing. Kolton asked for this one too.
Under any bid whose history we hold, a line now says what the basis was before its last move and the day it moved -- a red down arrow when it got weaker for the seller, a green up arrow when it got stronger, and "no change since" with a date when it has not moved at all. Some of these are more interesting than a price: Big River at Boyceville has not touched its new-crop corn basis since the ninth of June. The history is this site's own -- the national bid file has been committed here daily since June, so its record of what every elevator was posting was already sitting in the archive; it is now kept deliberately rather than by accident, and a state's worth of it is about eight kilobytes, fetched only for the states you are actually looking at. Where the basis on the board no longer matches the last one on file, the line says "moved since" and the date we last looked, rather than naming a day it cannot know. This was the second thing Kolton asked for and the one he said he would miss most.
Shipped in the morning and wrong by lunchtime. The filter matched on the first day of an elevator's delivery window rather than the contract month printed on the row, and 55 of the 345 bids then live had a window that opened in a different month from the month they were posted under. Asking for November therefore hid a genuine November bid -- including one at Heartland Co-op of Council Bluffs -- from the exact person who had asked for the filter. It now matches on the contract month, and falls back to the window only where a row's label cannot be read at all.
A basis of exactly zero -- the strongest basis anybody on the board was posting -- was being read as no basis at all, printed as a dash, and sorted below elevators bidding 80 cents under. Twenty-one of the 345 live rows were affected, including the two best soybean bids on the page. The cause was a single line that treated the number zero as if it meant nothing.
One elevator posts soybean meal on the same board as soybeans, priced per ton rather than per bushel. The page rescaled that per-ton figure into something that looked like a bushel price, called it $1.20 soybeans, and put it in the Best Soybeans card at the top of the page. Prices that cannot be a bushel price for their crop are now withheld and counted rather than quietly rescaled into looking sensible.
The banner above the Worth The Drive table ranked elevators on price alone while the table underneath ranked them on what you actually keep after the fuel to get there. On a 1,000 bushel load at $1.75 a gallon they disagreed by $92 and named two different elevators. The banner now ranks on the same net figure the table does.
On a 375-pixel screen the word "Delivery:" rendered ten pixels wide and 178 pixels tall -- one letter per line, straight down the page -- because the row holding it refused to wrap. Both controls now wrap as a pair, a label never breaks between letters, and the green winner banner above the drive table wraps like the sentence it is instead of stacking "+$727" vertically.
The column headings did not sit over their columns. CASH/BU was nineteen pixels right of the price beneath it and DELIVERY seventeen off its own column, at every screen width from a 320-pixel phone to a 1920-pixel monitor, because the heading row and the price rows were two separate grids that each sized themselves to their own contents. They now share one set of widths. The price rows were also indented eleven pixels further than the heading above them, so the inside of every card stepped in and out for no reason; every block on the page now starts and ends on the same two edges. Basis was printing a hyphen where the money beside it printed a minus sign, so a column of +48 and -52 never sat straight. One elevator's phone number arrived as ten unbroken digits next to two hyphenated ones, and one branch name arrived in capitals; both are now formatted for reading rather than passed through. Total Net was rounding to $4.61k while the column beside it counted to the dollar. The search box was 540 pixels wide and four rows tall in the middle of a 1320-pixel page, which pushed the bids most of a screen down; above 720 pixels it is one row across the full width, and above 1180 the elevator list runs three and then four cards across instead of two. Tick marks, a circled question mark and a marketing badge are gone.
August 16, 2026
The storm swath layer, the last-30-days view and the play button were sitting underneath another control bar on any screen narrower than 640 pixels. Not hidden -- covered, so a thumb landing on "Storm swaths" hit the button behind it instead. Anyone arriving on a phone looking for swaths or the live layer could not reach either one. The cause was a single styling rule: two bars were told to stick to the same line at the bottom of the map, and one of them was a bar the page had already switched off and which was refusing to go. That same bar was also putting a date stepper under the five-year map, where there is no date to step to, and showing the words "radar-estimated, not a ground measurement" underneath a map made entirely of human ground reports -- a caution attached to the wrong thing. All of it was one line. The page is 245 pixels shorter on a desktop and 314 shorter on a phone, and the nine map controls are all reachable again. Found by putting the page in front of a review panel, including one reviewer whose only job was to try to prove the others wrong -- which is also how four things the panel reported turned out to be faults in how we photographed the page rather than faults in the page.
Open the site and the briefing used to lurch twice before it settled -- the headline, the lead paragraph and the takeaway all dropping a line, and the whole page sliding upward once the navigation arrived. Two causes, both measured. The date line under AGSIST DAILY ships empty and gets filled a moment later, and nothing was holding its space, so everything below it moved down 32 pixels. And the plain navigation that non-JavaScript readers and search crawlers see was rendering four lines deep on eight pages before being swapped for the real one, which is a single line -- so those pages jumped 171 pixels upward. Both now hold their space. Google scores this; the home page went from 0.356 to 0.098 against a 0.1 threshold for good, and the cash bids page and field scout went to a flat zero.
On a day with no quote, the briefing script hid the Daily Quote card -- except three styling rules added to force those cards visible on phones were written strongly enough to overrule it. The card stayed on screen containing nothing but a dash. Same for the Things You Might Know block. Both now hide properly when there is nothing to put in them, and both were tested twice: once with the data present, once with it stripped out.
The last-close tables on the corn, soybean and wheat pages set their figures in the body typeface, ranged left, with digits of differing widths -- so the column had a ragged edge and numbers shifted sideways when a value changed. They now use tabular figures, where every digit occupies the same width, and sit ranged right so the decimal points line up. It is a small thing that a reader will not name but will notice, and it applies to every table on the site.
Structured data is what search engines read to decide whether a page deserves a rich result, and on six pages ours described a page that does not exist. /basis advertised the question "Is basis set by my local elevator?" The page has never asked that. What it actually asks is "Is my elevator ripping me off?" -- and that question was missing from the markup entirely. On /conditions and /foreign-land the two lists had no questions in common at all. The cause was the ordinary one: the markup was written once by hand, the visible page was edited afterwards, and nothing tied them together. Two hand-written copies of one fact is a failure this site keeps relearning. The markup is now generated from the visible page every time the site builds, so the two cannot disagree again, and it refuses to publish rather than emit an empty or half-built question. Seven pages were corrected.
Every page shares one set of icon drawings, and the wheat futures page had its own copy of twenty-four of them missing the instructions that say draw the outline, do not fill it in. Whichever copy the browser reaches first wins for the whole page. This exact mistake turned every navigation icon into a solid blob on eight pages once before. It had not broken yet here -- it was one edit away from it.
The corn, soybean and wheat descriptions Google shows under the link had grown to between 167 and 184 characters against a limit of about 160, so the last clause was being chopped. They are now built in two parts: the sentence with the price and the date in it always ships, and the keyword list after it ships only if the whole thing still fits. That decision is made fresh each time the prices are written, so it cannot break again when a price gains a digit or a contract label runs long. Nine page titles were over length for the same reason and were shortened.
Every story about this deadline says the farm bill expires September 30. The page said it too and never once said what expires. So here it is, sourced, in three parts. Nothing you depend on changes on October 1: crop insurance runs on permanent statutory authority and has never lapsed, and reference prices, ARC, PLC and base acres were reauthorized through 2031 by the 2025 reconciliation law. What actually stops is the handful of programs that law left without any money attached -- Biobased Markets, Specialty Crop Block Grants, the Local Agriculture Market Program, Organic Agriculture Research and Extension, Animal Disease Prevention and Management, and Farming Opportunities Training and Outreach -- and they start again whenever a bill or an extension funds them. If you are not in one of those, October 1 is a headline and not an event. The part nobody puts in the headline is that the suspension of permanent law -- the 1938 and 1949 Acts sitting underneath all of this -- runs only through the 2026 crop year, and the reconciliation law deliberately did not extend it, because that kind of extension does not score as costing anything. Without action the old law starts taking effect January 1, 2027. Dairy first, then wheat on June 1 and corn on October 1. In July 2025 the parity support price for milk under that old law was 252 percent of what milk was actually worth. Every figure here is from the Congressional Research Service report R48775, linked on the page, and the parity number is labelled as theirs because we have not checked it against USDA's own tables.
People search for \u201ccbot wheat,\u201d \u201ccbot corn,\u201d \u201ccme feeder cattle futures.\u201d Last month those searches showed this site 3,205 times and were clicked once. Looking at why, a pattern turned up: the corn and soybean pages had the exchange in their title and ranked around 16th and 22nd; the wheat and cattle pages did not have it and ranked 33rd and 29th, with no clicks at all. Both pages say CBOT and CME dozens of times in the body, so it was never a coverage problem. All four titles now open with the exchange and the front-month price, and they rebuild twice a day. Whether that moves the ranking is something we will only know in a few weeks, and we will report it either way. One thing did get caught on the way: the first version read the continuous contract while printing the dated month's name, which would have published September's soybean price under an August label, three lines above the correct number in the page body. The corn and wheat contracts happened to agree that day so only soybeans exposed it.
Search traffic to this site nearly quadrupled last month and the share of people who clicked did not move at all -- 1.30% to 1.28% -- while the average ranking improved from 13.5 to 10.3. Pages sitting in the top ten of Google were being skipped. The USDA report calendar was seen 9,017 times and clicked 30. Quick Stats, 7,310 times and clicked 13. The reason is that the titles described the tool instead of answering the question. Somebody searching for the WASDE schedule, looking at a list that includes usda.gov, does not pick \u201cUSDA Report Calendar 2026\u201d -- they pick whichever one shows the date. So five titles now carry the answer and are rebuilt twice a day from live data: the calendar leads with the next WASDE and how many days out it is, the trader positioning page leads with which way managed money is leaning in corn and by how much, the crop tour page counts the nights as they post, the state crop data page opens with a real Iowa number labelled forecast or final, and the break-even calculator opens with where corn is. Nothing here is hand-typed, so none of it can go stale between edits, and if the data behind a page is missing the page keeps the title it had rather than printing a guess.
Six sentences on the farm bill page were written in the future tense about the Senate committee markup -- a markup that took place on August 6 and failed. One of them promised to email you \u201cwhen the Senate marks it up.\u201d The top of the page knew the vote had failed; the middle of it did not. Worse, the update log stopped at August 3, so the single biggest event on the page was missing from the log while the page told you the log showed every revision. All six sentences are rewritten, the log now carries August 6 and today, and it carries the miss too: on August 3 this page said the SNAP cost-share delay would show up at the markup, and it did not move a vote. The conservation table also listed its five largest line items above a row that said the net change was zero; those five do not sum to zero on their own and the page now says they are the largest items rather than the whole ledger. And the page finally says who writes it.
August 15, 2026
This morning we told you the state crop numbers had stopped calling a standing crop final. The corrected script ran again at 9:51 last night and published all 42 states exactly the same way -- Iowa corn 216 bushels labelled \u201c2026 crop year, USDA NASS final\u201d for a crop still in the field. The fix looked for the word FORECAST in the field USDA uses to describe each row. Whatever USDA put in that field for those rows, the word was not in it, so the check passed everything through. We had written a test that asserted the wrong answer was right, which is how it survived twice. The calendar decides now instead of the wording: USDA does not publish a final yield for a crop year until its annual summary the following January, so any row carrying this crop year before then is a forecast and is labelled one, whatever the paperwork says. And the build now refuses to write the file at all if a single state comes out claiming a final that cannot exist yet. Run the state stats job to replace the numbers on the page.
The sponsor page said AGSIST got 1,959 Google clicks on 75,603 impressions in 28 days, and repeated it in five places. Search Console says that window was 209 clicks on 13,678 impressions. It was not a date mixup -- the whole three-month period only produced 61,802 impressions, so the number we published could not have existed. We do not know where it came from and we are not going to guess; it is gone. Two independent reports, Search Console's own export and the Analytics report that reads from it, agree with each other to within one percent, and those are the figures on the page now: 577 clicks on 45,148 impressions in the last 28 days, up from 209 on 13,678, with average position improving from 13.5 to 10.3. That is a 176% gain in clicks, which is a better month than the one we invented. The citation counts from answer engines were understated rather than overstated and now read 38,597 over 90 days, and that chart is plotted per day rather than per month so a part-month cannot flatter itself. It shows August running below July, which is what happened. A site whose whole argument is that it does not make numbers up owes you this one in plain sight.
When the full USDA RMA feed ran tonight it came back with 951 rows across 14 crops instead of 228 across 9 -- corn in 48 states, soybeans in 38, and cotton and peanuts in states we had just told readers we could not cover. Our answer said cotton was not wired yet and that peanuts had no discovery window at all. Cotton has one in 17 states against the ICE December contract, projected at 69 cents a pound. Peanuts have one in 13 states priced by type -- Runners 24.55 cents, Virginia 28.48, Spanish 31.91. What is true about peanuts is narrower than what we said: there is a window, there is just no exchange and no contract month behind it, because RMA sets that price without a futures board. The answer now says that instead. Two things broke on the way: a crop with no contract behind it printed a sentence with a blank where the contract should be, and peanuts were being priced per bushel when they sell by the pound, which told a Georgia grower his guarantee was 21 dollars an acre instead of 835. Both fixed, and the page now refuses to print a unit at all rather than print a wrong one.
A Wisconsin reader who picked his state got a headline about October corn and then nine cards of barley, canola, popcorn and oats -- and the corn card listed Alabama, Florida, Georgia, Louisiana, South Carolina and Texas. The cause was in our feed, not the page. Our job asked USDA RMA for today's date and nothing else, and RMA answers that question literally: it returns only the crops whose discovery window happens to be open today. That is 228 rows across 9 crops, with no soybeans anywhere and corn in eight southern states. Wisconsin corn and beans were never in the file, so the page filled the space with whatever was. The feed now walks the whole crop year -- starting the prior August, because 2026 winter wheat was priced in September 2025 and Texas corn in December 2025 -- and refuses to publish at all if corn comes back in fewer than 30 states. That is the exact shape this failure had.
The page ran two of everything -- two state pickers that did not agree, two window datasets, two timestamps -- and picking your state made it longer instead of shorter. Now there is one picker directly under the headline, and everything below it belongs to the state you chose; the generic national block disappears the moment you pick. Corn and soybeans lead. Crops in discovery right now are ranked by percent change against your projected price, and the rest fold into a table. Every price carries its unit. Nothing prints $0.00 for a window RMA has not started. Where RMA keys a state to more than one sales closing date -- Texas corn has three -- each window gets its own card with its date named, instead of the page picking one and hoping it is yours.
An open window now shows the running average against your own guarantee on a dollar scale, with the percent as the headline number. Wisconsin winter wheat is running $6.45 against a $5.76 projected price -- up 12.0 percent -- and the guarantee calculator turns that into dollars an acre: $323 locked, $361 at today's average. The calculator covers every crop your state insures rather than corn alone, and follows the crop's own unit. When the running average is below the projected price it says so plainly and says what it does not do: a revenue guarantee revises up only, never down.
If you had set a location elsewhere on the site, the page used it to preselect your state -- and then wrote that guess back as though you had chosen it. A guess now selects the picker and stops there. Only a state you pick yourself is remembered.
On Friday our monthly USDA pull picked up the August 12 Crop Production forecast and published it labeled "2026 crop year -- USDA NASS final." Iowa corn read 216 bushels for a crop still standing in the field. Nine states -- Arizona, California, Florida, Montana, New Mexico, Oregon, Utah, West Virginia and Wyoming -- dropped off the page entirely, because USDA's August forecast only covers principal states. Every state now carries its own honest label: the forecast states say "August forecast," and the states USDA does not forecast keep their real final with the year it belongs to. A survey estimate is a good number to have. Calling it final is a lie, and it was ours.
The file that carries running context into every briefing still said Pro Farmer's scouts were in fields the week of August 3 (the tour is August 17-20), called the August WASDE the next catalyst three days after it printed, and carried USDA's superseded 183.0 corn as current. That is exactly the shape of the mistake that produced a fabricated WASDE report on August 11 -- a wrong date in trusted context, repeated as fact. The file is rewritten current, and the generator now stamps its age and tells the writer to distrust its dates once it passes two weeks.
Three hand-written blocks named the August WASDE by name and went stale the moment it printed -- including a heading that said "the August WASDE" directly above a card showing September, and a box telling readers to prepare for a report that was three days past. They are built from the data now, so they roll to the next report on their own.
August 11 is absent from the hail swath archive. The job that fetches each day logged the failure and carried on green, so nothing was ever retried and nobody knew. A missing day is not a quiet day -- we write a file even when no hail falls. The job now finishes every day it can and then fails loudly, naming the days it lost.
Wednesday's report-card entry said December corn settled up 19 cents at $4.81 and November beans up 10 cents at $11.83. Both were wrong: we read a quote taken while the board was still moving instead of the settlement our own archive recorded hours later. The real report-day closes were $4.78 on December corn, up 15 cents, and $11.84 on November beans, up 12 cents. The direction and the story were right; the numbers were not, and on a site that grades other people's numbers that is not a small thing. Corrected everywhere it appeared, including the note that carries market context into each morning's briefing.
A reader in Georgia -- a crop insurance agent -- wrote in to say his price discovery periods are not the Midwest's. He was right, and the page had been assuming otherwise. RMA sets discovery windows by crop and by your county's sales closing date. Georgia corn averages the SEPTEMBER contract over August 1-31, not December over October 1-31, and Georgia soybeans use the January contract over November 1-30. Pick your state on the page now and the windows, contracts and calendar all change to yours. Ten states are published, every one read line by line out of RMA's Commodity Exchange Price Provisions; if yours is not listed the page sends you to the source rather than guessing. Worth knowing today: the Georgia corn harvest discovery window is open right now.
Empty the test weight field on the corn estimator and it kept printing 193 bushels -- calculated from an assumed 56 pounds you could not see. At 50 pound test weight the honest answer is 173, so the hidden assumption was worth 20 bushels an acre. The soybean side did the same thing with seeds per pound and seeds per pod. Blank now means blank: the estimate holds until you tell it what you actually measured. Typed values, including unusual ones, were always honored and still are.
Two additions to the homepage for the season. A harvest band puts the five tools that matter between now and the combine one tap from the front page -- yield estimate, harvest price, bin capacity, break-even, and whether to store it or move it -- with a running count to October price discovery. Under it, a price discovery panel: pick your state and see whether the window that sets your revenue guarantee is open, closed, or still ahead, with a bar showing how far into it we are. All 48 states are in there. Georgia growers will notice their corn window is open right now while Iowa's does not start until October.
The old page opened with a paragraph and two cards and told you nothing about your own farm. It now opens with the answer: your corn price is set in October, or August, or whenever RMA says for your state. Under it, if your window is open, the number that matters -- day 15 of 31, with a bar. Then a map of the country coloured by the month each state's corn harvest price is discovered, with a white ring around every window open today. If the site already knows where you are, it picks your state for you and says so; tap any state to change it, and your choice sticks. The picture it makes is one nobody publishes: the country prices its corn in waves, south to north, eight states in August and thirty-four in October. All 48 states RMA publishes windows for are in there, corn and soybeans, each row transcribed from the Commodity Exchange Price Provisions. Texas keeps all three of its window sets, because RMA keys these to your county's sales closing date and Texas spans three -- we show every one rather than choosing for you.
Both the homepage panel and the full tracker now start on your own state if the site already knows your location from the weather card, and say plainly that they did. Picking a state yourself always overrides the guess and is remembered. If we have no location, or it is somewhere we have no windows for, the page asks instead of guessing.
A sweep of everything the site serves publicly, removing internal notes that had no business being visible: a working-directory path left in a data script, build comments that named people and internal documents, and a reference to an internal write-up inside a published data file. The reader-facing copy came back clean. Nothing about the site changed for a visitor; there is just less lying around behind it.
August 12, 2026
USDA's first survey-based 2026 yields landed August 12: corn 180.7 bu/acre (down 2.3 from July, 1.3 under the trade's 182.0) and soybeans 52.7 (down 0.3, in line with the trade's 52.9). More acres kept both crops huge -- 16.013 billion bushels of corn and a record 4.519 billion of soybeans -- but the market traded the yield cut: December corn settled up 15 cents at $4.78. The analyst board is now scored, the report card is on the record, and the crop tour page carries the new USDA benchmark the scouts will test next week.
Before the report we locked two directional calls from our model: corn revises UP from 183.0, soybeans revise UP from 53.0. USDA revised both DOWN. Two calls, two misses, graded by arithmetic and kept on the record -- that is the whole point of the ledger. For what it is worth, our locked levels (183.6 and 53.8) were closer to the print than the model's July numbers would have been, and the trade consensus had the direction right. The record starts 0-for-2 and stays public either way.
On WASDE morning itself, two briefing drafts again described the report as already printed -- hours early. The pre-send gate built after Tuesday's incident blocked both; nothing false was published or emailed. The generator now also checks its own draft and rewrites once with the offending lines quoted back, which is how the briefing you actually received Wednesday came to lead with "WASDE prints at 11 CT" instead. Layers: the writer corrects itself, the gate still gets the veto.
August 11, 2026
Tuesday morning's briefing led with "WASDE DELIVERS" and described the August report as printed and absorbed. It had not been released -- it prints Wednesday, August 12 at 11am CT. The chain: Monday's briefing set its weekly question with the wrong date ("the WASDE on Tuesday"), and Tuesday's writer resolved that question against a report that did not exist. Prices in the briefing were real; the event was not, and that is worse. Two things now prevent it: in the week before a WASDE the writer is told, in so many words, that the report has not happened and no number from it exists; and the pre-send gate now hard-blocks any briefing that describes an unreleased report's results -- tested against Tuesday's own text, which it catches six times. The emailed copy cannot be recalled; this note is the correction.
Since deterministic grading began in June, the daily call hit 4 of 43 -- a 9.3% record we publish rather than hide. The direction reads were not the problem: on those same 43 calls the direction alone was right 39.5% of the time. The problem was the claim itself, which demanded the price reach a specific level by the NEXT close, at distances that averaged more than a full typical trading day away. Corn's average session moves about 5 cents; the calls were asking for 7 or more, plus the right direction, in one day. Starting today the called level must sit inside a band computed from each market's own last-20-day average move (widened automatically on USDA report days, which trade a different regime), and the model sees its full graded record -- every hit and miss, by instrument -- before it makes today's call. The grading itself is unchanged, byte for byte. The old record stays on the scorecard, frozen and labeled, and the new series starts at zero in public, the same way we handled the switch to deterministic grading in June.
The weekly poll is gone -- the homepage widget, the page, and the Monday rotation behind it. It never found an audience, and a sentiment poll with a handful of votes was worse than none: it dressed anecdote up as data on a site whose whole point is that the numbers are real. If enough of you ask for it back, it comes back with a proper sample behind it.
August 8, 2026
Saturday's briefing led with a 16.9% one-day jump in lean hogs and a 5.4% break in corn. Neither happened. Lean hogs cannot move 16.9% in a session -- that is nearly three times the exchange's own daily limit, which is the maximum a contract is allowed to trade in one day. The number came from the price feed quoting one delivery month's close against a different month's close from the day before, and subtracting them. Corn was the same error: the $4.39 was right, September corn, but it was measured against December's close from Thursday. September corn was down two and three-quarter cents, not twenty-five. Soybeans and live cattle carried the same mistake in smaller sizes. The check that is supposed to catch exactly this compared only the closing price, and the closing price was correct -- so it passed the feed as clean. It now checks the prior close as well, and refuses any move larger than the exchange allows for that contract. Where it cannot verify a price, the site now says nothing about it rather than printing a number.
The feed check ran once a day, just before the briefing. Prices refresh every thirty minutes. So the homepage, the markets page and the futures pages read an unchecked feed nearly all day, and the once-a-day repair was overwritten by the next refresh regardless. The check now runs on every refresh.
Several things at once. The "Text Me Daily" signup is gone. It threw the phone number away and there was no text service behind it. Both email signups now wait for the server to actually accept the address before saying you're subscribed. The weekly poll no longer falls back to a question from June whose results were already final, and a vote that fails to register no longer locks you out for the week. The price cards quote the real front-month contract and name it, so corn reads September at $4.42 rather than December at $4.65, and the 52-week range bar moves with it.
The ranked table on this page was hand-written and never regenerated, so it had drifted three weeks behind the live data and openly contradicted the verdict box directly above it: Pennsylvania read 25% in the table and 65% in the box. The state ranked first under the heading "ranked by what this week's number is worth" was not the top state any more either. The table, the four headline tiles, the summary line and the page description now all come from the same file the verdict reads, and rebuild themselves every time the weekly fit runs.
Twenty-three graded rows showed the write-up for one call next to the grade for a different one, left over from the date bug fixed Aug 4. Those rows now show the call that was actually scored, rebuilt from the recorded market, direction and level, and say so underneath; the original wording stays in that day's briefing. Second, the headline hit rate was blending two different eras: calls before Jun 24 could only be graded by the briefing's own account of itself, while everything since is checked against the closes. Split out, that is 26 of 36 self-graded against 3 of 40 checked. Both numbers are now on the page. The checked one is the honest one and it is not flattering.
If the check that records "today's briefing already went out" could not be reached, the sender assumed it had not and would have emailed the entire list a second copy. It now refuses to send when it cannot confirm, and a failed delivery to one address no longer risks re-sending to everyone who already got it.
The offline cache could hand back a broken copy of the page. Two ways: if the site was mid-deploy when your browser asked for a page, an error response replaced the good copy you already had; and a truncated stylesheet or menu file in the cache would strip the styling and navigation off every page, which reads as the site being blank. It now keeps the last good copy through a deploy hiccup and refuses to serve a cached stylesheet or menu that looks damaged.
The homepage "Front Month" cards were quoting the most-active contract, not the nearby one. Corn read $4.65, that is December, while September, the contract you would price against today, was $4.42. Beans and cattle had the same problem; on cattle the gap was about $89 a head. The cards now quote the real nearby month and name it, and the 52-week range bar moves with it: corn was showing 85% of its yearly range and is actually at 42%. The price checker in the pipeline had been flagging this every run, but the corrected file was being thrown away before it shipped.
The signup bar that appears on every page has never worked. It sent the address in a format the server could not read, got rejected, and showed "You're in" anyway. Anyone who signed up through that bar was told they were subscribed and was not. It works now, and it will no longer claim success unless the server actually accepted the address. If you signed up and never got a briefing, that is why. Please try again.
The homepage offered a "Text Me Daily" option. There is no text service (no sender, no number, nothing behind it) and the phone numbers entered were discarded. It has been removed rather than left up promising something that does not exist.
For 457 of 2,926 counties, those with too few yield years to fit a trend, the page crashed halfway through drawing and left the previous county's rent ratio, charts and lease link sitting under the new county's name. Pick an Iowa county then an Alabama one and you were reading Iowa's numbers under Alabama's heading. Also fixed the board price, which had never filled in, leaving the headline ratio blank on every visit.
Ohio's rule was backwards. The page said a written lease governs itself; the statute covers any farm lease, written or oral, that has no termination clause, and requires written notice by September 1. A landowner following our page could have missed the deadline and renewed for another year. Arkansas and South Dakota now also state that those statutes apply to oral leases only.
The page said the Livestock Forage Program needs 8 consecutive weeks of D2 drought. USDA lowered that to 4 weeks in July, retroactive to January 1, so producers who read this page were told they did not qualify when they may well have.
The "notify me" form dumped readers onto a page of raw code and quietly signed them up for the general briefing instead of farm bill alerts. It now works in place and says plainly that farm bill news rides along in the daily briefing.
The wheat ranking pulls winter wheat only, which left out North Dakota, the second-largest wheat state in the country, and Minnesota entirely. It now says winter wheat on the tab and explains what is missing.
On Saturdays the grain pages said the board reopens a full day later than it does. Wrong every Saturday of the year.
The policy said your location never leaves your browser and is never stored. That was not true: weather, place names and cash bids all require sending coordinates out, and hail alerts store your chosen spot alongside your email so we can tell you it hailed there. It also named a company we do not use and left out the one that actually handles signups. All corrected, and the list of what the site keeps in your browser is now the real list.
A year of the $100/week ribbon was quoted as $7,800; it is $5,200. The Supporter tier read $25 here and $35 in the footer strip it actually buys. Term length said month-to-month in one place and week-to-week in another. All reconciled.
On shorter laptop screens the Markets menu ran off the bottom of the page with no way to reach the rest of it. The menus now fit the screen and scroll.
Nightly state results as the tour posts them Aug 17-20, next to USDA's number and our own, plus the record nobody publishes: over the last 11 tours the tour's final corn call missed the eventual crop by 4.1 bushels on average, against 3.1 for USDA's August forecast, and it has run under the final yield in 7 of those 11 years.
The form elevators use to get their bids listed was collecting facility, contact and phone details and then discarding all of them: only the email reached anything, and that quietly went onto the briefing list. It now builds the full request in your own email app so you can see exactly what gets sent, and the page no longer claims a message arrived when it hadn't. If you sent one before today, it never reached us; please send it again.
USDA publishes no separate on-farm bin capacity for ten states, and this page was treating that blank as zero, which made those states look like they had almost no storage and put South Carolina at the top of the crunch list at 3.46 times. That was our arithmetic, not South Carolina's grain. Those states now show elevator capacity only and sit out of the ranking, and the count of states over 1.0 drops from 14 to 7.
Two real errors. The tool would tell you to plant corn in August, because the soil-temperature verdict never looked at the calendar; it now says you are outside the planting window. And the heat-unit target for reaching black layer was about half the right number, which meant the maturity check could never warn you a hybrid would not finish. Late-planting yield penalties were also too shallow against the university work and have been deepened.
The component formula was rebuilt against the current regulation and now reproduces USDA's announced July 2026 prices exactly: protein, other solids, skim and the Class III price, to the last published digit. Three things were wrong: the butterfat term in the protein price used 0.2 where the rule says 1.17, so protein value could never go negative when butterfat ran away from cheese; two constants were still at their pre-June-2025 values; and the Class III total skipped the 0.965 skim split. Make allowances and the December 2025 composition factors are current, and the cheese input is 40-lb blocks only now that barrels have left the survey.
The page said it held back results until enough growers had answered. It didn't. It published 100% off two responses. Weeks under ten responses now show raw counts and say so.
The directory listed 17 tools and quietly left out two dozen more. Everything on the site is now reachable from one page, and the Fast Facts card no longer claims 16 states of 2022 data when the file holds 41 states of 2025.
The page advertised weekly updates from DTN and USDA AMS. The numbers are actually hand-collected Midwest dealer quotes gathered about monthly, and they now say so, with a banner that appears once the sheet passes 30 days old.
The soybean estimator assumed 2,700 seeds per pound. Every land-grant extension service (Iowa State, Ohio State, Purdue, Michigan State, Virginia Tech) teaches 3,000 for an average year and 3,500 when late-season stress makes the seed small. Fewer seeds per pound means each seed weighs more, so 2,700 was crediting your pods with more bushels than they hold: about 11% too high against the standard, 30% too high against a stressed crop. It is now 3,000, and the quick-fill buttons have been relabelled to the yields their own pod counts actually produce. If you have used this page to size up a crop this season, the soybean figure it gave you was optimistic.
The page said these estimates run within plus or minus 15%. No extension service says that, for either crop. Purdue, Iowa State, Ohio State and Penn State all put the corn ear-count method at plus or minus 20 bushels an acre, and Michigan State says soybean estimates vary by more than 25% before the crop reaches R6. The yield range shown beside each estimate now comes from sweeping the kernel and seed weights the uncertainty actually lives in (65,000 to 95,000 kernels per bushel for corn, 2,500 to 3,500 seeds per pound for beans) which is what those same services teach. The corn range is lopsided rather than even, because honestly it is.
Opening the page put a soybean yield of about 48 bushels into the break-even panel while the corn tab above it showed 193. Both calculators run once when the page loads and each one claims the break-even panel as it goes, so soybeans, running second, always won. Clicking back to the corn tab did not fix it either. If you worked a corn break-even straight off the page without retyping the yield, it was built on roughly a quarter of your actual bushels. Negative or blank entries also used to print a yield; a minus ten ear count returned minus 57 bushels an acre. Those now show a dash.
Clear the eave height field and the calculator reported 14,957 bushels, a completely full 30 by 24 bin, while the height box on screen sat empty. The bin drawing showed an empty bin at the same time, so the picture and the number disagreed and only the picture was right. A blank, zero or negative dimension now returns zero bushels.
The drying charge billed you for every point from your starting moisture down to your target, but the shrink was worked out only down to the crop's standard moisture. Drying corn from 20% to 13% charged for seven points and shrank five and a half, so the bushels left on the report included about 486 that do not survive the dryer, roughly $2,060 of corn that was never going to be there. Shrink now follows the same points the dryer bills for. If you left the target moisture box alone, nothing changes for you.
Opening the owned and rented split and typing your rented acres, before getting as far as the cash rent box, set the land cost to zero and locked the field. On the default corn figures the break-even fell from $5.03 to $3.64 a bushel and the whole-farm number went from a $47,500 loss to a $77,500 profit. The zero was then saved, so it was still there next visit and the land box looked like it could not be edited. A side of the split now counts only once it has both acres and a rate, and your own land figure is put back when the split is closed. The by-ground line also used to print an owned break-even of $3.64 with zero acres behind it to farmers who rent everything. It now shows only the ground you actually have.
Delete the expected yield to retype it and the page printed a break-even of $0.00 a bushel, dropped the over-market warning, and carried the same $0.00 into the printed report you might hand a lender. A break-even of zero reads as though any price clears. It now shows a dash and asks for a yield. Clearing the futures price also used to leave the entire what-if profit grid on screen, green box and all, for the scenario you had just edited away. The grid now clears with everything else.
August 7, 2026
A running log of what changed on AGSIST and when. Same rule as the scorecard: fixes and misses stay on the record.
Live health check of every AGSIST data feed (grain prices, cash bids, the briefing, weather, hail) tested in your own browser when the page loads, so the status page itself can never go stale.
Split owned vs rented ground: enter acres and cost for each, see a blended land cost plus separate break-evens; owned bushels clear first. Also added a basis input so your target shows in cash terms, and your numbers now save per crop on your device.
Corn growth stage was counting heat units from January 1 instead of from planting, which could read a field weeks ahead of reality. Stages are now anchored to typical planting dates for your latitude, and the estimate says so plainly.
Elevators whose feed carries a quote timestamp older than 18 hours now show a "bids quoted [date]" flag, so a stale bid can't pass as fresh. No timestamp, no guess: the flag only renders when the feed proves it.
Corrected the 2025 final prices ($4.22 corn / $10.35 beans), added a "your guarantee" mini-calculator using the 2026 projected prices, fixed the October day count (22 trading days this year), and the pre-discovery delta now reads from live futures.
Both pages now open with a readable summary baked in daily: visible the moment the page opens, before the live data loads, and readable by search engines too.
The generator's calendar got a hard audit: the Pro Farmer crop tour is no longer mentioned as underway before it starts Aug 17, market holidays are recognized so a closed Monday can't be narrated as a trading session, and USDA report timing shifts around holidays correctly.
Updated the day the Senate markup failed: the tracker now shows the miss and the expected September revote instead of pretending the vote hadn't happened.
August 6, 2026
Both pages rebuilt against the verified 2026 dicamba rules: current product names, the 240-ft downwind buffer, temperature cutoffs (reduced acres above 85°F, no application at 95°F), the AMS prohibition, and the R1 cutoff: checked against the labels, not memory.
Now linked from the pages where you'd actually reach for it (conditions, ratings-vs-yield, and Field Scout) instead of hiding in the tools list.
August 4, 2026
Found and fixed a grading bug: since June 26, each morning's grade compared the call against the same day's close instead of the prior day's. Nightly re-scoring meant most published outcomes were still right, but two rows contradicted their own writeups: both now carry a regrade note, and the scorecard shows a plain incident note. The original text stays as published.
August WASDE card shows USDA's current number as the one to beat rather than inventing survey ranges before they exist; analysts still building a track record now appear on the board instead of a false empty state.
August 2, 2026
Zero-percent fill now correctly reads zero bushels, the shrink factor is editable, a size-a-bin mode works backward from target bushels to diameter and eave combinations, and there's a printable bin record.
Menu icons rendered as solid black blobs on eight pages (an SVG id collision), fixed everywhere. Also finished stripping emoji from the briefing and site chrome; meaning now rides on words and plain glyphs.
July 202610 changes
July 30, 2026
Type rework after a reader said the fonts were too small. He was right. Bigger, cleaner reading text on all 56 pages, numbers stay monospaced, italics retired, and every page re-tested at phone width for horizontal scroll and clipped text.
July 28, 2026
The "front month" price was actually the most-active contract, corn showed December while true nearby September traded 22 cents lower. Heroes now quote the real nearby contract by name, and the next WASDE date comes from data instead of a hardcoded guess.
No longer Chicago-only: KC hard red winter and Minneapolis spring wheat boards, class spreads, all three classes in the fund-positioning card, and export pace, matching how most of the site's wheat bids actually price.
July 27, 2026
Live layer: current severe thunderstorm warnings with hail size, last-24-hour hail reports on the map, and a storm verdict for your pinned spot. Plus CSV export and a printable claim-guidance sheet for your adjuster call.
Subscribe from your phone's calendar app (webcal/.ics): report days show up where you'll actually see them.
July 26, 2026
Every daily-briefing market call is now graded against the next session and published: hits, misses, and the running record. The yield nowcast joined an analyst board next to USDA's number.
The daily briefing by email, free. Signup is available across the site.
July 20, 2026
The Read now pulls every county and state layer AGSIST has for your field's spot (cash rent, yield trend, basis, storage, land ownership, crop conditions) each card independent, each honest about missing data. Printable Field Report included.
"Today's Call" verdict computes nitrogen-vs-corn economics live, with a live price strip and current-week staging.
July 18, 2026
AGSIST was live well before this log. Already shipped by mid-July: the daily briefing and archive, verdict-first rebuilds of conditions, basis, storage, land tenure, foreign-owned land, and cash rent (with all state pages), plus the core calculators and Field Scout. Changes from here forward are dated above.
Spot something that changed and isn’t here, or broke and isn’t owned up to? Tell Sig: sig@farmers1st.com.