Prepared on 2026-10-31, for the data team, who can pass on the summary below to management.
In short, for management
Of the 7 figures that Copilot or an AI agent can quote from this model, 1 has been validated by the business, and 3 have no written definition: an AI quoting them guesses what they measure.
We corrected 5 settings without touching any calculation.
8 subjects remain to decide with your data team.
Next step: have management reread and sign the definition of its key figures, starting with “Gross Margin”, “Margin %”, “Turnover”.
Summary
VerdictNot ready for AI→Not ready for AIScore77→79/100after the safe fixes · 5 safe fixes applied · 11 findings need your decision
Where to start
Visible measure without a description 3 objects concerned
Stale validation 2 objects concerned
Description that says nothing 1 object concerned
What we fixed
Safe fixes, written in the fixed copy of your model. They touch no calculation, only how an AI reads the model: check your report pages once the copy replaces the original.
The before/after comparison of your report pages is not attached to this dossier.
What needs your decision
What is left in the fixed copy, rule by rule, the most serious first, with the fix we propose. Nothing is applied without your validation.
FC-LIS-01
Visible measure without a description
blocking3 objects concerned
For example: The measure “Turnover” (table Sales) is visible without a description: an AI will have to guess what it computes.
to validate
Add a /// description above the measure: what it computes, in which unit, under which rule.
3 objects concerned
The measure “Turnover” (table Sales)
The measure “KPI_Basket_02” (table Sales)
The measure “Order Count” (table Sales)
FC-IA-03
Stale validation
blocking2 objects concerned
For example: The measure “Gross Margin” (table Sales) was validated on 5 October 2026 by Finance department, but it has changed since: name, DAX, description, format, or the calculation of a measure it calls. An AI would still quote it as a validated fact.
The measure “Gross Margin” (table Sales)
to validate
Have Finance department reread the definition of “Gross Margin”, then renew the validation with factcraft validate; or remove the FactCraft_Validation annotation if the fact is no longer guaranteed.
The measure “Margin %” (table Sales)
to validate
Have Finance department reread the definition of “Margin %”, then renew the validation with factcraft validate; or remove the FactCraft_Validation annotation if the fact is no longer guaranteed.
FC-LIS-02
Description that says nothing
important1 object concerned
The description of the measure “Revenue” (table Sales) says nothing: it is 1 word long. An AI takes it for an explanation, and still guesses what the measure computes.
to validate
Rewrite the /// description: what it computes, in which unit, under which rule.
1 object concerned
The measure “Revenue” (table Sales)
FC-LIS-03
Cryptic name on a visible object
important1 object concerned
The measure “KPI_Basket_02” (table Sales) has a cryptic name (coding prefix “KPI_”): no question asked in plain language will lead an AI to it.
to validate
Rename it “Basket 02”, to be reworded in the business's vocabulary; write in the AI instructions that “KPI_Basket_02” is its former name, for the questions that still use it.
1 object concerned
The measure “KPI_Basket_02” (table Sales)
FC-COH-01
Two measures with the same DAX
important1 object concerned
The measure “Turnover” (table Sales) duplicates “Net Sales” (table Sales): same DAX, apart from spaces, case and comments. An AI hesitates between the two, and they will drift apart as soon as only one of them changes.
to validate
First check with the business that the two names mean the same figure. If they do, keep a single calculation: replace the DAX of “Turnover” with [Net Sales], or delete “Turnover” if nothing uses it; hiding it is not enough, the measures that reference it still read it. If they do not, one of the two calculations is wrong: correct it.
1 object concerned
The measure “Turnover” (table Sales)
FC-STR-01
Bidirectional relationship
important1 object concerned
The relationship Sales[Customer ID] → Customer[Customer ID] filters in both directions: depending on the filter path an AI takes, the same number can change.
to validate
Make the relationship filter in one direction (crossFilteringBehavior: oneDirection), or write down why both directions are needed.
1 object concerned
The relationship Sales[Customer ID] → Customer[Customer ID]
FC-STR-02
Missing or automatic date table
important1 object concerned
No table is marked as a date table: an AI does not know on which calendar to compute a year-to-date or a comparison with the previous year.
to validate
Mark “Calendar” as a date table (dataCategory: Time, a date column with continuous days).
1 object concerned
The model
FC-IA-04
AI instructions missing
important1 object concerned
No AI instructions found in the project (Copilot/Instructions/instructions.md, where Prep data for AI saves them): Copilot has only the names and descriptions of the model to know which measure answers a question, and which date to use by default.
to validate
Write the AI instructions in Prep data for AI (saved in the project as Copilot/Instructions/instructions.md): the business terms, the measure behind each key figure, the default date. The audit dossier drafts them from this audit, for the business to validate.
1 object concerned
The model
Measures to validate
The figures not yet validated, starting with those the most other measures depend on, directly or not. For each one, the business rereads its definition, corrects it if needed, and signs it: who, when. FactCraft writes the signature into the model and warns as soon as the calculation changes.
Measure
Definition
Depended on by
Status
Gross MarginSales
Gross margin in euros: net sales minus the purchase cost of the products sold.
1 measure
validation outdated
Margin %Sales
Gross margin as a share of net sales, in percent.
—
validation outdated
TurnoverSales
No definition yet: to write before it can be validated.
—
to validate
RevenueSales
Total
—
to validate
KPI_Basket_02Sales
No definition yet: to write before it can be validated.
—
to validate
Order CountSales
No definition yet: to write before it can be validated.
—
to validate
Net SalesSales
Net sales excluding tax, in euros: sum of the net amounts of sales lines, discounts deducted.
3 measures
validated
AI instructions draft
Written by FactCraft from the audit of the fixed copy, without AI: the key figures validated by the business, the dates, the names to read carefully, the definitions under review. The data team rereads and corrects it with the business, then pastes it into Prep data for AI, where Copilot reads it.
to validate
<!-- FactCraft draft: validate it with the business, then delete this line and paste the rest into Prep data for AI. -->
# Instructions for Copilot
## Key figures
- “Net Sales” (table Sales): Net sales excluding tax, in euros: sum of the net amounts of sales lines, discounts deducted. Definition validated by Finance department on 2026-10-05.
## Names
- “Turnover” does the same calculation as “Net Sales”, validated by the business: use “Net Sales”.
## Definitions under review
- “Gross Margin”: its calculation changed after the business validated it; if you use it, say that its definition is being revalidated.
- “Margin %”: its calculation changed after the business validated it; if you use it, say that its definition is being revalidated.