2.0 KiB
2.0 KiB
Donna integration contract
Donna remains responsible for collecting organizational information, deciding priority, selecting a character, and writing the final canonical script. Local Voice is an optional audio dependency responsible for rendering and validating that script.
Invocation
Donna supplies:
- voice profile ID;
- canonical Markdown or Ryan-labelled dialogue;
- absolute output path;
- pronunciation overrides when needed;
- optional delivery, role, signature-asset, and pause metadata.
Donna then asks Local Voice to:
- run
doctorif runtime health is unknown; - build or validate the render plan;
- render with
--resume; - return the final audio and QA-report paths.
Required behavior
- Do not send Markdown headings, numbered section titles, speaker labels, or stage directions as spoken text.
- Keep greetings and closings as short standalone paragraphs so Local Voice can preserve native tempo.
- Keep substantive paragraphs to complete sentence groups of roughly 20–42 words unless a profile specifies otherwise.
- Use canonical
textfor the written brief andtts_textonly for local pronunciation corrections. - Do not silently fall back to ElevenLabs. If Local Voice fails, Donna should report the failure and apply the caller's configured fallback policy.
- Attach or link the final audio alongside the full written organizational brief; the audio is a quick summary, not the sole record.
Character mapping
| Donna character | Local Voice profile |
|---|---|
| Production Donna | donna |
| Chris Engineer | chris-engineer |
| Grandpa Bomber | grandpa-bomber |
| Pitch Meeting | ryan-pitch-meeting |
| Val Holiday | val-holiday |
Example handoff
{
"voice": "val-holiday",
"script": "/absolute/path/val-brief.md",
"output": "/absolute/path/val-brief.mp3",
"fallback": "report-and-return-text"
}
Local Voice returns the final audio path, QA report path, duration, and segment-level completeness and cadence results.