---
phase: 06-english-linguistic-engine
plan: 01
type: execute
wave: 1
depends_on: []
files_modified:
  - reference/linguistic/english/syllables.md
autonomous: true

must_haves:
  truths:
    - "System counts syllables per line in English lyrics by decomposing word-by-word and showing IPA"
    - "System analyzes stress patterns (strong/weak) and flags misalignment with musical downbeats"
    - "System handles ambiguous-syllable words consistently within a track using lookup table with tempo/genre guidance"
    - "System applies -ed ending rules, contraction rules, and silent-e rules via formalized SI/ALORS conditions"
    - "System warns about heteronyms that Suno cannot disambiguate from context alone"
  artifacts:
    - path: "reference/linguistic/english/syllables.md"
      provides: "Complete English syllable counting reference with verification procedure, ambiguous-word table, heteronym notes, validation tests"
      contains: "Procedure de Verification des Syllabes Anglaises"
      min_lines: 250
  key_links:
    - from: "reference/linguistic/english/syllables.md"
      to: "reference/linguistic/english/rhymes.md"
      via: "Cross-reference link"
      pattern: "rhymes\\.md"
    - from: "reference/linguistic/english/syllables.md"
      to: ".claude/skills/create-track"
      via: "Referenced during track verification step"
      pattern: "verification"
---

<objective>
Extend English syllables.md from ~101-line foundation to ~250-300 line complete reference with formalized verification procedure, ambiguous-word lookup table, heteronym notes, and validation tests.

Purpose: Enable reliable English syllable counting during track production by compensating for documented LLM phonological weaknesses through forced step-by-step decomposition and curated lookup tables.
Output: Complete `reference/linguistic/english/syllables.md` (status: complete)
</objective>

<execution_context>
@C:/Users/zekho/.claude/get-shit-done/workflows/execute-plan.md
@C:/Users/zekho/.claude/get-shit-done/templates/summary.md
</execution_context>

<context>
@.planning/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md
@.planning/phases/06-english-linguistic-engine/06-RESEARCH.md

<!-- French syllables.md as structural template -->
@reference/linguistic/french/syllables.md

<!-- Current file to extend -->
@reference/linguistic/english/syllables.md

<!-- Phase 5 summary for established patterns -->
@.planning/phases/05-french-linguistic-engine/05-01-SUMMARY.md
</context>

<tasks>

<task type="auto">
  <name>Task 1: Extend syllables.md with formalized verification procedure, ambiguous-word table, and heteronym notes</name>
  <files>reference/linguistic/english/syllables.md</files>
  <action>
Extend the existing English syllables.md from ~101 lines to ~250-300 lines. Follow the exact structural patterns established by Phase 5 French syllables.md (450 lines, 6-step procedure, lookup table, validation tests). Change `status: foundation` to `status: complete` in frontmatter. Update `last-updated` date.

**Section 1: Formalized 6-step Verification Procedure** (replace the current informal structure)

Add a `## Procedure de Verification des Syllabes Anglaises` section with the same ATTENTION warning about LLM phonological weaknesses as French (PhonologyBench reference). The 6 steps, adapted from French but with English-specific stress analysis:

