Changelog
What shipped, newest first. Every entry describes behavior you can use today.
2026-11-13
- The Uncertainty Sheet is faster: reading odds, saving and re-saving an estimate no longer re-check the whole workbook.
- The Uncertainty Sheet has a door on Home and a result, goal and odds panel in the same words as the web card.
- The assistant answers about estimates live in your sheet and follows your sheet's formulas, even if labels move.
- Work on a copy of a workbook stays in that copy.
- Removing an estimate or writing library figures always ends with words, never a silent wait.
- Try again on an answer keeps its seed, so the receipt still matches.
- The assistant answers where it used to ask, reads 99 and 99.5 in 100, and sizes safety stock correctly.
2026-11-12
- A new assistant for signed-in accounts with AI on, in the web app, the web sheet and the add-on. It reads your whole conversation, states the assumption it makes and answers, and every figure in its answer still comes from Sortia's engine. It asks far less often, and when it cannot run something it offers one thing you can press.
- It works on your sheet: it reads your cells' words and estimates, runs the model your sheet holds, and suggests changes you apply with one press and can undo.
- A conversation answer uses 10,000 runs on seed 42, like every other surface, so the same model gives the same figures everywhere.
- Templates suggest a worst and best case. Where a template ships a range, the estimate editor opens with it filled in as a suggestion you can change, so your first odds take two presses.
- The assistant reads how your sheet is built. When you tick the assistant box, it sees the shape of your formulas, which cells feed which result and how, with every number, text and tab name taken out, so its model follows your sheet.
- Suggested changes in the web app's conversation show a card you can apply or decline.
2026-11-11
- The assistant answers more often instead of asking you to fill in a table. When a figure it does not use is in your question, the answer says so ("Left out: ... not used in this answer") instead of stopping.
- A question about something new stands on its own. Say "forget that, same question for this" and the answer no longer carries the figures you set aside.
- Ask what you can count on at 80 in 100 and the answer leads with that figure, with the average after it.
- "Today" in an answer means your today, from the date on your device.
- Follow-ups on a ready-made model keep that model open and answer from it.
- The same model gives the same figures everywhere: the Uncertainty Sheet, the web sheet, Risk Analysis and the web app now draw the same runs from the same seed. Older saved sheets still open, and their receipts say they were drawn the earlier way.
- The Risk card rounds its average like its other figures.
- The 42 Optimization templates say which cells the run fills in for you, in the add-on and on the web.
- Templates, reports and site pages say "runs" instead of "trials". Sheets written before still read back.
- Plainer words on the start page, the Risk tile and the Compare tool, and a calendar picker that says Calendar year or Fiscal year.
- Receipt text on the Risk card no longer breaks words in the middle.
- The web app loads faster: about a third less to download on a first visit.
- On the web, a sheet that cannot open says so with a Try again button, and file names keep any language.
2026-11-10
- Every first run is 10,000 runs on seed 42 in the assistant, the panels, the web app and the web sheet. Run again draws a fresh seed, and the receipt says in one sentence what the seed does.
- Each answer names the estimates it was worked from: the range behind each figure, the cell it came from and what was held fixed.
- The assistant reads the estimates on your Uncertainty Sheet. A cell that shows its most likely figure runs as the range it holds, in its own shape.
- Ask for the price that makes you 90 in 100 sure and the answer names the range it assumed. Ask it to explain a break-even and it explains that figure in plain words.
- Ask what could sink you and the ranked figures come with the words. Words about what moves the answer most always agree with the card.
- Ask the assistant to remember something and it says plainly that it cannot keep it between sessions.
- Press the average on an answer card to show the middle run, the lowest, the highest or a 1 in 10 figure instead. It works in the add-on and the web app, from the same runs. The choice travels in shared links, and older links open as before.
- The answer card's figures use plainer labels: Count on, and how many runs in 10 land below or above a figure.
- You can remove one estimate from the middle of an Uncertainty Sheet model. The cell keeps its most likely figure, every result is worked out again without it, and Undo puts it back.
- The privacy lines say what reaches the AI model: your sheet's words, its labels and notes, but not its figures. The conversation is kept inside the spreadsheet file.
- Risk Analysis exports run data, one row per run, in a file whose name ends in runs.
- The low figure in the assistant box says how often runs fall below it ("1 in 10"), counted from the same runs as the answer.
- Risk Analysis calls its run count "Runs".
- The web app's Templates link opens straight at the templates, even from a typed address.
- Settings shows the build you have, by date and code, so you can quote it.
- The assistant answers from your sheet as it stands on every question. A what-if never becomes the starting point, a new conversation starts from the sheet, and Verify says when the sheet has changed since an answer.
- Follow-up questions get their own answers. What-ifs build on each other until you keep one or go back, and a slider moves inside the range you set without moving it.
- Risk Analysis reads the tab in front of you, writes its report once, says Verified only after checking, and draws a fresh seed unless you type one.
- Share works on every answer in the web app that shows a receipt, and a model with a range runs in the browser.
2026-11-09
- A what-if in the assistant box is its own card. The earlier answer stays exactly as it was.
- More tools opens the full answer in the add-on and on the web: the spread of runs with your goal marked, the median, the average, a figure for 8 in 10 runs and for 1 in 10, how many runs met the goal, and the receipt.
- Risk Analysis: Keep this as a sheet puts the model, the answer and its receipt on a new tab you keep, with Undo.
- Status lines say only what happened: Undo takes back the change it names, a template that could not load says why, and Copied shows only after a copy.
- The Risk Analysis answer and the web app's answer read the same as everywhere else. The odds lead, then what they mean, a figure you can count on and the receipt.
- Money reads the same everywhere: whole dollars from $1,000, cents below that only when there are any. Figures you type keep their cents.
- The main button on each screen is the same blue on every surface. Gold is kept for the odds.
- Compare two versions side by side. Ask the assistant to show the original next to a what-if, or press Save to compare and then Compare with saved. Both sets of odds come from the engine, with what differs.
- Ask what could sink you and get a ranked answer: which figure moves the result most, and by how much.
- One answer, the same everywhere. The web sheet and the assistant show the odds, what they mean, a figure you can count on and the receipt in the same order and the same words, with the full answer one press away.
- The estimate editor opens as a sheet across the bottom with the curve to drag, worst case, most likely and best case, and one button to save it.
- The assistant box answers again in the add-on. Sending a question with the box ticked no longer shows an error, and the suggested questions under an answer send when you press them.
- The chat bar is easier to use. The box you type in is bigger and grows with a long question, and Shift+Enter starts a new line. With the assistant ticked, its suggested questions sit where you ask, in Home’s Or ask row. The privacy choice is one short line beside What’s sent.
- The assistant reads your sheet. With nothing selected it reads the labels beside your figures, so it answers “What if cost rises to $40?” and “What price do I need to break even?” instead of asking for numbers the sheet already holds. Figures in your sheet never go to the AI model.
- Dragging a slider shows it is updating, and only changes that answer. Your next question is answered on your sheet’s numbers, not the dragged ones.
- When the assistant asks you to check its reading, you can answer with one press.
- The assistant's answer says where it comes from and shows its receipt. Each answer starts with “From your sheet as it stands”, then the odds, what they mean, what moves them most, a figure you can count on, and the receipt with Verify. It re-reads your sheet every time and says when a figure changed.
- The assistant can put a range into your sheet, and undo it. It shows the change first, writes only when you press Put it in the sheet, and keeps an Undo on the same card. It never says it did something it did not do.
- Break-even and the price for 90 in 100 are worked out for you. Ask the assistant, or use the web sheet's Next steps.
- Risk Analysis and Optimization check the sheet before they tell you where a result went. Optimization keeps a receipt with Verify, and offers Put the earlier values back instead of promising a restore.
- New estimates start as Triangle everywhere, and an estimate whose three numbers are the same becomes a plain figure.
- The web sheet names a result after its own label, so Profit in E5 is called Profit, not the first estimate's name. A plain result can carry a goal.
- In the web app you can search, rename, sort and delete your threads, and Settings and help has its own page.
2026-11-08
- The assistant box is a conversation. Your question stays on screen. The answer starts with yes or no, in your sheet’s own words, and says what would change it. A line shows while it works. It answers on every account and does not read your email address.
- The slider under an answer shows its name, value and range. The answer above it changes as you drag.
- Settings has an Uncertainty Sheet switch for testers. It replaces the Live estimate cells switch. Sheets that already use
=ESTand=ODDSkeep working.
2026-11-07
- The add-on can let the assistant read your question and the cells you select. It stays off until you tick the box under the Ask bar. The answer comes back as a card with the run's own figures.
2026-11-06
- Asking how you know an Optimization result is right gives you its receipt. After a run, or with its report tab open, the answer opens the receipt with short hashes you can copy in full and a Verify button.
- Names keep the words you used. “Add a $35 per bike warranty cost” now makes an input called Warranty cost per bike.
- In the new Sortia, Home scrolls clear of the Ask bar, so no tile sits under it.
2026-11-05
- The Data tool runs on numbers stored as text. Figures written in other countries’ formats now run, a figure that could be read two ways is asked about, and headers and labels stay out of the arithmetic.
- Optimization says why when it stops. Limits typed as 1,000 or $500 solve, and a bad reference gets one sentence naming the box. It says no values fit only when it can read your formulas as straight lines. Otherwise it says what it found, and that this is not proof. When your starting values break a limit, it says so and does not call the answer better than your start.
- Sortia will not replace a formula without saying so. Goal Seek, Optimization and the Risk Optimizer name an input cell that holds a formula and change nothing, and Goal Seek says so before it searches. Restoring a scenario brings back the plain cells and leaves the formula alone.
- The median is called the median. When no run reaches your goal, the answer says the closest it got, and no longer advises tightening an estimate to get there.
- The receipt says what it covers. The figure is now called the estimates hash, and after a simulation run, asking how you know a result is right gives you that run’s receipt.
- Easier to press. Controls are at least 24 pixels tall, and pressing a step shows what it opened clear of the bar at the bottom.
- Fixes. SIPmath import on the web works again, Save to the sheet again works after a session ends, and a sign-in refusal in another language now brings up the sign-in card.
2026-10-27
- Ask sets the question up before it uses your numbers. When a question names something to solve for, two figures from different sources for one quantity, or two options with their own figures, Ask solves for the price or volume, flags a quote against an invoice instead of adding them, counts each option on its own figures, and says in plain words how the answer was worked out. Any spread it adds is shown as a labelled assumption.
- Ask no longer treats a question about your own model as a legal question just because it says “claim”, “settlement” or “tribunal”. Questions about a court, tribunal, board or government office deciding your matter still decline plainly, with a next step.
- A ready-made model that cannot hold your figures hands the question to the builder instead of saying a figure has no place in it. A question that asks for a value no longer opens with “what does success look like?”.
- Follow-ups keep their thread. Pasted columns of numbers stay available to later questions, “what was the floor?” reads back the figure on the card, and a what-if names which way each figure moves.
2026-10-26
- On the web: the AI reader looks at your question first whenever it has a figure in it. With AI on, it also sees the earlier messages (every figure marked, never its value) and the shape of the open model, so it can tell an edit from a new question, and it says plainly when it cannot build what you describe yet, listing every figure you typed. Nothing is run when it cannot.
- Ask works out a waiting line exactly. Give the arrivals, the time each takes and the number of servers (or the service level you need) and it shows how busy they are, how long people wait, and how many you need.
- Searching for the best price or split under uncertainty is named plainly as not available in Ask yet. It says what Ask can do instead, and nothing is run on a guess.
- Pasted numbers are read as your data. Ask names every value it used, runs the matching statistics tool on all of them, and answers in your terms: the chance at your line, any unusual value named and kept, the trend. It says plainly when the data is too short for what you asked.
- A follow-up that changes a figure finds it by what it is, not by its label. It can add a new fee or cost as an input of its own, and it says plainly when it cannot do what you asked, such as nothing to undo or a change for only part of the period.
- Ask says which of your figures an answer did not use. When a quick arithmetic answer leaves a figure out, it now says “I did not use” and names it. A build that would hide one of your figures is refused and asks instead, on the rules path as well as the AI path.
- Questions with a floor, a sum over months, a payback from volume and margin, or a plus-or-minus swing now build the right model. A percentage in a formula is no longer divided by 100 twice, a price that changes mid-year keeps both prices, and a fine that applies only past an allowance, per event, is no longer shown as zero.
- A comma after a plus-or-minus figure no longer stops your question from being built, and ranking your inputs gives the ranking. When the page cannot build a model that uses a figure, it says which role it read that figure as, instead of offering to leave it out.
- If you ask something Sortia cannot know, it now says so plainly instead of offering a list of unrelated models. This applies to signed-in accounts with the AI reader on.
2026-10-25
- Ask no longer offers a ready-made model that cannot hold your numbers. When your question carries money figures, the “Probably X, possibly Y” choice is checked against each model’s own inputs first; a model with no place for one of your figures is not offered, and when none fits you get the build door with the nearest model named, instead of a card that would have dropped a figure.
- Changing the time period moves the goal with the figures. “Show it monthly” on a yearly model now converts the goal too (a $140,000 yearly target becomes about $11,667 a month), says which figures were left alone because they are not per-period amounts, and asks which figure carries the period when the words leave it open, instead of reporting 0 in 100 against a goal still in the old period.
- On the web: the AI reader now reads your question first. With AI on, a multi-figure question goes to the reader before the rule-based matcher, the reader chooses from the full list of tools and models, and a model is opened only if it holds every figure you gave. Its answers are checked by the same conservation rules as before; when it is unsure it asks one question rather than guessing. It is new, and it is measured: the routing report in the repository records how often it is right.
- On the web: follow-ups on an answer are understood by what they ask for. A comparison (“only the bad years”), a presentation request (“put the floor on it”), a correction (“I said May, not March”), a rerun with the old inputs, and “what did it say the floor was” are each answered from the thread’s own run record; “which estimate should change?” is asked only when the message really is an edit that could not be read.
- Reproduced exactly is said only when it is true. Every reproduction claim now goes through one check of the model hash, seed, run count, sampler, result hash and engine build; a rerun on edited inputs is reported as a different model, never as a reproduction of the original.
- Legal questions are declined by what they are about, not by the word used. A court case, a custody dispute, a small-claims question, a clause reading or a regulator’s decision gets the same honest no with a next step, whatever vocabulary you used; a settlement comparison with your own figures still runs.
- No more dead ends. “What does success look like?” is asked at most once per model and never when your question already states its goal; if you do not give one, the model runs and shows the spread with a Set a target button instead of asking again.
- The optimization answer prints one number. The headline, the card detail and the exported file now carry the same optimum, rounded the same way (980 units, not 980.476 beside “1,000 units”).
- Built models check their own reading before they run. A figure framed as a cap or budget can no longer end up as a cost line, a comparison price is never added to the thing it prices, a 200-basis-point move on $80M is $1.6M and not $16B, and a reading that fails a check asks one question instead of running on it. New shapes: cash accumulating over months with growth, a payout only when a metric crosses a line, two options converted to one basis before comparing, and a stock-level question with holding and shortage costs goes to Optimization.
- Pasted data is reported with its problems named. A missing month, a word where a number should be, a duplicated or out-of-order label and a partial last period are each named in the answer with what was done about them, instead of being dropped without a word.
- When Ask cannot tell what one of your figures is for, it asks once about that figure. Before, a figure with no clear role was dropped and the model ran without it; now the question names it, with a Leave it out tap when the rest can still be built. Fixed: a reading containing a date or reference number could be thrown away entirely, and “a third” could fail a check and fall back to the older reading.
- When your question leaves out a target, Ask runs the model anyway and says what it assumed. It shows what the result comes to and how far it spreads, with a Set a target button to get odds. Anything it cannot work out without (your cash, your demand, your costs) it still asks for, once. Also fixed: two sums of the same kind, like “$900 for the kiln and $300 for the stall”, are added instead of being read as a range from $300 to $900.
- Streaks, compounding rates, price changes and margins with a spread now build and run from the figures you gave. A question like “will we stay under budget eight weeks in a row”, “what is it after ten months at 3% a month” or “what if we raise the price 10%” is read from what each figure is for, not from the exact wording, and when the side of a line that counts as bad is not clear it asks once.
- Run it here on an optimization model now answers in the same conversation. Pressing it used to open a new thread and leave the card’s own conversation behind; the result now appears under the card, where you asked.
2026-10-24
- On the web: Ask reads a complex, multi-figure question before anything narrower runs. A long question with several numbers is read as one whole first: every figure is placed in the role your words give it, and a figure that cannot be placed is named and set aside rather than silently dropped or guessed at. When the read is not confident enough to act on, Ask says so instead of answering with a figure it is not sure of.
- On the web: the right tool is picked more often, and a close call says so. Routing to a tool now checks the question's shape against what each tool actually answers: a stock-and-reorder question goes to Optimization, a count-based question to the two-proportion test, and a question about dependencies to the schedule tools. A close call between two tools is offered as a choice instead of guessed.
- On the web: a question that is ready to run, runs in the same turn. Ask no longer asks a follow-up it does not need: a complete question runs immediately, a missing piece is asked for once, a bare “yes” to a one-item question moves it forward, a pasted list of figures survives into the run, and “stop” or “cancel” actually parks the thread.
- On the web: your thread remembers more about itself. “What did I ask before”, “where did that model come from”, a request to summarize, a comparison, moving the time period, editing the goal, sharing, or asking to hand off to Sheets are each answered properly from the thread instead of falling to a new question or a navigation line.
- On the web: Undo restores the answer you were looking at, and an old rerun is checked against what actually ran. Every build keeps its own snapshot, so Undo goes back to the prior answer rather than starting over, and “run it again with the old inputs” is checked against that original run's own fingerprint before it is trusted.
- Checkout: a crawler or a bare page load no longer reaches Stripe. The checkout link now refuses a GET request and anything that is not a real purchase attempt before it talks to Stripe at all; a real checkout is unaffected.
- Optimization: you see progress instead of a stall, and a slow run still gives you an answer. A run that takes more than five seconds now shows that it is working; a run that has not finished after four minutes returns the best plan found so far instead of simply timing out, and a refusal names the field it could not solve for.
- More worked examples on first open. What-If, Decisions and Risk each offer a Run the example button on first open, and Ask offers three example questions, so there is something to click before you have your own numbers ready.
- A write that fails in Sheets says what went wrong, without reading your data. The error names the field and the kind of problem (a number out of range, a value that is not on the list) and never includes a sheet name, a cell value or anything else from your spreadsheet.
- A short, one-question survey after a few days of use. On the third day you have Sortia open, you may see a single question asking how it is going, with a way to leave a rating and, if you want, a way to be contacted. It asks once.
2026-10-23
- On the web: the profit model runs with no account and no file. Open a model starts on the shipped profit model, and one press on Try it with your numbers runs it in the browser. The answer is odds out of 100 with a 0 to 100 bar, three one-tap what-ifs, and a short What this means that names the estimate with the widest range as the biggest driver to try and says what to move to test the flip. It never claims a measured sensitivity or a flip threshold, and nothing is uploaded.
- On the web: after Sortia builds a model, your next message is answered against that model. Why it is that number, the result, a percentile, proof, plain words, a rerun, which input matters most, a plan and a handoff all answer from the built model instead of starting a new question or falling to a navigation line. A correction you state edits that estimate, and a figure you give as an actual pins it and runs the model again.
- On the web: a question is led by the subject it names, and an event is not led at all. Sortia now reads the subject of a question by field, so “break even on the new machine” leads with the machine model, “which levers swing the result” with the Data Table, a regional split with Optimization, and an overloaded team with Resource Load, instead of a ready-made model from another field. A sports pick, an office pool, a court case, the weather or the market is answered as an event or declined. The same check keeps a statistical comparison in the comparison lane and a question such as “what does a receipt prove” in plain words.
- On the web: an answer hands off with a Download the model chip, and Start here points at it. When the answer carries a model, asking to open it in Sheets, put it in a spreadsheet, save it to a file or export it offers a working Download the model chip that writes the .sortia file, names the file and Verify, and says plainly that the page cannot write the values into a sheet. Start here points a model thread at that button and no longer says there is nothing to download.
- On the web: a proof link can be copied only after the model reproduces. On Proof, Verify re-runs the profit model in the browser. When it reproduces, a Copy a proof link button appears and copies a short line with the odds and the Proof page address; a failed or partial check has no button, so no link sits beside a result that did not reproduce. Anyone who receives it can verify for free, with no account: the model re-runs in their browser.
- Support now covers a declined answer, a receipt and a bug report. The support page sets out what to try when an answer is declined (ask again in plain words with the number, open a worked example, or paste your own numbers), how to read a receipt and press Verify on the web or in Sheets, and how to report a problem from where it happened. A report fills in the build, engine, receipt and thread and does not read the sheet: no cell values, file names or sheet contents are sent.
- On the web: questions about Sortia itself are answered in a fresh thread. With no model open, Ask now answers what a receipt holds and what a matching hash proves (that the run reproduces, not that the model is right), how to check a model file someone sent you, which ranges the preparer actually used, why two versions under one seed can differ, where answers and plans live, where the percentile table is, how to change the text size, and what to do when a summary and a receipt disagree. Before, these cold questions could be offered a template or told that nothing was open.
- On the web: a run with no goal can be read back. After a question such as “how long does the cash last?”, which keeps a card with a middle and a spread but no odds, “why is it that number?”, “what number will we beat 8 times out of 10?”, “send me the receipt”, “what’s the best case?”, “show me the answer again” and “explain that like I’m not a finance person” answer from that run instead of falling to a new question or a navigation line. A figure said as “locked at”, “fixed at”, “settled at”, “booked at” or “final at” is taken as an actual and the model runs again, while an ordinary edit stays an edit.
- On the web: your own word for a figure, and odds said in words. The word you used for an estimate (“hosting”, “the oven”, “guests”) is kept beside its role, so a later edit or actual can name it instead of answering that the model has no such figure. Odds spoken as words (“four times out of five”, “one in twenty”) are read as odds, and a question that already holds its figures is finished rather than restated: the asked figure, the odds, and what each figure was taken to be, including an old-to-new figure, a share of a base amount, a chance times a cost or award, and a range measured against a line.
- On the web: a comparison runs on one footing, carries a receipt, and verifies. Options whose figures share no literal measure are no longer asked which measure to use: an output rate is multiplied by the working time, horizon and value per unit, a price per trip is weighed against what the option moves, and payback and a loan’s term are worked out from the question. A promise or deadline (“we promised the client 16 days”, “a 20-day deadline”) is read as the line to compare against. A comparison that ran now shows a receipt with its runs, seed, sampler, engine and the hashes of its figures and its result, and Verify re-runs those figures in this browser. A follow-up that only restates the comparison already in the thread says that no new run happened and carries no receipt.
- In Sheets: the founding offer sits on the wall itself. When the free Pro runs are used, the wall now shows the founding offer and the places left at $149 for the first year of annual Pro with code FOUNDING, in the same wall as Pro at $199 a year and the Week Pass, rather than leaving it one press behind on the upgrade cover. The count is the live one the pricing page prints, and the line stays hidden if the count cannot be read, the offer is used up or the code is inactive.
- Built but switched off. Under the pay line, a free account’s Publish, the author’s Verify and Commit stop at a card that names the price, in the add-on as well as the web, and the API refuses a free account’s publish and commit. Both switches default off, so nothing changes for anyone on deploy.
2026-10-22
- On the web: a message with several figures is read first, as one question. Ask now takes a message with two or more figures before any narrower answer: every figure is placed in the role your words give it, a quick shape is used when one fits and a written formula when none does, and a missing role is asked for once instead of the question being captured by a phrase.
- On the web: every turn gets a reply, and a correction changes the model. No turn is left at “asked, with no run yet”: a fault becomes a plain error written to the thread. An actual you name replaces that estimate, so every draw is the actual, and re-runs on the same seed; if more than one estimate could be meant, it asks instead of guessing. “Run it again with the old inputs” restores the model you opened and compares the result with that opening run’s own fingerprint, or says plainly that there was no old run. Changing one figure moves the whole range, so the spread you stated goes with the new middle instead of collapsing to a single point, and a cost never shows a negative floor. A stored answer quietly reopens in the panel you are already in, without pulling you to another tab.
- Analytics waits for consent on every marketing page, and the privacy policy says what it receives. All 417 marketing pages share one gate: nothing is requested from Google Analytics until you accept, declining writes nothing to the data layer (click and copy events included), and a stored yes loads one tag. The privacy policy gains an Analytics and cookies section that states what Google receives and that the link to Google Ads means accepting also sends advertising-measurement signals, so the old “no advertising trackers” wording is gone.
- On the web: figures can be written with or without a role, and a formula is read when no quick shape fits. The reader takes if, abs, round, min and max, and a sum over up to 40 years with a value for each year. More ways of writing numbers are read as written: mixed numbers, fractions, money codes, unit suffixes, per forms and time spans.
- On the web: five more shapes. Ask now runs its existing correlation, regression and two-proportion tools from plain number columns or success counts; handles a project whose benefits change year by year; and multiplies how many events happen in a period by what each one costs. Cpk and control charts are still not tools here, and say so.
- Fixed in Sheets: Goal Seek from any tab, a three-column Schedule Risk table, Use selection, Home, and pasted tables. Goal Seek resolves the model’s own tab when it is not the one in front, and the answer names the tab it wrote to. A Task, Duration, Predecessor table is read by its header, and a blank is refused on the row it is actually on. Use selection binds the cell the name box shows, never a stale duplicate. A Home round trip keeps the estimate cards, correlations, checks and limit rows you built, not just the fields. A pasted table keeps its rows in the data tools’ boxes, including Windows and old-Mac line endings.
- Legal: renewal terms at the point of purchase, and a DMCA route in the Terms. The Pro card states the annual and monthly renewal and your right to cancel; Week Pass still says there is nothing to renew. The Terms now have a Copyright and DMCA takedowns item wired to Report this link and support@sortia.io, and it says plainly that no designated agent is registered yet.
2026-10-21
- SIPmath: switch a file in place, see the average, look at the trials. On an estimate that came from a SIPmath file, “Replace from a file” opens the same import card and keeps the estimate’s name and every formula that uses it. A SIPmath estimate now uses the file’s own trials by default, so the chances match the tool the file came from. Every answer shows the average beside the most likely, plan and floor. “See the trials” shows one row for every run behind an answer at full precision, and you can look at any single trial; your own numbers are never changed. In Sheets this works in both the new and the classic Risk panels, and the new answer card shows the first three trials with a link to the rest.
- On the web: Ask reads long, wordy questions. Ask places each figure in the role your words give it, builds the model from it, shows you what it built, and answers the question you asked, including a price, a buffer or a break-even when that is what you asked for. A range stays a range, a figure you say to leave out is left out and named, and it no longer substitutes a template’s own numbers or asks you to retype figures you already gave.
- On the web: comparisons on one footing. Options with different kinds of figures (a one-off cost, a monthly fee, a quarterly result) are put on the same stretch of time, and the answer says how. Two people who care about different things get a separate answer each, and a result that loses money in one branch keeps that loss in the arithmetic.
- On the web: after an answer, your next message is read against that answer. The worst case, a figure at 90 in 100, proof, plain words, the result again, which input matters most, one number changed with old beside new, undo, and a moved deadline work on the answer you are looking at. “Run it again” repeats the same draw and says so; a fresh draw is “run it with a new seed”.
- On the web: your goal stays where you put it. A reset or a re-import no longer changes the bar your odds are read against; if a step would have moved it, the reply says so.
- On the web: product questions answered, unanswerable ones declined. Where your answers live, what a shared page gives someone, how to check a file you were sent, the mean against the median and what a 90th percentile promises get a plain answer even when nothing is open. A flight, the weather, an election, a court case or a lottery gets a plain “I can not tell you that” with a way forward tied to the subject, not a menu of templates.
- Shared links show where each was published from. A link made in Sheets and one made on the web now say which, and publishing is only ever done by pressing Publish after a preview that names where the page will go.
- Fixed in Sheets: Schedule Risk takes one duration per task; Optimization names its method. A Task, Duration, Predecessor table is read as each task taking exactly that long, and the reading says so.
2026-10-20
- On the web: the whole Data Analysis suite runs in your browser. Paste your numbers (a spreadsheet copy works as is) and the same code that runs in Google Sheets reads them and gives the same figures, a plain-English reading, a receipt and a Verify button. All 38 tools and all 104 Data templates, each opening with its own example. Nothing you paste leaves your browser, and the statistics code loads only when you run a tool.
- On the web: every Optimization template runs here. Open one from Templates, or ask “how do I split my ad budget for the most orders” and press Solve it here. You get the best plan, a before-and-after picture, the limits that hold the answer, the room left on the rest, a receipt and Verify. Change any of the template’s numbers and solve again. Large linear models (up to 10,000 cells) solve here too.
- Fixed: a model with a bend in it is solved properly. A MIN, MAX or IF on a number the solver changes used to be answered at a limit (stock 600 or 1,400 when the best is 1,000). The browser now spots the disagreement, says the model bends, and solves it again. In Sheets, Optimization also says “Not confirmed by the sheet” when the sheet’s own result does not match.
- On the web: What-If, Decision Tree and Project templates run here. 112 more templates run in the browser with a receipt and Verify, with their tables, swept lines, bars and Gantt charts. Their models load only when you open one.
- On the web: SIPmath files in and out, and a seed you can choose. Add estimates from a SIPmath library or share yours as one. The number of runs and the seed are yours to pick, and the receipt says which was used.
- On the web: casino, sports and weather math from your own numbers. Ask about the house edge on roulette, craps, blackjack or slots and the page works it out exactly, with the rules’ source and date and a Verify button. It explains why the house wins over time and still cannot say what the next spin will do. For a game, paste your own team ratings and the market’s price is shown beside the model; for weather, paste an ensemble forecast such as “31 of 50 runs”. Sortia ships no ratings and fetches no forecasts.
- On the web: questions that already contain their numbers are answered. Ask reads each figure with what it is (money you have, what you add each month, the cost, the rate, the time), says that back, and answers: whether the savings cover the roof and by when, how much contingency for 90 in 100 confidence, how big a buffer to keep, how long a debt takes to clear, which of two ways to pay costs less. Ranges stay ranges. Build it from your numbers now asks once whether it read your figures right instead of asking you to retype them.
- On the web: comparisons are comparisons. Two suppliers, two products, two channels, two reinsurance structures or three projects under a spending cap are put on the same footing and run 10,000 times each: odds, middle and 80-in-100 range side by side, how far the ranges overlap and how often one beats the other, with a winner for each thing you asked about. Ask “why that one?” and it shows the arithmetic from your own numbers.
- Fixed: a range you give is placed and used. “Receipts run 208k to 300k a week” now lands on the estimate you named and the run uses it; a floor such as “a $2M floor” becomes your goal; anything Ask cannot carry is named, and after each run it checks that what ran matches what the card showed. A break-even with a platform cut now takes the cut off the price. “Minus 40k” keeps its sign, and a bare % or $ typed into an estimate box is refused.
- On the web: follow-ups and questions about receipts hold up inside a conversation. “Send me the proof of that number” shows the receipt; “restate the worst case at 1 in 20” is read off the same run without re-running; what a receipt should show, why two versions with one seed differ and where the percentile table is are answered even with no model open. “What was the result?” answers from the conversation you are in. A plan on a breach is shown as its goal with the matching odds.
- Ask knows the practitioner words. Payback period, sensitivity analysis, make or buy, which project to pick, Cpk, control chart, correlation between price and demand, value at risk and budget allocation go to the matching tool instead of an unrelated one (Sortia has no Cpk or control-chart tool, so those go to the nearest ones). “Show me the schedule risk templates” opens Templates already filtered. A question about a game, a pool or a court case is still answered as something nobody can know, even with a picks sheet or a spread added.
- In Sheets: Risk Analysis answers lead to every tool the old panel had. Chance of clearing a value, Chance between two values, the Spider chart and How the run settled are in the answer’s Actions, each on its own screen with a way back. The RAND() choice now says what it cannot do, and PERT reads Smooth in More shapes.
- In Sheets: Back, Escape, receipts and the 1-in-200 answer. Every tool screen has a Home link, and Escape on an idle tool screen goes Home (while a run is going it still cancels). Answer cards show the model and result fingerprints under Receipt detail; browser Goal Seek now has a receipt on its card and report tab with Verify, and the Scenario Summary tab verifies from the tab. In the Ask thread, the 1-in-200 loss and the 99.5th and 99.9th percentile give the figure from your last run, or say not resolved under 10,000 runs.
- Fixed in Sheets: Goal Seek, Optimization and a few readings. Goal Seek from another tab reaches its card, Optimization’s staged solves agree with the sheet, and several wrong answers now say what they could not do instead of guessing.
- Operations. The weekly funnel now splits walls into compute and proof, the Install button on a shared page counts the click, and a failed AI parse or a busy service returns a plain message. Counts only; the privacy page lists every new word.
- Built but switched off. A per-team annual licence and a “free to compute, paid to prove” pricing line exist behind flags that default to off; nothing changes for anyone on deploy. A kit for instructors (guide, three assignments with answer keys, model files) is in the repository, and an optional, off-by-default way for an AI agent using the MCP package to publish a result as a link.
- Fixed in Sheets: leaving a tool through Home no longer throws away what you just typed. The goal, decision cells, limits, ranges and output cells come back the way you left them, and a tool says so if it had to clear cells because their tab was deleted.
- Fixed in Sheets: each tool knows which sheet its cells belong to. Open Risk, Optimization, Decisions, What-If, Project or Data Analysis on a different sheet and it tells you before anything runs (“This setup is for the sheet ‘Sheet1’; you are on ‘Empty tab’”) and offers to take you back or start fresh here. Nothing runs on the wrong sheet, and Goal Seek no longer says “No solution found” for a model that solves.
- Fixed in Sheets: Use selection fills the cell you are looking at. When the sheet answers with the same cell as last time, the tool asks once more before filling.
- Optimization gives the same answer every time you run it again. Checked from eight starting values, four runs each, in the new panel and the old one. A refusal that already explains itself (an empty box, a missing range) no longer ends with an error code, and Resample from my data says up front that it needs 30 or more values.
2026-10-19
- On the web: Ask explains Sortia itself. What a receipt proves (and that a matching hash shows a run reproduces, not that the model is right), where the receipt lives, how a recipient checks a headline, why two runs can differ, what Pro includes, and how to start over are answered with no model open. Sports and court questions are declined plainly, and Ask knows which screen you are on.
- On the web: the assumption that matters most. Every risk answer names the estimate that moves the result most, with its rank correlation, and says that tightening it narrows the range fastest. Plan is defined on the card.
- On the web: money questions in your own numbers. “How much do I need to retire?” asks for spend and horizon and answers with the assumptions stated; a break-even price or the amount to start with is solved from the figures you gave; a range from five past bills or what is left after costs is answered directly. A goal far from the template’s scale is questioned before it runs, and every number you give is shown back with its role.
- Shared answers can be checked by the person who gets them. The shared page has a Verify that re-runs a model file in the browser and says whether the result matches. You can choose to include the model file for download, off by default and shown in the approval.
- Plans say what they track. A goal phrased as a failure is shown as its success and a safer plan never banners as drifting. An actual far outside the estimate’s range asks first. The Shared answers list and the Share dialog now show the same links.
- Founding price at the wall. When the free runs are used, the offer for the first 100 annual subscribers is shown beside Pro and the Week Pass while places remain.
- Retirement answers are a card with a receipt. On the web, “will my money last until I am 90?” shows the roles it read, how often your savings last, and a receipt with Verify. Growth, yearly swing, target odds, horizon, spend and other income are fields you can change, with the defaults shown.
- The 99.5th and 99.9th percentile have rows. The Risk Analysis Report lists them below the 99th when the run has at least 10,000 trials, and says “not resolved” below that; the web full-screen ladder shows them too. They are computed from the draws, never the 99th relabeled.
- Ask in Sheets explains Sortia too. What a receipt proves, where it lives, how to verify a result, why two runs can differ, how to start a new question and what “simple words” means are answered in Sheets wording, from the same table the web uses.
- Fixed: re-pointing an estimate re-reads its range. Moving an estimate to another cell now starts its Low, Likely and High from the new cell’s value unless you typed them.
- Fixed: Risk Optimize searches around your decision. The default bounds follow your decision cells (a quarter to four times their value) instead of 0 to 100, and say so. Reports show the 99.5th and 99.9th percentile at 10,000 runs or more, labeled for what they are.
- Fixed: numbers that disagreed. Schedule Risk’s sidebar and report agree on the day, and Critical Path names tasks “Task 1, Task 2” when the table has no labels.
- Fixed: Data Analysis. Chi-Square with labels ticked on a label column plus counts runs and states that a 2×2 result has no continuity correction; a K-Means tie says “tied”; the Decision Builder has a Back step.
- A plain answer when nobody can know. Ask about a game tonight, a court ruling or whether a stock will rise and Sortia now says it cannot know that, will not make up a figure, and offers to do the math with your own estimate. It no longer offers a template or lists pieces of your question as your numbers. Asking it to confirm, endorse or re-label something it has not computed gets an explanation too: a seed repeats a result only for the same inputs on the same engine, a lower percentile is not the 99.5th, and someone else’s conclusion is something to run on your own figures.
- Fixed: everyday modelling words are not declined. “Payback period” and “what is my Cpk” on the web no longer get “outside what I do”; they get the builder or the nearest tool.
- On the web: follow-ups work inside a conversation. After an answer you can ask for the worst or best plausible outcome, what it means in plainer words, why it would change, what would have to change, what it was before (with the gap), or to keep an eye on it as a plan. “Does that include tax?” and “you said 80 in 100 earlier” are answered from the conversation’s own record. A correction such as “marketing is actually 65k, not 10k” replaces the earlier figure, swapped figures are fixed together, a late limit is offered as the new goal beside the earlier odds, and an actual such as 02k against a 60k pace is taken in with the assumption stated.
- On the web: receipt questions are answered from the open run. What a receipt shows, which engine ran, what the model hash covers, how to check the ranges against it, and why two runs under one seed can differ.
- On the web: the 1-in-200 loss. “What is the 1-in-200 loss” or “the 99.5th percentile” now returns the figure from the same table as the report and the full-screen ladder (“995 in 1,000 runs land at or below…”), says when the run is too small to resolve it, and warns about a long tail only when the model’s own spread shows one. “How do I share this?” and “does my client need an account?” are answered in the conversation.
- Fixed: your numbers land where you meant them. A year is a year, not ,019; 0M is said back as 0M; “give or take 15 percent” and “plus or minus 40 cents” are spreads around the figure you gave; “EBITDA falls 15 percent” and “costs overrun by 20 percent” are stresses on that estimate; “we need 400 leads” becomes the goal; “12,000 free users” is a count. Spend figures are not offered to revenue estimates. One button places all the figures it can and runs, an estimate holds one figure, and anything left over is said back as “Not used”. A run no longer starts on the template’s own numbers while yours sit unplaced, and a restated figure replaces the old question about it.
- On the web: more of your questions solve and compare. A break-even price with the costs and units stated is solved. A question that compares two options is split into one run for each, with a plain line that it compares one at a time. A follow-up that names a month stays on your model. Percentages such as 4% or 4 percent are accepted wherever a rate is asked.
- Open in Sheets keeps your question. From the web, Open in Sheets now takes your question and numbers to the Sheets start page, shown there with a Copy the question button. It stays in your browser and is not sent anywhere. When no ready-made model fits, Sortia says your decision back in your words and never offers a model from another field as the closest.
- Plans list says what each plan tracks. The Plans column is now “Odds”, each row names the proposition it tracks, and the chart description says it, so a plan that tracks a bad outcome no longer reads as one that “holds”.
- Fixed in Sheets: readings, tables and pickers. A formula that names its own tab (Sheet1!B6) is read as that sheet, so the result and its inputs are found. Critical Path runs on a three-column table (task, duration, depends on) and names the tasks. Moving an estimate in Ask’s setup card re-reads its range from the new cell unless you typed it. The promise-date template reads just its table. Reopening Optimization after reading its report restores your goal and cells, and its receipt says “evaluations” for an evolutionary search. Use selection fills on the first press even if the screen shifts as you press, and Escape on a full-screen panel does what its back arrow does.
2026-10-18
- On the web: Goal Seek and the optimizers run in the page. “How much EBITDA do I need to keep leverage at or below 3?” is solved in the browser with a receipt and Verify, instead of being offered a template. A saved Optimization, Risk Optimize or Goal Seek model opens and runs in the browser, or says plainly that it runs in Google Sheets.
- What could vary is rebuilt. Every estimate has a remove button and a cell chip you can re-point, opens in place to its full card, and picks its shape from four quick shapes or all 36 with search. Estimates that sit on a label cell are caught: “4 estimates are on labels” with one tap to use the numbers beside them, one at a time, or Undo. A new estimate, including one added from the setup chip, starts at its cell’s value, a quarter either side.
- The web editor and Model Shaper follow the new design. Closed and open estimate cards, Limit to a range, From percentiles, Stress and Correlate, the answer card with NOT KEPT, Keep, Discard and Undo, a critical-share column and a floor figure on schedules, and Add a step.
- Both Homes are rebuilt. Where we left off is one card with the reading in a sentence, then Or ask, Or start from (this sheet, a template, a model file, a shared link) and the tools. On the web, paste a shared link to open it.
- Ask answers questions about Sortia. Pricing, the Week Pass, the seed, receipts, Verify and what a tool does get a plain answer naming its source; “open templates” and “go to settings” go there; a message that is not a decision is not forced into the builder; “is the difference significant” leads with the t-test. A problem report card shows what is sent and opens an email you read and send.
- Web share links belong to your account. List and revoke them from your account, and a link keeps working from any browser you sign in on. Older links stay with the browser that made them.
- Receipts say when they were run. Every receipt line carries the run time, and a Verify check compares a run across the sidebar, the web and the model file.
- Verify this tab. Every answer card that wrote a report tab has a Verify this tab row. It reads the receipt off the tab, even one from an earlier session, runs the model again with the tab’s own seed, and says whether it matches or what differed.
- Fixed: saved estimates no longer follow you to another sheet. Risk Analysis used to put your last run’s estimates back on whatever tab was open, which could bind them to label cells. They now come back only on the sheet they were saved from, and the panel says when it skipped some.
- Fixed: a number is read from the right cell. The Year column of a template is no longer offered as an estimate, and an Ask hand-over starts each estimate at the cell’s value.
- Fixed: plain figures on the cards. A minutes model no longer reads in days, limits that bind are counted the same everywhere, and PLAN and FLOOR say what they mean.
- Fixed: searches stop and keep their best answer. The Nonlinear and Evolutionary searches end at four minutes and save the best answer found, with a note.
- Fixed: errors say what happened. A failure shows an error code you can quote and a “This didn’t work” button; the idle banner no longer claims an update that did not happen, and says to reload the tab.
2026-10-17
- Every answer has a card in the new Sortia. Risk Analysis in Optimize mode, Scenarios, Data Tables, the Neural Network, Descriptive Statistics and the Classification Tree now land on the same answer screen as a simulation: the headline, a picture, the figures, the receipt line, a reading, and Actions. Optimize shows each decision cell before the run and now, with Restore original decisions, Verify, and the frontier sweep on the same card. The Neural Network scores itself on the held-out rows only and says when two held-out rows cannot carry a percentage. Descriptive Statistics draws a histogram with the mean and median marked; the Classification Tree draws its questions and leaves. K-Means draws its clusters and Association Rules draw their links. Goal Seek writes a report tab, so Where we left off finds it, and a Data Table card shows the range of results with a line or a heat map.
- Set up a Risk Analysis by talking. With a model on the sheet and nothing set up yet, the conversation asks which cell is the result, which numbers could vary, what the goal is and how to run it, with the sheet’s own cells as chips; Optimize asks which cells Sortia may change and the range for each. “Use D5 instead”, “make B3 10 to 20” and “no goal” are taken as corrections at any step.
- Ask reads dates and answers from the card. “What are the odds of shipping by Dec 20th?” and “push the deadline out a week” become a goal change or a what-if you confirm; a shift with no start date says why. “What’s the downside?”, “what drives it?”, “how much cushion do I have?” and “what buffer should I plan?” answer from the result you have without running anything. A thread that holds several models names which one a reply is about.
- Ask says what it understood before anything runs. A question that matches a template gets a card first: the tool, the domain and the template it found, where each number you typed goes and what the template had there, and which figures stay the template’s own. Run with these numbers, or use the template’s figures; nothing runs on defaults unseen. When two templates fit, Ask offers the two or three closest and “Something else” instead of guessing. On the web the card says whether it runs here or opens in Sheets.
- On the web: Describe your decision builds a model from your numbers. Three questions in the thread, the same reading of your lines as the Sheets builder, a review of what was understood, and a run on your draft that stays in the thread for edits, what-ifs, Verify and download.
- On the web: the A/B test and the t-tests run in the page. “Is group B really converting better than group A?” gets a card that takes the four counts, runs the two-proportion test in your browser with the same engine code as Sheets, and says the result in the Sheets report’s own sentences, with a receipt and Verify. Paired, pooled and Welch t-tests take two pasted columns. Every other statistics test still says it runs in Google Sheets and offers to copy the question.
- Limits in Risk Analysis Optimize are the same rows as Optimization. One row each, like B2 ≥ 10 or C2 ≤ 50, with a cell’s own range, a fixed value or a whole-number rule; a row on a formula cell holds that cell’s mean over the trials. The Lowest and Highest pair only covers the cells no row names, and a pair that is blank or crossed says so beside the boxes instead of reverting silently.
- Fixed: Project Management never says Ready before it can run. A task table that lacks IDs or predecessors shows what is missing and where instead of a green Ready that then fails.
- Fixed: a cell Sortia skips is named. A regression whose rows hold text says which rows were skipped and why on the card and the sheet; when every row goes it refuses before running and names the first cells to fix. Association Rules say what counts as present. The Classification Tree lists its classes and warns when one has too few rows to learn from.
- Fixed: Reconnect gives the panel back. After an idle spell the run press used to say “press Reconnect Sortia at the top” with no banner there. The idle check now draws the Reconnect itself, a heartbeat that never answers is retired instead of blocking every later one, and both dead ends say “Still not connected: close Sortia and reopen it from Extensions.” A press that lands while the screen is redrawn is said rather than swallowed.
- Ask knows which task you mean. “Make task 3 take 10 days”, “the third task” and “the last step” name a row; a place with no row asks instead of guessing. On the web, “Run it again” over an unsaved what-if asks whether you mean the model or the what-if; “What changed since the first run?” lists the unsaved what-if and its odds; Verify says it checks the saved model and offers the what-if instead; a refresh brings the open answer back; the answer page and Ask show the same turns; a long thread title gets a tooltip.
- One question after your third answer. “Did Sortia answer the question you had?” appears once under the card’s rating row, with Yes, Not quite and a link to tell us; nothing is counted or sent unless you write.
- On the web: paste a model, download it with its receipt, share it. A Sortia file or spec pasted into the Ask box opens like a file instead of being searched for. The download carries the same eight-field receipt the add-on writes, so a file saved on the web verifies in Sheets and back. Share makes the same link the add-on makes, previewed line by line before anything is posted, with Revoke beside each link from this browser. Copy the receipt as JSON carries the receipt, the model hash, the odds and the inputs. Try another on a preview card tries the next estimate instead of repeating the first.
- For developers: the developer page matches engine 0.3.0. Its examples name the eighteen result kinds the engine returns.
2026-10-12
- Fixed: Home on the answer screen always takes you home. On the 2026-10-11 build the Home crumb above an answer card could do nothing. A press on it is now never refused by the sidebar’s own guard against stray navigations, and it tries once more if it is.
- Fixed: a model file pasted into the wrong tool opens in the right one. A Risk Analysis model pasted into Optimization’s “Save or load this model as a file” used to be written to a tab and then refused line by line, and the panel looked stuck on “Checking the model…”. It now opens in Risk Analysis with the model filled in, and every step of the file fold gives up after 20 seconds with a sentence and a Reconnect link instead of waiting forever.
- Goal Seek has an answer card. The new Sortia used to write the result straight to the sheet with one line. Now a card shows the input’s new value, from and to, whether the target was reached, the receipt line, and actions: Restore original value, Copy for the deck, Edit all inputs. The breadcrumb reads Home › What-If › Answer.
- A shape change keeps the numbers you typed. Triangle to Smooth no longer clears low, likely and high; a shape that lacks a field leaves only that field blank. When Sortia has to assume a likely value it says so beside the field (“Likely assumed at the middle, 15: type a number to replace it”) instead of writing it silently. Optimize mode shows the uncertain estimates in Steps with the same four shapes as Simulate.
- Describe your decision: type an upfront cost as a positive number. It is taken off that alternative when you maximize payoff and added like every other cost when you minimize cost. A $75,000 cost against $100,000 of expected payoff now reads $25,000, not $135,000.
- Ask answers a question about running it again instead of running it. “Can my client re-run this without a license?” used to run the model again with a new seed and change the receipt. It now explains Verify, and a question Ask cannot place asks which you meant before anything runs.
- Ask keeps your digits. “Show me the tail beyond 1-in-200” and “the 99.5th percentile” used to come back mangled (“-in”, “th percentile”) and offered as new estimates. Phrases are said back exactly as typed, a mangled phrase is never offered as a name, and a tail question gets an honest line about what the card shows.
- On the web, a thread never disappears. Opening the same template again no longer deletes an older thread with the same question, however many turns it carried. The list shows every thread (twelve, then Show more), a thread that cannot be read says so instead of vanishing, and a question typed before the model list has loaded waits and is then answered rather than “Nothing matched”.
- Plain words for how a run draws its numbers. “Draws spread evenly across each range” replaces “Latin hypercube sampling” everywhere a person reads it; card headers name the result rather than the method; change summaries say Smooth, Triangle, Bell and Flat.
- Fixed: small things the test report found. The payoff matrix no longer labels its players with a percentage; “Open all charts” appears only when the card holds a chart; the neural network prints Train R² and, when the value to predict holds text, names the cells and what to do; “Guide to this tool” from an answer screen opens the guide; a template’s story states the trial count its web run actually uses; a rate per day is no longer labeled as days.
- Classrooms are not rate-limited as one person. Forty students behind one school address used to share one per-minute allowance for the connect codes, the account pages and the anonymous counts, so a class could be silently dropped. Each install or account is counted on its own; a flood of made-up callers from one address still meets the cap.
- For developers: the MCP tools say when to use them. Every tool opens with the question it answers, carries read-only annotations, and run_simulation, optimize and run_risk_optimization take
detail: "concise"for a short result. The distribution count reads 36, which is what the engine accepts. Asortiaskill (skills/sortia/) and three worked compositions show an agent how to drive the tools.
2026-10-11
- Fixed: a Binomial estimate with more than 1,000 trials runs in the panel. A Risk run with one stopped in the browser and fell back to recalculating the sheet, capped at 300 trials, with an engine error, and its shape preview stayed empty. It now runs in the panel at the number of trials you asked for.
2026-10-10
- Ask follows up on the answer you have open. After a run, say “make schema migration 4 to 20 days” and that estimate changes and the model runs again with the same seed, so the change is the only difference; Ask says the odds now and before. It never goes looking for a different model when you meant this one.
- Try a change without keeping it. “What if spec freeze takes 50 days?” runs the change on the model you have, says the odds with and without it, and keeps nothing until you press Keep this change. Undo takes back the last change you kept.
- Ask about the run itself. “What seed did you use?”, “show me the receipt”, “what changed since the first run?” and “how do I verify this?” answer from the run you have, with its seed, runs and result hash. “Run it again” uses a new seed and offers to go back to the old one.
- A number you mention never becomes your goal by itself. Ask changes the goal only when you say the goal, and asks first: “Change the goal to $150,000? It’s $120,000 now.”
- When Ask is not sure, it asks one question. Instead of guessing a model, it offers two or three choices to press. When two estimates fit your words, it asks which one you meant, and “no, I meant price” moves the change.
- Your numbers in the question are used and said. “I have a project due December 7th, what if schema migration takes 14 days” runs with your deadline and your estimate, and the answer leads with the odds of finishing by Dec 7, saying which figures are yours.
- In Sheets, a change from Ask reaches your Risk card or task table. Ask reopens the answer and runs it with the same seed, then makes the change. On a Schedule Risk task table a change is tried first, and Write to the sheet puts it in your cells.
- Optional AI help reads what the rules miss. With AI on, a message Ask cannot read is sent with your model’s variable names, never your numbers, to be turned into the same kind of change, and a change it reads that way asks you first when it is not sure. With AI off, Ask asks you instead. The privacy page says what is sent.
- Fixed: Sortia no longer says it was updated when it was not. If the link to Google lapsed while a panel sat open, pressing Run could say “Sortia was updated while this panel was open” when nothing had changed. It now says the connection went idle, that nothing is wrong with your model, and to press Reconnect Sortia, then run again. The updated notice appears only when the version Google is running really has changed since the panel opened.
2026-10-07
- Ask sets up a tool with you, in the conversation. Pick a tool from Tools, or ask a question like “Will profit clear $120,000?”, and Ask reads your sheet first, says what it found (“profit in E5 and 3 estimates in B3:B5”), then asks only what it could not find, one question at a time. Type answers the way you would say them, such as 120k or “about 1 in 4”. Set up manually opens the tool with everything filled in, and nothing is written to your sheet until you run it.
- Use selection in the Ask box. Select cells in your sheet and press Use selection: the ranges ride along with your question as references, never their values. Sent on their own, Ask asks what you want to know about them.
- Every answer asks Was this right? In the sidebar and in the web app, each answer ends with Right and Not right. Not right asks what was off (wrong model, wrong numbers, hard to follow, not what I asked); only the reasons you pick are counted, and the note box is never sent.
- The answer leads with your odds, and asks for a goal when there is none. A run without a goal now asks what the result should reach, with two quick picks and a box, and redraws the odds from the same run without running again. Most likely is now the middle of the runs (the median), the figure the chart shows. Copy for the deck copies one line with the odds, the plan, the floor and the receipt, free on every plan.
- Where we left off opens the answer itself. Ask Home shows your newest answer, and pressing it draws that answer again from its report tab, with the date it ran. A tab you renamed or deleted is said where you pressed, and nothing else moves.
- Estimates save as you edit them. Each estimate tile shows its name from your sheet, its cell and its number in the cell’s own format, and saves to Sortia’s store about half a second after you change it. Your model’s cells are never changed.
- When Sortia loses its link to Google, it says so and gets it back. After an update, or a sidebar left idle, the panel says the link lapsed, that nothing is wrong with your model, and offers Reconnect, which tells you what happened every time: connected again, or the one reload that finishes the job.
- The web app answers in a thread, and schedule questions run there. At sortia.io/app, Ask keeps a conversation, notes the facts you add (“it starts November 1st with 5 tasks”) and opens the closest model that runs in your browser. Schedule Risk templates now run on the web too, counting your deadline in working days, and the answer card matches the add-on’s.
2026-10-06
- Sortia recognizes Google's permission refusal in Filipino. An account set to Filipino gets “Kailangan ng awtorisasyon” instead of “Authorization is required”, and Sortia only knew the English wording, so those people saw a generic error instead of the card that tells them what to do. Both doors into the panel now recognize it.
- The first-run door stops sending you to look for a window. When Google has not yet given Sortia permission for your account, the message used to tell you to check behind the tab and in the blocked-popup icon, even when no window had been asked for. It now says what is actually happening, and mentions the popup only when one is really on its way.
- A grid with a stray text row can still be analyzed. Two-factor ANOVA and the contingency table used to refuse a grid because a row or two held text, such as a totals label. When the text sits in only a few rows, Sortia now offers to run without them, says that each row is a level or category so leaving it out changes what is analyzed, and names the rows it left out in the report.
- Save a model as a file you can send, with Share › Model file. On a simulation’s result card, Share › Model file saves a .sortia file to your computer: the model’s names, estimates and formulas, its question and goal, and the run’s receipt when it checks out. Open a model file reads one back into a new tab, and the first run there is compared with the receipt. Nothing is uploaded.
- Check a Sortia simulation yourself, on sortia.io/proof. Press Verify on the profit model’s receipt, or drop in a .sortia model file, and the model re-runs in your browser with the receipt’s own seed, runs and sampler. It says “reproduced exactly” only when the fresh run gives the receipt’s result hash; a file whose receipt belongs to another model is told so, and nothing is re-run for it. The file is read in the tab and never uploaded.
- Open a model file on sortia.io/open. See its question, goal and receipt, move an estimate, press Run, and the odds re-run in your browser. Reset puts the file’s estimates back, and Download my version saves a new file marked as based on the one you opened.
- The seven-day pass is now called the Week Pass. It was the $9 Day Pass, though it always covered seven days, and the name now says so: the add-on, the pricing page, the terms and the receipts for new purchases all call it the Week Pass. The price, what it unlocks and the key it sends are unchanged, and a pass you already bought runs to its printed date.
- The homepage shows the odds, not just the claim. Show the odds turns the profit model’s one number into what ten thousand runs say, two sliders re-run it for a different price or demand, and the receipt band carries the run’s real hashes. The figures are the ones the add-on’s result card prints for the same estimates.
2026-10-03
- Fixed: a template could refuse to run because of a model you opened earlier. Correlations are saved per spreadsheet, so after you correlated two cells in one model and then opened a template, the old pairs came back into the new model naming cells it does not vary, and the run was refused before it started. The refusal was right and the pairs should never have been there. Opening a model now drops the correlations that belong to the one before it, and says which ones it dropped so you can add them back if you want them.
- The first-run door says the thing that actually helps. It used to tell everybody that Google was registering a permission and to come back in a few minutes. That is true when the permission really is on its way, and false for the two other reasons a door gets refused: a spreadsheet you can read but not edit, and more than one Google account signed in at once. Each of those now gets its own answer on the first press, because waiting fixes neither.
- Sortia no longer tells you to delete a tab that is already gone. When a report failed to write and the clean-up also failed, the message said a half-written tab had been left behind and to delete it. Sometimes there was nothing there, and if another run had since made a tab with that name, following the instruction would have deleted a good report. Sortia now checks the spreadsheet before it says anything, and never names a tab it cannot find.
- A write that lands outside the sheet says whose fault it is. That failure used to be blamed on "a Google limit", which sent people off to resize a sheet that was the right size. It is ours, and the message says so.
- Two runs on one spreadsheet stop overwriting each other. Two sidebars running the same tool produce the same report name, and the second used to delete the first one's tab while it was still being written. A report that is still being written is now left alone and the second run writes beside it. Re-running onto the same tab a minute later works exactly as before.
- The card for a refused Google request leads with the step that works. Its Retry button was the most prominent thing on it and recovered nobody, because nothing about the browser changes between the refusal and the press. Opening the sheet in a private window is now the main action, and Retry is still there for after you have done it.
- Receipts say when they are dated oddly. A receipt carries the moment it was made, and that moment comes from whichever machine ran the engine. If it is far from today, the card now says so. The payload you copy is unchanged, because an auditor should get exactly what the run produced.
- A question whose spreadsheet will not allow an add-on has somewhere to point. If your organization has not allowed Sortia, Google refuses before any of our code runs, so nothing in the add-on can help. Support now answers that case and gives the three links an administrator asks for.
2026-10-01
- Fixed: an upgrade button that did nothing. The sidebar is a frame inside Sheets, so a popup blocker can swallow the new tab without a word to anyone: the click counted and the pricing page never opened. Sortia now notices and offers a link you can use instead.
- The academic discount button says why it refused. Its error was being written into a part of the panel that was not on screen.
- Checkout says what it is doing while it waits.
- A goal percentage you type is answered or named, never dropped. Asking for a model at 80% odds used to open a template whose own title says 90%, with nothing saying which number you were getting. Both numbers are now on screen, with what each one means. Percentages the parser cannot use, like 150%, are said back to you instead of vanishing.
- A Risk run that cannot answer refuses instead of finishing empty. If no output depends on any of the inputs, the run now says so and names what it checked.
- Fixed: saving a decision tree saved an empty tree. The file looked valid and had no nodes in it.
- The first-run wait is described honestly. It used to say up to a minute. Measured across a month, the wait before people got in was much longer than that, so the copy now says several minutes and sometimes longer rather than naming a number it cannot keep.
2026-09-28
- Fixed: a British spelling locked people out of the help they needed. When Google refuses an add-on's requests it says "Authorisation is required" to an account set to British English, and Sortia only recognised the American spelling, so those people got a generic error instead of the card that tells them what to do. Both spellings are recognised now.
- Errors in your own language are understood. Sortia used to work out what went wrong by reading Google's message, which only worked in English: a Filipino-language server error was filed as "unknown". The server now decides what went wrong where the error happens and sends a word rather than a sentence, so the right card appears whatever language Google answers in.
- The privacy policy now covers the large-export path. Exporting a simulation of more than 250,000 trials for another tool sends the model to Sortia's server to build the file, and that model includes your figures and formulas. The policy always should have said so and now does, along with how long the file is kept. Every other tool still runs entirely in your browser.
- The privacy promise now says when your figures do travel. The line in bold at the top of the policy, on the licence screen, in About and in Settings made that promise with no condition attached to it. The export above is the one place where the condition was needed, and a headline should not contradict the detail underneath it. It now reads: your spreadsheet data stays in your sheet unless you send it. What sending means, and the one feature that does it, are set out under the headline rather than left to be found.
- The page about what Sortia can see names every address. It said five; the true number is ten, counted from the code, and the page now lists each one with when it is used.
- Live estimate cells has a page written for a reader. It was showing the build notes instead: what the feature is, what it cannot do yet, and how to set it up, rather than internal paths and file names.
- Fixed: template cards that said "Free" while marked Pro. Seven cards disagreed with their own badge. The badge and the words now come from the same fact.
- Two more distribution shapes, bringing the set to 36. SIPmath (Metalog) arrived with SIPmath 3.0 support: a Metalog read out of a
.SIPmathfile runs as an ordinary Risk input, which is how an uncertainty someone else measured comes into your model without being redrawn by hand. Your own data (resample) is the one with no shape to pick at all: point it at what actually happened and each trial draws a whole row, so whatever your columns do together comes along too. The count went from 34 to 36 without an entry saying so, which is what this line is fixing. - The optimization guide now states the ceiling the engine actually has. The sparse engine raised continuous Simplex LP models to 10,000 decision cells on 2026-09-05 and the guide went on saying 2,000, so the two documents described two different products for three weeks. The guide now carries the whole ladder, including the part that is not flattering: how long the big end takes depends on how coupled your model is and not only on how big it is, and a whole-number model keeps the smaller ceiling because the method that proves an integer answer cannot use the sparse path. Every page that states a solver ceiling now reads it out of the engine's own constants at build time.
- What a seed guarantees is written down. Six pages said "same seed, same answer on any machine" with nothing after it, which promises permanence across releases, and the entry of 2026-09-02 on this page is us breaking that promise on purpose. The guarantee is same inputs, same seed, same engine build, same answer, bit for bit, and the receipt under every result names the build for exactly this reason. Nothing about the engines changed; the claim did.
2026-09-27
- The Guide, experimental. A chat box under the home search, off until you switch it on in Settings, that talks about what Sortia can do for your situation and what shape a model for it should have. It never sees your spreadsheet: only the list of ready-made models, a result you choose to attach, and what you type. A suggested shape is filled in by you, number by number.
- Describe your decision understands "what can Sortia do for me?" With the experiment on in Settings, the home search answers that question in plain words and asks what you are deciding, and your answer goes straight into the guided builder.
- Share works on every engine, not only Risk Analysis. An optimization, a decision table, a schedule, a goal seek and most Data tools can now publish their result as a page, each with the figures that answer its own question. A run that needs no seed can be shared too, and its receipt says so rather than showing a blank.
- Live estimate cells have a page. The kit is at sortia.io/live-cells; in Settings the experiment says plainly that the workbook is still coming.
- Every report opens in plain words. A short summary at the top of each report says what was decided, the odds, and what drives them, in everyday language, written from the same numbers the report shows below.
- Templates are named for the decision they help with. Thirty-four titles and forty-four descriptions were rewritten so the name says what you are deciding and who it is for; every page kept its address.
- Every input cell says where its number comes from. The note on each estimate names what it is and where to find the figure.
- Words on the sheet are explained where they appear. Terms like cohort, completion percentile and predecessor carry their meaning in the cell note, on the sheet's rail and on the report.
- A read-only sheet is told at the door. When you can open a spreadsheet but not change it, the panel now says so before anything else loads, with Make a copy as the first fix, and a Retry that comes back once you have access starts the panel properly.
- A view-only spreadsheet gets the right advice. When you can open a sheet but not change it, every run used to stop with a message about your Google account, which was never the cause. The panel now says what it is and what fixes it: File, then Make a copy, and run Sortia on your copy; or ask the owner for edit access.
- A blocked panel shows its card at once. When Google refuses the panel's requests, the first refusal now stops the rest and shows the recovery card straight away, instead of every call failing one by one while you wait.
- A panel that sat open too long tells you to reopen it. If the panel's link to Google lapses after it has already worked, the card now says to close it and open it again from Extensions, which is the fix, before suggesting anything about accounts.
- Opening Sortia says what it is waiting on. When Google is still registering Sortia's permission after an install, the Open button and the menu say so in words, and the panel's own Retry keeps trying by itself for half a minute instead of asking you to press again.
- A panel never goes quiet. If a run stops before it starts, the panel says so in plain words; if Google has refused the panel's requests, a banner on every screen says Sortia is paused and points to what to do.
- Data Analysis reads around headers and labels. Select a block with its header row or its label column and the tools drop that edge, run on the numbers, and say what was ignored. A cell that still stops a run is quoted, so you can see what is in it.
- Empty boxes say "e.g." before their example. The grey text in a cell, range or number box was being read as a filled-in value. It is an example, and now says so.
- The best-matching tool follows what you are asking about. "How many people do we need to hire" used to match a website sample-size tool on the words "many" and "people". Words like "how many" no longer decide a match on their own, and hiring questions now land on the models that answer them.
- A second refusal says so. When the same range stops a run twice, the message says it is the second time and names the new cell, and a single-cell refusal says there may be more than one.
- Copying a template no longer breaks an open panel. A copied file, or a renamed tab, used to leave the panel looking for a tab by an id that no longer existed. It now finds the tab by name, and recreates a missing report tab rather than refusing.
- Fixed: a deleted tab could stop a Data run with "Sheet not found". The panel now looks the tab up by name before it gives up, and says which tab it wanted.
- The AI reading shows progress. While a Pro reading is being written, the card says so and counts the seconds, and a reading that does not arrive says the numbers above are still the result.
- The first-result welcome is off for now. Nearly everyone dismissed it, so the home screen opens on the search box. The screens are kept and can be switched back on.
- What's new, in Settings. The newest changelog entry is listed under the build line, with a link here.
- Settings cannot be taken down by one part of it. Each block in Settings now loads on its own, so a part that fails says so and the rest still works.
- On the website: the getting-started page's "If something looks wrong" section now covers every message the panel can show, including view-only files, copied files, timeouts and used-up free runs.
2026-09-26
- Every result now carries a receipt. Under the verdict there is a line naming the spec version, the engine version, the seed, the trials and the sampler, with a fingerprint of the model and a fingerprint of the result. Verify runs the same seed again and compares the two fingerprints; Copy JSON puts the whole receipt on your clipboard. The same block is written on the report tab, so a number in a sheet and a number in the sidebar can be shown to be the same computation. A receipt with any field missing does not render at all rather than render half.
- The verdict names the estimate that matters most. When one input clearly drives the outcome, the card and the report say which one, in plain words. When no single input stands out, they say that instead. The line never appears when the drivers were not computed.
- Share a result as a link. After a run with a complete receipt, Share opens a preview listing exactly what the page will hold: the verdict, the figures that answer the question, your estimates as ranges where the tool has them (with a switch to leave them out), the line about what matters most, and the receipt. Nothing from your spreadsheet beyond that list travels. The page is a plain address you can paste anywhere, and Settings lists your shared links with a Revoke on each. An organisation can switch sharing off for its whole domain.
- Copy for your AI assistant. One press on a built model copies its portable spec and a pointer to the page that tells an assistant how to read it. A spec with errors shows the errors instead of copying.
- One name for the cells Sortia is allowed to change. Risk and Optimization each had their own label for the same idea. Both now say "Cells Sortia may change", bounds are "Lower" and "Upper" everywhere, and the same sentence explains the same concept in every panel, the guide, the templates and the site. Those cells also accept a range such as C40:C69 in Risk, the way Optimization already did, and What-If result cells take a range the same way.
- The two things called Optimize now point at each other. The Risk panel's Optimize mode says when to use it and when to use Optimization instead, with a link that carries your cells across; Optimization says the mirror. Each engine in the Optimization dropdown has a one-line reason to pick it.
- Ask about the odds of staying under budget and land in the right place. "Odds of finishing under budget" went to Schedule Risk, and the same question in Spanish went to Decision Tree. Budget questions now reach Risk, and the core words of a question in Spanish, Portuguese or French are read.
- Fixed: the A/B test said a filled box was empty. One bad number and three placeholders produced a message about the wrong field. Every box is now judged on its own and the message sits beside the box it is about.
- Fixed: a stale refusal stayed after Use selection filled the range. The message is cleared the same way a keystroke clears it.
- Trials and the Output cell are remembered between sessions, per spreadsheet.
- Fixed: "quota capacity" found nothing in the home search. Both searches now read the tab name as well as the template name.
- Fixed: "How to read it" in the risk report landed in a hidden column. The explanation now starts under the chart, in a column you can read.
- Fixed: "Open Sortia" on the first-result screen sometimes needed two presses. Two causes, both gone: the card replaced its buttons a moment after opening, and the opening curtain took the first press during its own fade-in. A press now reaches the button on the first try, and a press during the fade lifts it at once.
- Fixed: the Close link in Settings was hard to hit. It has a proper button-sized target now. "Use this template" in the library also answers a hover visibly.
- On the website: the footer names the listing in quotes so it no longer reads as a dangling colon, "Google Sheets" is two words to a screen reader, and the number of distribution families is drawn from the engine's own list on every page that mentions it.
- Experimental, behind Settings, off for everyone until you switch it on. Live estimate cells: type
=EST(28, 10.5)in a cell, it shows 28, and an odds formula over your estimate cells moves when an estimate changes, with no run button. It needs a template workbook of named functions imported through Sheets' own Data menu; the link to that workbook is coming, and until it is here the section says so. Describe your decision: four questions in plain words become a validated model that opens in the panel, ready to run. Neither uses an AI model, neither sends your spreadsheet data anywhere, and either can change or disappear.
2026-09-24
- A Run that looked like it did nothing was telling you what was wrong, off the top of your screen. The Run button is pinned to the bottom of the panel while messages appeared further up, so on a long form a refusal could render above the fold and a press looked like silence. The message now comes to you, names the field it is about and says what to enter. This was the same fault in four separate places, including the Data Table, where a bad entry also produced a warning that your browser could not read the model, which was not true. Each panel had grown its own fix for this; there is now one, so the next panel cannot miss it.
- The report tab's charts were being drawn below where anyone scrolls. The distribution and the driver chart were anchored under the last table, which on a full report is 90 to 200 rows beneath the numbers. They now sit beside the summary, on the same screen as the verdict. The hidden band that holds the chart data was also hiding the wrong column after the sheet is indented, so a report could come out with its explanation hidden and its raw draws on show.
- The percentile rows read as English. They printed as 0.01, 0.05 and 0.1, because the labels were written as text and the sheet parsed them back into numbers. They now read "1st percentile", "5th percentile", "50th percentile (median)". A percentile that is not a whole percent says "the 99.9% mark" rather than inventing an ordinal it cannot support.
- The example cards stop coming back. They used to reappear on every launch, forever. You now meet each of the six once, one per open, and then never again. The link on the card stops them all at once, and it is on every card now rather than some of them.
- Controls that did nothing now answer. The home icon in the panel header, the settings gear, About Sortia, the whole "Start from a template" card rather than only its arrow, and the tool filter in the template browser, which was rebuilding its own menu inside its own click and losing the choice. Settings also shows which version of Sortia you are on, which was not readable anywhere in the product.
- Searching for a tool by the name the product shows you now finds it. "risk analysis" returned nothing, because the library stored that tool under its engine's name. Searching in either vocabulary works now, in the add-on and on the website.
- Your seed is recorded, and one press keeps it. A run with the Seed box empty used to report "(random)", which is visible but not reproducible. The report now prints the seed the draws actually came from, and the panel offers to keep it so the next run repeats those exact trials.
- The wait during a run says what is happening. The three waits that have no progress to report, where Sortia is waiting on Google Sheets, now change their wording as they go instead of showing a dimmed button. Nothing spins, because a spinner on a wait nobody can bound is a decoration rather than information. There is also a line after a run naming the tab the report was written to.
- A small picture beside the verdict. The plain-language verdict now carries a strip showing the middle eight tenths of the outcomes, the median, and your goal when you set one. It is drawn in shapes rather than colours alone, so it survives a grayscale print, and a run with no spread draws nothing rather than a misleading picture.
- Impossible values are refused where you typed them. The A/B test shipped with a negative number of conversions prefilled. Fields that had a nonsensical default now open empty with the shape in the placeholder, and a value that cannot be true is refused beside the box rather than after a round trip. A remembered range pointing at a tab that no longer exists is no longer filled in for you.
- On the website: the numbers in the example now come from the engine. The homepage showed three different figure sets for what it called one run, because the live demo had moved on and the text around it had not. Every figure is regenerated from a real run at seed 42, and a check now re-runs that engine and fails the build if the page ever drifts again. The free and Pro explanation is one paragraph used word for word in both places it appears, the permissions description says plainly that Google adds two scopes of its own, and the templates page now answers a search that finds nothing instead of showing a blank panel.
- Fixed: two labels on a chart could come back identical. Shortening on a word boundary could turn "Catering costs" and "Catering staff" both into "Catering", which is worse than an ugly cut. Labels are now shortened as a set, so a cut only runs into a word when that is what tells two of them apart.
2026-09-23
- Every written report now opens by saying what it says. A "What this says" block sits at the top of the report tab, above every table and every chart, in the same sentences the sidebar card gives you: "Your chance of Cash runway landing at or above 12 is 58%", or "The best first choice is Launch in Q1, worth 57,000 more than the next". One generator writes both surfaces, so the card and the tab can never drift apart, and the older report writers that had no reading at all, including the legacy Monte Carlo output, Scenario Summary, Data Table output, Fuzzy Lookup, the efficient frontier and fourteen of the Data Analysis tools, all have one now. A summary with nothing in it produces no block rather than an empty heading.
- Every Risk run can carry a goal, and answers it in odds. Under your outputs there is now an optional Goal row: at least or at most, and a number, one per output. The card and the report then lead with your chance of hitting it, counted as the share of trials that got there, which is the same arithmetic the threshold table already used. The goal is saved with your model and restored, and templates that have a target fill it in for you. A run with no goal set produces exactly the results it did before.
- Six new templates that ask the question in their title. "What deadline gives 90% odds of finishing?", "How much cash gives 95% odds of not running out?", "What price keeps 80% odds of hitting the margin target?", "How many units to stock for 90% odds of no stockout?", "What bid wins with 70% odds and still makes money?", and "What launch date has even odds of beating the plan?" Each arrives with its goal already set, so the first thing you see is the answer to the question on the card. Six more followed the same day, for hiring, plant capacity, marketing spend, budget contingency, event tickets and monthly saving, so there are now twelve. That takes the library to 378.
- Ask the search box a question with a number in it. Type "what deadline gives 90% odds of finishing?" into the box at the top of the home panel and the matching goal-first template comes up first, and opens with the Goal row already set to the odds level you asked for. The report then tells you whether the run clears it: "You asked for 90% odds, and this run clears that." A question without a number in it searches exactly as it did before. This is a search over the template library, not a chatbot, and nothing you type leaves your spreadsheet.
- Data Analysis fills the range in from what you have selected, and spots a header row. Open a tool with a block of cells selected and the range arrives filled. If the first row is text sitting over numbers, Labels in first row is ticked for you and the note says so, which is the single most common reason a run used to be refused: a column heading read as data. Anything you typed, anything a template filled and anything restored from last time is left alone.
- Nothing selected on your first visit? One click runs a real example. If you have never run anything and open a tool with an empty form and no selection, Sortia offers to run the example: it writes a small sample table onto its own tab and runs it, so the first thing you see is a finished result rather than an empty form. Dismiss it and the form stays exactly as it was.
- Data Analysis refusals name the cell and tell you what to change. Instead of a general failure, you get the specific one: "Cell B14 holds text ("pending"), and this tool needs numbers. Delete it, pick a range without it, or tick Labels in first row if it is a header." The panel also checks your range before it sends anything, so not a range, a single cell or a range over the limit are caught on your screen rather than after a round trip. Thirteen places that could still print a bare failure or "Unknown error" now say something specific.
- The Decisions tab fills the range in from what you have selected. Select at least a two-by-two block before opening it and the range arrives filled, with Labels in first row ticked when the top row is text over numbers, and the panel says it did so. Anything you have typed, anything a template filled and anything restored from last time is left alone.
- Fixed: a template's named chances never appeared. A template's events were handed to the panel without the same shift its outputs got, so the block listing the chance of each named event did not render for anyone loading a template.
2026-09-22
- Sortia reads and writes real .SIPmath files. SIPmath is the open standard for carrying a distribution from one tool to another as a small file instead of as a column of random numbers, and Sortia now speaks it properly: the Standard's own container, the .SIPmath extension its tools open, and the portable generator it specifies, validated against the Standard's published schema. Our files reproduce the published check values in the standard's own reference libraries to twelve decimal places, and 28 of the 30 published trials across all ten of them.
- Export from the tools that produce trials, and import as inputs. Risk exports every output column as one library, and offers to share your inputs the same way. Schedule Risk, the Monte Carlo panel and Data Analysis, both fitting and random draws, all offer a SIPmath export. An import card takes a file or pasted text and adds the distributions you tick as input rows on your Risk model. Distribution kinds we cannot read are listed as skipped with a plain reason rather than guessed at. Decisions has no export on purpose: its result is a handful of discrete outcomes, and a smooth curve fitted over them would misrepresent it.
- Imported inputs can stay correlated trial for trial. A new Coherent with SIPmath option under the seed, off by default, carries the file's correlation structure and every column's seeds, so a library written by another tool reproduces in Sortia the way its author intended. Correlation you add inside Sortia on top of that is still matched in distribution rather than trial for trial, and the guide says so.
- The limits are written down. No finite fit of this kind can carry a Cauchy's tails, so a Cauchy input exports with its tails understated, and at three terms its P1 and P99 come out about 12% of their span short. Every other family round-trips within 1% of its P1 to P99 range. A point mass cannot be carried, so a mostly-zero compound is better shared as two variables, the frequency and the severity, than as their product. We fit up to nine terms today where the standard allows sixteen, and a sixteen-term file from another tool is read and sampled in full.
- A new template: Delay Claim, who owns the days? Forensic schedule analysis for an overrun project: which delays belong to whom, and what the defensible number is.
- Fixed: three exports said "Saved" over a download that never started. The Data, Project and Monte Carlo exports all did this. Whole-number random draws from the Data tool were also exported as a smooth curve, so a Poisson with a median of 4 came back as 3.76; the exported trials now carry their rounding.
- Fixed: the side-rail icon came and went. The add-on's logo address pointed at the bare domain, which has redirected to the www address since 29 August, and a redirect is not always followed there.
2026-09-21
- A sidebar Google refuses to open now tells you how to get in. If Google will not serve the panel, you get a recovery card that names the two usual causes, being signed into more than one account in the same window, or third-party cookies being blocked, with a Retry button. A panel left open after its spreadsheet has gone gets its own card. Opening Sortia from the menu makes one attempt and then says plainly what to allow and to press again, instead of doing nothing.
- Refusals carry a reason, and a repeated one offers help. Every refusal is now classified by why it happened, 344 of the 409 refusal sentences in the product and 133 of the 144 in the Data tool. If you hit the same refusal twice in a row, Sortia opens the guide for that tool and offers to load a working example rather than repeating itself.
- Optimization checks your model before it runs it. A pre-run check names a missing objective or missing variable cells instead of letting the solve fail. There are also two starter models, a product mix and a staffing week, behind a Load example button.
- Try it on sample data. An account that has never run anything gets an offer on the home screen that writes a sample tab, opens the Data tool already filled in, and runs it.
- A Data Analysis result too big for the sheet offers a summary instead of nothing. Before, going over the limit on how much can be written simply refused.
- Risk runs start quicker and say what they are waiting on. Starting a run went from six calls to Google's servers down to four, and while your spreadsheet is slow to answer the status says which stage it is in. A run whose save was refused or failed no longer quietly continues as if it had not.
- Fixed: data with no spread was refused with a reason nobody could act on. Nine Data tool refusals, every value identical, zero variance, columns that duplicate each other, were all collapsed into one general category. They are now recognized as their own case.
- The retention promise is enforced by the data itself. Every token and every record the gate writes now carries its own expiry, 30 days for the one and 24 hours for the other, matching what the privacy page says rather than depending on a cleanup running.
2026-09-16
- A large-run export uses the same column names as the ordinary one. The in-browser export labels columns the way you would read them, like "Parent 1 lifespan (years, uncertain) (C7)", while the server path had only the internal short name to work with. It now carries the real labels across, and where the column count does not match exactly it falls back to the honest internal name rather than guessing.
2026-09-15
- Export the trial data from a Risk run. A new download on the result card writes one row per trial with every input paired with its output, for SimDec or any other tool that analyses inputs against outputs. Up to 250,000 paired trials, built in slices so the panel stays responsive while it works, with the filename taken from your sheet. It is not offered on the sheet-engine path, which never holds the raw trials in the browser.
- Bigger runs export from the server, on Pro. Past what a browser can hold, a Pro account's export runs on Sortia's servers instead of failing, up to the panel's existing ceiling of one million trials, measured at 2.86 seconds for a million trials and a 94.7MB file. It happens automatically rather than as a separate button. A free account gets a plain upgrade message and never reaches the network. The download link is good for an hour, and the file is deleted when it expires.
- Export a fitted distribution instead of a column of numbers. A second download beside the trial data fits a curve to the run's main output and packages it as a portable distribution file.
- Both exports sit under one heading, and each says what it is for. One "Export trial data" group with a short line under each button naming the format it writes, and each button's status line under that button rather than both stacked together after the pair.
- Fixed: the exports did not actually work when they first appeared. The trial-data button never appeared for any real run, and would have wiped the visible result card had it been pressed. The server export could tell a genuine Pro subscriber they needed Pro if their plan had not finished loading when they clicked, read the wrong sheet and refused over a cell that plainly has a formula, and said "Saved 1,000,000 trials" while nothing landed anywhere. All of it was found and fixed the same day, most of it on a live run.
- Fixed: the first open after a fresh install could miss your sheet. The scan that looks at the shape of your data could fire while a permission you had just granted was still propagating, and it threw rather than retrying. It now waits two seconds and asks again.
2026-09-14
- A solve that will be cut off at five minutes asks first. On the sheet-engine path, Google stops any script at five minutes, and Sortia had been quietly shrinking the run to fit without saying so. It now tells you before it starts, so you can cut the scope down yourself rather than reading a truncated answer. Most solves never reach this branch.
- The getting-started instructions name the side panel, and a wrong one was corrected. The start page never actually told anyone to open the side panel, so a new user went hunting through the Extensions menu for a button nobody had mentioned. Worse, the support page told people to activate a Pro key from a menu item that does not exist; the real route is the gear on the panel's home screen.
2026-09-13
- Five Data Analysis tools crashed on an empty range. They now refuse politely. Regression, Neural Network, Logistic Regression, Chi-Square Independence and Random Numbers all threw a raw platform error whenever their input range came back with no usable rows, which happens for entirely ordinary reasons: an empty range, running before pasting, a header row read as data. All five now say what is wrong in a sentence you can act on, each pinned by a test.
- Fixed: one-way ANOVA printed a confident wrong answer. Given one observation per group it returned success, wrote a p-value of NaN into a real sheet, and stated a verdict. It now refuses before the division, the same way it already refused too few groups.
- Weighted Scoring stops showing a trustworthy-looking answer over broken numbers. Lowering a criterion's maximum below a score you had already typed left the totals sitting there unchanged, and the bold Leading chip and highlighted bar still read as the answer. The offending cell is now marked, Create is blocked, and the verdict names the score to fix. The note about what would flip the result also says what a points-mode flip assumes.
- Google's own error text no longer reaches you. Thirteen places could print the platform's wording or an engine's internal name straight through, including after a redeploy, when what a reader needs is a sentence and a Reconnect Sortia button. An invalid file now says "That file is not valid JSON" rather than repeating the parser.
- A finished answer whose save fails is shown, not thrown away. A simulation that completed and then could not write its report now renders the figures and the charts with a line saying they are this run's real answer and nothing has to be simulated again, plus the one missing step: save the report to the sheet again. Optimization does the same when the write hits Google's time limit, and saving again re-sends the same answer rather than re-solving.
- One word per thing. The main button says Run on both tabs in both modes, "Std deviation" and "P5 (5th pct)" are spelt out, the Optimize result rows print sheet-shaped numbers instead of seven significant figures, and success says Done followed by the name of the tab the report is on. The builders say Create model tab, then Writing the tab, then Done. A missing verdict value says the word the case means, "not found" or "no winner", never a dash. 47 template notes say Click Run and name the tool where that helps.
- The home screen speaks plainly. The tile descriptions dropped the method names, the Decisions tile says games rather than a size of game, and the group is called Decide and plan. Hub hints trim to the last whole word that fits instead of cutting mid-word.
- Charts fit what they are drawn in. Outputs that cannot honestly share one value axis now get a panel each, in their own format. The finding on a chart clamps to two lines, a drawing bigger than its window opens at Fit rather than cropped, and a chart with no title is named by what it is rather than "Chart". The frontier's best point kept losing its label at narrow widths, and now moves into the chart's key when there is no room beside the data.
- Refusals and waits are honest on screen. "No input distributions" rings the first card's cell box in red rather than stating it somewhere else. A trial count above the engine ceiling says so in the button while the run goes. The wait before a solve says what it is and stays in view.
- "Recommended by the advisor" now only appears when the advisor sent you. Anything that preselected a tool used to claim the advisor had chosen it. A template now announces itself by name instead.
- Load a saved model from any tool. The save-or-load fold, and the Load a saved model link with it, was only mounted for tools that had an exporter, so the first tool many people open had neither. It is on every tool now, and the Risk tab has one fold worded and ordered like everywhere else.
- Fixed, from a tester round: nothing in the visible instructions ever told you to click a cell, which is now a line in every template that has input cells; three-point estimates got a glossary hint for optimistic and pessimistic; and several templates whose notes opened by describing themselves now open with the plain answer, including the Monty Hall one, whose title now says what it does.
2026-09-12
- Decisions and Project Planning draw their subject. These tools used to answer with a table and a sentence. Seven new kinds of picture now draw the thing itself: decision trees, payoff tables, Gantt charts with a network view, the critical chain fever chart, earned value, the risk matrix and stacked comparisons. Trees draw left to right with the rolled-back values on them, the best path picked out and a cut mark on each rejected branch. Gantts draw float as a hatched extension, dependencies as elbow connectors, and critical bars picked out, with an activity-on-node network one click away. They draw live in the builder as you type, and again as the result.
- A two-way sensitivity map. Vary two inputs at once and get a grid colored by which option wins in each square, with your base case outlined and named, and a hover that gives both input values, the winner and its value. It is the picture that answers "over what range does my answer actually hold".
- The Gantt shows criticality before and after mitigation. Risk events attach to tasks, and each bar carries a two-tone edge with a legend reading before and after mitigation, so what your mitigations bought is visible on the schedule rather than in a separate table.
- Charts zoom, pan, print and save as SVG. Wheel or pinch to zoom about the pointer, drag to pan, a four-button bar for out, in, Fit and 100%, and keyboard equivalents. Print or save as PDF prints just the title, the chart at page width and its reading. Save chart as an SVG sits beside the existing image export. The payoff grid in the dialog is editable and re-solves as you change it.
- Game Theory solves any size of game. It was two-by-two only. It now reads any block you select, finds best responses, pure equilibria, strict and weak dominance and iterated elimination, and a four-by-four selection is understood as the three-by-three game it holds rather than refused or cropped.
- See the model before you solve it. Point the Decisions or Project Planning tab at a table and it reads it and draws the model in place, before any run. A table it cannot read draws the reason with the offending sheet row lifted to the front.
- A tool picker a stranger can use. Instead of a list of method names, one line per tool naming the question it answers, and an Open a working example button that loads that tool's template in a single press. At rest the picker collapses to one row, the chosen tool and its question, so the range box is on the first screen.
- No dead ends after a result. Every result now offers what comes next: change a number and run again, try it on your own table, save this model as a file, or open it in the builder, and the builders open on the table you were just working with.
- Schedule Risk runs in the tab. It runs in slices with a real progress bar and a Cancel that stops it, rather than as one long wait.
- Save or load a model as a file, on most tools. Weighted Scoring, criteria scoring, Game Theory, Critical Path, Critical Chain, Risk Register, Earned Value and the S-curve can all write their model out and read it back. Loading now previews before it writes: the plan box names the tab it will make, where it opens, its size and every cell with what that cell is and its note, and only then does the confirm button write anything, with exactly the text the preview showed you.
- Fixed: text beginning with an equals sign landed as a live formula. An option name, a task owner or a label starting with "=" went into the sheet as a formula through every one of these doors. It lands as text now, and only the cells the layout step marked are ever live.
- Fixed: a failure part way through writing a tab left the wreckage behind. It used to leave a title-only tab, and a retry then landed on "Name (2)". The half-written tab is now taken away again and the panel says so in one sentence.
- Weighted Scoring sensitivity reads as shares. The table now says a criterion is at 25% of the weight now and flips the winner once it reaches 40%, with a line on how to read it, rather than leaving you to interpret a weight. Ranks mode solves the flip point exactly rather than approximating it, no longer misreads points-shaped scores, and the chart stopped showing raw weights multiplied by a hundred.
- Fixed: the Neural Network was always a regression. The Classification or Regression choice never left the panel, so every network was fitted as a regression whatever you picked.
- Fixed: a developer warning appeared when you opened a tool from home.
- A dropped connection in a builder no longer loses what you typed. If Create fails because the connection went stale, the model you were about to send is kept, and the dialog offers to restore or discard it.
- Example tabs are named "Example: something". All 52 of them, consistently, and each remembers its old name so reloading replaces the old tab rather than leaving two.
- Fixed: the shortest-route template gave a different answer every time. It now carries a seed, so the distance its own notes quote is the distance you get.
2026-09-07
- Every number a template promises was checked by running it. The notes inside 323 templates carried 5,846 numeric claims, and nothing had ever run them. We executed 2,174 of those figures through the same route a reader takes, and corrected 131 of them, plus 39 more that were inconsistent with each other. One example is worth naming: a template whose whole subject is reproducibility opened by asking you to set a rate to 42, seed 2026 and press Run to see a stated number, and since the generator change on 2 September those were no longer the numbers you got.
- Fixed: a template that cannot load completely now says so. If a template declared a field the panel did not recognize, the field was dropped in silence, and the panel then ran a model that was not the one the template described. Every surface downstream went on to describe the wrong model with complete confidence. It now collects what it could not apply and refuses out loud, naming each field and what to do about it.
2026-09-06
- Fixed: a wrong percentile on the sheet-engine path. The report built on that path sorted the trial values as text rather than as numbers, so a set of results like 0, 3,000 and 20,865 came back in the wrong order. On the model that found it, P90 read 35,284 where the right answer is 42,430. This was not a mis-drawn chart, it was a wrong number, and it is now sorted numerically.
- A new template: how big should the emergency fund be? It sizes the fund against your own income and spending, and then says whether to add a specific amount or free one up, with the return you give up by holding it stated and the extra said in months of coverage. It runs on free distributions, because learning how this works should not be gated.
- Three charts that were hard to read, fixed. A histogram title claimed the 80th percentile while the readout directly beneath it said 90 in 100. Marker labels were drawn into the y-axis gutter, so the reader saw two labels printed over each other. An axis printed the same rounded label at five different heights. The arithmetic behind all three was right; what you were shown was not.
- Chart titles are no longer crushed by their own buttons. A title like "Each driver walked alone, P10 to P90" could render as two characters plus an ellipsis, which is nothing at all of the sentence the chart exists to say. Titles now wrap by default.
- One distribution card can name several cells. Typing C15, C22 into a single card is the obvious way to say that two cells share a distribution, and it used to fail with "Could not read". Each cell named on a card now becomes its own input with its own draws, and the field says what it takes instead of saying "Input cell" and quietly accepting a pair.
- Fixed: loading an Optimization template from the gallery arrived with nothing to solve. The constraint table came through empty, and the solve then refused with a message about nothing stopping the objective improving, which is true but useless when the reason is that the template never got its constraints. The same pass fixed a threshold marker printing its value twice and a count that read "1 more variable cells".
- The template shelf stops spending your free runs before you have seen anything. Of the first 24 cards a new user met, 23 were Pro. The shelf now interleaves, the first card is always free, and nothing was dropped, duplicated or reordered inside its group. Searching still returns the library's own order.
- Fixed: running out of free runs showed a failure instead of the upgrade card. The refusal arrived as a red "Simulation failed" with an unclickable web address in it, because the panel was answering from a cached copy of your plan and never learned it had hit the limit. You now get the card, and the button.
- Watching a run fill in works in the full-size chart window. Opening a chart full size used to take the replay control away with it.
2026-09-05
- Optimization draws its answer, not just its search. A new chart walks each decision cell from its starting value to its final one, biggest move first, and names the largest mover in the title. A second chart measures every constraint against its own limit, with the limit as the zero line and the binding rows marked, so what is actually holding the answer back is visible rather than inferred. The stochastic optimizer gets the same charts, and the written report carries the constraint chart too.
- Two new engines: project schedules and decision trees. Schedule Risk runs a full simulation over a task network rather than a single critical path, drawing durations from any of the 34 distribution families and reporting how often each task lands on the critical path and which tasks drive the finish date. Decision trees roll back a tree of choices and chances, extract the best policy, price what perfect information would be worth, and sweep a probability to find the point where the recommendation flips.
- Optimization under uncertainty got an efficient frontier. Ask for the best answer at each level of risk and get the whole trade-off curve, with every point using the same random draws so the points are comparable, and an infeasible request stated as a verdict rather than left as a shrug.
- Forecasting got real models underneath it. Eight exponential-smoothing models with damped variants, chosen automatically and with the choice named in the output, plus a stepwise automatic ARIMA. Both carry exact prediction bands rather than an approximation of them.
- Correlated inputs can be pasted as a matrix. If you already have a correlation matrix on a sheet, point at it instead of typing pairs. The diagonal is forced to one, an asymmetric matrix is averaged, and if the matrix is not one a sampler can actually use it is repaired and every pair that moved is named in plain words.
- A forecast can become a simulation in one step. A new door on a forecast result writes a simulation model from the forecast's own bands and fills in the Risk panel. The forecast stays free; the door says plainly that running the simulation spends a run.
- Optimization now handles continuous models up to 10,000 decision cells. Past the size the ordinary engine covers, a sparse engine takes over with a progress ticker, and every answer it returns is checked by an independent verifier before you see it. Whole-number and yes/no models keep the 2,000-cell ceiling, with up to 500 of the cells whole numbers: the method that proves an integer answer solves one warm-started problem per branch and cannot use the sparse path. At full size the measured time is 22.7 seconds when each constraint touches only a few cells, and minutes when everything is coupled to everything, and the panel tells you which to expect before it starts. If the check fails, the model falls back to the proven path where it fits and refuses honestly where it does not.
- Every chance the product states now reads as a count out of 100. "23 in 100 runs" rather than a bare percentage, in one voice everywhere, with a bar under the threshold control that splits the runs below, between and above and always adds to 100.
- You can watch the histogram fill while the run goes. The distribution builds up as trials arrive, the percentiles settle in front of you, and any finished run replays on demand from the draws it kept. Reduced motion gets the ticker instead.
- Hold a driver high or low and see what happens to the answer. A new explorer takes the top or bottom third of any driver's own draws and redraws the histogram, the chances and the budget bar from just those trials, with the condition named, the number of trials in the subset printed, and a reminder on screen that this is not the same as causation.
- Charts got a great deal better at saying what they found. Every chart now leads with the computed result in its title and demotes the variable to a subtitle, labels never overlap, numbers are formatted one way throughout, values sit on the marks where they fit, series are named on the line rather than in a legend, and every chart carries a plain-language line describing what it shows. Hovering or tabbing to a point gives you a tooltip, and in the wide window you can pin one, drag a threshold and read the chance live, set the axis by hand and change the bin density. Exports drop the interactive layer.
- Multi-output runs draw their outputs together. One chart with every output's cumulative curve, directly labelled, which is honest here because the outputs share the same draws. There is also a quantile dotplot beside the histogram for anyone who would rather count dots, a box-plot row, a percentile-band trend chart when the outputs form a series, and scatter plots for the six ranked drivers that you can reach by clicking a tornado bar or with the keyboard.
- Fixed: charts that dramatised noise. Five places scaled a value axis from the smallest and largest value they had and only guarded against them being exactly equal, so an objective that barely moved was stretched across the whole plot and read as a steep decline. That mattered most for the optimizer, whose objective is a statistic of a simulation and therefore wanders by construction. Flatness is now judged relative to the size of the numbers themselves, and a run that did not move says so instead of drawing a story.
- Fixed: reports that never stated a finding. The two-factor ANOVA finding read a field its engine does not produce, so it came back empty on every single run, and nine more report surfaces shipped with no finding line at all. There is now one way to build a report panel and it demands a purpose line and a run-specific finding, with the Optimization finding placed in the first row of the first table so the answer comes before the tables.
- Template quantities say what they are. A corner header read as a title, columns carried no units, durations were printed as decimal hours, paired columns went unexplained and judgment inputs named no source. Six labelling rules and a check against them took 796 findings across 255 templates to zero, and decimal hours now read back as hours and minutes everywhere.
- Reports talk about your problem, not about themselves. The copy was written from the software's point of view and read like documentation of a form rather than an answer to a question. Nine report surfaces and all 48 Data Analysis purpose lines were rewritten. Wording only: no number, threshold or claim moved.
- Progress now measures the thing that will actually stop the run, and names it. An Evolutionary run could read "Solving 1%" at generation 11 of 2,000 while 102 of its 300 seconds were already gone. Every ticker, on Evolutionary, Nonlinear, the simulation, the stochastic optimizer, the frontier sweep and the Monte Carlo panel, now shows the limit that will end the run first and says "Ends on" in the same words everywhere.
- A finished run is no longer lost to a stale session. If your sidebar session has gone stale by the time a long solve finishes, the answer is held and shown rather than failed: the values, the objective and the charts are drawn from what the page is holding, with a link to save it to the sheet once you have reconnected. Notices that are not urgent now wait until a run ends instead of landing on top of the ticker.
- Fixed: a convergence chart that contradicted the report beside it. A run whose report said the objective moved from 249,620 to 243,443 sat next to a chart titled "did not move: 243k at every iteration". Both engines now start their history at the objective's starting value, which also fixes the live sparkline showing only the tail of the run.
- Fixed: a run refused because the active tab was the report from the last run. Writing a report inserts a tab and Google makes it the active one, so the next run read its ranges against our own output. The recovery for this existed but only five entry points used it, and Optimization, Risk and What-If were not among them. It now lives where the reading actually happens, so no tool can forget it.
- Report panels breathe, and Open full size says why it did not open. Every paragraph claimed nearly twice the height it needed and floated in its own pool of empty space. The button that failed silently now revives the connection once, retries, and if it still will not go, says so underneath, naming the cause and the one thing that fixes it. The ceilings table on the performance page stopped running off the page.
2026-09-04
- Four more distributions, bringing the set to 34. Log-uniform, inverse Gaussian, F-ratio and inverse gamma, each with a guide page and an entry in the guided questions, and every count in the product moved to 34 in the same release. All thirty existing families produce bit-identical results to before.
- Set a threshold before you run and the report answers it. Say what number matters and the chance of clearing it appears in the report. Some tools call this a certainty level.
- Two more ways to read the tornado. A third view shows each input's share of the variation rather than its swing, with the caveat that goes with that on screen rather than buried in a tooltip, and a spider chart is available behind a Draw it button. Drawing it spends nothing.
- Optimization stops refusing models it can work through. A linear model too big to solve instantly used to be refused outright. Models up to 5,000 decision cells now run in slices with a progress bar and a live pivot count, and cancelling says the honest thing: stopped before the proof, no answer written. Whole-number models keep the instant ceiling and their refusal says why, and what dropping the whole-number requirement buys you.
- The ceilings went up, on measurement. The instant linear ceiling moved from 1,000 decision cells and 400 constraints to 2,000 and 600, measured at 1.3 seconds at full size, and the whole-number ceiling moved from 100 to 500, with 500 yes/no decisions proved in 1.6 seconds. A long-standing anti-cycling rule was being held on when it was no longer needed, which had left some models unsolvable; one benchmark model went from never finishing to 3,646 steps in 431 milliseconds.
- The performance page says what a ceiling counts. The ceilings read low if you think they measure the size of your spreadsheet. They measure decision cells, the simultaneous unknowns the engine solves for, and 40 of those can be fed by 200,000 cells of data. The page now gives the definition, that example, the separate limit on how much data is read, and where the ceilings come from.
- Fixed: a correlation of 0.995 was printed as a perfect 1. The verdict line rounded any correlation at or above 0.995 up to r = 1, which claims a perfect relationship the data does not support. Correlations now have their own formatter that refuses to round to a number it cannot certify.
- 362 templates reconciled. Tab names standardized, the last places that still said Solver reworded to Optimization, input cells that claimed to drive something wired to what they claim, and guidance that told you to edit blue cells that do not exist removed. Several templates had figures in their notes that were simply wrong, including best and worst cases written as constants rather than computed, and those were recomputed from the real runs.
- Fixed, from a reliability pass: pressing Enter could fire one run for every time you had visited that panel; an error inside the progress ticker could leave a panel stuck as busy with a Cancel button that did nothing; a missing timeout meant plan badges could silently never appear; and saving your forty-eighth scenario crossed a cell size limit with no message at all.
- The search box understands more of the words other tools use. Certainty, correlation matrix and the fitting and convergence words now find what they mean here.
2026-09-03
- The guides and the chart expander open instantly. The distribution guide, the optimization method guide, the tool guide and expanding a chart all used to ask Google's servers to build a window, which takes about two and a half seconds no matter how little work it involves. They now open in the panel from what is already loaded, in about twenty milliseconds. Every one of them keeps an Open full size link for the wide window when you want it, and expanding a chart now shows the whole result rather than a trimmed copy of it.
- Coming back to a tool you have used before fills most of the form instantly. Everything that does not depend on which tab you are looking at, your options, trial counts and settings, now appears the moment the panel does instead of after a wait. The cell addresses still wait, because only the server can say which tab you are on.
- Panels appear before they start talking to Google. The one call a panel makes when it opens now happens after the panel is on screen rather than while you are waiting for it.
- Fixed: the cell you had selected sometimes did not fill in. On the first panel you opened in a session it silently filled nothing, and on later panels it could use a selection you had already moved away from. It now waits for the answer to the question it is asking.
- The home button no longer asks Google for a panel you already have. Pressing the house icon rebuilt the whole sidebar on the server, about two and a half seconds, to show a screen that was already loaded in the tab. It now switches instantly. The older standalone panels still have to ask, and they now answer the press immediately instead of sitting silent.
- Starting a simulation is about five seconds quicker. Every click that reaches Google's servers pays roughly two and a half seconds of the platform's own overhead before any of our code runs, and Risk Analysis was paying it three times over, one after another, before the first trial. Saving your inputs, reading your model and reading its number formats now all go out together instead of queueing behind each other. Optimization gained the same treatment. This does not make Google faster; it stops us asking three times when once will do.
- The tools you are about to open start loading before you click. Hovering a door that opens a window now begins the work, so the click lands on something already in progress rather than starting from nothing.
- Buttons that reach the server say so immediately. Several controls, including Activate your key, sat silent for the whole wait with nothing on screen. Every one of them now answers the press in the same instant.
- A measurement you can check. The timings above come from a rig that drives the real interface in a browser with the server delay held at its measured value, and it is committed alongside the code, so the next change to any of this can be measured the same way.
- Sortia opens as soon as it is ready. The opening screen used to stay up for a set time even when the tool was already loaded behind it, which spent about a second of every open on branding. It now lifts the moment the panel is there, and the drawing on it finishes early or late depending on how long the real load takes.
- The cell you already had selected fills itself in. Open Risk Analysis with your uncertain input cell selected and the first row arrives filled, marked as coming from your selection, with one click to clear it. Selecting a block of cells offers to set up a row for each one rather than doing it without asking. Nothing is filled if you have started typing, or if the field already has a value.
- The dialogs move the way the sidebar does. The template library, the tool advisor and the two reference guides now share one set of transitions with the panels, one hover behavior, and the same treatment of depth. If you have reduced motion turned on, motion in these windows is now removed rather than merely quicker.
- Every panel now opens with one quiet line of help at the top. Guide, Templates, and where they apply, Open in builder and Load a saved model. The guide used to sit underneath the form it explains, which is the wrong end for anyone who does not already know what the form wants.
- Where results go is a setting you can see before you run. It sat below the results on every panel, so it drifted further down the page after each run and most people found it only after a run had gone somewhere they did not want.
- Re-running after reading a report no longer risks running the wrong sheet. Opening a report makes its tab the active one, so a second run could read the report instead of your model. Sortia now remembers the tab your model was on and reads that, unless you have deliberately moved to another sheet of your own.
- Results lead with the answer. The card used to headline the run, trials and seconds, with the answer smaller underneath. The answer is now the headline, in your own cell's format, and Optimization states its answer in the panel instead of leaving it on the tab. Opening the report is the first action offered, where before the only thing you could click was Undo.
- Choosing a tool in Data Analysis is a search box that browses. Thirty-eight tools sat behind a plain dropdown with no search. It now shows everything grouped by category when you focus it, keeps your recent tools at the top, and filters as you type.
- Earned Value stops one click from a verdict built on example numbers. The tool shipped with figures already in the boxes. They are now shown as examples, and the button says so, until you type your own.
- The tool advisor and the template library got their keyboard and focus behavior fixed, and the home panel keeps its three doors in place instead of letting suggestions push them down the screen.
- Reports gained the charts they were missing: Schedule Risk now draws the completion curve and the critical-path shares it was only describing in numbers, and an Optimization report shows what each decision changed. Shared optimization runs record their seed, so someone else can reproduce them.
- Fixed, same day: loading a template could still replace a tab without asking. The confirmation shipped this morning was never able to run, because the gallery did not tell the dialog which tab a template writes. That made the new one-click load button on each card a one-click replacement of your work in the case where a tab from a previous load was already there. The gallery now carries the tab name, the confirmation fires, and a test checks the data rather than the wording, so it cannot go quiet again.
- Fixed: pressing Enter no longer runs a model you have not looked at. Enter has always run the panel you are in, and this morning it started reaching forms that arrive already filled, from a template or from your last session. Enter now waits until you have typed, changed or clicked something in the panel, so a form Sortia filled in cannot be run by a stray keystroke.
- Fixed: the sheet-engine wait told you a number nobody measured. It estimated the wait at 2.5 seconds per sheet recalculation, which is this product's figure for a completely different thing. It now says how many recalculations the run needs and what the time limit is, and leaves the speed to your sheet, because that is the part we do not know.
- Fixed: a paid report reprinted the product name it paid to remove. The new provenance line stamped Sortia's name on every report. Paid reports keep the build reference, which is what makes a shared tab traceable, without the branding.
- Loading a template is one click, and it asks before it replaces anything. Every template card now carries its own button, so going from the gallery to a filled-in model no longer passes through a details page first: the path from the gallery to results is three clicks, down from four. And if loading would overwrite a tab from a previous load of that template, Sortia says so and asks first, instead of replacing it silently.
- A simulation now tells you whether the answer has settled. Every run, not just the ones with early stopping switched on, reports how much the average is still moving: a running figure with its 95% confidence range, in your own cell's number format, and one word for the state of it, Still moving, Settling or Steady. When the run finishes, the convergence curve is kept as a chart rather than thrown away, so you can see whether more trials would have changed anything.
- A finished simulation no longer loses its results to a busy document. Optimization got this in the last release; Risk Analysis has it now. If the sheet is busy when a long run finishes, the results are held and the write retries, and the message says the writing failed rather than blaming the simulation.
- The optimizer shows the number you are actually optimizing. On a model with constraints, the running best value was an internal search figure that included a penalty, not your objective. It now shows the objective. The stall counter, which was a bare number, now says in words how long the search has gone without improving, what it does next, and what Cancel keeps.
- Reports carry their own provenance. A written report now records the date, the model tab, the engine, the trial count and the seed where there is one, so a tab you forward to someone else can answer what produced it. A run that was cancelled or stopped early says so in the report, where before it was indistinguishable from one that finished.
- The interface got a pass for depth, motion and feel. Buttons and controls now answer a press. Panels, cards and fields sit at deliberate depths, built with light rather than shadow, because a shadow on a near-black background does nothing. Everything that appears does so with one consistent gesture rather than four different ones, and everything that moved for decoration rather than meaning was removed. If you have reduced motion turned on, the motion is gone rather than merely quicker.
- Fixed: the free-plan footer stamp wrote over the Mean row of the Monte Carlo statistics table; the older histogram charted the header cell and dropped the last two trials; the reproducibility seed could govern an optimization run while its field was hidden; and a button in the results destination control rendered unstyled.
- The optimization engine prices its pivots by measurement. Inside a whole-number search, 94% of the linear programs the engine solves start from the parent's answer and repair it with a few dual simplex steps rather than solving from scratch; that path now chooses its pivot row by steepest edge, which cut the benchmark's hardest instance by about 15% with every proof intact. The same rule was also tried on the main pivot loop, measured slower at this engine's sizes, and declined: both experiments and their numbers live in the benchmark, and the default is whatever the benchmark proved faster.
- Answers survive a busy document. When a solve finishes in the browser and the sheet is busy taking writes from another run, the write-back now waits the contention out on its own: the server retries with widening pauses inside a single call, the panel retries three times on top, and if the tab is in the background when retries run out, the finished answer is held and saved the moment you switch back. A blank report tab left by an interrupted write is now recognized as ours and cleaned up instead of being preserved as an empty "(backup)" tab. Real tabs with your own data on them are still never deleted.
- Runs keep full speed in background tabs. Browsers slow a hidden tab's timers to once a second, and after five minutes to once a minute, which stretched a simulation or solve left in a background tab from minutes into hours and kept the document busy for every other tab the whole while. The long engines now schedule their work through a channel the browser does not throttle, so switching tabs mid-run no longer slows the run or anyone else's.
2026-09-02
- The sidebar and dialogs open faster. Every open used to assemble its page on Google's servers from parts, about 1.4MB of assembly work per open, and the browser then parsed a 300KB search index before showing anything. The pages are now assembled once at build time and served ready-made at 792KB, and the search index loads quietly in the background after the panel is already on screen. If you type a question before it arrives, the answer appears the moment it lands; nothing is dropped. The template library, distribution guide and advisor dialogs got the same treatment.
- Models that look up their numbers now export. A VLOOKUP or HLOOKUP with a plain key against a plain key column, the way a ratings model looks up each team's rating by name, always lands on one cell decided before the run starts. Exporting a model as a spec now resolves the lookup to that cell instead of refusing. A lookup whose landing row genuinely could move at run time still refuses, and the refusal now names the reason and the fix, down to the one-word change when the fix is adding FALSE.
- The random number generator was upgraded. The engine's generator moved from a 32-bit-state design to sfc32, which carries 128 bits of state, because at a ceiling of one hundred million trials times dozens of draws per trial, 32 bits stops being a margin. Runs stay bit-identical for the same spec and seed on any machine running this build, as before. Seeded results differ from the old generator's, which is why this happened now, while the product is young: nothing outside the engine depended on the old stream, and the homepage demo runs the same sfc32 the product ships.
- Long runs are priced before they start, from a measurement. Above a million trials, Risk Analysis now times the first two thousand trials of your actual model on your actual machine and tells you the projected total before it commits, replacing a fleet-average figure that was wrong for any particular model. During the run, the ticker shows time left measured from the run's own pace, updating as it goes.
- A new template: Did the Automation Deliver? Twelve recurring tasks timed before and after an automation rollout, run through a paired comparison. The sheet turns the verified saving into hours a year, a dollar figure and a payback date without anyone typing a conclusion, and the note spends its honesty on the two tasks that got worse, the post-rollout weeks that flatter, and the maintenance hours that erode the win.
- Counted: the clicks from a model to its results. Eleven mouse clicks from a model on your sheet to a distribution of results, nine with the default bell curve, four from a template, no dialogs, under a convention strict enough to count clicking into a field. The count and its method are on the performance page, and the build fails if the interface changes without a re-count.
- Stop early once the answer is steady. An opt-in check in Risk Analysis: every 5,000 trials, once the average's 95% confidence interval is inside 1% of the answer's own scale, the run stops and says so, and the report shows the trials actually run. Checks land on fixed trial marks, so a seeded run stops at the same trial on every machine. Some tools call this precision control.
- Enter distributions as percentiles. If what you know is a P10 and a P90 (and a P50 for triangular), a new control on Normal, Lognormal, Uniform and Triangular inputs solves the parameters that reproduce exactly those percentiles, shows its work, and stores only the solved parameters.
- Scenario analysis in every simulation report. After the tornado: for the trials where the output landed in its highest and lowest 10%, what each input's median was, and how far that sits from its usual value in units of that input's own spread. The question a planning meeting actually asks of a bad quarter.
- Distribution fitting grew up. Fit every column of a range at once (one block per column plus a best-fit summary), and every candidate now carries three verdicts: the worst single gap, a tail-weighted statistic, and a likelihood score that charges for extra parameters, with plain guidance on when to trust which.
- A new distribution: Compound (events × cost). The total of a random number of events, each with a random cost: claims in a year, outages, warranty hits. One input instead of a fixed-count column, with its own entry in the distribution guide and the guided questions.
- Models that speak another tool's dialect are understood. Search the template gallery for assumptions, iterations, solver or spider and it now finds what those words mean here, and the panels say so in their own help text. Exporting a model that looks values up with XLOOKUP or INDEX/MATCH now works the same way VLOOKUP does.
- Fixed: the status dashboard now shows which build a tab is running and reloads itself once if it gets stuck, so a long-open tab can no longer sit quietly on yesterday's page.
2026-09-01
- Two new tools: Association Rules and Classification Tree. Association Rules is market basket analysis: give it one row per basket and one column per item, and it finds what genuinely gets bought together. It sorts by lift rather than confidence, because confidence rewards whatever is simply popular, and in a cafe every rule ends in coffee. Classification Tree learns a stack of yes/no questions that sorts rows into categories, and then prints the questions, so the rule is something you can read out loud, argue with, and apply by hand rather than a score you have to take on faith.
- The classifiers now tell you what they are actually worth. Logistic Regression used to score itself on the same rows it learned from, which flatters every model ever fitted. It now keeps a quarter of your rows back, never fits them, and reports both figures side by side so the gap between them is visible: a wide gap means it has memorised rather than learned. It also reports AUC, which is the number to trust when the outcome is rare, because accuracy can look excellent by predicting "no" every single time. The Classification Tree prints the same held-out score next to what you would get by always guessing the commonest class, and says plainly whether it beat it.
- A new table: what happens if you act on only the top of the list. Ranked by predicted probability, how much of what you are looking for sits in the top ten per cent, twenty, and so on. This is the question a targeting decision actually asks, and until now the answer only existed as a sentence in one template's notes.
- Choosing a solving method has a guide of its own. The "?" beside Solving method in Optimization opens the same kind of surface as the distribution guide: answer two questions and it recommends Simplex, Nonlinear or Evolutionary, or browse all three with what each one does, what it cannot tell you, and the real cell ceilings.
- Exporting a model no longer refuses on ordinary data. A column of raw numbers feeding a total would be rejected once it passed a thousand rows, even though the same model ran on the sheet without complaint. Those columns now export cleanly.
- Fixed: a lost connection now offers the one-click way back on every panel rather than only two of them; a long optimization checks the connection before it starts rather than dying five minutes in; AI readings that were complete and useful were being discarded for being a hundred characters too long, and now arrive; a run that is interrupted says so instead of going quiet; and the results chart from a previous run no longer sits on screen during the next one.
2026-08-30
- Optimization proves more, and never pretends. The whole-number solver was rebuilt: problems that used to time out after seconds now come back proven in milliseconds, and one case that quietly returned a wrong answer labelled optimal is gone. When a search does stop early, the result now says so plainly instead of borrowing the word "Optimal". The Nonlinear engine gained a gradient method that reaches better answers in a fraction of the time, and its result names the method that produced it. Every published ceiling on the performance page was measured, and the build fails if the site and the engine ever disagree about a limit.
- Simulations run several times faster. The Monte Carlo engine was rewritten in its hot loop: ten thousand trials in a few milliseconds, one hundred thousand in under a tenth of a second, with correlated inputs faster still. Seeded results are unchanged to the last digit, and the same speed-up reaches Schedule Risk.
- Editing a template can no longer produce confident nonsense. Deleting or adding rows moves your formulas but could leave the Sortia panel pointing at the wrong cells, and a solve would then return zeros with no warning. Both engines now check before running and, if the panel has drifted, stop and say which box to fix.
- Analysis reports carry your names. A summary of a column used to drop who each row was about, so a roster fairness report could not say who was carrying the weekends. Reports now keep your labels, and the two-factor tables name your factors.
- Every cell is yours to change. The color key on every template now opens by saying so, including the title, and then explains what each color is for. On the nursing templates, "call out" became "call off", mandatory overtime says what it means, and the 2,080 hours figure explains itself (40 a week times 52).
- A new page: Performance. The measured ceiling of every engine, the benchmark that produced each figure, and what the tool does when you reach a limit. Only our own numbers, re-measured on every engine change.
- Fixed: heavy statistics runs got dramatically faster at large sizes (a two-factor ANOVA at the 500,000-cell ceiling dropped from ten seconds to a fraction of one) with results identical to the last bit; the Evolutionary engine finds noticeably better answers on the same budget and says why it stopped.
2026-08-29
- Plain words everywhere a template used shorthand. Column headings that assumed you already knew the jargon now spell it out: Preds is Predecessors and Prob is Probability, on every template that used the short forms. The histogram guide says what a bin actually is and what happens to the picture when you make them wider. Mean against median gives you the rule for what counts as far apart instead of only the phrase. Skewness and kurtosis keep their precise wording and gained a plain sentence underneath. Five more fields that named the tool's own machinery, like Trials per candidate and Generations, now say what they are for.
- Six templates renamed. Catch the Fat-Finger Entry is now Catch the Outlier Entry. Deadline Brinkmanship and Find the Long Pole went the same way, along with three others whose names were a joke at the reader's expense rather than a description of the work. Names people actually search for, like Hurdle Rate and EOQ, stayed exactly as they were.
- Reports call your things by your own names. A two-factor ANOVA used to report on "Sample" and "Columns" when your sheet already said Deck oven, Convection, Sourdough and Rye. Every tool that prints a table now reads the labels off your sheet and uses them, instead of printing the textbook's words over the top of yours.
- The gallery opens on the Starter models rather than on all 355 at once, and every template now carries a line on adding and removing rows. The color key says which cells are labels you are meant to rename.
- Fixed: running a tool, clicking the output tab to read the answer, then running again was refused, because Sortia was looking at a tab it had written rather than at your model, so every report now remembers the sheet it came from; a grid that asked for Rise did not say whether it wanted centimetres or degrees; Goal Seek, which moves a single cell, now points you to Optimization when one cell is not enough instead of simply stopping; step three of the instructions now says the report is written to a new tab in the same spreadsheet and that nothing is downloaded.
2026-08-28
- The AI reading waits long enough for the model to answer. Longer results were being cut off part way through, so the reading either arrived truncated or did not arrive at all. It now allows the time the model actually takes.
- Fixed: the "Sortia was updated, reconnect" notice could reappear immediately after you reconnected, and keep reappearing, because it compared two different things and never agreed with itself; switching to another tab in the middle of a run no longer breaks the run; the figures in a risk report are named and formatted the same way on every surface that prints them.
2026-08-27
- Template 355: What Is This Comp Package Really Worth? Base, bonus, equity and the odds attached to each, valued as one package rather than as a list of best cases.
- Fixed: the first click on Sortia's card, before Google's permission prompt had been answered, could show a raw error instead of asking for access, which meant a new install's very first action could fail with a message written for a developer.
2026-08-26
- Every template in the gallery run end to end and audited. All 354 were opened, run and checked against what they promise. Fifteen serious problems were fixed, most of them shared by families of templates rather than confined to one, so the fix reached every template with the same shape.
- Template notes state their own numbers. Around a hundred worked notes were rewritten to walk through the result the template actually produces, with the figures from that sheet, instead of describing the method in the abstract. Forty of them named a column by its letter where they should have named the column.
- Every template card asks one short question, so the gallery reads as a list of questions you might have rather than a list of techniques.
- Fixed: the homepage advertised 224 templates while the gallery served 354, and a test now fails the build if those two ever disagree again; a job-shop template ran the wrong engine; a wedding template offered a figure it had no way to compute.
2026-08-25
- Four claims that were not true came off the site, along with every comparison written against another product by name. What is left is what the product does.
2026-08-24
- Every error message rewritten. Roughly 285 messages across the add-on now say what happened, where it happened and what to do about it, instead of restating the rule you just broke. Score an option 30 on a criterion whose Max points is 20 and Weighted Scoring used to tell you that 30 was above 20 and stop; it now names the cell, says what Max points means, and gives you both ways out and what each one costs. A selection too big to read says how many cells it covers, why that is the ceiling, and what a range that works looks like. An expired key says Pro is switched off, that every free tool still works as before, where to renew, and what to do if you have already renewed. Nine in ten messages now end in something you can do, against fewer than two in ten before, and half of them name the exact cell, row or range.
- Error messages no longer repeat back what you typed. A failure used to quote your option names, criterion names, tab names, column headers, or the contents of the cell that would not parse, and error text is written to the add-on's log where a developer can read it. Every one of those now names the location instead: the cell, the row, the range. What is left in a message is a number, a position, a cell reference or Sortia's own vocabulary, and a test now fails the build if that stops being true.
- Type that holds its shape when the web fonts do not load. The site and the sidebar use one stack per role now, and each fallback was picked to keep the page looking like itself rather than merely landing in the right category: Georgia then Cambria behind the serif, the platform humanist sans behind the body text, the platform monos behind the figures. On a slow connection, on a locked-down network, or anywhere a web font is stripped, the page keeps its proportions.
- Fixed: four Project Planning readers reported a row's position in the table they were handed rather than its row on your sheet, so a duplicate ID on row 15 of a table starting at row 10 was reported as row 5.
2026-08-23
- The site rebuilt as one site. Every page carries the same header and the same footer, so install, pricing, templates and support are one click from anywhere. Every template page now links up to a method hub, where most of them used to link nowhere, and five hubs are new: statistics, machine learning, forecasting, optimization and what-if. Two new pages: Start here, a walkthrough for anyone who has barely used Google Sheets, and Tell someone, the message you would send a colleague.
- A warmer palette. The cold near-black behind shaded sections is gone for a deep forest green, the accent that stands for a range moved to the yellow-green a firefly actually emits, and the light sections moved from cool paper to golden light. Every text color on every ground was measured again, and not one pair reads worse than it did.
- Template sheets describe themselves accurately. The color key and the side rail now match the sheet in front of you: 76 templates had promised a dark answer cell they do not have, and 70 advertised a color for calculated cells they never used. A name you type is colored like a figure. Nineteen worked notes answer, on the sheet itself, the things people were getting stuck on: what Max points means, what the scoring scale is, which row is the root, how a volume price break is entered.
- Contact by purpose: privacy@sortia.io for data rights, support@sortia.io for support and license questions, hello@sortia.io for developers, billing@sortia.io for a team quote.
- Fixed: two decision templates printed figures inside their branch labels, so a root row went on asking "Accept $19,000 now or counter at $21,000?" after those values had changed; Pricing said a written reading comes with every result, when four of the 35 data tools return no reading; the Academic price was published in the page's machine-readable offers as though it were open to anyone.
2026-08-22
- Written readings of the result. After a run, a "What this means" card reads the result back in plain language: the probability that matters, the biggest driver, what to tighten first. Every install gets a reading the engine writes from its own figures. On Pro the same figures also get an AI reading, written by a language model, which is sent only the shape of the result (ratios, correlations, cell references) and never cell values, labels or formulas; any figure it invents is discarded. There is a switch per person, and a policy per domain that starts off, and a "See what was sent" disclosure on every Pro reading. The privacy policy inventories the payload field by field.
- Team and site licenses on one page. Three named licenses on one invoice, or one key for everyone at your domain. Details at Teams.
- 184 templates in the gallery, every figure computed by the engines.
2026-08-21
- The Project Planning tab grew from four tools to seven and now gates as one Pro engine. Earned Value and the S-Curve completion forecast were free before this date and are inside that gate now; anyone first using Sortia before 2026-08-13 keeps both, free and uncapped, under the Grandfathering Policy. Five full-quality Pro runs still cover them on the free plan.
- A Decisions tab shipped alongside it: weighted scoring, priced tradeoffs and 2x2 game theory, gated as one Pro engine, each with a guided builder dialog. The three new Project Planning tools are critical path, a risk register and resource load.
- Fixed: payoff pairs like "8, 8" were read as dates by Sheets, so Game Theory could not run; the S-curve looped on stalled progress and crashed at 100% complete; six verdict branches read field names their engines never emitted, so the three t-tests, Correlation and the two forecasters shipped with no explanation at all.
2026-08-15
- Anonymous usage counting, disclosed and durable. The add-on now reports opens, tool views and finished runs with day-scoped anonymous tokens; the privacy policy gained an exact inventory of every message in the same release.
- 27 new templates for construction risk (P80 schedules, contingency survival), FP&A (13-week cash, covenant headroom, budget envelopes), and the classics classroom (Monty Hall, the wildcat well, diversification). Every figure computed by the engines.
- License management: "Manage license" now shows your plan, end date and billing links, with a back button.
- Fixed: million-trial simulations no longer stall while writing the report; multi-output runs write every report; long panels always scroll to the bottom.
2026-08-14 to 2026-08-15
- The new home screen. The sidebar opens on a compact hub that fits without scrolling: three launch doors (Start from a template, Find the right tool, About Sortia) and the six tools. The template library became a full-screen searchable dialog with topic, level, tool and plan filters and a worked-note preview per template.
- One visual system across template sheets, output reports and charts: same header treatment, same color key, same tab color, readable figures everywhere.
- Faster: the sidebar payload shrank by roughly 60KB across two passes, dialogs pre-warm on hover, and the template gallery paints instantly.
2026-08-13
- Grandfathering published: anyone using decision trees, Schedule Risk or Critical Chain before the 2026-08-13 line keeps them, permanently and unmetered. Policy at /grandfathering.
- Team and site licenses: named-seat bundles (3/10/25/custom) and school/company site licenses, with seat management on /activate.
2026-08-12
- Engine pages: a public reference page per Pro engine, figures computed by the shipped engines.
- Gate messages rewritten to state exactly what stops and what stays free; free runs are full-quality, at the same size and trial depth a Pro license gets.
2026-08-10
- The free plan grew: every plan-tier size cap deleted. Free is the whole toolbox (statistics, machine learning, all three optimization engines, what-if tools), plus five full-quality runs of any Pro engine. Pro is the five risk and decision engines plus unbranded output. Correction, 30 August 2026: this entry originally said that every size cap had gone and that free was uncapped. That was true of the caps the license used to impose and was never true of the engine ceilings, which apply to everyone alike. The engine ceilings are now stated on /pricing and on each method page.
2026-08-06
- Sortia listed on the Google Workspace Marketplace.