# Architecture Research

**Domain:** Markdown-based AI workflow system for virtual music artist creation
**Researched:** 2026-04-10
**Confidence:** HIGH

## System Overview

```
+================================================================+
|                     WORKFLOW LAYER                               |
|  (Claude Skills / Slash Commands that drive interaction)        |
|                                                                  |
|  +------------------+  +-------------------+                     |
|  | /create-artist   |  | /create-track     |                    |
|  | (wizard skill)   |  | (wizard skill)    |                    |
|  +--------+---------+  +---------+---------+                    |
|           |                      |                               |
+===========|======================|===============================+
            |                      |
+===========|======================|===============================+
|           v                      v          KNOWLEDGE LAYER      |
|  (Reference docs, rules, templates that workflows read)         |
|                                                                  |
|  +-------------+ +------------+ +--------------+ +----------+   |
|  | Templates   | | Linguistic | | Suno Format  | | Examples |   |
|  | (bible,     | | Rules      | | Reference    | | (sample  |   |
|  |  track)     | | (FR / EN)  | | (tags, etc.) | |  bibles) |   |
|  +-------------+ +------------+ +--------------+ +----------+   |
|                                                                  |
+==================================================================+
            |                      |
+===========|======================|===============================+
|           v                      v            DATA LAYER         |
|  (Generated artist folders and track files)                     |
|                                                                  |
|  +-artists/luna-nova/-------------------------------------------+|
|  | bible.md | vocal.md | visual.md | lore.md | tracks/         ||
|  |          |          |           |         | 01-titre.md      ||
|  |          |          |           |         | 02-titre.md      ||
|  +-------------------------------------------------------------|+
|                                                                  |
+==================================================================+
```

### Component Responsibilities

| Component | Responsibility | Typical Implementation |
|-----------|----------------|------------------------|
| **Workflow Skills** | Drive interactive creation wizards step-by-step, collect user input, orchestrate file generation | `.claude/skills/create-artist/SKILL.md` and `.claude/skills/create-track/SKILL.md` with supporting files |
| **Knowledge / Reference** | Provide rules, templates, and format specs that workflows inject at runtime | `reference/` folder with markdown files: templates, linguistic rules, Suno format specs |
| **Artist Data Store** | Persist all artist identity data in a structured, readable, per-artist folder | `artists/{slug}/` with multiple markdown files per concern |
| **Track Data Store** | Persist per-track lyrics, production briefs, and coherence metadata | `artists/{slug}/tracks/` with one markdown file per track |
| **Coherence Engine** | Verify new content against artist bible + previous tracks (run as part of track workflow) | Inline verification steps within the `/create-track` skill, reading artist files before generation |

## Recommended Project Structure

```
AI_ARTISTE/
|
+-- .claude/
|   +-- skills/
|   |   +-- create-artist/           # Artist creation wizard
|   |   |   +-- SKILL.md             # Main workflow instructions
|   |   |   +-- steps/               # Supporting step files
|   |   |   |   +-- 01-identity.md   # Step 1: musical identity
|   |   |   |   +-- 02-vocal.md      # Step 2: vocal style
|   |   |   |   +-- 03-visual.md     # Step 3: visual identity
|   |   |   |   +-- 04-personality.md # Step 4: personality & lore
|   |   |   |   +-- 05-validate.md   # Step 5: coherence check
|   |   |   +-- examples/
|   |   |       +-- luna-nova.md      # Example completed artist
|   |   |
|   |   +-- create-track/            # Track creation wizard
|   |   |   +-- SKILL.md             # Main workflow instructions
|   |   |   +-- steps/
|   |   |   |   +-- 01-concept.md    # Step 1: theme & concept
|   |   |   |   +-- 02-structure.md  # Step 2: song structure
|   |   |   |   +-- 03-lyrics.md     # Step 3: lyric generation
|   |   |   |   +-- 04-verify.md     # Step 4: linguistic verification
|   |   |   |   +-- 05-production.md # Step 5: Suno production brief
|   |   |   +-- examples/
|   |   |       +-- sample-track.md  # Example completed track
|   |   |
|   |   +-- list-artists/            # Utility: list existing artists
|   |   |   +-- SKILL.md
|   |   |
|   |   +-- review-artist/           # Utility: display artist summary
|   |       +-- SKILL.md
|   |
|   +-- CLAUDE.md                    # Project-level instructions
|
+-- reference/
|   +-- templates/
|   |   +-- bible-template.md        # Empty bible structure to fill
|   |   +-- track-template.md        # Empty track structure to fill
|   |   +-- production-brief.md      # Suno production brief template
|   |
|   +-- linguistic/
|   |   +-- rules-fr.md              # French rhyme/syllable rules
|   |   +-- rules-en.md              # English rhyme/syllable rules
|   |   +-- common-schemes.md        # Standard rhyme schemes (AABB, ABAB, etc.)
|   |
|   +-- suno/
|       +-- format.md                # Suno style tag reference, char limits
|       +-- section-tags.md          # [Verse], [Chorus], etc. documentation
|       +-- vocal-cues.md            # (whispered), (belted), etc.
|
+-- artists/                         # Generated artist data (the "database")
|   +-- luna-nova/                   # One folder per artist (slug name)
|   |   +-- bible.md                 # Master identity document
|   |   +-- vocal.md                 # Vocal identity details
|   |   +-- visual.md                # Visual identity details
|   |   +-- lore.md                  # Backstory and narrative arc
|   |   +-- personality.md           # Behavioral traits, emotion palette
|   |   +-- index.md                 # Quick reference card (name, genre, tagline)
|   |   +-- tracks/
|   |       +-- 01-echoes.md         # Track 1
|   |       +-- 02-neon-tears.md     # Track 2
|   |       +-- ...
|   +-- another-artist/
|       +-- ...
|
+-- base/                            # Legacy reference (existing files)
    +-- project.md                   # Original artist creation process
    +-- production.md                # Original production pipeline
```

