# Pitfalls Research

**Domain:** AI Virtual Music Artist Creation System (Markdown-based Claude workflow)
**Researched:** 2026-04-10
**Confidence:** HIGH (domain-specific, multi-source verified)

## Critical Pitfalls

### Pitfall 1: French Syllable Counting Is Not English Syllable Counting

**What goes wrong:**
The system applies English-style syllable counting to French lyrics. French syllabification has fundamentally different rules that even native speakers miscalculate. The "e muet" (mute e) is the biggest trap: it counts as a syllable in verse unless the next word starts with a vowel or non-aspirated h, OR it is the absolute last syllable of a line. The word "belle" is one syllable in everyday speech but can be two in poetry ("bel-le") depending on position. Dieresis (dierese) splits vowel clusters into two syllables where everyday speech merges them: "passion" = 3 syllables in verse (pa-ssi-on), not 2. Hiatus (two adjacent vowels across word boundaries without an intervening mute e) is forbidden in classical verse and changes syllable count.

**Why it happens:**
Developers (and LLMs) default to phonetic intuition or English rules. French poetic syllabification is a formal system with rules that diverge from spoken French. Claude's training data includes some French poetry rules but inconsistently applies them, especially for edge cases like ambiguous patterns ("-ees", "-ies") that classical prosody forbids.

**How to avoid:**
- Build explicit syllable-counting rules into the workflow as a verification checklist, not just a "count syllables" instruction
- Define the three critical rule sets as separate verification steps: (1) e muet elision rules, (2) dierese/synerese decisions, (3) hiatus detection
- Reference plint's rule set (https://plint.a3nm.net/) as the authoritative source for classical French versification rules
- Include a "syllable verification prompt" that forces Claude to show its work: list each word, mark e muets, flag dierese candidates, then count
- For modern/rap lyrics, explicitly state which classical rules apply and which are relaxed

**Warning signs:**
- Alexandrines (12-syllable lines) consistently counting to 11 or 13
- Lines with "e muet" before consonants being undercounted
- Words like "lion", "passion", "violet" being counted as 1 fewer syllable than they should be in verse
- Claude confidently asserting a syllable count without showing reasoning

**Phase to address:**
Phase 1 (Create Track workflow foundation). This must be built into the linguistic verification engine from day one. Retrofitting syllable rules after tracks have been created means re-verifying every lyric ever produced.

---

### Pitfall 2: French Rhyme Classification Requires Phonetic Analysis, Not Spelling Comparison

**What goes wrong:**
The system checks if line endings "look alike" instead of checking if they "sound alike" according to French rhyme classification rules. French has four rhyme quality levels (rime pauvre = 1 shared phoneme, rime suffisante = 2 shared phonemes including a vowel, rime riche = 3+ shared phonemes, rime richissime = 4+), plus mandatory rules: the shared phonemes MUST include a vowel (so "tate" and "bete" do NOT rhyme because their common suffix [t] contains no vowel). Additionally, French requires alternation between feminine rhymes (ending in silent -e, -es, -ent) and masculine rhymes. A rhyme scheme that pairs two feminine rhymes consecutively is invalid in classical verse.