- Etape 1: Segment the line into words (contractions as single words: I'm, can't, wouldn't)
- Etape 2: Count syllables per word (count vowel sounds not vowel letters; consult Ambiguous Word Table; apply exception rules for -ed, -le/-ble/-tle, silent e, contractions, prefixes)
- Etape 3: Identify stress pattern per word (MAJUSCULES for stressed syllables; content words stressed, function words unstressed as heuristic)
- Etape 4: Verify stress/beat alignment (stressed syllables on downbeats = good; function words on expected downbeats = ATTENTION flag)
- Etape 5: Present decomposition (format: mot1(N) + mot2(N) + ... = Total, then stress pattern of the line)
- Etape 6: Compare to genre target range (consult existing genre table; flag if outside range)

Each step uses SI/ALORS format matching French procedure exactly. Include explicit output format for each step.

**Section 2: Expanded Ambiguous-Word Lookup Table** (~35-45 entries)

Replace the current small "Mots ambigus en syllabes" table with the comprehensive table from the research. Organize by category (same structure as research Example 1):

1. Diphtongue + /r/ or /l/ (fire, tire, hour, flower, power, tower, shower, liar, buyer, file, royal, loyal) - 12 entries
2. Schwa-elided words (every, different, several, family, camera, memory, history, mystery, evening, heaven) - 10 entries
3. 3-or-4 syllable words (comfortable, interesting, chocolate, beautiful, desperate, separate adj/verb, favorite, literally, naturally) - 10 entries

Each entry has: Mot | Lent/Formel | Rapide/Parle | IPA (lent) | IPA (rapide) | Notes

Add the consistency rule: "dans un meme track, un mot ambigu garde le meme nombre de syllabes partout."
Add the genre override rule: "rap = version courte par defaut; ballad = version longue par defaut."
Add the first-usage rule: "SI un mot ambigu apparait plusieurs fois, la premiere occurrence etablit le nombre pour tout le track."

**Section 3: Contraction Syllable Reference Table** (new, ~15 entries)

| Contraction | Syllabes | Equivaut a | Notes |
Common contractions: I'm(1), I'll(1), I'd(1), I've(1), you're(1), you'll(1), he's(1), she's(1), it's(1), we're(1), they're(1), can't(1), won't(1), wouldn't(2), couldn't(2), shouldn't(2), isn't(2), wasn't(2), haven't(2), doesn't(2), don't(1), didn't(2), ain't(1), gonna(2), wanna(2), gotta(2), let's(1)

**Section 4: -ed Ending Rules** (formalized as decision table)

Formalize the existing -ed rule into a clear 3-way decision table:
- SI -ed apres /t/ ou /d/ ALORS -ed = syllabe separee /ɪd/ (wanted, needed, started, hated, loaded)
- SI -ed apres consonne sourde (sauf /t/) ALORS -ed = silent, prononce /t/ (walked, stopped, kissed, washed, watched)
- SI -ed apres consonne sonore (sauf /d/) ou voyelle ALORS -ed = silent, prononce /d/ (played, loved, burned, called, cried)

Include 5-6 examples per category with IPA.

**Section 5: Heteronym Notes** (~15 entries, from research Example 3)

Add a subsection "Heteronymes (mots a surveiller pour Suno)" with the table from research: lead, read, live, tear, wind, bow, close, desert, record, present, minute, bass, produce, contract. Each with both meanings, IPA, syllable count, and disambiguation guidance.

**Section 6: Validation Tests** (5 tests with known answers)

Parallel to French validation tests. Each test: a lyrics line, expected syllable count, full step-by-step decomposition showing the procedure applied. Tests should cover:
1. A line with multiple -ed endings (testing the 3-way -ed rule)
2. A line with ambiguous words from the lookup table (fire, every)
3. A line testing stress alignment (correct vs misaligned stress)
4. A genre-dependent test (same line, rap vs ballad counting for ambiguous words)
5. A line with contractions (testing contraction table)

Keep all existing examples (Exemple 1, 2, 3) and add the 5 validation tests as a new section after examples.

Update the Notes section at the bottom to remove the "Phase 6 ajoutera..." placeholder text and replace with cross-references to rhymes.md.
  </action>
  <verify>
1. Check file line count is between 250-350 lines: `wc -l reference/linguistic/english/syllables.md`
2. Verify frontmatter status is "complete": `head -5 reference/linguistic/english/syllables.md`
3. Verify all 6 sections present: grep for "Procedure de Verification", "Table de Mots Ambigus", "Contractions", "Terminaisons -ed", "Heteronymes", "Tests de Validation"
4. Verify SI/ALORS format used throughout: grep for "SI.*ALORS" should return 10+ matches
5. Verify IPA notation present in tables: grep for "/.*/" should return 30+ matches
  </verify>
  <done>
syllables.md has status: complete, contains a formalized 6-step verification procedure with stress analysis, a 35+ entry ambiguous-word lookup table organized by category with IPA, a contraction table, a formalized -ed ending decision table, 15+ heteronym entries with disambiguation guidance, and 5 known-answer validation tests. Total 250-350 lines.
  </done>
</task>

</tasks>

<verification>
- [ ] syllables.md status changed from "foundation" to "complete"
- [ ] 6-step verification procedure present with SI/ALORS rules matching French pattern
- [ ] Stress analysis formalized as required step (Etape 3 + Etape 4), not optional
- [ ] Ambiguous-word table has 30+ entries with IPA in both formal/informal columns
- [ ] Contraction table has 15+ entries
- [ ] -ed ending rules formalized as 3-way decision table with examples
- [ ] Heteronym section has 13+ entries with disambiguation guidance
- [ ] 5 validation tests with full step-by-step decomposition
- [ ] Consistency rule, genre override rule, and first-usage rule stated for ambiguous words
- [ ] Cross-reference to rhymes.md present
- [ ] No "Phase 6 ajoutera..." placeholder text remains
</verification>

<success_criteria>
Claude can follow the formalized procedure to count syllables in any English lyrics line, showing its work step by step, handling -ed endings, contractions, ambiguous words, and heteronyms reliably. The validation tests serve as self-check to confirm accurate application.
</success_criteria>

<output>
After completion, create `.planning/phases/06-english-linguistic-engine/06-01-SUMMARY.md`
</output>