### Structure Rationale

- **`.claude/skills/`:** Uses the official Claude Skills standard (2026). Each skill is a self-contained directory with SKILL.md as the entrypoint and supporting files for steps, examples, and reference material. This replaces the older `.claude/commands/` pattern and gains frontmatter configuration, supporting files, and auto-invocation.

- **`reference/`:** Separates reusable knowledge from both workflows and generated data. Linguistic rules, templates, and Suno specs change rarely and are shared across all artists and tracks. Workflows reference these files explicitly when they need them, keeping context window usage efficient.

- **`artists/`:** Functions as a flat-file "database" of artists. Each artist gets a slug-named folder. Multiple markdown files per artist (rather than one monolithic file) allow the workflow to load only what it needs: e.g., `/create-track` loads `bible.md` + `vocal.md` + track history but skips `visual.md`.

- **`base/`:** Preserved as legacy reference. The existing `project.md` and `production.md` serve as source material during workflow development but are not consumed at runtime by the skills.

## Architectural Patterns

### Pattern 1: Wizard Skill with Step Files

**What:** A main SKILL.md that orchestrates an interactive multi-step wizard by referencing step files for each phase. The SKILL.md contains the overall flow control and user interaction model; each step file contains the detailed instructions, questions to ask, and validation criteria for that step.

**When to use:** Any multi-step interactive workflow where the total instructions exceed 500 lines (the recommended SKILL.md limit).

**Trade-offs:** More files to maintain, but each file stays focused and editable. Claude loads step files on demand, keeping context lean.

**Example SKILL.md structure:**

```markdown
---
name: create-artist
description: Interactive wizard to create a complete virtual music artist identity. Creates a structured artist folder with bible, vocal, visual, personality, and lore files.
argument-hint: [artist-name]
disable-model-invocation: true
allowed-tools: Read Write Bash(ls *) Bash(mkdir *)
---

# Create Artist Wizard

You are guiding the user through creating a virtual music artist.
The artist name is: $ARGUMENTS

## Process

Work through each step sequentially. At each step:
1. Read the step file for detailed instructions
2. Present options and ask the user questions
3. Wait for user input before proceeding
4. Save results to the artist folder

### Setup
- Create the artist folder: `artists/{slug}/`
- Read the bible template: `reference/templates/bible-template.md`

### Steps
1. **Musical Identity** - See [steps/01-identity.md](steps/01-identity.md)
2. **Vocal Style** - See [steps/02-vocal.md](steps/02-vocal.md)
3. **Visual Identity** - See [steps/03-visual.md](steps/03-visual.md)
4. **Personality & Lore** - See [steps/04-personality.md](steps/04-personality.md)
5. **Validation** - See [steps/05-validate.md](steps/05-validate.md)

### Output
Write each file to `artists/{slug}/`:
- bible.md, vocal.md, visual.md, lore.md, personality.md, index.md
```

### Pattern 2: Coherence-by-Reference

