Live
Available to use today. No invitation, no waiting list.
Roadmap
Everything we are building for small and midsize businesses, in one place. 36 entries, each with the stage it is actually at and a fact you can go and check — 2 live today, 17 still ahead of us. You will never have to guess which is which.
We publish stages, not dates. A stage is something you can verify; a date on an unbuilt feature is a guess, and a percentage is a number without a definition. So each entry says where it genuinely stands — Exploring means we have made the case for it and are testing that case with customers before we commit.
Who this is for
If you run a shop, a firm, a restaurant group, a service company or a contracting business, IRIS starts from the same place: describe a problem the way you would to a colleague, and it asks what it needs to know. Nothing about that assumes an industry.
What we then build on top is depth — the vocabulary, the documents and the sequence a particular kind of business actually uses.
Available to use today. No invitation, no waiting list.
Built and running internally. We open it to customers once it clears our own bar, not before.
Specified and signed off — what it does, what it deliberately will not do, and how to turn it off. Build not started.
Committed and tracked against a real issue. Design comes next.
We have made the case for it and are testing that case with customers. Not committed yet.
Everything in flight
Filter by track, or read straight down a column. Every entry that is not yet built lists the work it takes to get there — including the parts that are a decision rather than code.
Available to use today. No invitation, no waiting list.
Answer a few questions about a problem in your business and IRIS produces a planning brief you can read and edit. Nothing to install, no account to make.
How we know: Open the IRIS page and use it. There is no sign-in in front of it.
Open it →What we hold, how long we hold it, and a list of every third party that touches your data — named, not summarised as 'trusted partners'.
How we know: Three published pages. Each one states on its face that it was drafted against verified system behaviour and has not yet been read by a lawyer.
Open it →Built and running internally. We open it to customers once it clears our own bar, not before.
The full workspace: describe a problem in conversation, IRIS asks what it needs, and you get an editable plan that separates what you confirmed from what it assumed.
How we know: Built and deployed. Not open to customers — our own readiness review records the status as 'not ready for customer invitation or production use', and scoping is how the queue is formed.
Open it →Change any line, and see which parts you confirmed against which parts IRIS assumed on your behalf. The assumptions are marked, so you always know what is load-bearing.
How we know: The editable specification and the confirmed-versus-assumed marking are built and running in the workspace, behind the same invitation gate as the rest of Phase 1.
Sometimes you want an answer, not a planning session. General questions stay separate from planning conversations, so a quick question does not turn into a document.
How we know: Built and merged: a general question is a distinct kind of conversation from a plan, so the two cannot be confused in the workspace or in what gets sent for review.
Send the finished plan to a Magnolia engineer who reads the whole conversation and comes back to you. The plan is the handoff, not the deliverable.
How we know: The review path is built, and its destinations are explicit in code: asking for a human engineer is one destination, and contributing knowledge is a separate one you have to choose deliberately.
Put a document in front of IRIS and have it read what is in there, instead of asking you to retype it.
What it takes
How we know: The document service and its tests are on the main branch. Nothing in the workspace reaches it yet — the panel that would is still a placeholder, so no customer can use this today.
Every boundary is a constant in the code, not a quota we tune quietly: 12 turns per planning conversation, 8,000 characters per message, 60,000 across a conversation, 10 documents each up to 10 MB, 40,000 characters extracted per document, 500 pages per PDF.
How we know: Read them off the source: MAX_USER_TURNS, MAX_MESSAGE_CHARS, MAX_TOTAL_CHARS, MAX_DOCUMENTS_PER_CONVERSATION, MAX_DOCUMENT_BYTES, MAX_DOCUMENT_CHARS and MAX_PDF_PAGES. Where a limit truncates rather than refuses, we say which — the character cap on extraction clips, and content past it is not read.
A standard turn answers quickly. A thorough turn is allowed to take substantially longer and is given a wider deadline to finish in, for the questions that deserve it.
How we know: Two effort levels exist in the service and each carries its own budget in milliseconds. They were widened after a real customer request timed out at 30 seconds while the model had already finished and been paid for — the answer was thrown away, which is the defect that produced the current numbers.
Text arrives token by token rather than in one block at the end, so a long answer is readable while it is still being produced.
How we know: The streaming path is built end to end, from the model adapter through the HTTP function to the workspace. One consequence we state rather than hide: a turn that uses tools is answered without streaming, because the streaming path discards the frames those tools produce.
Passwords, keys and card numbers are rejected at the door rather than deleted afterwards. Deleting it straight away is not the same as never having held it, and the difference matters if you are ever asked.
How we know: Eight content rules run against every message, and the same check runs on extracted document text and on a transcript before it is written to storage. Validation happens before the write, not after — asserted by a test that fails if the order is swapped.
The production model endpoint refuses public network access. Traffic reaches it over a private path inside our own tenant.
How we know: Verified directly on the production resource: public network access is disabled, per ADR 0021. That is a property of the deployed estate you can ask us to re-demonstrate, not a diagram in a slide deck.
What you have used and what is left, shown before you run out — and when you do hit a limit, a sentence that says which one and what to do, not a generic failure.
How we know: Per-customer entitlements and usage metering are built under MSAE-216, along with limit messages that name the limit. Nothing surfaces the running total to the customer yet, so today you learn where the edge is by reaching it.
The general starting point. Cross-industry operational planning that does not assume what you do for a living — it asks.
How we know: `general-business` is an active domain in the product's own domain catalog and the default every conversation falls back to. It is a template rather than a specialised pack, which is exactly what it claims to be.
Estimating, job costing, change orders, crews, subcontractors and procurement, in the words your crews already use — across fifteen specialties from concrete to glazing.
How we know: The one domain built out in depth: an active `construction` domain at playbook v2 with fifteen named specialties, plus a reference pack of vocabulary, roles, artifacts and workflow stages. Every other domain runs the general playbook.
Inventory, counts, waste, scheduling, shift checklists and supplier invoices — the operations that eat a manager's week.
What it takes
How we know: `retail-qsr` is an active domain today, at template maturity rather than a tailored pack. The deepest work in this area is the Synergy operations console, running against one operator's live data.
Utilisation, engagements, handoffs, and the reporting a partner asks for on a Friday afternoon.
What it takes
How we know: `professional-services` is an active domain today, at template maturity. It works on the general playbook; no tailored pack has been written for it yet.
Specified and signed off — what it does, what it deliberately will not do, and how to turn it off. Build not started.
Let IRIS look something up while it plans — a code, a standard, a supplier's published spec — instead of relying only on what it was trained on.
What it takes
How we know: ADR 0049, currently proposed and awaiting acceptance. It records three independent ways to switch the capability off, and one risk we can detect afterwards but cannot prevent. Not implemented.
Choose to send a redacted version of your plan into the knowledge Magnolia holds, so the next business like yours starts further along.
What it takes
How we know: ADR 0047, currently proposed. Its rules require that you read and approve exactly what leaves, and that we tell you plainly that an approved scope cannot be withdrawn.
Committed and tracked against a real issue. Design comes next.
Buy it without a purchase order, a contract negotiation, or a call — the way a small business actually buys software.
What it takes
How we know: Tracked as MSAE-217. Nothing is designed and no payment path exists; we take no card details anywhere on this site today.
Use your existing sign-in instead of another password, so someone who leaves your company loses access when they leave it.
What it takes
How we know: Asked for often enough that it is a standing question in our own scoping form's security section. Tracked and not designed — today, access is by named invitation only.
Retrieval over your own uploaded documents, with each claim carrying a pointer back to the document and the passage it came from, so a plan can be checked rather than believed.
What it takes
How we know: Text extraction is built and hardened — PDF geometry, page boundaries and a parse deadline. Retrieval itself is not: no embedding, no index, no passage-level citation exists. This is the next layer on a foundation that is already load-bearing.
A schema-constrained specification — tasks, systems, owners, dependencies as typed fields — so the output can populate a project tool or a ticket queue instead of being copied by hand.
What it takes
How we know: The specification is generated as prose today. Typed schemas already govern the runs and evidence around it, so the shape is not novel here; constraining the model's output to one is unbuilt.
An email when your access is approved or a reviewer comes back, so the workspace is somewhere you go when there is news rather than somewhere you check.
What it takes
How we know: Tracked as MSAE-200. The review path that would trigger it is built; the notification is not, so today the only way to know is to open the workspace and look.
Planning at the level of a single project rather than the business around it — sequence, submittals, RFIs, and the decisions that hold a job up.
What it takes
How we know: The construction pack covers company-level operations today. Project-level planning is not a separate pack and has not been designed; it is named here because customers ask for it, not because it exists.
Dispatch, route density, parts on the van, and the gap between what was quoted and what the technician actually found.
What it takes
How we know: No domain exists for this. The construction domain's own description mentions field-service operations, which is the closest we have; a tailored pack has not been written or designed.
We have made the case for it and are testing that case with customers. Not committed yet.
Read from the accounting package, the project tool and the document store you already pay for, so IRIS plans against what is true today rather than what you can remember in a meeting. Both major AI vendors now ship this as a connector layer; we would follow the same open standard rather than invent a private one.
What it takes
How we know: Our capability register holds a SharePoint connector as declared and BLOCKED, and a Jira connector as live for internal use. So the pattern exists in the estate and nothing customer-facing is built. Nothing here is committed.
Durable, per-customer memory of your systems, your vocabulary and your constraints, correctable by you in plain language, so the fourth conversation does not start where the first one did.
What it takes
How we know: Every conversation is bounded and independent today; there is no memory across them. The hard part is not storage, it is correction and deletion — memory you cannot inspect or remove is a liability, so this stays exploratory until that part is designed.
A photo of a whiteboard, a paper form, a nameplate or a marked-up drawing, read directly, rather than typing out what is in the picture.
What it takes
How we know: Uploads accept documents, not images — an image is refused today by name. No multimodal input path exists in the service.
A documented API so your own tools can start a planning conversation or read a finished plan, rather than a person copying between two windows.
What it takes
How we know: The service has an HTTP surface, but it is internal: shaped for our own workspace, unversioned, and undocumented for outside callers. Publishing one is a commitment to keeping it stable, which is why this is exploratory rather than planned.
A published evaluation set — real planning problems, scored, repeated as models change — so a claim about quality is a measurement you can read rather than a sentence we wrote.
What it takes
How we know: Nothing like this exists. Our engineering is gate-tested and mutation-tested, which proves the code does what it says; it proves nothing about whether a plan is useful. We would rather name that gap than let test coverage imply an answer to a different question.
Export a finished plan as a document you can email, print, or paste into whatever your business actually runs on. Your plan should not be trapped in our product.
What it takes
How we know: Nothing exists. The specification is readable on screen and copyable by hand, which is not the same thing as an export.
Bring your operations lead, your finance person and your IT provider into the same plan, with roles that reflect who actually decides what.
What it takes
How we know: Access is per named invitation today, one person at a time. There is no concept of a team, a role, or a shared workspace.
Versions of a plan over time, so an edit can be found, compared and undone rather than discovered three weeks later.
What it takes
How we know: A plan is editable today and the current state is what you get. There is no history, so an accidental deletion is permanent.
Ask us to delete your conversations, documents and plans, and get back a record of what was removed and when.
What it takes
How we know: Documents can be removed individually today. There is no whole-account deletion, and no artifact that proves a deletion happened -- which is the part an auditor actually asks for.
A readable record of who opened which plan, what left the workspace, and when — available to you, not just to us.
What it takes
How we know: Our own engineering already writes a hash-chained, append-only action ledger, so the mechanism exists and is proven. None of it is exposed to a customer, and it records our actions rather than theirs.
IRIS works from the general footing on day one, and the order of the list above is not fixed. Scoping is where your business shapes what we build next — which is why we do it before we build rather than after.