# Codebook — vibration at idle / at a stop (car-vibration-at-idle study) Written before any complaint in the set was coded. Pool: every NHTSA complaint received from 2015 whose narrative puts a vibration word (vibrate, shake, shudder, tremble, buzz) within one sentence of an idle or standstill phrase (idle, at a stop / light / red light, when stopped, at a standstill, sitting in traffic). For each complaint record exactly one CATEGORY and four yes/no FLAGS. ## RELEVANCE first N — Not about a vibration while the vehicle is idling or standing still. Examples: shaking at highway speed, braking judder, steering shimmy while driving, a vibration only while accelerating, "shaking" of a person, a stop-start complaint with no vibration, "idle" in an unrelated sentence. A complaint whose main vibration happens at idle or at a stop is relevant even if other problems are also described. ## CATEGORY for relevant complaints (one letter) — the cause the complaint STATES (a diagnosis, a repair, a technician's or dealer's finding, a recall/bulletin applied for it; a repair aimed at the vibration counts even if it did not work; the owner's own guess does not) M — Engine, transmission or active mount(s) diagnosed, replaced or blamed by a technician (including "motor mount", "active control engine mount", "torque strut"). D — Cylinder deactivation / variable cylinder management / fuel management (Honda VCM, GM AFM/DFM, Chrysler MDS, "Eco" mode running on fewer cylinders) named as the cause or the fix is to disable it, reprogram it or add a VCM-related part. A — Air conditioning or accessory load: vibration tied by a diagnosis to the A/C compressor, the A/C clutch, alternator or belt load, or "only with A/C on" confirmed by a technician. T — Transmission or torque converter: vibration at a stop in gear diagnosed as the transmission, torque converter, clutch, CVT, or fixed by transmission software/fluid. S — Stop-start or hybrid: vibration or shudder when the engine auto-stops or restarts, or a hybrid engine start/stop at standstill, named as the cause. I — Engine running rough: misfire, spark plugs, coils, injectors, fuel, vacuum leak, throttle body, idle air control, idle speed, carbon, compression, engine software for idle quality, or a misfire code (P0300-P0312) — i.e. the engine itself runs unevenly. X — Another named cause: exhaust contact or hanger, heat shield, a body or trim rattle, a cooling fan, a harmonic balancer, a wheel/tire (at a stop), anything not above. U — Vibration at idle or at a stop with no cause stated. Precedence when more than one cause is stated: the cause of the FINAL repair that the complaint says worked; otherwise the most recent diagnosis; otherwise the first listed. ## FLAGS (yes/no; "no" when not stated) in_gear — the vibration is described as happening in Drive/Reverse at a stop, or worse in gear than in Park/Neutral. ac_related — the owner says the vibration comes or gets worse with the A/C on (or goes away with it off). light_or_code — a check engine light (steady or flashing) or a named trouble code is reported. fixed — the complaint says a repair stopped the vibration (the vibration is gone after it). ## Output One line per complaint, in the order given: odino,category,in_gear,ac_related,light_or_code,fixed,note note = at most 12 words, no commas, saying what drove the category. ## Hash of this codebook, taken before coding 2026-09-26T17:01:38Z 00e1219b4b8bb2f302aebe427d98c48c4a48c78211565f9856dcca1f65d91859 codebook.md ## Adjudication rules (written after the two readings, applied to every disagreement and in the consistency pass) Rules (written after the two readings, applied to every disagreement; published in codebook.txt): R1 A steering-wheel shake at a stop that the complaint attributes to the power steering (recall 14S05, torque sensor, column, gear, a power steering failure — by a shop or by the owner) is relevant and X; with no steering part named it is U. A power-steering, wrench, ABS, traction or airbag light is not a check engine light. R2 A software update, bulletin or campaign performed FOR the vibration is a stated cause: engine software = I, transmission or CVT software = T, unless the narrative names a mount (M) or transmission part (T) replaced. A fix that is only promised ("Honda is working on software") is not a repair: U. R3 "Normal", "a characteristic", "within spec", "engine and transmission combination", "harmonics", "new engine design", "aware of it" — with no component named and no repair — is not a stated cause: U. R4 in_gear = yes when the vibration is described while stopped in Drive or Reverse (foot on the brake, "in D at a light", "in gear", "until put in Park"), including when it is also felt in Park; "in drive" meaning while driving does not count; holding the brake at a stop counts as in gear; no gear stated = no. R5 ac_related = yes only when the A/C brings the vibration on or makes it worse; A/C making it better = no. R6 light_or_code = yes for a check engine / service engine light or any trouble code, named or "a code"; other warning lights, dash messages and scan-tool readings that are not codes = no. R7 A shudder only when pulling away or pressing the accelerator from a stop is N (codebook: only while accelerating). A jerk or shake while still stopped in gear is relevant. R8 Any affirmative description of a vibration while stopped or idling makes the complaint relevant, even as a secondary symptom; EXCEPT the call-centre template "while driving at N mph the vehicle shook violently while idling", which is N, and a vibration only when revving at a standstill, which is N. R9 A diagnosed engine mechanical failure (timing chain, valve, compression, scored bore, coolant in the engine) = I. R10 Repairs not stated as aimed at the vibration (routine plugs, sensors for earlier codes) do not set a category. R11 A chain of diagnoses: the final repair that worked, else the most recent diagnosis; a hedged one ("pretty sure", "possibly", "thought to be") counts only if a repair followed it. R12 An owner's description of the event that ties the shudder to auto stop-start or a hybrid engine restart is S (the event is observable, not a diagnosis); a stop-start complaint with no vibration at the stop is N. R13 An engine-code or misfire wording used by the owner as a symptom ("miss-fire/vibration") is not a diagnosis: U (light_or_code yes only when a light or code is reported). R14 fixed = yes only when the narrative's final outcome is that the vibration stopped or the vehicle "was repaired" with no later recurrence stated; "repaired, however the failure recurred" = no. R15 A named engine or hybrid campaign applied or pending is a stated cause only when the narrative ties the vibration to it by a dealer finding; "recall notice received" alone is not a diagnosis (U). R16 A shudder while STOPPED in gear that the owner attributes to the transmission, with no shop finding and no repair, is U (owner guess); T needs a shop diagnosis or a transmission repair aimed at the shudder (codebook). R17 A failed or collapsed lifter is D only when the narrative names AFM/DFM/cylinder deactivation as the system behind it (owner or shop); a lifter failure with no such naming is I. R18 A single bang, explosion or impact jolt at a stop (not a continuing vibration) is N. R20 A rough idle, rough start, noise or stall with no word for a felt vibration, shake, shudder, shimmy, jerk, rock or jolt of the vehicle is N (engine roughness alone belongs to the rough-idle and misfire guides); exception: a mount diagnosed as the cause. ## Pool history First search (1,806 complaints): every complaint received from 2015 whose narrative puts a vibration word (vibrat*, shak*, shudder*, shook, trembl*, buzz*) within one sentence of an idle or standstill phrase (idl*, at a/the stop, light, red light, stop light, traffic light, stop sign, when/while stopped, stopped at, at a standstill, standing still, sitting still/in traffic/at, in traffic, in park, in drive near a stop or light, stop-and-go). Second, wider search (689 more): misspellings and more phrases — "idel", "idol", "shutter(s/ed/ing)" for shudder, "at a dead/full/complete stop", "when I'm stopped", "in neutral", "in gear", "stationary", "not moving", "waiting at", "when the car is stopped", "at a stand still" — within one sentence of a vibration word. Third search (100 more): an independent completeness audit ran five new families (misspellings such as vibrait, shack, shuder, shimmy; other verbs such as rumble, rough, lope, chug, jolt, judder; standstill phrases such as drive-thru, warming up, cold start, parked with the engine running, came to a stop; cause words such as engine mount, torque strut, cylinder deactivation, stop-start, A/C compressor, torque converter; and cross-sentence proximity within 400 characters). It sampled 40 not-in-pool hits per family, read all hits of the only family above a 25% on-topic rate, and listed 100 on-topic or borderline complaints; all 100 were added and coded by the same two-reader method. From its samples it estimated roughly 1,245 more on-topic complaints in the families it did not read in full (mostly cross-sentence and other-verb wordings, where most hits are off-topic). Those were not read; every count in the article is a floor. Rule R19 (flexplate as T) was drafted and withdrawn during the consistency pass; flexplate complaints are coded X, as in the earlier decisions. R20 was written for the third-search additions and applied to all of them. Fourth search, wave 2 (323 more): the completeness audit's standstill-phrase family ("vib_any_standstill") was read in full: 417 hits, 352 outside the pool the audit started from, 29 of them already coded in the third search, 323 coded in wave 2 by the same two-reader method under the addendum below. 63 describe a shake at a standstill. R9 was applied to variable cam timing parts (cam phasers, VCT, VTC actuator, VANOS) and a head gasket with coolant in the cylinders; R18 was also applied to two discrete jolts followed by unintended acceleration (10956663, 10957901). One rule that the codebook's own N example ("braking judder") already implied was written down after the fact-check: R21 A shake or shudder while braking to a stop, or tied to a brake or ABS fault during braking, is N, unless the narrative also places a vibration at a standstill after the car has stopped. The other low-yield audit families (other verbs, cause words, cross-sentence proximity; about 10,600 complaints outside the pool, an estimated 1,180 on topic) were not read. ============================================================================== # Codebook addendum — wave 2 (standstill phrases), car-vibration-at-idle study Written 28 September 2026 before any wave-2 complaint was coded. It ADDS to codebook.md; it does not replace it. Categories (N M D A T S I X U), the flags ac_related, light_or_code and fixed, the precedence rule and the output format are UNCHANGED. The only change is the clarification of the in_gear flag below. ## Wave-2 pool Source: NHTSA complaints received from 2015-01-01 to 2026-09-21 (780,071 records). A complaint enters wave 2 when its narrative matches the family "vib_any_standstill" of the completeness audit (audit3/families.py, FAMILIES['vib_any+new_standstill'] = sentence_pat(VIB_ANY, NEW_IDLE, 200), case-insensitive) and it is not already in the 2,595 complaints coded in the first three searches. Components, verbatim from families.py and common.py: TEAM_VIB = r"(?:vibrat\w*|shak\w*|shudder\w*|shook|trembl\w*|buzz\w*)" MISSPELL = r"(?:vibrait\w*|vibrt\w*|\bshack(?:s|ed|ing)?\b|shuder\w*|shimm(?:y|ies|ied))" VERBS = r"(?:rumbl\w*|\brough(?:ly|er|est)?\b|\blop(?:e|es|ed|ing)\b|\bchugg?\w*|\brock(?:s|ed|ing)?\b|jolt\w*|judder\w*|quiver\w*|throb\w*|pulsat\w*)" NEW_IDLE = r"(?:foot on the brake|holding the brake|drive[- ]thru|drive[- ]through|came to a (?:complete )?stop|parked with (?:the |my |his |her )?(?:engine|motor) running|warming (?:up|the (?:engine|car|truck|vehicle))|cold start|waiting in line)" VIB_ANY = r"(?:%s|%s|%s)" % (TEAM_VIB, MISSPELL, VERBS) def sentence_pat(vib, idle, w=200): return re.compile(r"(?:%s[^.!?\n]{0,%d}%s|%s[^.!?\n]{0,%d}%s)" % (vib, w, idle, idle, w, vib), re.I) Hits: 417; not in the pool at the time of the audit (2,495): 352; of those, 29 were already coded in the third search (chunk 12). Wave 2 codes the remaining 323. The relevance rule is unchanged: many wave-2 narratives will mention a cold start, a drive-thru or coming to a stop without describing a vibration while standing still; those are N as before. ## in_gear — clarification (the ONLY change) in_gear = yes when the narrative itself places the shake while the vehicle is STOPPED (or idling, not moving) AND in Drive, Reverse or another gear. The text must say so by at least one of: - a gear word for the stopped moment: "in Drive", "in D", "in gear", "in Reverse", "put it in drive and it shook", "shakes until I put it in Park/Neutral", "goes away in Neutral"; - the brake held at the stop: "foot on the brake", "holding the brake", "when I release the brake it lurches/jerks" (the car is in gear if it creeps or lurches off the brake); - reversing or backing up and stopped; - the shake is worse in gear than in Park or Neutral. in_gear = no (this includes "unclear") in every other case, in particular: - "at a red light", "at a stop sign", "in traffic", "in the drive-thru", "came to a stop" with no gear word and no brake word — do NOT infer that an automatic sits in Drive; - "in drive" meaning while driving ("while in drive at 40 mph"); - the shake only when accelerating or pulling away from the stop (that is N under the codebook anyway); - the shake in Park or Neutral only, at a cold start or warm-up in the driveway, or "parked with the engine running". Examples: 1. "The car shakes at every red light and at the drive-thru." -> in_gear = no. 2. "Stopped at a light with my foot on the brake it shudders; in Neutral it stops." -> yes. 3. "After a cold start it shakes badly in Park until it warms up." -> no. ## Hash of the wave-2 addendum, taken before wave-2 coding 2026-09-28T10:06:15Z 0073cb7224b44934f2a9b8bc1333355c7d650b1571ca4126306db762441fbbab codebook_wave2.md