Parent: #590
Blocked by: M27.1
Scope
Create zeph-core/src/prompt_templates.rs with modular prompt text blocks:
-
Persona blocks (3 variants, one per InteractionMode):
PERSONA_ASSISTANT, PERSONA_CODING, PERSONA_AUTOMATION
-
Philosophy blocks (3 variants, one per ExpertiseLevel):
PHILOSOPHY_BEGINNER, PHILOSOPHY_INTERMEDIATE, PHILOSOPHY_EXPERT
-
Guardrails blocks (up to 9 combinations, grouped by dominant factor):
- Common security guardrails (always present)
- Level-specific guardrails (beginner gets confirmation requirements, expert gets minimal)
- Mode-specific guardrails (coding gets test-before-commit, automation gets error-only reporting)
-
Selector functions:
fn persona(mode: InteractionMode) -> &'static str
fn philosophy(level: ExpertiseLevel) -> &'static str
fn guardrails(level: ExpertiseLevel, mode: InteractionMode) -> String
Acceptance Criteria
Parent: #590
Blocked by: M27.1
Scope
Create
zeph-core/src/prompt_templates.rswith modular prompt text blocks:Persona blocks (3 variants, one per InteractionMode):
PERSONA_ASSISTANT,PERSONA_CODING,PERSONA_AUTOMATIONPhilosophy blocks (3 variants, one per ExpertiseLevel):
PHILOSOPHY_BEGINNER,PHILOSOPHY_INTERMEDIATE,PHILOSOPHY_EXPERTGuardrails blocks (up to 9 combinations, grouped by dominant factor):
Selector functions:
fn persona(mode: InteractionMode) -> &'static strfn philosophy(level: ExpertiseLevel) -> &'static strfn guardrails(level: ExpertiseLevel, mode: InteractionMode) -> StringAcceptance Criteria
const &str(no external files)#[must_use]