Voice Print / Anchors
The Anchors layer captures the author-level rules that make your prose yours. Pendraic feeds the voice profile into every AI generation and post-checks the result against it, so a rewrite of a paragraph stays inside your envelope instead of drifting toward the model's default register.
What it captures
- Register, formal, conversational, colloquial, lyrical, technical, or custom.
- POV / tense defaults, first / third limited / omniscient / multi-POV; past / present / mixed.
- Diction sliders, formality (low to high), lexical density (sparse to dense), contractions (avoided to natural), latinate vs. anglo-saxon balance.
- Rhythm, average sentence length, sentence-length variance, fragment usage, paragraph length, comma style, em-dash usage, semicolon usage.
- Tone, primary tone (wry, dread, lyrical, etc.), warmth bias, humor level.
- Taboos, words and patterns the AI must never produce. Personal blacklist.
- Reference authors, voices you're adjacent to, used as anchors in the model's prompt.
How it shapes generations
Every AI action, inline palette, custom prompts, Penny chat , receives the voice profile as part of the system context. The model is told what register, POV, tense, and rhythm to maintain; what taboos to avoid; what reference authors to treat as voice anchors.
Voice conformance scan
After every AI generation, Pendraic runs a deterministic scan over the output. The scan flags:
- AI-isms, em dashes used as commas, triplet parallelism, empty intensifiers, predictable rhythms.
- Taboo hits, words you blacklisted that the model used anyway.
The diff modal renders a conformance score (0-100) plus flag chips for every violation. You see drift before you accept the rewrite.
Where to set it
The right rail's Voice mode (panel rail → Voice icon) opens the voice profile editor. All fields are optional; partial profiles are fine. The default, empty profile, just turns conformance scoring off.
Em-dash policy
Pendraic's default voice prompt forbids em dashes (U+2014) across every customer-facing surface. The model is instructed to use commas, semicolons, or new sentences instead. This is a project-wide baseline, not a writer-configurable knob; em dashes are the most common AI-tell pattern.

