Word of the Week

AI-ready

By Lisa Mirkovic
Data is AI-ready when an agent can answer from it correctly, with nobody to ask.

Everyone says fix your data foundation. Fewer people describe what ready means, or how to get there.

Two teams, one question

Same company, same week, the same question asked twice.

The CFO asks the team that supports finance: what was net revenue in EMEA last quarter, how did it change, and why? The answer comes back in minutes. 6.5 million, down 28 percent. Discounting rose by half, returns rose more than fivefold, and 3.1 million of orders were placed and never booked.

The Head of Sales asks her own team the same question. Same region, same quarter, and the same orders underneath, because both teams are served by the same source system and their tables are identical. That answer also comes back in minutes. 11.0 million, up 10 percent, on higher order volume.

Two numbers, 68 percent apart, pointing in opposite directions, from the same rows. Nobody was careless. Nothing broke.

One question, two answers “What was net revenue in EMEA last quarter, and how did it change?” The same table, in both teams same columns, same rows, same source system amount discount returns status CONF / PEND THE CFO ASKS THE FINANCE TEAM They wrote two things down What the fields mean. amount is before deductions. PEND was never booked, so it is not revenue. What net revenue is. Booked only, after discounts and after returns. the agent read the file and applied it sum(amount − discount − returns) where status = CONF 6.5M down 28% discounts up by half, returns up fivefold, 3.1M unbooked THE HEAD OF SALES ASKS HER TEAM They wrote nothing down No definition of the fields. Nothing says whether amount is before or after deductions, or what PEND implies. No definition of net revenue. Nothing certified, so nothing to contradict. the agent had to decide for itself sum(amount) the most common reading 11.0M up 10% counts the 3.1M never booked, and deducts nothing

Figure 1. The same rows, the same question, two teams. Only one of them had written down what net revenue means.

Both tables carry the same columns, and they are perfectly ordinary ones: amount, discount, returns, and a status holding CONF or PEND. Nobody named anything badly.

The finance team had written two things down beside the data, in a file a machine reads: what the fields mean, and which arithmetic is certified as net revenue.

The sales team loaded the same data and pointed an agent at it.

So that agent decided for itself. It summed amount, which is the most common reading of that table and defensible from everything visible in it.

Non-ready data rarely breaks an AI. It makes the AI confidently wrong, in a direction that seldom prompts a second look. A broken pipeline pages someone at two in the morning. "EMEA net revenue grew 10 percent on higher order volume" lands in a board deck.

That is a constructed example. The pattern is not: 57 percent of enterprises say they have watched an AI agent be confidently wrong, 7 percent describe their data as fully ready for AI, and 88 percent believe their context is already operational. [ref 1] [ref 2]


Three reasons the wrong number went unnoticed

All three are visible in those same four columns.

Familiar names are what let all three pass. When a column is called a or amt_2, everyone slows down: the analyst asks a colleague, the model flags an assumption, the reader sees the hedge. When it is called amount, the name implies its own meaning and nobody stops to check.

One gap, four workloads

Anything that consumes your data has to work out what the data means. The useful question is who does that work, and when.

Who resolves the meaning, and when Every consumer works out what the data means. Only one does it without a person present. a person resolved it once, in advance Applications design time a developer wrote the contract BI build time an analyst encoded it into the query Machine learning training time reviewed once, before the model ships Agents run time on its own, every time it is asked

Figure 2. Each consumer resolves meaning at a different moment. Only one does it alone.

Every consumer of data before this one arrived with a person attached, someone who could ask a colleague what a column meant. Agents are the first data consumer that cannot ask.

Agent-ready is BI-ready, plus the meaning written where a machine can read it, plus security enforced at query time.

Which is why data is often BI-ready without being agent-ready, and rarely the other way round. A dashboard that has been right for a decade reflects an analyst who resolved the meaning correctly and encoded it into the query. The knowledge is real. It simply lives in SQL rather than in the data.

Agents raise the bar in a familiar way. Anyone who has written a good prompt knows the feeling: the model performs in proportion to how precisely you say what you want. Data works the same way. Agents are asking us to be explicit about things we have carried informally for years.

And the bar is worth meeting, because the work pays back across all four workloads. Definitions and grain written into the data shorten analyst build time, give machine learning clearer features, and cut discovery work for the next application team. Meeting the strictest consumer's bar lifts everything already in the queue.

Which raises a practical question. If the meaning has to be written down, how would you ever know that it was?


Where the evidence comes from

There is already a good description of what a ready dataset looks like. The data mesh community wrote it well before agents were reading anything, in six characteristics known as DATSIS: Discoverable, Addressable, Trustworthy, Self-describing, Interoperable, Secure. Underneath the six sit eighteen capabilities, and together they make a matrix most data teams will recognise.

The matrix tells you what to look for. It does not tell you where the evidence comes from, and that turns out to be the whole problem, because there are three categories and they are not interchangeable.

Emitted. Your platform produces it on its own, continuously. Registration, types and formats, who queried what, whether monitoring runs and the data is fresh. Excellent evidence, and it settles nothing that requires a decision.

