feat(engine): voice pipeline Phase 1 — composition engine and data model
Add the voice pipeline composition engine (D-138 Spike 2, Phase 1):
- voice/prompt_builder.rs: full prompt assembly from culture profile,
tell state, and base text. Handles occasional injection gating,
epistemic marker extraction, content-length-gated tell injection.
16 unit tests.
- blueprint.rs: CultureProfile gains voice_persona, voice_examples,
occasional_injections fields. NpcBlueprint gains tell_behaviors.
OccasionalInjection struct with kind discriminator (oath/faith/
hesitancy/etc), frequency, and tell-suppression gating.
- culture-krenn.ron: v2 voice injector from Spike 1 — persona block,
3 examples, oath injection at 0.25 frequency.
- D-138 amended: Phi-3 dropped entirely, exact Gemma 2B provenance
documented. Model file renamed to gemma2.gguf.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>