**What:** Before generating any new content (track, lyrics, production brief), the workflow explicitly reads the artist's existing files to load the full context. This ensures every generation is grounded in the artist's established identity and history.

**When to use:** Every time `/create-track` runs. Also useful for any future workflow that produces artist-specific content.

**Trade-offs:** Costs context window tokens proportional to the artist's history size. For artists with 20+ tracks, the coherence check step may need to summarize older tracks rather than loading them all verbatim.

**Example flow:**

```
/create-track luna-nova

Step 0: Load context
  -> Read artists/luna-nova/bible.md
  -> Read artists/luna-nova/vocal.md
  -> Read artists/luna-nova/personality.md
  -> Read artists/luna-nova/lore.md
  -> List artists/luna-nova/tracks/
  -> Read last 3-5 track files for recent context
  -> Summarize earlier tracks from their index/metadata if >5 exist

Step 1: Concept (grounded in loaded context)
  -> Propose themes that fit artist identity
  -> Check against previous tracks for narrative progression
  -> Avoid repeating recent themes

Step 2-5: Generate with artist context active
```

### Pattern 3: Structured Markdown as Data Format

**What:** Use markdown files with consistent heading structure as a semi-structured data format. Each file follows a template, making them both human-readable and machine-parseable by Claude. Frontmatter-style metadata at the top of each file provides quick-access fields.

**When to use:** All artist data files and track files. The template defines the schema; the generated file is the instance.

**Trade-offs:** Less strict than JSON (no formal validation), but far more readable and editable by the user. Claude can parse heading-based structure reliably.

**Example artist bible.md:**

```markdown
# LUNA/NOVA - Artist Bible

**Artist:** LUNA/NOVA
**Genre:** Dark Pop
**Languages:** FR, EN
**Created:** 2026-04-10
**Tracks:** 2

---

## Musical Identity

**Main Genre:** Dark Pop
**Sub-genres:** Electronic Pop, Ambient Pop
**Tempo Range:** 80-110 BPM
**Themes:** Love, Loneliness, Digital Identity

## Emotion Palette

- Melancholic
- Nostalgic
- Sensual

## Vocal Summary

*Full details in vocal.md*
**Type:** Female Airy Alto
**Style:** Intimate, Breathy, Emotional

## Visual Summary

*Full details in visual.md*
**Colors:** Silver, Black, Neon Blue
**Aesthetic:** Futuristic Minimal

## Coherence Rules

- Never break from intimate/breathy vocal delivery
- Themes must connect to digital identity or emotional isolation
- French lyrics use introspective register; English uses more poetic/abstract
- Tempo stays within 80-110 BPM range
```

### Pattern 4: Suno-Ready Production Brief as Structured Output

**What:** Track creation always concludes with a production brief that is directly copy-pasteable into Suno. The brief follows Suno's exact constraints: style prompt under 200 chars (or 1000 for v4.5), lyrics under 3000 chars, with proper section tags and vocal cues.

**When to use:** Final output of every `/create-track` invocation.

**Trade-offs:** Ties the output format to a specific tool (Suno), but this is an explicit project constraint. If Suno changes formats, only `reference/suno/format.md` needs updating.

**Example production brief:**

```markdown
# Production Brief: "Echoes" - LUNA/NOVA

## Suno Style Prompt
dark pop, female airy alto, intimate breathy vocal, melancholic,
cinematic electronic production, reverb-drenched, 90 BPM

## Suno Lyrics

[Intro]
(whispered)
Les echos de ta voix dans le noir

[Verse 1]
Je marche seule dans la lumiere bleue
Les ombres dansent comme un dernier aveu
(building intensity)
Mon coeur resonne dans le vide eternal
Un souvenir grave sur l'ecran digital

[Pre-Chorus]
(harmonized)
Dis-moi si tu m'entends encore

[Chorus]
(belted)
Les echos, les echos reviennent
Dans la nuit qui m'appartient
Les echos, les echos m'entrainent
Vers un monde ou plus rien ne tient

[Verse 2]
...

## Metadata
- **Track Number:** 01
- **Language:** French
- **Rhyme Scheme:** AABB (verses), ABAB (chorus)
- **Syllable Count:** 10 per line (verses), 8 per line (chorus)
- **Verified:** Rhymes OK, Syllables OK, Coherence OK
```

## Data Flow

### Artist Creation Flow

