ChanceNa commited on
Commit
c10c8cb
·
verified ·
1 Parent(s): 0f28f0b

Upload train.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. train.py +164 -15
train.py CHANGED
@@ -219,20 +219,21 @@ VARIANT_TEMPLATES = [
219
  ]
220
 
221
  SYMPTOM_VARIANTS = [
222
- # Brakes
223
  {"symptoms": [
224
  "grinding noise when braking", "squealing when stopping", "brake pedal goes to floor",
225
  "pulsating brake pedal", "car pulls when braking", "scraping sound when stopping",
226
  "metal on metal when braking", "grinding from front when stopping",
227
  "high pitched squeal stopping", "brakes feel spongy",
228
  ], "subcategories": ["Brake > Disc Pads and Brake Shoes"]},
 
229
  {"symptoms": [
230
  "steering wheel shakes when braking", "vibration when stopping",
231
  "pulsation in pedal at highway speed", "shimmy when braking",
232
  "warped rotors vibration", "shudder when applying brakes",
233
  ], "subcategories": ["Brake > Drums and Rotors"]},
234
  {"symptoms": ["abs light on", "anti-lock brake warning", "abs fault code", "traction control light and abs light"], "subcategories": ["Brake > ABS Components"]},
235
- # Suspension — shocks/struts
236
  {"symptoms": [
237
  "clunking over bumps", "vehicle bounces excessively", "nose dives when stopping",
238
  "rough ride", "bouncy ride", "car keeps bouncing after bumps",
@@ -240,33 +241,68 @@ SYMPTOM_VARIANTS = [
240
  "rear sags under load", "knocking over potholes", "harsh ride quality",
241
  "suspension feels loose", "banging noise hitting bumps",
242
  "front end clunk", "noise over railroad tracks",
 
 
 
 
 
 
 
243
  ], "subcategories": ["Suspension > Shocks and Struts"]},
244
- # Suspension — strut mounts
245
  {"symptoms": [
246
  "upper mount plate", "strut mount noise", "top mount bearing worn",
247
  "upper strut mount", "mount plate clunking", "popping when turning steering wheel stationary",
248
  "creaking from top of strut tower", "strut plate bearing",
 
 
 
 
 
 
 
249
  ], "subcategories": ["Suspension > Shocks and Struts"]},
250
- # Suspension — alignment
251
  {"symptoms": [
252
  "vehicle pulls to one side", "uneven tire wear", "steering wheel off center",
253
  "vehicle pulls right", "vehicle pulls left", "car drifts right",
254
  "car drifts left", "steering wheel crooked", "feathering on tires",
255
  "cupping on tires", "car doesn't track straight", "pulls to the right on highway",
 
 
 
 
256
  ], "subcategories": ["Suspension > Alignment"]},
 
257
  {"symptoms": [
258
  "clunk when turning", "loose steering feel",
259
  "control arm bushing worn", "worn control arm bushings",
260
  "sway bar link rattle", "stabilizer bar noise",
261
  "ball joint play", "loose front end", "front end clunk turning",
 
 
 
 
 
 
 
262
  ], "subcategories": ["Suspension > Suspension, Springs and Related Components"]},
263
- # Engine
264
  {"symptoms": ["oil leak from top of engine", "burning oil smell", "oil seeping from valve cover", "wet around intake"], "subcategories": ["Engine > Gaskets and Sealing Systems"]},
 
265
  {"symptoms": [
266
  "rattling on cold start", "timing noise", "engine ticking",
267
  "timing chain replacement needed", "timing chain stretched",
268
  "timing chain rattle", "chain slap on startup", "variable valve timing code",
269
  "cam phaser noise", "vvt solenoid", "engine timing off",
 
 
 
 
 
 
 
 
270
  ], "subcategories": ["Engine > Valve Train Components"]},
271
  # Cooling
272
  {"symptoms": ["overheating", "temperature gauge high", "coolant on ground", "coolant leak", "steam from hood"], "subcategories": ["Belts and Cooling > Radiators, Coolers and Related Components"]},
@@ -279,71 +315,138 @@ SYMPTOM_VARIANTS = [
279
  {"symptoms": ["car won't start", "clicking when turning key", "no crank", "slow crank", "starter grinds"], "subcategories": ["Electrical, Charging and Starting > Starter and Related Components"]},
280
  {"symptoms": ["battery light on", "dim headlights", "electrical issues", "charging system warning"], "subcategories": ["Electrical, Charging and Starting > Alternator / Generator and Related Components"]},
281
  {"symptoms": ["dead battery", "battery keeps dying", "battery won't hold charge", "needs jump every morning"], "subcategories": ["Electrical, Charging and Starting > Battery and Related Components"]},
282
- # Ignition
283
  {"symptoms": [
284
  "CEL on", "check engine light", "misfire", "rough idle", "rough running",
285
  "CEL on rough running", "engine misfiring", "stumbles at idle",
286
  "rough running check engine light", "cylinder misfire code",
287
  "P0300 random misfire", "P0301 misfire cylinder 1", "hesitation under acceleration",
288
- "spark plugs replacement due", "plugs due for service", "100k spark plug service",
289
  "tune up needed", "tune-up", "engine tune up",
 
 
 
 
 
 
 
 
 
 
290
  ], "subcategories": ["Ignition > Secondary Ignition"]},
291
- # HVAC — A/C
 
 
 
 
 
 
 
 
 
 
 
292
  {"symptoms": [
293
  "a/c blowing warm", "no cold air", "a/c not working",
294
  "AC recharge needed blowing warm", "ac not cold enough",
295
  "ac recharge needed", "a/c weak", "a/c warm on one side",
296
  "refrigerant low", "ac blows hot", "air conditioning not cooling",
 
 
 
 
 
 
 
 
297
  ], "subcategories": ["HVAC > A/C Clutch and Compressor"]},
298
  {"symptoms": ["no heat", "heater not working", "heat blows cold", "lukewarm heat", "heater weak"], "subcategories": ["HVAC > Air Heater Components"]},
299
- # HVAC — blower motor
300
  {"symptoms": [
301
  "blower motor not working", "no air from vents", "fan not blowing",
302
  "blower only works on high", "hvac fan stopped", "no air flow from dash",
303
  "blower resistor", "fan speed not changing", "only high speed works on fan",
 
 
 
 
 
 
304
  ], "subcategories": ["HVAC > Motors, Core, Case and Related Components"]},
305
- # Exhaust
306
  {"symptoms": ["loud exhaust", "exhaust leak", "rumbling underneath", "exhaust drone", "holes in muffler"], "subcategories": ["Exhaust > Mufflers"]},
 
307
  {"symptoms": [
308
  "rotten egg smell", "catalytic converter code", "sulfur smell from exhaust",
309
  "P0420 catalyst efficiency", "P0430 catalyst", "cat efficiency below threshold",
310
  "rotten egg odor", "exhaust smells like eggs", "failing catalytic converter",
 
 
 
 
 
311
  ], "subcategories": ["Exhaust > Catalytic Converter"]},
312
- # Steering
313
  {"symptoms": [
314
  "whining when turning", "hard to steer", "power steering whine",
315
  "whining noise turning wheel", "groan when turning steering wheel",
316
  "steering stiff", "fluid leaking from steering rack",
317
  "whine at low speed turns", "moaning sound turning",
318
  "power steering fluid low", "ps pump noise",
 
 
 
 
 
 
319
  ], "subcategories": ["Steering > Power Steering Hoses, Pumps, and Related Components"]},
320
- # Driveline
321
  {"symptoms": ["clicking when turning", "cv clicking", "clicking noise in turns", "cv axle popping"], "subcategories": ["Driveline and Axles > CV Components"]},
 
322
  {"symptoms": [
323
  "humming from wheel area", "wheel noise at speed", "growling noise from front",
324
  "humming gets louder with speed", "bearing noise",
325
  "roaring sound from wheel", "drone changes with steering input",
326
  "wheel hum goes away turning one direction", "rumble from rear axle area",
327
  "hub bearing noise", "grinding from front wheel",
 
 
 
 
 
 
 
328
  ], "subcategories": ["Driveline and Axles > Wheel Bearings, Seals, and Related Components"]},
329
- # Body
330
  {"symptoms": [
331
  "mirror assembly", "mirror replacement", "side mirror broken",
332
  "mirror glass cracked", "power mirror not working", "mirror folding mechanism",
333
  "driver side mirror", "passenger mirror", "rear view mirror fell off",
334
  "mirror turn signal", "blind spot mirror",
335
  ], "subcategories": ["Body > Mirrors"]},
336
- # Tire — TPMS
337
  {"symptoms": [
338
  "TPMS light on", "tire pressure light", "tire pressure warning",
339
  "tpms sensor", "tire monitor light", "low tire pressure warning",
340
  "tpms fault", "tire pressure monitoring light",
 
 
 
 
 
 
341
  ], "subcategories": ["Tire and Wheel > Sensors"]},
342
- # Fluids — ATF
343
  {"symptoms": [
344
  "ATF flush", "ATF change", "transmission fluid service",
345
  "trans fluid flush", "automatic transmission fluid",
346
  "transmission fluid dark", "burnt trans fluid",
 
 
 
 
 
 
 
347
  ], "subcategories": ["Oil, Fluids and Chemicals > Functional Fluid, Lubricant, Grease (including Additives)"]},
348
  # Fluids — oil change with marketing prefix
349
  {"symptoms": [
@@ -365,6 +468,24 @@ SYMPTOM_TEMPLATES = [
365
  "Inspect for {symptom}",
366
  "Diag for {symptom}",
367
  "Check {symptom}",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
368
  ]
369
 
370
  COMMON_TYPOS = {
@@ -388,6 +509,7 @@ COMMON_TYPOS = {
388
  }
389
 
390
  HARD_NEGATIVES = [
 
391
  {"query": "replace radiator", "positive": "Belts and Cooling > Radiators, Coolers and Related Components", "negative": "Transmission > Radiators, Coolers and Related Components"},
392
  {"query": "r&r radiator", "positive": "Belts and Cooling > Radiators, Coolers and Related Components", "negative": "Transmission > Radiators, Coolers and Related Components"},
393
  {"query": "radiator leaking", "positive": "Belts and Cooling > Radiators, Coolers and Related Components", "negative": "Transmission > Radiators, Coolers and Related Components"},
@@ -435,6 +557,33 @@ HARD_NEGATIVES = [
435
  {"query": "TPMS light on", "positive": "Tire and Wheel > Sensors", "negative": "Ignition > Distributor and Magneto"},
436
  {"query": "TPMS light on", "positive": "Tire and Wheel > Sensors", "negative": "Driveline and Axles > CV Boots and Related Components"},
437
  {"query": "tire pressure light on", "positive": "Tire and Wheel > Sensors", "negative": "Driveline and Axles > Wheel Bearings, Seals, and Related Components"},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
  ]
439
 
440
 
 
219
  ]
220
 
221
  SYMPTOM_VARIANTS = [
222
+ # Brakes — pads/shoes
223
  {"symptoms": [
224
  "grinding noise when braking", "squealing when stopping", "brake pedal goes to floor",
225
  "pulsating brake pedal", "car pulls when braking", "scraping sound when stopping",
226
  "metal on metal when braking", "grinding from front when stopping",
227
  "high pitched squeal stopping", "brakes feel spongy",
228
  ], "subcategories": ["Brake > Disc Pads and Brake Shoes"]},
229
+ # Brakes — rotors/drums
230
  {"symptoms": [
231
  "steering wheel shakes when braking", "vibration when stopping",
232
  "pulsation in pedal at highway speed", "shimmy when braking",
233
  "warped rotors vibration", "shudder when applying brakes",
234
  ], "subcategories": ["Brake > Drums and Rotors"]},
235
  {"symptoms": ["abs light on", "anti-lock brake warning", "abs fault code", "traction control light and abs light"], "subcategories": ["Brake > ABS Components"]},
236
+ # Suspension — shocks/struts (expert-expanded)
237
  {"symptoms": [
238
  "clunking over bumps", "vehicle bounces excessively", "nose dives when stopping",
239
  "rough ride", "bouncy ride", "car keeps bouncing after bumps",
 
241
  "rear sags under load", "knocking over potholes", "harsh ride quality",
242
  "suspension feels loose", "banging noise hitting bumps",
243
  "front end clunk", "noise over railroad tracks",
244
+ "bang over bumps", "thud from front end", "knock over rough road",
245
+ "chassis slap over bumps", "double thump speed bumps",
246
+ "front end bangs dips", "rear clunk over bumps", "trunk area thump bumps",
247
+ "rattle over small bumps", "suspension noise over potholes",
248
+ "clunk from front suspension", "rear suspension thump",
249
+ "noise over expansion joints", "knocks on washboard road",
250
+ "clunk over driveway apron", "noise from strut area over bumps",
251
  ], "subcategories": ["Suspension > Shocks and Struts"]},
252
+ # Suspension — strut mounts (expert-expanded)
253
  {"symptoms": [
254
  "upper mount plate", "strut mount noise", "top mount bearing worn",
255
  "upper strut mount", "mount plate clunking", "popping when turning steering wheel stationary",
256
  "creaking from top of strut tower", "strut plate bearing",
257
+ "upper strut plate", "mount plate bearing", "strut tower mount",
258
+ "top mount worn", "upper spring seat", "strut top hat",
259
+ "mount plate popping", "bearing plate noise turning",
260
+ "strut mount bearing noisy", "upper mount clunk", "top hat binding",
261
+ "spring seat cracked", "mount bearing seized",
262
+ "pop while steering from strut mount", "front mount plate noise",
263
+ "upper mount separated",
264
  ], "subcategories": ["Suspension > Shocks and Struts"]},
265
+ # Suspension — alignment (expert-expanded)
266
  {"symptoms": [
267
  "vehicle pulls to one side", "uneven tire wear", "steering wheel off center",
268
  "vehicle pulls right", "vehicle pulls left", "car drifts right",
269
  "car drifts left", "steering wheel crooked", "feathering on tires",
270
  "cupping on tires", "car doesn't track straight", "pulls to the right on highway",
271
+ "pulls to right", "drifts right on flat road", "steering pulls",
272
+ "needs alignment pulls", "alignment off pulls right", "tracks right",
273
+ "wanders on highway", "won't hold straight line",
274
+ "off center steering wheel", "lane drift", "darting on highway",
275
  ], "subcategories": ["Suspension > Alignment"]},
276
+ # Suspension — control arms/bushings (expert-expanded)
277
  {"symptoms": [
278
  "clunk when turning", "loose steering feel",
279
  "control arm bushing worn", "worn control arm bushings",
280
  "sway bar link rattle", "stabilizer bar noise",
281
  "ball joint play", "loose front end", "front end clunk turning",
282
+ "bushing cracked", "bushing deteriorated", "lower control arm play",
283
+ "LCA bushing torn", "compliance bushing shot",
284
+ "control arm rear bushing split", "bushing separated",
285
+ "arm bushing excessive movement", "thrust arm bushing cracked",
286
+ "front end looseness low speed", "clunk turning and braking",
287
+ "hydro bushing leaking", "rear compliance bushing torn",
288
+ "FCA bushing worn", "RCA bushing worn",
289
  ], "subcategories": ["Suspension > Suspension, Springs and Related Components"]},
290
+ # Engine — gaskets
291
  {"symptoms": ["oil leak from top of engine", "burning oil smell", "oil seeping from valve cover", "wet around intake"], "subcategories": ["Engine > Gaskets and Sealing Systems"]},
292
+ # Engine — timing/valve train (expert-expanded)
293
  {"symptoms": [
294
  "rattling on cold start", "timing noise", "engine ticking",
295
  "timing chain replacement needed", "timing chain stretched",
296
  "timing chain rattle", "chain slap on startup", "variable valve timing code",
297
  "cam phaser noise", "vvt solenoid", "engine timing off",
298
+ "chain stretched", "timing chain code", "P0016 cam crank correlation",
299
+ "P0017 cam position", "timing set replacement", "chain guides worn",
300
+ "cold start chain rattle", "chain noise on startup", "chain slack",
301
+ "cam crank out of sync", "correlation fault", "chain tensioner weak",
302
+ "guides broken", "phaser correlation fault",
303
+ "cam timing over retarded", "cam timing over advanced",
304
+ "engine rattles first start", "chain kit recommended",
305
+ "front cover timing repair", "timing chain needed",
306
  ], "subcategories": ["Engine > Valve Train Components"]},
307
  # Cooling
308
  {"symptoms": ["overheating", "temperature gauge high", "coolant on ground", "coolant leak", "steam from hood"], "subcategories": ["Belts and Cooling > Radiators, Coolers and Related Components"]},
 
315
  {"symptoms": ["car won't start", "clicking when turning key", "no crank", "slow crank", "starter grinds"], "subcategories": ["Electrical, Charging and Starting > Starter and Related Components"]},
316
  {"symptoms": ["battery light on", "dim headlights", "electrical issues", "charging system warning"], "subcategories": ["Electrical, Charging and Starting > Alternator / Generator and Related Components"]},
317
  {"symptoms": ["dead battery", "battery keeps dying", "battery won't hold charge", "needs jump every morning"], "subcategories": ["Electrical, Charging and Starting > Battery and Related Components"]},
318
+ # Ignition — CEL/misfire (expert-expanded)
319
  {"symptoms": [
320
  "CEL on", "check engine light", "misfire", "rough idle", "rough running",
321
  "CEL on rough running", "engine misfiring", "stumbles at idle",
322
  "rough running check engine light", "cylinder misfire code",
323
  "P0300 random misfire", "P0301 misfire cylinder 1", "hesitation under acceleration",
 
324
  "tune up needed", "tune-up", "engine tune up",
325
+ "CEL rough running", "CEL with misfire", "check engine rough idle",
326
+ "MIL on running rough", "SES light rough idle", "CEL P0300",
327
+ "CEL multiple misfire", "engine light on stumbling",
328
+ "CEL on with shaking", "service engine soon rough",
329
+ "misfiring under load", "flashing CEL misfire",
330
+ "sputtering with check engine light", "shaking at idle CEL",
331
+ "rough idle with codes", "stumble and check engine light",
332
+ "P0301", "P0302", "P0303", "P0304",
333
+ "random misfire", "multiple cylinder misfire",
334
+ "bucks and jerks with CEL",
335
  ], "subcategories": ["Ignition > Secondary Ignition"]},
336
+ # Ignition — spark plugs maintenance (expert-expanded)
337
+ {"symptoms": [
338
+ "spark plugs replacement due", "plugs due for service", "100k spark plug service",
339
+ "plugs due", "spark plug service", "60k plug change",
340
+ "100k plug service", "iridium plugs due", "platinum plugs worn",
341
+ "plug gap too wide", "mileage-based plug replacement", "maintenance plugs",
342
+ "tune up due", "due for plugs per mileage", "recommend spark plugs",
343
+ "plugs worn", "electrodes worn", "plugs original",
344
+ "overdue for spark plugs", "plug service due by maintenance schedule",
345
+ "replace plugs as maintenance",
346
+ ], "subcategories": ["Ignition > Secondary Ignition"]},
347
+ # HVAC — A/C (expert-expanded)
348
  {"symptoms": [
349
  "a/c blowing warm", "no cold air", "a/c not working",
350
  "AC recharge needed blowing warm", "ac not cold enough",
351
  "ac recharge needed", "a/c weak", "a/c warm on one side",
352
  "refrigerant low", "ac blows hot", "air conditioning not cooling",
353
+ "AC recharge", "A/C recharge needed", "freon low",
354
+ "134a recharge", "1234yf recharge", "ac charge and check",
355
+ "air not blowing cold", "AC performance check",
356
+ "AC system evacuation and recharge", "AC evac and recharge",
357
+ "low refrigerant", "static pressure low", "recharge and leak test",
358
+ "recover evacuate recharge", "recharge with dye",
359
+ "not cooling at idle", "vent temp high", "AC weak",
360
+ "warm air from vents",
361
  ], "subcategories": ["HVAC > A/C Clutch and Compressor"]},
362
  {"symptoms": ["no heat", "heater not working", "heat blows cold", "lukewarm heat", "heater weak"], "subcategories": ["HVAC > Air Heater Components"]},
363
+ # HVAC — blower motor (expert-expanded)
364
  {"symptoms": [
365
  "blower motor not working", "no air from vents", "fan not blowing",
366
  "blower only works on high", "hvac fan stopped", "no air flow from dash",
367
  "blower resistor", "fan speed not changing", "only high speed works on fan",
368
+ "HVAC fan dead", "cabin fan stopped", "no air movement dash",
369
+ "blower quit working", "heat fan not blowing", "fan motor seized",
370
+ "blower motor intermittent", "no fan from vents", "blower inop",
371
+ "interior fan not working", "no blower on any speed",
372
+ "blower resistor concern", "fan cuts in and out",
373
+ "no airflow from vents", "HVAC blower intermittent",
374
  ], "subcategories": ["HVAC > Motors, Core, Case and Related Components"]},
375
+ # Exhaust — muffler
376
  {"symptoms": ["loud exhaust", "exhaust leak", "rumbling underneath", "exhaust drone", "holes in muffler"], "subcategories": ["Exhaust > Mufflers"]},
377
+ # Exhaust — catalytic converter (expert-expanded)
378
  {"symptoms": [
379
  "rotten egg smell", "catalytic converter code", "sulfur smell from exhaust",
380
  "P0420 catalyst efficiency", "P0430 catalyst", "cat efficiency below threshold",
381
  "rotten egg odor", "exhaust smells like eggs", "failing catalytic converter",
382
+ "egg smell from exhaust", "sulfur odor driving", "rotten smell tailpipe",
383
+ "hydrogen sulfide smell", "cat going bad smell", "stinky exhaust",
384
+ "exhaust smells terrible", "rotten smell after hard acceleration",
385
+ "bad catalyst smell", "converter smell", "strong sulfur exhaust odor",
386
+ "rotten egg smell under load", "sulfur smell after highway drive",
387
  ], "subcategories": ["Exhaust > Catalytic Converter"]},
388
+ # Steering — power steering (expert-expanded)
389
  {"symptoms": [
390
  "whining when turning", "hard to steer", "power steering whine",
391
  "whining noise turning wheel", "groan when turning steering wheel",
392
  "steering stiff", "fluid leaking from steering rack",
393
  "whine at low speed turns", "moaning sound turning",
394
  "power steering fluid low", "ps pump noise",
395
+ "whine at full lock", "pump noise turning", "moan turning wheel",
396
+ "steering whine low speed", "PS pump whine", "groan turning at idle",
397
+ "howling when steering", "fluid cavitation noise turning",
398
+ "power steering noisy", "steering pump moans",
399
+ "whine when parking", "groan backing out while turning",
400
+ "steering noise cold", "aerated PS fluid", "low PS fluid noise",
401
  ], "subcategories": ["Steering > Power Steering Hoses, Pumps, and Related Components"]},
402
+ # Driveline — CV
403
  {"symptoms": ["clicking when turning", "cv clicking", "clicking noise in turns", "cv axle popping"], "subcategories": ["Driveline and Axles > CV Components"]},
404
+ # Driveline — wheel bearings (expert-expanded)
405
  {"symptoms": [
406
  "humming from wheel area", "wheel noise at speed", "growling noise from front",
407
  "humming gets louder with speed", "bearing noise",
408
  "roaring sound from wheel", "drone changes with steering input",
409
  "wheel hum goes away turning one direction", "rumble from rear axle area",
410
  "hub bearing noise", "grinding from front wheel",
411
+ "hum from front wheel", "droning noise road speed", "wheel rumble highway",
412
+ "noise changes turning left right", "growl from hub area",
413
+ "bearing drone 40mph plus", "hum louder faster you go",
414
+ "helicopter noise road speed", "wheel bearing growl",
415
+ "drone from left front", "drone from right front",
416
+ "noise unloads on turns", "hub noise",
417
+ "rumble from corner of vehicle",
418
  ], "subcategories": ["Driveline and Axles > Wheel Bearings, Seals, and Related Components"]},
419
+ # Body — mirrors
420
  {"symptoms": [
421
  "mirror assembly", "mirror replacement", "side mirror broken",
422
  "mirror glass cracked", "power mirror not working", "mirror folding mechanism",
423
  "driver side mirror", "passenger mirror", "rear view mirror fell off",
424
  "mirror turn signal", "blind spot mirror",
425
  ], "subcategories": ["Body > Mirrors"]},
426
+ # Tire — TPMS (expert-expanded)
427
  {"symptoms": [
428
  "TPMS light on", "tire pressure light", "tire pressure warning",
429
  "tpms sensor", "tire monitor light", "low tire pressure warning",
430
  "tpms fault", "tire pressure monitoring light",
431
+ "tire light on dash", "TPMS warning", "tire monitor fault",
432
+ "low tire light stays on after fill", "TPMS sensor battery dead",
433
+ "tire pressure indicator", "TPMS relearn needed",
434
+ "tire pressure light flashing", "sensor not detected",
435
+ "tire pressure monitor inop", "tpms service",
436
+ "no sensor signal", "relearn tire sensors", "sensor battery low",
437
  ], "subcategories": ["Tire and Wheel > Sensors"]},
438
+ # Fluids — ATF (expert-expanded)
439
  {"symptoms": [
440
  "ATF flush", "ATF change", "transmission fluid service",
441
  "trans fluid flush", "automatic transmission fluid",
442
  "transmission fluid dark", "burnt trans fluid",
443
+ "ATF exchange", "ATF drain and fill", "automatic transmission fluid service",
444
+ "transmission service ATF", "ATF dark needs flush",
445
+ "ATF maintenance", "trans fluid exchange",
446
+ "transmission fluid service due", "CVT fluid service",
447
+ "DSG service", "pan drop and filter", "trans service by mileage",
448
+ "burnt ATF", "fluid discolored", "fluid exchange recommended",
449
+ "service transmission fluid", "trans fluid change",
450
  ], "subcategories": ["Oil, Fluids and Chemicals > Functional Fluid, Lubricant, Grease (including Additives)"]},
451
  # Fluids — oil change with marketing prefix
452
  {"symptoms": [
 
468
  "Inspect for {symptom}",
469
  "Diag for {symptom}",
470
  "Check {symptom}",
471
+ # Expert-added: DMS/shop shorthand prefixes
472
+ "Cust states {symptom}",
473
+ "States {symptom}",
474
+ "Complains of {symptom}",
475
+ "Chk and advise {symptom}",
476
+ "Check and advise {symptom}",
477
+ "Inspect and advise {symptom}",
478
+ "Found {symptom}",
479
+ "Verified {symptom}",
480
+ "Confirmed {symptom}",
481
+ "Recommend {symptom}",
482
+ "Rec {symptom}",
483
+ "LF {symptom}",
484
+ "RF {symptom}",
485
+ "LR {symptom}",
486
+ "RR {symptom}",
487
+ "Front {symptom}",
488
+ "Rear {symptom}",
489
  ]
490
 
491
  COMMON_TYPOS = {
 
509
  }
510
 
511
  HARD_NEGATIVES = [
512
+ # --- Original hard negatives ---
513
  {"query": "replace radiator", "positive": "Belts and Cooling > Radiators, Coolers and Related Components", "negative": "Transmission > Radiators, Coolers and Related Components"},
514
  {"query": "r&r radiator", "positive": "Belts and Cooling > Radiators, Coolers and Related Components", "negative": "Transmission > Radiators, Coolers and Related Components"},
515
  {"query": "radiator leaking", "positive": "Belts and Cooling > Radiators, Coolers and Related Components", "negative": "Transmission > Radiators, Coolers and Related Components"},
 
557
  {"query": "TPMS light on", "positive": "Tire and Wheel > Sensors", "negative": "Ignition > Distributor and Magneto"},
558
  {"query": "TPMS light on", "positive": "Tire and Wheel > Sensors", "negative": "Driveline and Axles > CV Boots and Related Components"},
559
  {"query": "tire pressure light on", "positive": "Tire and Wheel > Sensors", "negative": "Driveline and Axles > Wheel Bearings, Seals, and Related Components"},
560
+ # --- Expert-added hard negatives (with corrected PCAdb names) ---
561
+ {"query": "CEL rough running", "positive": "Ignition > Secondary Ignition", "negative": "Emission Control > Sensors"},
562
+ {"query": "CEL rough running", "positive": "Ignition > Secondary Ignition", "negative": "Engine > Valve Train Components"},
563
+ {"query": "CEL rough running", "positive": "Ignition > Secondary Ignition", "negative": "Air and Fuel Delivery > Fuel Pumps and Related Components"},
564
+ {"query": "CEL rough running", "positive": "Ignition > Secondary Ignition", "negative": "Air and Fuel Delivery > Filters"},
565
+ {"query": "Spark plugs replacement due", "positive": "Ignition > Secondary Ignition", "negative": "Ignition > Ignition Coil"},
566
+ {"query": "Spark plugs replacement due", "positive": "Ignition > Secondary Ignition", "negative": "Engine > Valve Train Components"},
567
+ {"query": "Spark plugs replacement due", "positive": "Ignition > Secondary Ignition", "negative": "Air and Fuel Delivery > Fuel Injection System and Related Components"},
568
+ {"query": "AC recharge needed", "positive": "HVAC > A/C Clutch and Compressor", "negative": "HVAC > A/C Condenser and Evaporator"},
569
+ {"query": "AC recharge needed", "positive": "HVAC > A/C Clutch and Compressor", "negative": "HVAC > Motors, Core, Case and Related Components"},
570
+ {"query": "blower not working", "positive": "HVAC > Motors, Core, Case and Related Components", "negative": "HVAC > A/C Clutch and Compressor"},
571
+ {"query": "blower not working", "positive": "HVAC > Motors, Core, Case and Related Components", "negative": "Belts and Cooling > Cooling Fan, Clutch and Motor"},
572
+ {"query": "TPMS light", "positive": "Tire and Wheel > Sensors", "negative": "Tire and Wheel > Tire"},
573
+ {"query": "timing chain needed", "positive": "Engine > Valve Train Components", "negative": "Belts and Cooling > Accessory Drive Belt System Components"},
574
+ {"query": "control arm bushing", "positive": "Suspension > Suspension, Springs and Related Components", "negative": "Suspension > Shocks and Struts"},
575
+ {"query": "control arm bushing", "positive": "Suspension > Suspension, Springs and Related Components", "negative": "Steering > Steering, Gear and Related Components"},
576
+ {"query": "clunking over bumps", "positive": "Suspension > Shocks and Struts", "negative": "Suspension > Suspension, Springs and Related Components"},
577
+ {"query": "clunking over bumps", "positive": "Suspension > Shocks and Struts", "negative": "Steering > Steering, Gear and Related Components"},
578
+ {"query": "clunking over bumps", "positive": "Suspension > Shocks and Struts", "negative": "Brake > Brake Hydraulics"},
579
+ {"query": "vehicle pulls right", "positive": "Suspension > Alignment", "negative": "Tire and Wheel > Tire"},
580
+ {"query": "vehicle pulls right", "positive": "Suspension > Alignment", "negative": "Brake > Brake Hydraulics"},
581
+ {"query": "vehicle pulls right", "positive": "Suspension > Alignment", "negative": "Suspension > Suspension, Springs and Related Components"},
582
+ {"query": "whining when turning", "positive": "Steering > Power Steering Hoses, Pumps, and Related Components", "negative": "Belts and Cooling > Accessory Drive Belt System Components"},
583
+ {"query": "whining when turning", "positive": "Steering > Power Steering Hoses, Pumps, and Related Components", "negative": "Driveline and Axles > CV Components"},
584
+ {"query": "humming from wheel area", "positive": "Driveline and Axles > Wheel Bearings, Seals, and Related Components", "negative": "Tire and Wheel > Tire"},
585
+ {"query": "humming from wheel area", "positive": "Driveline and Axles > Wheel Bearings, Seals, and Related Components", "negative": "Brake > Brake Hydraulics"},
586
+ {"query": "humming from wheel area", "positive": "Driveline and Axles > Wheel Bearings, Seals, and Related Components", "negative": "Driveline and Axles > Differential"},
587
  ]
588
 
589