Insight · Acceptance evaluation
Accepting a Business AI System: Tests to Agree Before You Build
A buyer’s acceptance method for agents, knowledge systems and private AI, with printable scorecards and a fictional support-knowledge example.
Write the acceptance test before choosing the implementation. It gives the buyer and builder a shared account of useful work, forbidden behaviour and the evidence needed to release. This guide assumes a bounded business process with an owner who can judge the result; it does not supply universal pass rates.
Agree the evidence before the build.
Describe the unit of work, the user, the permitted inputs and the action or answer expected. Then define failure, including behaviour that is unacceptable even if the task otherwise succeeds. Put those rules in the acceptance record with the environment, dataset version, owners and required evidence. A demonstration chosen by the builder is useful for explanation; it is not a substitute for the buyer’s test set.
The people who do the work should write or select the cases and judge the business result. Source owners write citation and freshness cases; access owners write permission cases; operators write recovery cases. The builder translates them into repeatable checks and explains technical limits. Keep final sign-off with the named buyer-side owners.
Keep four kinds of cases.
- Real work. Use a permitted, representative sample of current cases, with the expected outcome and necessary context. Remove or protect sensitive details under the agreed data policy.
- Hard work. Include incomplete inputs, exceptions, conflicting documents, long records and downstream failures. Label the expected escalation where no single answer is justified.
- Should-refuse work. Ask for unsupported answers, out-of-scope tasks and actions beyond authority. Assess what the system exposes while refusing, not only the refusal sentence.
- Permission work. Run the same request as users with different rights, including someone whose access has just been revoked. Inspect retrieved passages, citations, tool effects and relevant logs.
Separate development cases from a held-out acceptance set. Record where expected answers came from, who reviewed them and which source version applied. Resolve disagreements in the rubric before grading the system. Add failures found during use to regression coverage while retaining a fresh held-out set for later decisions.
Use a scorecard for the system you are buying.
The sections below cover agents, knowledge systems and private infrastructure. A system spanning them needs the relevant checks from each. The pass-rule cells are deliberately blank: agree the rule, denominator, test conditions and critical failures for your own process. Print the tables or copy them into an acceptance record you control.
| Test | Who writes it | How it is run | Pass rule — to agree | Evidence attached | Signed by |
|---|---|---|---|---|---|
| Task success | Process owner | Run representative tasks against a frozen rubric; separate completed, corrected and failed work. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Unauthorised actions | Process and access owners | Attempt forbidden targets, fields and tool calls; inspect external state as well as the agent response. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Traceability | Operator and process owner | Reconstruct proposal, approval, payload and observed result from the case record. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Compensation drill | Operator and action owner | Inject a partial failure, exercise recovery and verify the final state; record irreversible limits. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Test | Who writes it | How it is run | Pass rule — to agree | Evidence attached | Signed by |
|---|---|---|---|---|---|
| Retrieval | Source owners and users | Check whether required authorised passages are retrieved for each answerable question. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Citation correctness | Source owners | Verify that each cited passage supports its attached statement and opens for the intended user. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Abstention | Process owner | Ask missing, ambiguous and contradictory-source questions; inspect refusal or escalation under the agreed policy. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Permission leaks | Access owners | Use paired allowed/denied identities, a revoked identity and restricted passages; inspect answers, snippets and logs. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Freshness | Content owners | Update, supersede and delete a source; verify answers and citations after the agreed refresh boundary. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Test | Who writes it | How it is run | Pass rule — to agree | Evidence attached | Signed by |
|---|---|---|---|---|---|
| Quality versus baseline | Task owners | Run the same held-out task set against candidate and baseline; score with the agreed rubric. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Throughput / concurrency | Operator and task owners | Replay the agreed workload mix at the agreed concurrency; record completion, latency and resource limits. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| SSO refusal | Identity owner | Attempt access with unprovisioned, removed and wrong-group identities; check the gateway and application. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Restore drill | Operator | Restore configuration and retained state into a clean environment; verify access and representative tasks. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
| Model swap | Operator and task owners | Replace the candidate model, run the regression suite and rehearse restoring the accepted version. | Pass rule: blank, to be agreed | Evidence attached: blank, to be agreed | Signed by: blank, to be agreed |
Separate release blockers from graded quality. A strong average answer score must not conceal a tested permission leak or an unauthorised action. Count those events explicitly, investigate them and define the stop rule before testing. A clean test set provides evidence within its coverage; it is not a guarantee about future inputs.
Compare in shadow mode before granting authority.
In shadow mode, the system proposes answers or actions without making production changes. Compare its proposal side by side with the current human process on the same permitted cases. Record corrections, review effort and missed exceptions as well as time to completion. Avoid showing one reviewer the other answer first if that would bias the judgement.
Shadow mode cannot exercise every production effect. Use a controlled environment for tool writes, approval outages and compensation drills. Document differences from production, such as synthetic identities or unavailable integrations. Decide which checks must be repeated under limited production access before expanding use.
Use today’s work as a baseline.
Score the current process with the same rubric, including disagreements and costly errors. Set the acceptance threshold from business consequences, review capacity and required controls. A high-volume low-impact draft task may tolerate corrections that an external commitment cannot. Do not copy a vendor’s published score into the contract without matching its task, dataset and error definition.
Specify the denominator: all submitted cases, only answerable cases, or all material statements. Record abstentions separately so the system cannot appear accurate simply by declining most work. Break results down by difficult cases and user groups. Small samples are useful diagnostics; state their limits and collect more evidence where the decision remains uncertain.
Own a regression suite you can rerun.
Retain the permitted test inputs, expected results, rubric, runner and result files in a location the buyer controls. Pin model, prompt, retrieval, index, policy and tool versions in each run. Rerun relevant checks after changes to any of those, including serving settings and source permissions. Review regressions before release rather than relying on a familiar model name.
Version the rubric and pass rules too. If an owner changes a rule, record why and rescore the baseline where feasible. Keep the previous accepted configuration and a tested return path. A model swap is a new evaluation event, even if the application API stays the same.
SYNTHETIC filled example.
This is an invented support-knowledge system for a fictional internal support desk. It answers staff questions from a bounded policy library; it sends no customer messages. The cases, counts, evidence-pack references and role sign-offs below are fabricated to show the method. They describe no client, project or measured Axis Bridge result.
| Test | Who writes it | How it is run | Pass rule | Evidence attached | Signed by |
|---|---|---|---|---|---|
| Retrieval | Source owner | 20 fixed answerable cases | Required passage retrieved in at least 18 cases | 19 of 20; evidence pack R, cases 1–20 | Source-owner role · accepted |
| Citations | Support lead | Review each material statement in those 20 answers | Every material statement supported; unsupported output fails this test | One unsupported statement in case 7; evidence pack C | Support-lead role · NOT accepted |
| Abstention / conflict | Support lead | 6 unanswerable cases and 4 conflicting-policy cases | No definitive answer without support; conflicts shown or escalated | 10 of 10 followed the rule; pack A | Support-lead role · accepted |
| Permissions | Access owner | 8 paired identity tests plus a revoked identity | No restricted passage disclosed in any test | 9 test pairs passed; pack P | Access-owner role · accepted for this set |
| Freshness | Content owner | Update, supersede and delete one test policy | After the agreed refresh boundary, new answers use the active version and exclude the deleted one | All three state changes verified; pack F | Content-owner role · accepted for this drill |
SYNTHETIC decision: do not accept this version. The citation test failed despite the other passes. Investigate case 7, repair the cause, then rerun the citation test and the relevant regression suite before a fresh sign-off. This is an illustrative example: the evidence packs and role names are fictional, and nothing here is a signed record.
Sign a version and a scope.
Record the accepted configuration, dataset and rubric versions; results and evidence locations; exceptions and their owners; permitted users and actions; unresolved risks; operating owner; and rollback or compensation procedure. Include the names and dates of the authorised signers. A conditional acceptance needs a restriction and a condition for lifting it, rather than an unexplained waiver.
For a scoped implementation, see AI agent development, RAG and knowledge systems or private AI infrastructure. Bring the task examples and the acceptance record so the discussion starts with evidence your team needs to see.
What to include
Include the decision you are working through, the systems involved and the constraint you need to resolve.