```
User invokes: /create-artist luna-nova
     |
     v
SKILL.md loads, creates folder artists/luna-nova/
     |
     v
Step 1: Musical Identity
  Claude asks genre, subgenres, tempo, themes
  User answers interactively
  -> Writes to: artists/luna-nova/bible.md (partial)
     |
     v
Step 2: Vocal Style
  Claude asks vocal type, style, delivery
  References: reference/templates/bible-template.md
  -> Writes to: artists/luna-nova/vocal.md
     |
     v
Step 3: Visual Identity
  Claude asks colors, style, aesthetic
  -> Writes to: artists/luna-nova/visual.md
     |
     v
Step 4: Personality & Lore
  Claude asks personality traits, backstory
  -> Writes to: artists/luna-nova/lore.md
  -> Writes to: artists/luna-nova/personality.md
     |
     v
Step 5: Validation
  Claude reads ALL generated files
  Checks internal consistency
  Generates: artists/luna-nova/index.md (quick reference)
  Completes: artists/luna-nova/bible.md (full version)
     |
     v
OUTPUT: Complete artist folder ready for track creation
```

### Track Creation Flow

```
User invokes: /create-track luna-nova
     |
     v
SKILL.md loads
     |
     v
Step 0: Load Artist Context
  Read: artists/luna-nova/bible.md
  Read: artists/luna-nova/vocal.md
  Read: artists/luna-nova/personality.md
  Read: artists/luna-nova/lore.md
  List + Read: artists/luna-nova/tracks/*.md
     |
     v
Step 1: Concept & Theme
  Claude proposes 2-3 theme options (grounded in artist identity)
  Checks against previous tracks (no repetition, narrative progression)
  User picks or customizes
     |
     v
Step 2: Song Structure
  Claude proposes structure (verse/chorus/bridge pattern)
  References: reference/suno/section-tags.md
  User confirms
     |
     v
Step 3: Lyric Generation
  Claude writes full lyrics in chosen language
  Respects artist's emotion palette, vocal style, themes
  Uses proper Suno section tags and vocal cues
     |
     v
Step 4: Linguistic Verification
  References: reference/linguistic/rules-{lang}.md
  Checks:
    - Syllable count per line (consistency within sections)
    - Rhyme scheme adherence (AABB, ABAB, etc.)
    - French-specific: mute-e rules, dierese/synerese
    - English-specific: stress patterns, near-rhymes flagged
  Revises lyrics if checks fail
     |
     v
Step 5: Production Brief
  References: reference/suno/format.md
  Generates Suno-ready style prompt (under char limit)
  Formats lyrics with section tags + vocal cues
  Adds metadata (track number, language, verification results)
  -> Writes to: artists/luna-nova/tracks/NN-title.md
     |
     v
OUTPUT: Complete track file with copy-pasteable Suno brief
```

### Key Data Flows

1. **Artist Bible -> Track Creation:** The bible is the single source of truth for all downstream generation. Every track workflow begins by loading it. The bible constrains genre, tempo, themes, vocal style, and emotional palette.

2. **Track History -> Coherence Check:** Previous tracks are loaded to prevent repetition, ensure narrative progression, and maintain stylistic consistency. The track list grows over time; a summarization strategy is needed once an artist exceeds ~5 tracks.

3. **Reference Docs -> Workflow Steps:** Linguistic rules and Suno format specs are loaded by specific steps only when needed. They are never loaded in full at workflow start; each step reads only what it requires.

4. **User Input -> Workflow State:** The wizard collects user decisions interactively at each step. There is no persistent "session state" file; the conversation context IS the state. Each step writes its results to disk before moving to the next, so partial completion is recoverable.

## Scaling Considerations

| Scale | Architecture Adjustments |
|-------|--------------------------|
| 1-5 artists, <10 tracks each | Current architecture handles perfectly. All files fit in context. No summarization needed. |
| 5-15 artists, 10-30 tracks each | Track history loading needs summarization. Add an `artists/{slug}/tracks/index.md` that keeps a running summary of all tracks (theme, date, key lines). Coherence checks read the index + last 3 full tracks. |
| 15+ artists, 30+ tracks each | Consider adding `artists/{slug}/discography.md` as a high-level narrative arc document. Linguistic rule files may need expansion for additional languages. Suno format reference may need versioning if Suno changes. |

### Scaling Priorities

1. **First bottleneck: Context window saturation during track creation.** An artist with 15+ tracks will have too much text to load fully. **Fix:** Create and maintain `tracks/index.md` with structured summaries of each track (title, theme, date, key emotional beats, rhyme scheme used). The workflow reads this index + the 3 most recent full tracks.

