THERMOSTATS, P0128 AND THE TWO FAILURE DIRECTIONS — HOW THESE FILES WERE BUILT PulsCar analysis of NHTSA public data, September 2026. License: CC BY 4.0. Attribution: "PulsCar analysis of NHTSA public data". SOURCE FILES - NHTSA ODI owner complaints flat file (https://static.nhtsa.gov/odi/ffdd/cmpl/CMPL.txt), loaded into SQLite. Rows received 1 January 2015 - 8 September 2026. 777,040 complaints in total. - NHTSA ODI manufacturer communications (TSB) flat file (https://static.nhtsa.gov/odi/ffdd/tsbs/TSBS.txt). - NHTSA ODI recalls flat file (https://static.nhtsa.gov/odi/ffdd/rcl/RCL.txt). Read 18 September 2026. THE COMPLAINT QUERY SQLite FTS5 match on the complaint narrative for: thermostat OR "P0128" OR "P0125" OR "P0126" Rows were kept only if the narrative itself contains "thermostat" or one of those codes (regex thermostat|p012[568]), which removes FTS stem noise. -> CORPUS: 1,940 complaints. SAMPLE-READING RESULT (false-positive rate) 30 complaints were drawn at random from the 1,940 and read in full. 4 of 30 (13.3%) were off topic: the narrative's subject was something else (infotainment screens, a fuel tank leak, an A/C condenser, a multi-fault list) and the thermostat appeared only as one line in a repair history. This corpus is looser than a symptom-specific one because "thermostat" is a word people use when listing everything they have replaced. Treat every count here as carrying roughly a one-in-seven off-topic rate, and treat make/model counts as "complaints that mention a thermostat", not "thermostat failures". FAILURE DIRECTION (thermostat-complaints-by-make.csv, thermostat-top-models.csv) Each complaint was classified by regex on the narrative: open - "stuck open", never reaches operating temperature, runs cold, no heat, or P0128 closed - "stuck closed" or any mention of overheating both - matches both sets undirected- names a thermostat with no direction stated (most of the file) Result across 1,940: 532 closed/overheat (27.4%), 149 open (7.7%), 25 both (1.3%), 1,234 undirected (63.6%). Among the 681 complaints that state a single direction, 78.1% are the overheating direction. READ THAT NUMBER CORRECTLY. It is a statement about which direction produces a federal SAFETY complaint, not about which direction happens more often in the world. A thermostat stuck open makes a car annoying and expensive; a thermostat stuck closed can strand or burn it. Owners file with NHTSA about the second. This dataset cannot settle the relative real-world frequency of the two failure directions, and no percentage claiming to do so should be taken from it. THE REDUCED-STEERING FINDING Regex for "steering assist reduced", "reduced steering assist", "power steering reduced", "loss of power steering" or "steering may lock" inside the same complaint. 121 of 1,940 (6.2%) match. 101 of those 121 are Chevrolet Blazer (53), GMC Acadia (48) or Cadillac XT5/XT6 (17). Within the 245 Blazer and Acadia complaints in the corpus, 101 (41%) mention reduced steering assist and 59 name P0128. These are owner narratives, not a manufacturer's root-cause statement: they establish that owners repeatedly report the two messages together on these models, not the mechanism linking them. MILEAGE Odometer present on 929 of 1,940 (48%). Rows with miles <= 0 or >= 400,000 dropped. Median 79,000 miles, quartiles 49,200 and 114,344. OUTCOME RATES (compared with the whole 777,040-row file) towed 4.48% (baseline 5.11%) · fire 1.91% (baseline 1.82%) · crash 0.98% (baseline 4.37%). BULLETIN QUERIES (a) thermostat OR "P0128", de-duplicated by nhtsa_id -> 719 distinct bulletins. (b) "P0128" alone, de-duplicated by nhtsa_id -> 256 distinct bulletins, of which 196 (76.6%) mention software, reprogramming, a calibration, a flash or an ECM upgrade. Keyword flags were run over each distinct bulletin's full summary text. A COST FIGURE WE DID NOT PUBLISH We attempted to extract owner-reported repair amounts by pulling dollar figures from sentences that mention a thermostat. After excluding sentences that also named a radiator, transmission, water pump, head gasket, heater core or "the entire cooling system", only 47 figures from 41 complaints survived, and reading them showed most were still bundled multi-part invoices, with several figures from a single complaint. The sample is too small and too contaminated to publish as a distribution, so no owner-reported cost median appears in the article or in these files. Two individual owner figures are quoted in the article as individual owner reports, clearly labelled as such. LIMITATIONS YOU MUST CARRY WITH THE NUMBERS - NHTSA complaints are self-reported and unverified. They are not failure rates. There is no count of vehicles on the road in this data, so no make or model comparison here supports a reliability claim, and none is made. - Complaint volume responds to publicity and to forum activity; several narratives in the Blazer/Acadia group explicitly say the owner found the pattern online before filing. ------------------------------------------------------------------------------ CASE SENSITIVITY — SECTION ADDED 19 SEPTEMBER 2026 ------------------------------------------------------------------------------ NHTSA stores complaint narratives in ALL CAPS for records filed through roughly 2020 and in mixed case for records filed from 2021 on. A case-SENSITIVE search of the narrative field loses about 92% of the complaints filed after 2020, so this is the single largest way an analysis of this database can go wrong while still looking finished. Every query behind this file is case-insensitive. SQLite's LIKE and its FTS5 full-text index both ignore case by default, and no query in this work uses GLOB or any case-sensitive comparison. This was not taken on trust. On 19 September 2026 every published folder was re-checked against the same database, comparing the figures here with what a case-sensitive query would have returned. The result: the complaint set published here (1,940) is LARGER than the absolute ceiling a case-sensitive search of the same terms could have returned (936 narratives). A case-sensitive query cannot produce a bigger set than itself, so the bug is ruled out for this folder by arithmetic, not by assurance.