{
  "note": "The scanner runs at two strengths. The weaker one is weak on purpose. Knowing exactly what it cannot do is the reason it is allowed to exist.",
  "tiers": [
    {
      "id": "draft",
      "name": "Draft tier",
      "runsOn": "Every save, while the document is being written",
      "typicalSeconds": 41,
      "runsPerDay": "Forty to sixty times on an active document",
      "verifiers": [
        "v06-entity-naming",
        "v09-contact-block",
        "v10-banned-phrase",
        "v11-hype-and-superlative",
        "v12-typography",
        "v13-reading-level",
        "v15-required-blocks",
        "v16-internal-consistency",
        "v19-accessibility"
      ],
      "why": "It runs while somebody is typing, so it may only run verifiers that read the draft on its own or one small reference file. Nine of the twenty one qualify. Reading thirteen source documents in full takes six minutes and cannot happen on a keystroke.",
      "whatItCatches": "Shape. Names, dashes, banned phrases, missing blocks, headings out of order, a document that disagrees with itself, a contact block with the wrong domain.",
      "whatItMisses": "Truth. Every verifier that has to open a source document is left out, which is every verifier that can tell a right number from a number with nothing behind it.",
      "theHonestPart": "The draft tier would not have caught the invented service level promise. Catching that one meant reading five source documents in full and proving a sentence was absent from all of them. No check that runs in forty seconds can prove an absence.",
      "expected": { "catches": 18, "misses": 24, "blockersCaught": 0, "blockersMissed": 10 }
    },
    {
      "id": "final",
      "name": "Final tier",
      "runsOn": "Before anything is delivered, and again after any edit to a delivered document",
      "typicalSeconds": 372,
      "runsPerDay": "Once per document, twice if it is edited after the first pass",
      "verifiers": [
        "v01-unsourced-claim",
        "v02-figure-match",
        "v03-price-parity",
        "v04-time-promise",
        "v05-effective-date",
        "v06-entity-naming",
        "v07-product-line",
        "v08-plan-features",
        "v09-contact-block",
        "v10-banned-phrase",
        "v11-hype-and-superlative",
        "v12-typography",
        "v13-reading-level",
        "v14-audience-fit",
        "v15-required-blocks",
        "v16-internal-consistency",
        "v17-cross-document",
        "v18-obligation-language",
        "v19-accessibility",
        "v20-reference-resolves",
        "v21-source-freshness"
      ],
      "why": "All twenty one, each reading with fresh context. Six minutes for a document that a partner will hold the company to for a year is not a cost worth arguing about.",
      "whatItCatches": "Everything the fleet is built to catch, on this batch forty two findings including ten blockers.",
      "whatItMisses": "Whatever sits in the blind spots each verifier declares. Two findings on this run were wrong, and both were wrong because of something a verifier could not see.",
      "theHonestPart": "A clean final tier report is not proof the document is right. It is proof that twenty one specific questions were asked and answered. The list of questions is published so a reader can see which ones were never asked.",
      "expected": { "catches": 42, "misses": 0, "blockersCaught": 10, "blockersMissed": 0 }
    }
  ]
}