2. **Second bottleneck: Reference file drift.** If Suno changes format, linguistic rules need refinement, or new languages are added, the reference files need updating. **Fix:** Version the reference files (include a "Last verified" date in each). The CLAUDE.md file should flag that reference files are authoritative and should not be contradicted by training data.

## Anti-Patterns

### Anti-Pattern 1: Monolithic Bible File

**What people do:** Put everything about the artist (musical identity, vocal style, visual identity, lore, personality, track history) in a single massive markdown file.
**Why it's wrong:** Claude must load the entire file every time, even when only vocal info is needed. The file becomes unwieldy to edit. Coherence checking becomes slower as it parses irrelevant sections.
**Do this instead:** Split into focused files (bible.md for core identity, vocal.md, visual.md, lore.md, personality.md). The bible.md acts as the master summary with cross-references, not the exhaustive document.

### Anti-Pattern 2: JSON Data Inside Markdown Workflows

**What people do:** Store artist data as JSON objects embedded in markdown (as seen in the existing `base/project.md` which uses a JSON bible format).
**Why it's wrong:** JSON is harder for users to read and edit. Claude handles structured markdown headings just as well as JSON. JSON inside markdown creates formatting fragility (one missing comma breaks the structure). Users cannot quickly scan or modify JSON without understanding the format.
**Do this instead:** Use heading-structured markdown with consistent sections. The "schema" is defined by the template; the data is natural-language-friendly markdown.

### Anti-Pattern 3: Hardcoded Rules in Workflow Files

**What people do:** Embed linguistic rules (rhyme patterns, syllable counting logic, Suno format constraints) directly inside the create-track SKILL.md.
**Why it's wrong:** Rules change independently of workflows. French rules are different from English rules. Suno may update its format. Embedding makes updates require editing the main workflow.
**Do this instead:** Keep rules in `reference/` files. The workflow reads the appropriate rule file based on the language chosen. Updating rules never requires touching the workflow.

### Anti-Pattern 4: Flat Track Naming Without Numbering

**What people do:** Name track files by title only: `echoes.md`, `neon-tears.md`.
**Why it's wrong:** Loses chronological order, which is critical for narrative progression checks. The coherence engine needs to know which tracks came before which.
**Do this instead:** Use zero-padded numbered prefixes: `01-echoes.md`, `02-neon-tears.md`. The number establishes creation order. The track file itself contains full metadata (date, concept, etc.).

### Anti-Pattern 5: Loading All Reference Files at Workflow Start

**What people do:** Have the SKILL.md begin with "Read all files in reference/" to give Claude maximum context.
**Why it's wrong:** Wastes context window tokens. Linguistic rules for a language not being used are noise. Suno format details are not needed during the concept step.
**Do this instead:** Each step file specifies which reference files it needs. Step 4 (linguistic verification) reads `reference/linguistic/rules-{lang}.md`. Step 5 (production brief) reads `reference/suno/format.md`. Other steps read nothing from reference.

## Integration Points

### External Services

| Service | Integration Pattern | Notes |
|---------|---------------------|-------|
| **Suno** | Manual copy-paste from production brief | The system generates Suno-ready text; the user copies it into Suno. No API integration. Style prompt must stay under 200 chars (v4) or 1000 chars (v4.5). Lyrics under 3000 chars. |
| **Claude Code** | Runtime execution engine | Claude reads the skills and follows their instructions. The `.claude/skills/` directory must be in the project root. User invokes skills via `/create-artist` and `/create-track`. |

### Internal Boundaries

| Boundary | Communication | Notes |
|----------|---------------|-------|
| Workflow -> Reference | Read-only file access | Workflows read reference files but never modify them. Reference files are maintained by the project author, not by the workflows. |
| Workflow -> Artist Data | Read + Write file access | `/create-artist` writes new files. `/create-track` reads existing files and writes new track files. No workflow ever deletes or overwrites existing track files. |
| Artist Data -> Coherence | Read-only file access | The coherence verification step reads the bible + track history. It produces a verification report inline (in the conversation) and records pass/fail in the track file metadata. |
| Step Files -> SKILL.md | Referenced, loaded on demand | SKILL.md references step files. Claude loads each step file when it reaches that point in the wizard. Step files are not loaded all at once. |

## Build Order (Dependency Map)

