{
  "check": {
    "pass": true,
    "errors": 0,
    "warnings": 40
  },
  "build": {
    "pass": true
  },
  "unit": {
    "passed": 1132,
    "skipped": 12
  },
  "e2e": {
    "passed": 268,
    "skipped": 12,
    "newScopedPassed": 21
  },
  "newUnitTests": 4,
  "redControls": "Same Runbook assertions reject original directional phrase and wrong ordered-list start. No source mutation.",
  "logsSha256": {
    "check-final.log": "f10e4cec54e9c788ef322f0183b68de6cf5af825c712eb898bf41a0f5c911a7d",
    "build-final.log": "2dc6e331263046258cda7136667e9aa11ba5156c117a8848f93d858ecf7a9608",
    "unit-full.log": "99712e8ed88828e65c7494c4eda186dc01a6a0d9e24f8c87bf3f23ff072d91be",
    "e2e-full.log": "0350f9485950617d6f45611689bbd68ce554c75c37efdef20aa8ccd3fe5894f0"
  },
  "harnessCorrections": [
    "Initial unit no-role expression also matched inert command text role=; bound it to opening tags.",
    "Initial AX-name exact match omitted retained CSS-generated minus/plus and step counters; now requires complete referenced labels in order while retaining actual generated names.",
    "Private reader waited for lazy iframe before lookup and converted URL screenshot path to a filesystem string. No canonical changes."
  ],
  "productRegressionsFound": 0
}