Confirmed. A platform signal that a person checks. The owner field is populated, but has anyone actually signed off? A PII tag exists, but is it on the right columns?

Declared. A file you write and version, holding the decisions no platform can produce because they are judgments rather than facts. Vendors call it a semantic model or a data contract. It is the file the sales team did not have.

The DATSIS matrix, and where the evidence comes from Eighteen capabilities under six characteristics. Every one is evidenced by exactly one of three sources. Emitted by the platform · 4 Confirmed platform signal, a person checks · 5 Declared a file you write · 9 Discoverable Catalog registration Search & metadata Usage transparency Addressable Stable identifiers Access endpoints Versioning & history Trustworthy Quality checks & SLAs Observability Ownership & certification Self-describing Field documentation Glossary & semantics Published data contracts Interoperable Schemas & types Shared keys & reference data Cross-domain patterns Secure Access control Classification & tagging Row and column security Four of six were built out years ago Discoverable, Addressable, Trustworthy and Secure lean on Emitted and Confirmed evidence, which is why the platforms could deliver them. That was the right sequence: it is what people and dashboards needed. The two an agent leans on hardest are the two no platform can fill. Five of the six Self-describing and Interoperable capabilities are Declared, which is to say they wait on a file that somebody has to sit down and write.

Figure 3. Every capability in the matrix is evidenced by exactly one of the three. Illustrative template, not a benchmark.

Map the eighteen and the shape of the problem appears. Four of the six characteristics lean on Emitted and Confirmed evidence, which is exactly why the platforms delivered them years ago: catalogs, naming standards, quality checks, monitoring, ownership, access controls. That was the right sequence, because those four are what people and dashboards needed most.

Self-describing and Interoperable are the two an agent leans on hardest, and five of their six capabilities are Declared. No platform can fill them. They wait on a file.

Two thirds of a readiness score can be automated. The third that cannot is the third an agent actually depends on.

That file is a configuration. Six things it has to carry, none of them inferable from names, types or profiling:

Two conditions sit alongside: authority, which definition is certified and by whom, and visibility, whether what the agent can reach matches what the asker is permitted to see.

Standards for all of this already exist. Semantic models have an interchange specification backed by a broad vendor coalition, data contracts have a standard under the Linux Foundation, and the major platforms have shipped governed metrics, glossaries and domains. [ref 3]

A contract standard does not write your contract. A glossary field does not choose which of four revenue definitions is certified. The standards built the file. The contents are yours.


Why the declared file is usually empty

Four reasons, and none of them is a tooling problem.

A reasonable hope that the model will work it out. Models are good at inference and getting better, but inference and decision are different things. Profiling a table will tell you a field holds money and that two tables share a key. It will not tell you that your company excludes pending orders from revenue, because that was settled in a meeting, not left as a pattern in the data.

It looks like a large-scale program. Framed as an enterprise metadata initiative, it waits behind everything else. Framed as part of defining one data product, a team can start it now and finish it in parallel with the pipeline work already scheduled.

The meaning is scattered. Technical metadata in the catalog, business definitions in a governance tool, tests in the transformation layer, metrics in the semantic layer, and the knowledge that decides whether an answer is right sitting with experienced people. Each is a legitimate system doing its job. What is missing is one place where it comes together in a form a machine reads at run time.

AI is already filling it in for you. Catalogs now draft a description for every field and propose glossary terms. It will save an enormous amount of typing. It will also generate more text than anyone can review, and people accept it precisely because it reads well. net_revenue described as "revenue net of deductions" is perfectly good English and still does not mention returns.


A right answer is the sum of the parts

Every part can be done well and still leave you with a wrong number. The definition can be certified while the status semantics are missing. The semantics can be written while two domains still disagree about region. Correctness is not a property of any single capability. It emerges from all of them working together on a real question.

A populated field is not a correct field. Declared proves a decision was recorded. It says nothing about whether the decision was right.

You already test your data. Now test the meaning.

Every serious data product ships with tests. This column is never null. This total reconciles. This key is unique. All of them test values, and they are all worth having.

None of them tests whether the meaning is legible. A table can pass every quality check ever written and still tell an agent that net revenue grew 10 percent in a quarter when it fell 28.

That gap mattered less before, because BI had a person standing in it. A dashboard is a user interface: someone who knew the business looked at the number and said that cannot be right, and the error stopped there.

An agent has no interface. By the time anyone reads the answer it is already in the board pack, and it travels further and faster than a dashboard ever did.

So a known-answer test belongs in the build-out of a data product, next to the quality tests you already run. Same discipline, pointed at meaning instead of values.

What a known-answer test is

You know the answer before you ask. That is not a weakness in the test, it is the mechanism, exactly as with a unit test: the developer already knows what the function should return, and writing it down is what makes drift detectable later.

Take the question this article opened with. You know it is 6.5 million, down 28 percent. Ask an agent:

the agent answers
Before the declared file existed 11.0 million, up 10 percent
After it existed 6.5 million, down 28 percent

Nothing about the data changed between those two rows. One file appeared beside it.

Amber to green, in one rule

