Personas grow up: enforcing safety gate, multilingual voices, register/profile precedence, and custom voice authoring.
Highlights
- Enforcing persona safety gate — MPS/fidelity + deterministic dropped-numbers enforce (non-zero exit, non-destructive); churn and voice-match are advisory (surface churn is not a meaning signal, per live calibration).
- Multilingual personas —
--personanow runs on ko/en/zh/ja; each language ships apreservedefault (ko implicit, others opt-in). - Custom voice authoring —
patina persona new <id>from a writing sample, a description, or an interactive wizard;patina persona list. Saved tocustom/personas/{lang}/, validated on save. - Register/profile precedence —
--tone> persona >--profile; a voice-owning persona defers profile's voice while profile's pattern policy still applies. - Docs — new
docs/ARCHITECTURE.md(two engine lanes) anddocs/WORKFLOW.md(branching/release), persona documented across all four READMEs.
Semver: minor — additive; persona is opt-in and no stable public CLI/API removed.
Full notes: CHANGELOG.md