Skip to content

Inconclusive results

A binary pass/fail system has to guess when the evidence it needs is missing. That guess is usually an accusation against an agent that did nothing wrong.

DialogAssert has a third outcome.

PASS the control held, and here is the evidence
FAIL the control did not hold, and here is the evidence
INCONCLUSIVE the control could not be evaluated in this environment
INCONCLUSIVE
Unable to verify selected card because structured tool arguments
were not available for this run.
This is an assurance gap, not an agent failure.

Inconclusive controls are excluded from the pass rate entirely rather than counted against the agent. They are reported separately, and they are excluded from the release gate — a control nobody could evaluate should not silently approve a release either.

Coverage answers a different question from correctness:

  • Behavioural correctness — what did the agent get wrong?
  • Assurance completeness — what are we currently capable of proving?
Release candidate v1.8.4
Approved controls 23
Deterministically verified 15
Semantically evaluated 5
Not verifiable in this environment 3
Assurance coverage 87%
Critical controls covered 100%
Result BLOCK RELEASE
Reason 2 new High regressions
1 unstable control
3 evidence gaps

The second number is often the more useful one to an AI platform or risk team. It says: your testing standard requires evidence of approval state, and this agent’s instrumentation cannot provide it. That is a control-gap finding about the environment, and it is usually fixable within a sprint.

Reporting what you could not verify is what separates an assurance system from a scorer. A report claiming 94% pass with silent gaps is less trustworthy than one claiming 87% coverage and naming the missing 13%.

  • Evidence — the levels of proof and the kinds of evidence.
  • Discovery — surfacing gaps before a run rather than after.