Optionaldiagnose: (rootRunId: string) => Promise<string>Optional evidence dump for the FINAL failed attempt, appended to the thrown message.
A bare model-noncompliance: says only "the model didn't do it" — and the fixtures are
purged at teardown, so nothing can be re-queried afterwards to find out WHY. Without this,
"the model declined" is indistinguishable from "the tool was never advertised" or "the
response came back empty", which is precisely how three real product defects hid behind this
prefix during the 6.1 release. Must never throw: a failing diagnostic must not replace the
failure it is describing.
Two-phase compliance runner (§3.3). Runs
scenario(which returns the persisted root run ID or undefined), then evaluatesisCompliantfrom persisted artifacts (Phase P). On non-compliance it retries with a fresh scenario up tomaxAttemptstotal, then throwsmodel-noncompliance:. The FIRST compliant attempt's run ID is returned so Phase A (framework assertions, never retried) runs against a run that provably attempted the guarded behavior — the anti-vacuity guarantee.