{
 "_doc": "Capitol Watch registry — source of truth for capitol_sweep.py. Encodes claude/Capitol_Watch_Keywords_DRAFT.md (owner-approved 2026-09-04). Edit keywords here; no code change needed. Matching is case-insensitive, word-boundary, phrases matched as phrases.",
 "sessions": [
  {
   "legSess": "89R",
   "label": "89th Legislature, Regular Session",
   "sweepBills": true,
   "note": "interim monitoring references"
  },
  {
   "legSess": "891",
   "label": "89th Legislature, 1st Called Session",
   "sweepBills": true
  },
  {
   "legSess": "892",
   "label": "89th Legislature, 2nd Called Session",
   "sweepBills": true
  },
  {
   "legSess": "90R",
   "label": "90th Legislature, Regular Session",
   "sweepBills": true,
   "prefilingOpens": "2026-11-09",
   "convenes": "2027-01-12",
   "note": "report is empty until prefiling opens; the sweep handles that quietly"
  }
 ],
 "currentLeg": 89,
 "delegation": [
  {
   "name": "Charles Perry",
   "surname": "Perry",
   "chamber": "senate",
   "district": "SD-28",
   "code": "A1045",
   "role": "Chair, Senate Water, Agriculture and Rural Affairs"
  },
  {
   "name": "Kevin Sparks",
   "surname": "Sparks",
   "chamber": "senate",
   "district": "SD-31",
   "code": "A1375",
   "role": "Chair, Senate Natural Resources"
  },
  {
   "name": "Dustin Burrows",
   "surname": "Burrows",
   "chamber": "house",
   "district": "HD-83",
   "code": "A3055",
   "role": "Speaker of the House"
  },
  {
   "name": "Carl Tepper",
   "surname": "Tepper",
   "chamber": "house",
   "district": "HD-84",
   "code": "A4360",
   "role": null
  }
 ],
 "committees": {
  "senate": [
   {
    "code": "C700",
    "name": "Water, Agriculture and Rural Affairs"
   },
   {
    "code": "C556",
    "name": "Local Government"
   },
   {
    "code": "C510",
    "name": "Business & Commerce"
   },
   {
    "code": "C532",
    "name": "Education K-16"
   },
   {
    "code": "C540",
    "name": "Finance"
   }
  ],
  "house": [
   {
    "code": "C390",
    "name": "Natural Resources"
   },
   {
    "code": "C020",
    "name": "Agriculture & Livestock"
   },
   {
    "code": "C360",
    "name": "Land & Resource Management"
   },
   {
    "code": "C324",
    "name": "Intergovernmental Affairs"
   },
   {
    "code": "C326",
    "name": "S/C on County & Regional Government"
   },
   {
    "code": "C250",
    "name": "Energy Resources"
   },
   {
    "code": "C450",
    "name": "State Affairs"
   },
   {
    "code": "C400",
    "name": "Public Education"
   },
   {
    "code": "C030",
    "name": "Appropriations"
   },
   {
    "code": "C290",
    "name": "Higher Education"
   }
  ]
 },
 "places": [
  "Lubbock",
  "Lubbock County",
  "Wolfforth",
  "Shallowater",
  "Slaton",
  "Idalou",
  "Abernathy",
  "New Deal",
  "Ransom Canyon",
  "Buffalo Springs",
  "Frenship",
  "Lubbock ISD",
  "Lubbock-Cooper",
  "Roosevelt ISD",
  "Texas Tech",
  "TTU",
  "Texas Tech University System",
  "TTUHSC",
  "Texas Tech University Health Sciences Center",
  "South Plains College",
  "South Plains",
  "High Plains",
  "Llano Estacado",
  "Panhandle",
  "West Texas",
  "Reese Technology Center",
  "Lubbock Power & Light",
  "Lubbock Power and Light",
  "LP&L"
 ],
 "keywords": {
  "Water": [
   "groundwater conservation district",
   "groundwater district",
   "Ogallala",
   "aquifer",
   "playa lake",
   "playa",
   "produced water",
   "brackish",
   "desalination",
   "Texas Water Fund",
   "water infrastructure fund",
   "SWIFT",
   "water rights",
   "rule of capture",
   "irrigation"
  ],
  "Agriculture": [
   "cotton",
   "boll weevil",
   "agricultural exemption",
   "agricultural land",
   "right to farm",
   "eminent domain",
   "cattle feeding",
   "feedlot",
   "dairy",
   "CAFO",
   "seed",
   "pesticide",
   "farm-to-market",
   "hemp",
   "THC",
   "consumable hemp"
  ],
  "Energy & utilities": [
   "ERCOT",
   "SPP",
   "Southwest Power Pool",
   "transmission line",
   "Permian Basin",
   "reliability plan",
   "wind energy",
   "wind facilit",
   "wind turbine",
   "renewable",
   "decommissioning",
   "oil and gas",
   "oil & gas",
   "severance tax",
   "municipal utility",
   "municipally owned utility",
   "electric rate",
   "electric grid",
   "power plant",
   "certificate of convenience and necessity"
  ],
  "Municipal & county government": [
   "annexation",
   "extraterritorial jurisdiction",
   "ETJ",
   "municipal management district",
   "public improvement district",
   "PID",
   "TIRZ",
   "tax increment",
   "reinvestment zone",
   "economic development corporation",
   "Type A",
   "Type B",
   "Chapter 380",
   "Chapter 381",
   "hotel occupancy tax",
   "interlocal",
   "wholesale water",
   "wastewater",
   "impact fee",
   "preemption",
   "home rule",
   "city charter",
   "special district",
   "municipal utility district",
   "MUD",
   "bond election",
   "certificates of obligation"
  ],
  "Public notice & transparency": [
   "public notice",
   "legal notice",
   "legal advertising",
   "newspaper of record",
   "Public Information Act",
   "open meetings",
   "open records"
  ],
  "Property tax & finance": [
   "property tax",
   "appraisal",
   "appraisal district",
   "homestead exemption",
   "voter-approval",
   "no-new-revenue",
   "school finance",
   "basic allotment",
   "recapture"
  ],
  "Education": [
   "education savings account",
   "ESA",
   "voucher",
   "school choice",
   "school safety",
   "teacher pay",
   "teacher compensation",
   "curriculum",
   "UIL",
   "Permanent University Fund",
   "PUF",
   "Texas University Fund",
   "TUF"
  ],
  "Rural health & infrastructure": [
   "rural hospital",
   "EMS",
   "emergency medical",
   "physician loan repayment",
   "broadband",
   "BEAD",
   "rural airport",
   "I-27",
   "Interstate 27",
   "Ports-to-Plains",
   "Ports to Plains",
   "state supported living center",
   "Montford"
  ],
  "Elections & courts": [
   "election administrator",
   "county election",
   "judicial district",
   "district court",
   "court of appeals",
   "Seventh Court of Appeals"
  ]
 },
 "billTextPatterns": [
  "Senate Bill (\\d+)",
  "House Bill (\\d+)",
  "\\b(SB|HB|SJR|HJR|SCR|HCR)\\s*(\\d+)"
 ],
 "video": {
  "senate": {
   "archive": "https://senate.texas.gov/av-archive.php",
   "live": "https://senate.texas.gov/av-live.php"
  },
  "house": {
   "archive": "https://house.texas.gov/video-audio/",
   "live": "https://house.texas.gov/video-audio/"
  }
 },
 "tlo": {
  "base": "https://capitol.texas.gov",
  "rss": {
   "upcomingmeetingshouse": "hearing",
   "upcomingmeetingssenate": "hearing",
   "upcomingcalendarshouse": "calendar",
   "upcomingcalendarssenate": "calendar",
   "todaysfiledhouse": "bill",
   "todaysfiledsenate": "bill",
   "todaysbillspassed": "bill",
   "todaysbilltext": "bill",
   "todaysbillanalyses": "bill",
   "todaysfiscalnotes": "bill"
  },
  "filedReports": [
   "housefiled",
   "senatefiled"
  ],
  "meetingsByCmte": "/Committees/MeetingsByCmte.aspx?Leg={leg}&Chamber={ch}&CmteCode={code}",
  "billHistory": "/BillLookup/History.aspx?LegSess={legSess}&Bill={bill}",
  "billText": "/BillLookup/Text.aspx?LegSess={legSess}&Bill={bill}",
  "verified": "2026-09-05 from the Mac: all 10 RSS types 200; MeetingsUpcoming H/S 200; Report.aspx housefiled/senatefiled 200 (89R house 6.3 MB, 7,560 bills, 1.2 s); 90R report exists and is empty; MeetingsByCmte 200 with notice links back to 2025; History.aspx 200 (labels lblCaptionText/lblLastAction/lblAuthor/lblSubjects/lblComm1CommitteeValue). ftp.legis.state.tx.us TIMES OUT from the Mac VM — not used. MeetingsByDate.aspx is a postback form — not used."
 },
 "broadTerms": {
  "Agriculture": [
   "agricultural",
   "agriculture",
   "livestock",
   "rural",
   "crop insurance"
  ],
  "Energy & utilities": [
   "transmission",
   "solar",
   "Public Utility Commission",
   "PUC",
   "Railroad Commission"
  ],
  "Municipal & county government": [
   "municipalit",
   "county government",
   "city council",
   "local government",
   "county commissioners",
   "commissioners court"
  ],
  "Public notice & transparency": [
   "newspaper",
   "public information",
   "transparency"
  ],
  "Education": [
   "school district",
   "public school",
   "higher education",
   "university",
   "community college",
   "junior college"
  ],
  "Rural health & infrastructure": [
   "rural health",
   "telemedicine",
   "telehealth",
   "psychiatric",
   "mental health",
   "nursing",
   "trauma",
   "Department of Transportation",
   "TxDOT"
  ],
  "Water": [
   "water supply",
   "water development board",
   "TWDB"
  ],
  "Property tax & finance": [
   "ad valorem",
   "tax rate"
  ]
 },
 "broadRule": "A broadTerms hit alone never qualifies an item; it counts only alongside a Tier-2 place or a Tier-3 keyword hit. Owner-approved keywords live in 'keywords'; broadTerms are session-added context words.",
 "caseSensitive": [
  "Type A",
  "Type B",
  "New Deal",
  "SWIFT",
  "Frenship",
  "Slaton"
 ],
 "matchRules": "All-uppercase terms of 5 letters or fewer (ERCOT, PID, MUD, ESA, EMS, SPP, PUF, TUF, THC, UIL, ETJ, TTU, BEAD, CAFO, TIRZ) and every term in caseSensitive match case-sensitively; everything else is case-insensitive. All matches are whole-word; a term ending in a stem (wind facilit, municipalit) matches the word it begins."
}