**Why it happens:**
English rhyme checking is simpler (does the end sound the same?). French requires phonetic transcription first, then phoneme comparison, then quality classification, then gender checking. LLMs often conflate visual similarity with phonetic similarity, especially for French words where spelling and pronunciation diverge heavily ("mer" vs "aimer" look like they rhyme but don't sound alike).

**How to avoid:**
- The workflow must include a phonetic transcription step before rhyme evaluation. Use drime (https://drime.a3nm.net/) as reference for rhyme dictionary lookups
- Build the rhyme verification as a multi-step check: (1) identify the last stressed vowel + following phonemes, (2) classify rhyme quality, (3) check rhyme gender (feminine/masculine), (4) verify alternation rules
- Include explicit examples of false friends in the workflow instructions: words that look like they rhyme but don't (rime pour l'oeil)
- For modern/rap lyrics, note that phonetic rhyme is still required but gender alternation may be relaxed

**Warning signs:**
- Rhymes flagged as "rich" that are actually only visually similar
- No distinction between masculine and feminine rhymes in output
- Rhyme pairs where the common phonemes don't include a vowel
- Claude defaulting to English rhyme intuitions

**Phase to address:**
Phase 1 (Create Track workflow). Must be part of the core linguistic verification alongside syllable counting. These two systems are interdependent since feminine endings (e muet) affect both syllable count and rhyme gender.

---

### Pitfall 3: Suno Format Mismatch Renders Entire Production Brief Useless

**What goes wrong:**
The generated "Suno-ready production brief" uses formats, tag names, or structures that Suno doesn't understand, silently ignores, or misinterprets. Suno has specific constraints: lyrics field max 3,000 characters (~40-60 lines), style prompt max 1,000 characters (silently truncated beyond that, so critical tags at the end get cut), metatags must be short (1-2 words in brackets work best, stacking multiple cues per section reduces clarity), and line length inconsistency causes the vocal engine to lose stability (rushed, mumbled, off-beat output).

**Why it happens:**
The production brief is designed in isolation from Suno's actual constraints. Suno's format requirements are documented across scattered community guides, not in a single official spec, and they change across versions (v4 vs v4.5 vs v5). The most dangerous failure mode is silent truncation: Suno doesn't error when you exceed the style prompt limit, it just chops your prompt and generates with whatever survived.

**How to avoid:**
- Hard-code Suno constraints into the production brief template: lyrics <= 3000 chars, style prompt <= 1000 chars, 4 lines per verse, 2-4 lines per chorus
- Front-load the style prompt: put genre, vocal type, and mood FIRST because truncation cuts from the end
- Use only verified metatags in brackets: [Verse], [Chorus], [Bridge], [Outro], [Instrumental], [Interlude], [Whispered], [Spoken Word], [Belted]. One cue per section maximum
- Include a character count in the output verification step
- Add blank lines between sections (Suno uses whitespace for structural parsing)
- For French lyrics: add "All lyrics in French, no English" to the style prompt to prevent language drift mid-track
- Test with actual Suno generation in the first phase and document which tags/formats produce reliable results

**Warning signs:**
- Style prompts exceeding 500 characters (safe zone) without flagging
- Lyrics exceeding 40 lines or 3000 characters
- Multiple performance cues stacked in a single section tag like [Whispered, emotional, crescendo]
- Inconsistent line syllable counts within a section (8 syllables then 14 syllables)
- No character/line count shown in output

**Phase to address:**
Phase 1 (Create Track workflow). The production brief template IS the deliverable. If it doesn't match Suno's format, the entire system produces pretty documents that generate garbage music.

---

### Pitfall 4: Artist Identity Coherence Drift Across Multiple Tracks

**What goes wrong:**
As more tracks are created for an artist, the artist's identity gradually shifts. Track 1 matches the bible perfectly. Track 5 has subtle theme drift. Track 10 feels like a different artist. This happens because each track generation session may receive slightly different context, Claude interprets the bible differently each time, and there's no mechanism to detect or correct drift. Research confirms that LLMs exhibit identity drift even with persona prompts, and that larger models experience GREATER drift, not less. Assigning a persona alone does not ensure consistency.

**Why it happens:**
- Each new track generation is a fresh conversation with Claude. The bible provides initial grounding, but accumulated creative decisions from previous tracks aren't systematically fed back
- Claude's creative interpretation varies per session: same bible, different day, different nuances
- No formal "drift detection" mechanism exists. The user doesn't notice gradual drift until it's severe
- The bible may be too abstract to constrain specific lyric choices (saying "melancholic themes" doesn't prevent drifting from "digital loneliness" to "romantic heartbreak")

**How to avoid:**
- Create a "discography summary" document that's updated after each track: themes used, vocabulary patterns, emotional arc, narrative continuity
- Define explicit constraints in the bible that go beyond mood: forbidden themes, forbidden words, required vocabulary, required narrative framing
- Include a "consistency check" step in the Create Track workflow that compares the new track against the last 3 tracks for theme, vocabulary, and tone alignment
- Keep track of a "thematic territory map" showing which themes have been explored and which remain
- Define the artist's evolution rules: how IS the artist allowed to change over time? Without this, all change looks like drift

**Warning signs:**
- New track themes that don't map to the bible's theme list
- Vocabulary shifting (e.g., the artist starts using words/expressions inconsistent with their personality)
- Emotional register expanding beyond the defined emotion_palette
- Style tags in production briefs drifting from the bible's genre/subgenre constraints

**Phase to address:**
Phase 2 (after basic Create Track works). Drift only manifests after multiple tracks exist. Phase 1 builds the single-track workflow. Phase 2 adds the multi-track coherence layer with discography tracking and drift detection.

---

### Pitfall 5: Context Window Exhaustion With Growing Artist Corpus

**What goes wrong:**
The workflow instructs Claude to load the artist bible + all previous track lyrics + discography summary + the current track brief + the linguistic verification rules. As the corpus grows, this exceeds Claude's effective working memory. Research shows that at 70% context utilization, Claude starts losing precision; at 85%, hallucinations increase; at 90%+, responses become erratic. A rich artist bible (2000 tokens) + 10 previous tracks with lyrics (10,000+ tokens) + workflow instructions (5000 tokens) + linguistic rules (3000 tokens) = 20,000+ tokens of context before Claude even starts creating. This crowds out working memory for the actual creative and analytical task.

**Why it happens:**
The instinct is "give Claude everything so it makes the best decision." But context windows are not infinite filing cabinets. Information in the middle of long contexts gets "lost in the middle" (a well-documented LLM phenomenon). The most critical information (linguistic rules, current track brief) competes for attention with background information (the lore, the full discography).

**How to avoid:**
- Design a tiered context strategy: (1) ALWAYS loaded: bible core fields, current track brief, linguistic rules. (2) LOADED ON DEMAND: relevant previous track summaries (not full lyrics). (3) NEVER loaded in creation context: full previous lyrics, visual identity details, lore
- Keep the bible concise: the JSON bible format in project.md is already well-structured, don't let it bloat with accumulated notes
- Summarize previous tracks to 2-3 lines each (theme, key vocabulary, emotional register) rather than including full lyrics
- Split the Create Track workflow into sequential steps with focused context per step: (1) creative generation (bible + brief), (2) linguistic verification (lyrics + rules only), (3) production brief formatting (lyrics + Suno constraints only)
- Set explicit document size limits: bible < 200 lines, discography summary < 50 lines, track brief < 30 lines

**Warning signs:**
- Claude starting to ignore or misapply linguistic rules late in a conversation
- Generated lyrics contradicting the bible in ways that suggest it wasn't "read" properly
- Verification steps becoming less rigorous as the session progresses
- Claude summarizing or paraphrasing the bible inaccurately when asked to reference it

**Phase to address:**
Phase 2 (multi-track management). Phase 1 won't hit this limit with single tracks. Phase 2 must establish the context management strategy before the corpus grows.

---

### Pitfall 6: Suno French Pronunciation Generates Gibberish Despite Correct Lyrics

**What goes wrong:**
The lyrics are linguistically perfect French with correct syllable counts and rhymes, but when fed to Suno, the AI mispronounces words, drops syllables, adds phantom syllables, or drifts into English mid-track. Suno has no phonetic dictionary, no IPA support, and no language-specific pronunciation rules. It predicts pronunciation from spelling patterns in its training data and guesses based on similar-looking words, often guessing wrong for French words with silent letters, liaisons, or unusual spelling patterns.

**Why it happens:**
Suno was primarily trained on English. French has extensive silent letters (e muet in all its forms), mandatory liaisons between words, nasal vowels that don't exist in English, and spelling-pronunciation mismatches far more extreme than English. The production brief focuses on linguistic correctness for a human reader, not on pronunciation robustness for an AI music generator.

**How to avoid:**
- Add a "Suno pronunciation guide" section to the production brief that flags high-risk words
- For critical words with pronunciation traps, include a phonetic hint in parentheses or rewrite with phonetic spelling as a fallback option
- Include the metatag "All lyrics in French, no English" in every French-language style prompt
- Use [Spoken Word] or [Staccato] tags for sections with pronunciation-dense words (these force clearer articulation)
- Keep individual line length moderate: syllable-dense lines (12+ syllables) cause slurring. For rap/fast sections, split long lines
- Avoid mixed French-English in a single section (Suno drifts between languages at section boundaries)
- Build a "Suno-tested vocabulary" list over time: words that Suno pronounces reliably in French vs words that consistently fail

**Warning signs:**
- Words with multiple silent letters clustered in a line
- Lines exceeding 12 syllables in fast-tempo tracks
- Mixed-language sections without explicit language boundary tags
- Proper nouns or neologisms that Suno hasn't seen in training

**Phase to address:**
Phase 1 (Create Track workflow). The pronunciation guide must be part of the production brief from the start. However, the "tested vocabulary" list grows over time and becomes a Phase 2 asset.

---

## Technical Debt Patterns

Shortcuts that seem reasonable but create long-term problems.

| Shortcut | Immediate Benefit | Long-term Cost | When Acceptable |
|----------|-------------------|----------------|-----------------|
| Skipping phonetic verification for rhymes | Faster track creation | Accumulated "false rhymes" that sound wrong when sung | Never for classical-style verse. Acceptable for rap/spoken word where visual rhyme is sometimes intentional |
| Hardcoding Suno v5 format | Works now, no abstraction needed | Suno v6 changes format, every template breaks | MVP only. Abstract the Suno format layer by Phase 2 |
| Putting all context in one prompt | Simple workflow, no splitting | Context exhaustion by track 5-10 | Acceptable for first 3-5 tracks. Must split by Phase 2 |
| No discography tracking | Each track is self-contained | Identity drift undetectable | Never. Even a minimal 3-line summary per track is essential from track 2 onward |
| French rules as "suggestions" not "hard checks" | Claude can be creative | Linguistically incorrect lyrics presented as verified | Never for the verification step. Creative freedom belongs in the generation step, not the checking step |

## Integration Gotchas

Common mistakes when connecting to external services.

| Integration | Common Mistake | Correct Approach |
|-------------|----------------|------------------|
| Suno (lyrics) | Exceeding 3000-char limit without warning | Include character count in output. Front-load critical content. Split long songs into Suno-friendly sections |
| Suno (style prompt) | Writing 500+ char style prompts assuming everything is read | Keep style prompt under 200 chars for reliability. Maximum 1000 chars. Put genre/vocal/mood FIRST since truncation cuts from end |
| Suno (non-English) | Assuming French works like English in Suno | Always include language directive. Avoid mixed-language sections. Test pronunciation of key vocabulary |
| Suno (metatags) | Stacking multiple cues: [Whispered, emotional, building] | One cue per section. Short tags (1-2 words). Placement right before the section, not at document top |
| Suno (song structure) | No blank lines between sections | Always use blank lines as structural separators. Suno parses whitespace for section boundaries |

## Performance Traps

Patterns that work at small scale but fail as usage grows.

| Trap | Symptoms | Prevention | When It Breaks |
|------|----------|------------|----------------|
| Loading full discography into every track creation | Slow, incoherent output | Use summaries, load on demand | 5+ tracks per artist |
| Single monolithic workflow file | Claude loses track of steps, skips verification | Split into sequential focused workflows | Workflow exceeds 100 lines |
| No caching of linguistic decisions | Re-verifying the same word's syllable count every track | Build a per-artist "linguistic decisions" cache (word -> syllable count, rhyme phonemes) | 10+ tracks with overlapping vocabulary |
| Unstructured bible growth | Bible becomes a dump of accumulated notes | Strict schema. Additions go to satellite documents, not the bible | 3+ months of active use |

## UX Pitfalls

Common user experience mistakes in this domain.

| Pitfall | User Impact | Better Approach |
|---------|-------------|-----------------|
| Wizard asks too many questions upfront | User abandons creation process | Progressive disclosure: start with 3 core questions (name, genre, language), derive everything else, let user override |
| Linguistic verification shows raw data | User can't interpret "phoneme comparison: [e] vs [E] = suffisante" | Show human-readable results: "These lines rhyme well (rich rhyme: 3 shared sounds)" |
| No preview of Suno output format | User can't tell if the brief will work until they try it | Show a formatted preview with character counts and warnings before final output |
| All-or-nothing track creation | If one section fails verification, user must redo everything | Section-by-section creation with individual verification and the ability to regenerate single sections |
| Identity drift not surfaced | User doesn't know track 8 drifts from the bible | Show a "consistency score" or highlight specific deviations when generating new tracks |

## "Looks Done But Isn't" Checklist

Things that appear complete but are missing critical pieces.

- [ ] **Artist Bible:** Often missing explicit constraints (what the artist does NOT do) -- verify forbidden themes, forbidden genres, and vocal boundaries are defined
- [ ] **Syllable Count:** Often counts like spoken French, not verse French -- verify e muet handling is explicit and dierese decisions are documented
- [ ] **Rhyme Verification:** Often checks spelling not sound -- verify phonetic comparison is performed and rhyme quality (pauvre/suffisante/riche) is classified
- [ ] **Production Brief:** Often exceeds Suno limits -- verify character count for both lyrics field and style prompt field
- [ ] **Suno Style Prompt:** Often has critical tags at the end -- verify genre and vocal type appear in first 200 characters
- [ ] **French Pronunciation:** Often assumes correct spelling = correct pronunciation in Suno -- verify high-risk words are flagged with phonetic alternatives
- [ ] **Multi-track Coherence:** Often checks current track against bible but not against previous tracks -- verify discography summary is consulted and updated
- [ ] **Workflow Steps:** Often combine creation and verification in one prompt -- verify these are separate steps with focused context

## Recovery Strategies

When pitfalls occur despite prevention, how to recover.

| Pitfall | Recovery Cost | Recovery Steps |
|---------|---------------|----------------|
| Wrong syllable counting rules | MEDIUM | Re-verify all existing lyrics with correct rules. Document which tracks need lyric revision. Prioritize tracks that will be re-generated in Suno |
| Spelling-based rhyme checking | MEDIUM | Re-run phonetic analysis on all rhyme pairs. Flag false rhymes. Decide per-track whether to revise or accept |
| Suno format mismatch | LOW | Reformat existing production briefs against constraints. Mostly mechanical, can be batch-processed |
| Identity drift (caught early, <5 tracks) | LOW | Review drifted tracks against bible. Create discography summary retroactively. Minor lyric adjustments |
| Identity drift (caught late, 10+ tracks) | HIGH | Must decide: revise bible to match evolved identity, or re-create drifted tracks. No easy answer. Prevention is critical |
| Context exhaustion | MEDIUM | Restructure workflow into split steps. Summarize existing tracks. One-time reorganization effort |
| Suno pronunciation failures | LOW | Build tested-vocabulary list from failures. Add phonetic alternatives to production brief. Per-track, minor word substitutions |

## Pitfall-to-Phase Mapping

How roadmap phases should address these pitfalls.

| Pitfall | Prevention Phase | Verification |
|---------|------------------|--------------|
| French syllable counting | Phase 1: Create Track | Run verification on 5 test lyrics with known syllable counts. Every alexandrine must count to exactly 12 |
| French rhyme classification | Phase 1: Create Track | Test against 10 known rhyme pairs of each quality level (pauvre, suffisante, riche). Verify phonetic not visual matching |
| Suno format mismatch | Phase 1: Create Track | Generate 3 test tracks in Suno from production briefs. Verify no truncation, correct section parsing, consistent vocals |
| Suno French pronunciation | Phase 1: Create Track | Generate 5 French tracks. Log every mispronounced word. Build initial "risk vocabulary" list |
| Identity coherence drift | Phase 2: Multi-track Management | After 5 tracks, blind-test: can someone identify all 5 as the same artist from lyrics alone? |
| Context window exhaustion | Phase 2: Multi-track Management | Load bible + 10 track summaries + workflow. Verify Claude still applies all linguistic rules correctly |
| Workflow complexity/maintainability | Phase 1: Foundation | Workflow file under 100 lines per step. User completes wizard in under 5 minutes for artist creation |
| Bible bloat over time | Phase 2: Multi-track Management | Bible stays under 200 lines after 10 tracks. All growth goes to satellite documents |

## Sources

- [plint -- French poetry checker](https://plint.a3nm.net/en/about) -- Authoritative source for French verse syllabification rules, e muet, dierese, hiatus, hemistiche (MEDIUM confidence: specialized tool, well-documented rules)
- [drime -- French rhyme dictionary](https://drime.a3nm.net/) -- French rhyme dictionary with phonetic matching, rhyme quality classification (MEDIUM confidence: active tool, used by French poetry community)
- [Suno AI Meta Tags Guide (OpenMusicPrompt)](https://openmusicprompt.com/blog/suno-ai-metatags-guide) -- Comprehensive metatag reference, updated Jan 2026 (MEDIUM confidence: community guide, regularly updated)
- [Suno v5 Custom Lyrics Guide (Jack Righteous)](https://jackrighteous.com/en-us/blogs/guides-using-suno-ai-music-creation/custom-lyrics-in-suno-v5) -- v5-specific formatting rules, line length, section cues (MEDIUM confidence: well-maintained community resource)
- [Suno Character Limits (HookGenius)](https://hookgenius.app/learn/suno-character-limits/) -- Hard limits: 3000 chars lyrics, 1000 chars style prompt (MEDIUM confidence: cross-verified with multiple sources)
- [Suno Pronunciation Fix Guide (HookGenius)](https://hookgenius.app/learn/fix-suno-pronunciation/) -- Confirms no IPA support, no phonetic dictionary, spelling-pattern prediction (MEDIUM confidence: community guide)
- [Suno v5 Multilingual Guide (Jack Righteous)](https://jackrighteous.com/en-us/blogs/guides-using-suno-ai-music-creation/suno-v5-multilingual-english-pronunciation-guide) -- French as supported language, language drift prevention (MEDIUM confidence: community resource)
- [Examining Identity Drift in LLM Agents (arXiv)](https://arxiv.org/abs/2412.00804) -- Research confirming larger models = more drift, persona assignment alone doesn't prevent drift (HIGH confidence: peer-reviewed research)
- [Understanding Persona Drift in LLMs (EmergentMind)](https://www.emergentmind.com/topics/persona-drift) -- Drift manifests as generic, contradictory, or bizarre outputs over time (MEDIUM confidence: research aggregator)
- [Context Windows - Claude API Docs](https://docs.anthropic.com/en/docs/build-with-claude/context-windows) -- Official context window documentation, compaction strategies (HIGH confidence: official Anthropic docs)
- [Rime riche - Britannica](https://www.britannica.com/art/rime-riche) -- French rhyme quality classification system (HIGH confidence: authoritative reference)

---
*Pitfalls research for: AI Virtual Music Artist Creation System*
*Researched: 2026-04-10*
