{
  "isError" : false,
  "request" : {
    "coverageDetail" : true,
    "projectDir" : "<workspace-root>"
  },
  "response" : {
    "buildLog" : "Bootstrap: Initialising compiler\nBootstrap: Compiler ready\nDiscovery: Scanning for .ek9 files\nDiscovery: 2 source file(s)\nCompile: Compiling 2 source file(s)\nCompile: Compilation succeeded\nTest: Discovering tests\nTest: Running 1 test(s)\nTest: 1 passed, 0 failed\n",
    "compileSucceeded" : true,
    "coverage" : {
      "coveredBranches" : 0,
      "coveredLines" : 2,
      "coveredMethods" : 2,
      "overallCoverage" : 33.333333333333336,
      "totalMethods" : 6,
      "uncoveredBranches" : [ ],
      "uncoveredMethods" : [ {
        "endLine" : 7,
        "file" : "main.ek9",
        "module" : "probe.coverage",
        "name" : "Widget.$",
        "startLine" : 7
      }, {
        "endLine" : 7,
        "file" : "main.ek9",
        "module" : "probe.coverage",
        "name" : "Widget.$$",
        "startLine" : 7
      }, {
        "endLine" : 7,
        "file" : "main.ek9",
        "module" : "probe.coverage",
        "name" : "Widget.:=:",
        "startLine" : 7
      }, {
        "endLine" : 14,
        "file" : "main.ek9",
        "module" : "probe.coverage",
        "name" : "helper",
        "startLine" : 10
      } ],
      "uncoveredStatements" : [ {
        "file" : "main.ek9",
        "line" : 11,
        "module" : "probe.coverage"
      }, {
        "file" : "main.ek9",
        "line" : 12,
        "module" : "probe.coverage"
      } ]
    },
    "coverageSufficient" : false,
    "hex" : {
      "available" : true,
      "band" : "LOW",
      "bands" : {
        "HIGH" : 0,
        "LOW" : 0,
        "MODERATE" : 0
      },
      "caMax" : 1,
      "caMaxAt" : "probe.coverage::Widget.Widget()",
      "caMaxTestCallers" : 1,
      "caMaxTopCallers" : [ "probe.coverage::widgetEqualityTest" ],
      "caMaxTopCallersTruncated" : false,
      "caNote" : "omitted (invariant, ~1,300 tokens): pass notes:true, or ek9_help keyword 'hex' once.",
      "constructCount" : 6,
      "constructs" : [ {
        "band" : "LOW",
        "cognitive" : 0,
        "cognitiveLimit" : 35,
        "confidence" : "FULL",
        "construct" : "probe.coverage::Widget.$",
        "coupling" : 0,
        "couplingApplied" : true,
        "couplingLimit" : 8,
        "coveragePercent" : 0.0,
        "defaulted" : true,
        "exposure" : 1.0,
        "file" : "main.ek9",
        "hazard" : 0.02,
        "hex" : 2.0,
        "line" : 7,
        "pure" : true,
        "varietyApplied" : false
      }, {
        "band" : "LOW",
        "cognitive" : 0,
        "cognitiveLimit" : 35,
        "confidence" : "FULL",
        "construct" : "probe.coverage::Widget.$$",
        "coupling" : 0,
        "couplingApplied" : true,
        "couplingLimit" : 8,
        "coveragePercent" : 0.0,
        "defaulted" : true,
        "exposure" : 1.0,
        "file" : "main.ek9",
        "hazard" : 0.02,
        "hex" : 2.0,
        "line" : 7,
        "pure" : true,
        "varietyApplied" : false
      }, {
        "band" : "LOW",
        "cognitive" : 0,
        "cognitiveLimit" : 35,
        "confidence" : "FULL",
        "construct" : "probe.coverage::Widget.:=:",
        "coupling" : 0,
        "couplingApplied" : true,
        "couplingLimit" : 8,
        "coveragePercent" : 0.0,
        "defaulted" : true,
        "exposure" : 1.0,
        "file" : "main.ek9",
        "hazard" : 0.02,
        "hex" : 2.0,
        "line" : 7,
        "pure" : false,
        "varietyApplied" : false
      }, {
        "band" : "LOW",
        "cognitive" : 0,
        "cognitiveLimit" : 35,
        "confidence" : "FULL",
        "construct" : "probe.coverage::helper",
        "coupling" : 0,
        "couplingApplied" : true,
        "couplingLimit" : 8,
        "coveragePercent" : 0.0,
        "exposure" : 1.0,
        "file" : "main.ek9",
        "hazard" : 0.02,
        "hex" : 2.0,
        "line" : 10,
        "pure" : false,
        "varietyApplied" : false
      }, {
        "band" : "LOW",
        "cognitive" : 0,
        "cognitiveLimit" : 35,
        "confidence" : "FULL",
        "construct" : "probe.coverage::Widget.<=>",
        "coupling" : 0,
        "couplingApplied" : true,
        "couplingLimit" : 8,
        "coveragePercent" : 100.0,
        "defaulted" : true,
        "exposure" : 0.0,
        "file" : "main.ek9",
        "hazard" : 0.02,
        "hex" : 0.0,
        "line" : 7,
        "pure" : true,
        "varietyApplied" : false
      }, {
        "band" : "LOW",
        "cognitive" : 0,
        "cognitiveLimit" : 35,
        "confidence" : "FULL",
        "construct" : "probe.coverage::Widget.?",
        "coupling" : 0,
        "couplingApplied" : true,
        "couplingLimit" : 8,
        "coveragePercent" : 100.0,
        "defaulted" : true,
        "exposure" : 0.0,
        "file" : "main.ek9",
        "hazard" : 0.02,
        "hex" : 0.0,
        "line" : 7,
        "pure" : true,
        "varietyApplied" : false
      } ],
      "coverageOnly" : {
        "bands" : {
          "HIGH" : 0,
          "LOW" : 6,
          "MODERATE" : 0
        },
        "count" : 6,
        "max" : 2.0,
        "maxAt" : "probe.coverage::helper",
        "maxBand" : "LOW",
        "maxFile" : "main.ek9",
        "maxLine" : 10,
        "note" : "omitted (invariant, ~1,300 tokens): pass notes:true, or ek9_help keyword 'hex' once."
      },
      "hex" : 0.0,
      "measuredCount" : 0,
      "note" : "omitted (invariant, ~1,300 tokens): pass notes:true, or ek9_help keyword 'hex' once."
    },
    "inputVariety" : {
      "assertedPercent" : 0.0,
      "assertionValidatedTests" : 1,
      "constructCount" : 0,
      "constructs" : [ ],
      "drivenPercent" : 0.0,
      "interactionNote" : "no target, deliberately - compare a callable against ITSELF over time; notes:true for why.",
      "note" : "omitted (invariant, ~1,300 tokens): pass notes:true, or ek9_help keyword 'hex' once.",
      "outputValidatedTests" : 0,
      "totalAsserted" : 0,
      "totalDriven" : 0,
      "totalDrivenPairs" : 0,
      "totalFloor" : 0,
      "totalPairCeiling" : 0
    },
    "mainSource" : "main.ek9",
    "meta" : {
      "serverMs" : "<timing>"
    },
    "overallCoverage" : 33.333333333333336,
    "projectDir" : "<workspace-root>",
    "resultCount" : 1,
    "results" : [ {
      "durationMs" : "<timing>",
      "fullyQualifiedName" : "probe.coverage::widgetEqualityTest",
      "passed" : true
    } ],
    "status" : "coverage-low",
    "summary" : "1 of 1 test passed, coverage 33.333333333333336% (below threshold)",
    "testRunOutput" : "",
    "tests" : {
      "allTestsPassed" : true,
      "failed" : 0,
      "passed" : 1
    },
    "totalDurationMs" : "<timing>"
  },
  "scenario" : "run_tests_coverage_detail",
  "tool" : "run_tests"
}
