{
  "fetched_at": "2026-10-23",
  "source_url": "https://deploy-preview-1--globalqabuild.netlify.app/api/rules.json",
  "repo_note": "GlobalQA repository, PR #1, branch cursor/globalqa-phase1-pilot-b514. The rules catalogue was read from the deploy preview on 23 October 2026. The repo file tree was not readable from this checkout, so C1\u2013C6 are taken from rules.json config.contradictions, which that file describes as design doc Appendix A.",
  "catalogue": {
    "name": "GlobalQA EOV QA rules catalogue",
    "version": "0.1",
    "date": "2026-10-09",
    "count": 164,
    "protocol": "EOV",
    "protocol_version": "3.0 (manual, March 2021)",
    "source_document": "docs/eov-qa-rules.md",
    "page_convention": "PDF page numbers of the EOV 3.0 manual; [W] = public web/API source; [INF] = inference, not stated in the manual",
    "severity_meaning": "How strongly the manual words the requirement (clause strength). It is metadata, never a verdict. GlobalQA raises findings and questions only; an accredited human verifier decides."
  },
  "config_description": "The six manual contradictions held as protocol-profile configuration (design doc Appendix A). Interim settings are proposals only.",
  "contradictions": [
    {
      "id": "C1",
      "contradiction": "Minimum LTM sites per landbase",
      "source_a": "Checklist \"Min 3 LTM / 10 STM\" [M p.181/202]",
      "source_b": "Text: 1 per stratum \u22643,000 ha, rising with area; \"1 to 12\" [M p.16, p.64]",
      "rules_affected": [
        "PLAN-15",
        "PLAN-16"
      ],
      "config_key": "ltm.min_sites_rule",
      "options": [
        "checklist_3",
        "by_stratum_area"
      ],
      "interim_setting_proposed": "Check `by_stratum_area`, and raise a Question (not a Gap) where the checklist's 3 is not met, citing both clauses",
      "status": "open: for the working group to confirm"
    },
    {
      "id": "C2",
      "contradiction": "EHI range",
      "source_a": "Form 3 template \u2212140..+120 [M p.50\u201351]",
      "source_b": "Chapter 1 \"e.g. \u2212120 to +120\" [M p.16]; older versions differ",
      "rules_affected": [
        "STM-11"
      ],
      "config_key": "ehi.bounds_source",
      "options": [
        "from_matrix",
        "fixed"
      ],
      "interim_setting_proposed": "`from_matrix` (the research's recommendation [S: EOVR \u00a71.3])",
      "status": "open: for the working group to confirm"
    },
    {
      "id": "C3",
      "contradiction": "STM ground photo angle",
      "source_a": "45\u00b0 [M p.63; Form 5 p.192]",
      "source_b": "90\u00b0 vertical [M p.115]; checklist \"pan & vertical\" [M p.181]",
      "rules_affected": [
        "STM-17"
      ],
      "config_key": "stm.ground_photo",
      "options": [
        "45",
        "90",
        "either"
      ],
      "interim_setting_proposed": "`either`, with an Observation recording which slot was used",
      "status": "open: for the working group to confirm"
    },
    {
      "id": "C4",
      "contradiction": "Farm audit rate",
      "source_a": "\u226520% of farms verified last season, \u221an above 70 [M p.174]",
      "source_b": "\"average of 5%\" [M p.24]; GitBook \"all\"",
      "rules_affected": [
        "AUD-02"
      ],
      "config_key": "audit.farm_rate_rule",
      "options": [
        "pct20_sqrt",
        "avg5",
        "all"
      ],
      "interim_setting_proposed": "Not used in Phase 1 (no audit module); needs a decision before Phase 2",
      "status": "open: for the working group to confirm"
    },
    {
      "id": "C5",
      "contradiction": "LTM interval",
      "source_a": "\"every 5 years\" [M p.8, p.17, p.31]",
      "source_b": "\"every 4\u20135 years\" [M p.61, p.65, p.146]; one help article says 3 years",
      "rules_affected": [
        "LTM-01",
        "SOIL-01"
      ],
      "config_key": "ltm.interval_years",
      "options": [
        "5",
        "4_to_5"
      ],
      "interim_setting_proposed": "Forward note at 4 years; Question once over 5",
      "status": "open: for the working group to confirm"
    },
    {
      "id": "C6",
      "contradiction": "Water infiltration when Cornell CASH is used",
      "source_a": "\"not needed\" [M p.143]",
      "source_b": "Checklist requires infiltration [M p.181]",
      "rules_affected": [
        "INF-01"
      ],
      "config_key": "inf.required_with_cash",
      "options": [
        "true",
        "false"
      ],
      "interim_setting_proposed": "Not used in Phase 1 (no LTM rules); needs a decision before Phase 2",
      "status": "open: for the working group to confirm"
    }
  ],
  "repeat_visit": {
    "id": "STM-05",
    "section": "C. Short-term monitoring",
    "page": "63, 122",
    "rule": "Repeat visits are at the stored site. [INF] Flag if the submitted event position or photo GPS is more than 15 m from the stored site (15 m = EHI assessment radius)",
    "source_flags": {
      "web_source": false,
      "inference": true
    },
    "note": "Quoted from the same rules.json. The rule text itself marks the 15 m flag as [INF], inference, not a sentence copied as manual prose."
  }
}
