# Fret Buzz Diagnostic Tree

This document maps observed symptoms to root causes using propositional logic.

## Symbols

- `Buzz_Open`: Buzz occurs on open strings only.
- `Buzz_First5`: Buzz occurs on frets 1-5.
- `Buzz_Middle`: Buzz occurs on frets 5-12.
- `Buzz_High`: Buzz occurs on frets 12+.
- `Buzz_All`: Buzz occurs everywhere.
- `Nut_Low`: Nut slots are cut too deep.
- `Neck_Backbow`: Neck has backbow (negative relief).
- `Neck_Straight`: Neck has insufficient relief (too straight).
- `Saddle_Low`: Saddle height is too low (action).
- `Fret_High`: A specific fret is higher than its neighbors.
- `Fret_Loose`: A fret is not seated properly.
- `String_Gauge_Light`: Strings are too light for the setup.

## Logic Rules

### 1. Open String Buzz
**Condition:** `Buzz_Open`
**Logic:** `Buzz_Open → (Nut_Low ∨ Neck_Backbow)`
**Diagnostic Step:**
1.  Fret the string at the 3rd fret.
2.  Check clearance over the 1st fret.
3.  **Result:** If touching → `Nut_Low`.

### 2. First Position Buzz (Frets 1-5)
**Condition:** `Buzz_First5` AND NOT `Buzz_Open`
**Logic:** `Buzz_First5 → (Neck_Backbow ∨ Nut_Low)`
**Diagnostic Step:**
1.  Sight the neck or use a straightedge.
2.  **Result:** If convex → `Neck_Backbow`.

### 3. Middle Neck Buzz (Frets 5-12)
**Condition:** `Buzz_Middle`
**Logic:** `Buzz_Middle → Neck_Straight`
**Diagnostic Step:**
1.  Capo at 1st fret.
2.  Press string at body fret (e.g., 14th or 16th).
3.  Measure gap at 7th-8th fret.
4.  **Result:** If gap < 0.004" → `Neck_Straight` (Needs relief).

### 4. High Register Buzz (Frets 12+)
**Condition:** `Buzz_High`
**Logic:** `Buzz_High → (Saddle_Low ∨ Fret_High_Tongue_Rise)`
**Diagnostic Step:**
1.  Measure action at 12th fret.
2.  **Result:** If < 4/64" (bass) or < 3/64" (treble) → `Saddle_Low`.
3.  Check for "Ski Jump" or "Tongue Rise" on acoustic extensions.

### 5. Specific Spot Buzz
**Condition:** Buzz on ONE fret only (e.g., 7th fret buzz, 8th fret clear).
**Logic:** `Buzz_At_N → (Fret_N+1_High ∨ Fret_N_Low)`
**Diagnostic Step:**
1.  Use Fret Rocker over frets N, N+1, N+2.
2.  **Result:** If rocks → `Fret_N+1_High`.

### 6. Random/All Over Buzz
**Condition:** `Buzz_All`
**Logic:** `Buzz_All → (String_Gauge_Light ∨ Action_Extremely_Low ∨ Loose_Hardware)`
**Diagnostic Step:**
1.  Check for loose tuner nuts or truss rod rattle.
2.  Verify string gauge matches tension requirements.
