{
  "scorecard": "D:\\HypothesisCritic\\reviews\\h-pylori-peptic-ulcer\\final\\h-pylori-peptic-ulcer.scorecard.json",
  "review": "D:\\HypothesisCritic\\reviews\\h-pylori-peptic-ulcer\\final\\h-pylori-peptic-ulcer.review.md",
  "findings": [
    {
      "check": "structural.parse",
      "severity": "PASS",
      "message": "score card is UTF-8 and parses",
      "value": null,
      "fix": null
    },
    {
      "check": "structural.required_keys",
      "severity": "PASS",
      "message": "all 11 required top-level keys present",
      "value": null,
      "fix": null
    },
    {
      "check": "level.glyph",
      "severity": "PASS",
      "message": "overall level is the ladder letter Θ",
      "value": null,
      "fix": null
    },
    {
      "check": "level.descriptor",
      "severity": "PASS",
      "message": "1 letter/descriptor pair(s) canonical",
      "value": null,
      "fix": null
    },
    {
      "check": "level.confidence",
      "severity": "PASS",
      "message": "confidence band is High",
      "value": null,
      "fix": null
    },
    {
      "check": "level.role",
      "severity": "PASS",
      "message": "role of mechanism is primary driver",
      "value": null,
      "fix": null
    },
    {
      "check": "prose.blocks",
      "severity": "PASS",
      "message": "all 4 required prose blocks present",
      "value": null,
      "fix": null
    },
    {
      "check": "logic.subclaim_levels",
      "severity": "PASS",
      "message": "all 3 subclaim levels are ladder letters",
      "value": null,
      "fix": null
    },
    {
      "check": "logic.aggregation",
      "severity": "PASS",
      "message": "primary-subclaim: overall Θ matches a subclaim level (SC1=Θ, SC2=Θ, SC3=Η)",
      "value": null,
      "fix": null
    },
    {
      "check": "logic.delta_endogenous",
      "severity": "PASS",
      "message": "Θ is supported by 6 endogenous decisive perturbation(s)",
      "value": null,
      "fix": null
    },
    {
      "check": "logic.tournament_level",
      "severity": "PASS",
      "message": "the tournament is not claimed to have moved the level",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.unverified_numeric",
      "severity": "PASS",
      "message": "no unverified claims; every numeric claim is checked",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.ledger_identifiers",
      "severity": "PASS",
      "message": "every ledger row resolves by identifier and url",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.lay_summary",
      "severity": "PASS",
      "message": "3 plain paragraphs; grade restated, no practical advice",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.scope_determination",
      "severity": "PASS",
      "message": "1 qualifier(s), each determinable before the outcome or removed",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.subclaim_scope",
      "severity": "PASS",
      "message": "every subclaim declares a scope",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.study_identity",
      "severity": "PASS",
      "message": "study HEAT-NCT01506986 contributes 2 reports to one line, correctly counted once",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.access_depth",
      "severity": "PASS",
      "message": "access depth recorded on every row",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.independence",
      "severity": "PASS",
      "message": "4 independent lines, each with a named failure mode",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.status",
      "severity": "PASS",
      "message": "status flags recorded on every ledger row",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.retrieval_artifacts",
      "severity": "PASS",
      "message": "no generated citation artifacts",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.homoglyph",
      "severity": "PASS",
      "message": "ladder letters are Greek, not homoglyphs",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.ledger",
      "severity": "PASS",
      "message": "23 sources / 34 claims cross-check",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.provenance",
      "severity": "PASS",
      "message": "provenance header matches the ledger",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.claim_form",
      "severity": "PASS",
      "message": "claim restated as a gradeable proposition",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.source_tier",
      "severity": "PASS",
      "message": "every evidence item is tiered and in bounds",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.upper_ladder",
      "severity": "PASS",
      "message": "level is Ζ or above; no check required",
      "value": null,
      "fix": null
    },
    {
      "check": "v5.calibration",
      "severity": "WARN",
      "message": "calibration entry not graded blind; reason recorded",
      "value": "'A retrospectively designated reference case. Edition B's author saw e…'",
      "fix": "an unblinded calibration entry tests whether the framework CAN reach the band, not whether it does so independently"
    },
    {
      "check": "v5.calibration",
      "severity": "WARN",
      "message": "the expected band was set by someone who had seen the review",
      "value": true,
      "fix": "a target written after reading the answer is weak evidence about a future grader; have it set independently"
    },
    {
      "check": "v5.calibration",
      "severity": "PASS",
      "message": "calibration entry reached the upper ladder (Θ)",
      "value": null,
      "fix": null
    },
    {
      "check": "quality.decisive_perturbations",
      "severity": "PASS",
      "message": "7 decisive perturbations",
      "value": null,
      "fix": null
    },
    {
      "check": "quality.competing_models",
      "severity": "PASS",
      "message": "5 competing models evaluated",
      "value": null,
      "fix": null
    },
    {
      "check": "quality.subclaims",
      "severity": "PASS",
      "message": "3 subclaims scored",
      "value": null,
      "fix": null
    },
    {
      "check": "quality.steelman",
      "severity": "PASS",
      "message": "steelman for the rung above is present and its rejection names a blocker",
      "value": null,
      "fix": null
    },
    {
      "check": "quality.factual_verification",
      "severity": "PASS",
      "message": "34 verified, 0 unverified, 0 contradicted",
      "value": null,
      "fix": null
    },
    {
      "check": "quality.msd_default",
      "severity": "PASS",
      "message": "M/S/D are not all at their modal value",
      "value": null,
      "fix": null
    }
  ],
  "counts": {
    "FAIL": 0,
    "WARN": 2,
    "PASS": 34
  },
  "ok": true,
  "validator_sha256": "641b3a45761731204d0ce426c75d351eabc5c2abfac6c5746e6a9d7a8c3cc411",
  "validated_scorecard_sha256": "edf4962821f57b9e7b2f9326cbadca4e2b1c6742d5309c28339aa76212695c79",
  "validated_review_sha256": "c7a43ccfa41a4e3d563bd76eb1930ced15239e354d79020844d688ec3924f379",
  "scope": "structural and framework consistency; not an independent scientific review"
}
