{
  "schemaVersion": 1,
  "title": "Free Learning Resource Survival Index — Wave 1 recheck",
  "baseline": {
    "source": "data/research/link-rot-2026/verified-dataset.csv",
    "rowCount": 422,
    "verificationWindow": "2026-08-07 to 2026-08-08"
  },
  "recheck": {
    "probedAtStart": "2026-08-22T01:52:13.357Z",
    "probedAtEnd": "2026-08-22T01:53:00.374Z",
    "sampled": false,
    "samplePerSetCap": null,
    "totalProbed": 511
  },
  "setA_deadUrl": {
    "probed": 172,
    "classCounts": {
      "dns-fail": 78,
      "hard-fail": 27,
      "tls-fail": 66,
      "fetch-error:ERR_INVALID_URL": 1
    },
    "resurrectionRateOverall": 0,
    "resurrectedCount": 0,
    "byDeadResourceSiteTop15": {
      "primaryhomeworkhelp.co.uk": {
        "rowCountInBaseline": 224,
        "probedDeadUrls": 66,
        "resurrected": 0,
        "resurrectionRate": 0,
        "classCounts": {
          "tls-fail": 66
        },
        "baselineDeadVerdictMix": {
          "dead-404-behind-tls": 224
        },
        "todayErrorCodeMix": {
          "ERR_TLS_CERT_ALTNAME_INVALID": 66
        }
      },
      "woodlands-junior.kent.sch.uk": {
        "rowCountInBaseline": 165,
        "probedDeadUrls": 79,
        "resurrected": 0,
        "resurrectionRate": 0,
        "classCounts": {
          "dns-fail": 78,
          "fetch-error:ERR_INVALID_URL": 1
        },
        "baselineDeadVerdictMix": {
          "dead-site-gone": 165
        },
        "todayErrorCodeMix": {
          "ENOTFOUND": 78,
          "ERR_INVALID_URL": 1
        }
      },
      "topmarks.co.uk": {
        "rowCountInBaseline": 32,
        "probedDeadUrls": 26,
        "resurrected": 0,
        "resurrectionRate": 0,
        "classCounts": {
          "hard-fail": 26
        },
        "baselineDeadVerdictMix": {
          "dead-404": 32
        },
        "todayErrorCodeMix": {
          "n/a": 26
        }
      },
      "teachingideas.co.uk": {
        "rowCountInBaseline": 1,
        "probedDeadUrls": 1,
        "resurrected": 0,
        "resurrectionRate": 0,
        "classCounts": {
          "hard-fail": 1
        },
        "baselineDeadVerdictMix": {
          "dead-404": 1
        },
        "todayErrorCodeMix": {
          "n/a": 1
        }
      }
    }
  },
  "setB_carryingPageUrl": {
    "probed": 320,
    "classCounts": {
      "live-equivalent": 271,
      "redirect-useful": 31,
      "timeout": 6,
      "hard-fail": 2,
      "conn-reset": 2,
      "fetch-error:UND_ERR_CONNECT_TIMEOUT": 8
    },
    "survivalByLinkingDomainType": {
      "school": {
        "probed": 257,
        "stillLive": 239,
        "survivalRate": 0.93,
        "classCounts": {
          "live-equivalent": 216,
          "redirect-useful": 23,
          "timeout": 6,
          "hard-fail": 2,
          "conn-reset": 2,
          "fetch-error:UND_ERR_CONNECT_TIMEOUT": 8
        }
      },
      "other": {
        "probed": 19,
        "stillLive": 19,
        "survivalRate": 1,
        "classCounts": {
          "live-equivalent": 17,
          "redirect-useful": 2
        }
      },
      "school-named": {
        "probed": 44,
        "stillLive": 44,
        "survivalRate": 1,
        "classCounts": {
          "live-equivalent": 38,
          "redirect-useful": 6
        }
      }
    }
  },
  "setC_replacementUrl": {
    "probed": 19,
    "classCounts": {
      "live-equivalent": 17,
      "timeout": 2
    },
    "survivalByReplacementClass": {
      "exact": {
        "probed": 9,
        "stillLive": 9,
        "survivalRate": 1,
        "classCounts": {
          "live-equivalent": 9
        }
      },
      "hub": {
        "probed": 10,
        "stillLive": 8,
        "survivalRate": 0.8,
        "classCounts": {
          "live-equivalent": 8,
          "timeout": 2
        }
      }
    }
  }
}