One capability, from file to cell The same four lines make the cell amber. Only a question that comes back right makes it green. THE DECLARED FILE sales_orders.semantic.yaml metrics: net_revenue: expression: SUM(amount - discount - returns) filter: status = 'CONF' columns: status: PEND: counts_as_revenue: false declared THE CELL, BEFORE THE QUESTIONS RUN SELF-DESCRIBING Glossary & semantics AMBER Recorded. Nothing has tested it. THE GATE Seven known-answer questions depend on it What was net revenue in Q3? 6,549,529 ✓ How did it change from Q2? −27.8% ✓ How much was never booked? 3,090,115 ✓ and four more all correct answers known before the question was asked verified THE SAME CELL, AFTER SELF-DESCRIBING Glossary & semantics GREEN Recorded, and proved right. The questions do not inspect the file. They depend on it. Change counts_as_revenue to true and four of the seven fail: the Q3 answer moves from 6.5M to 9.6M.

Figure 4. Four lines in a file make the cell amber. Questions coming back right make it green.

A capability turns green when a question that depends on it comes back right. Until then it is amber: written down, and never checked.

The questions do not inspect the file, they depend on it. Change counts_as_revenue to true and the answer moves from 6.5 million to 9.6 million. That is why a right answer counts as evidence about the declaration, and why nobody has to sit and review the file by hand.

Which makes the amber count the number worth reporting. It is not a maturity score. It is how much of your readiness you are currently taking on trust, and it points at where the next wrong answer will come from.

Two moments are worth running it. Before go-live, because you can only prove a before if you measure before. And on a schedule afterwards, because definitions change, schemas drift, and an answer that was right in March can quietly stop being right in June.

None of this is a large program. It is one domain, a file, and a set of questions somebody already knows the answers to. And the questions are what hold it together. Ask what net revenue was in EMEA last quarter, and a right answer proves scope, grain, the certified metric and the status semantics all at once, because getting any one of them wrong changes the number. Readiness is not eighteen boxes ticked. It is a question your business actually asks, coming back right, for a reason you can point to.

From three sources to one matrix Two of these your platform already produces. The third is a file you write. EVIDENCE Emitted by the platform, automatically registration · types · usage grants · monitoring · freshness decides nothing on its own Confirmed platform signal, a person checks is the owner sign-off real? is the sensitivity label right? reliable, not cheap at scale Declared a file you write and version scope · grain · meaning metric · time · relationships the one source no platform can produce for you ASSEMBLED INTO The DATSIS matrix 18 capabilities, one row each Discoverable Addressable Trustworthy Self-describing Interoperable Secure carried by the declared file platform signal, human confirmed emitted by the platform Everything here is still only a record of what was decided. GATED BY Known-answer questions answers you know before you ask “What was net revenue in Q3, and how did it change?” Declared and verified a question that depends on it came back right Declared, not verified written down and never checked. the state that matters Not declared nothing recorded to check A populated field is not a correct field. The matrix records what was decided. Only a question with a known answer shows whether the decision was right.

Figure 5. The whole thing in one view. Two sources your platform already produces, one you write, assembled into the matrix, and none of it counting until a question with a known answer comes back right.


Try it

Everything above is in a public repo: github.com/lisamirkovic/ai-ready-data-kit. Clone it and run python3 walkthrough.py, and it walks the whole thing in about ten minutes. The two teams and their question, so you can reproduce the comparison at the top of this article. The declared file as a template to fill in for one domain. A known-answer test set that fails before the file exists and passes after it. And the readiness matrix generated from those two inputs rather than from a questionnaire.

Doing it on your own data is six steps, and only three of them are typing.

  1. Pick the questions your people already ask, in the words they use. Five is enough to start. Not data quality metrics: questions someone senior asks and acts on.
  2. Work back to the tables behind them. Usually under a dozen.
  3. Establish the answers, once, with whoever owns the number.
  4. Write the decisions into a declared file. One per domain.
  5. Write the questions and their known answers beside it.
  6. Run them, before anyone is given access and on a schedule afterwards.

Steps 1 to 3 are conversations, and they are the ones most readiness work skips. Steps 4 and 5 are two YAML files. Step 6 is a script.

The steps above fill the Declared source only. The other two are mechanical rather than difficult. Emitted values can be pulled straight from your platform's metadata, and Confirmed ones are the same pull with a person's sign-off recorded against it. Both can be expressed as YAML in exactly the same way, and feed the same matrix. Nothing about the approach changes; there is just more of it.

If you would rather not do it alone, that is the work I do, and it is narrow deliberately. One domain, proved: the five questions your people ask most, the definitions certified and written where a machine reads them, and a test set showing what your agent answered before the work and after it. The deliverable is not a maturity rating. It is a set of questions your agent now answers correctly, and the evidence of the difference. It sits alongside your tools rather than replacing any of them, on whichever platform you have already chosen.


References and materials

ref 1. VB Pulse survey, June 2026: 57 percent of enterprises have watched AI agents be confidently wrong. ref 2. State of Context Management 2026 and 2026 State of the Semantic Layer: the 7 percent and 88 percent figures. ref 3. Open Semantic Interchange · Open Data Contract Standard v3.1 · Unity Catalog, Data + AI Summit 2026

← All words