The following build order respects dependencies (later items require earlier ones to exist):

```
Phase 1: Foundation
  reference/templates/bible-template.md
  reference/templates/track-template.md
  reference/suno/format.md
  reference/suno/section-tags.md
  reference/suno/vocal-cues.md
  artists/   (empty directory)
  .claude/CLAUDE.md

Phase 2: Artist Creation Workflow
  .claude/skills/create-artist/SKILL.md
  .claude/skills/create-artist/steps/*.md
  .claude/skills/create-artist/examples/

  DEPENDS ON: Phase 1 templates and reference files

Phase 3: Linguistic Verification Rules
  reference/linguistic/rules-fr.md
  reference/linguistic/rules-en.md
  reference/linguistic/common-schemes.md

  INDEPENDENT of Phase 2, but required before Phase 4

Phase 4: Track Creation Workflow
  .claude/skills/create-track/SKILL.md
  .claude/skills/create-track/steps/*.md
  .claude/skills/create-track/examples/
  reference/templates/production-brief.md

  DEPENDS ON: Phase 1 (templates, Suno ref), Phase 3 (linguistic rules)
  DEPENDS ON: Phase 2 having produced at least one test artist

Phase 5: Utility Skills + Polish
  .claude/skills/list-artists/SKILL.md
  .claude/skills/review-artist/SKILL.md
  Coherence scaling (track index summaries)
  Testing with real artist + multi-track creation
```

## CLAUDE.md Recommendations

The project's `.claude/CLAUDE.md` should contain:

```markdown
# AI Artiste

## What This Is
A markdown workflow system for creating virtual music artists and producing
their music. No code. Claude follows skill instructions to guide the user
through interactive wizards.

## Key Principles
- Artist data lives in `artists/{slug}/` folders
- Reference files in `reference/` are authoritative - do not contradict them
- Every track must pass linguistic verification before the production brief
- Production briefs must be Suno-ready (copy-pasteable without modification)

## File Conventions
- Artist folders use slug names (lowercase, hyphens): luna-nova, dark-phoenix
- Track files use zero-padded numbers: 01-title.md, 02-title.md
- All artist files use consistent heading structure defined by templates

## Languages
- French and English are supported
- Linguistic rules differ per language (see reference/linguistic/)
- French: mute-e counting, dierese/synerese rules, alexandrin awareness
- English: stress-based rhythm, near-rhyme handling
```

## Sources

- [Claude Code Skills Documentation](https://code.claude.com/docs/en/slash-commands) - Official skill structure, frontmatter reference, supporting files pattern. HIGH confidence.
- [Suno Prompt Guide 2026](https://hookgenius.app/learn/suno-prompt-guide-2026/) - Style prompt format (5-part formula, 8-15 tags), lyrics structure markers, vocal cues, character limits. MEDIUM confidence.
- [Suno Meta Tags Guide](https://jackrighteous.com/pages/suno-ai-meta-tags-guide) - Section tags and structure commands for Suno lyrics. MEDIUM confidence.
- [Markdown as AI Instruction Layer](https://visualstudiomagazine.com/articles/2026/02/24/in-agentic-ai-its-all-about-the-markdown.aspx) - Markdown as first-class AI control surface. MEDIUM confidence.
- [Karpathy LLM Wiki Pattern](https://venturebeat.com/data/karpathy-shares-llm-knowledge-base-architecture-that-bypasses-rag-with-an) - Structured markdown knowledge base architecture: raw sources, wiki pages, schema, lint loop. MEDIUM confidence.
- [plint - French Poetry Checker](https://plint.a3nm.net/en/about) - French syllable counting rules, mute-e handling, dierese/synerese, classical prosody constraints. HIGH confidence.
- [French Alexandrine - Wikipedia](https://en.wikipedia.org/wiki/French_alexandrine) - Alexandrin structure (12 syllables, hemistich caesura), classical French verse rules. HIGH confidence.
- [Character Bible for AI Consistency](https://medium.com/@SomethingaboutAI/character-bible-prompts-creating-consistency-anchors-for-ai-novel-generation-724ea9b91c8b) - Character bibles as consistency anchors: preventing personality drift, knowledge state violations, speech pattern variance. LOW confidence (paywalled).
- Existing project files: `base/project.md` and `base/production.md` - Original artist creation and production processes that inform the architecture. LOCAL source.

---
*Architecture research for: Markdown-based AI workflow system for virtual music artist creation*
*Researched: 2026-04-10*
