"""Replay the exact prompts where Lyra went 'too safe' through the rewritten persona. Run: `uv run python scripts/persona_replay_eval.py` (cloud backend; needs OPENAI_API_KEY). Pick a backend/model with env vars, e.g. `EVAL_BACKEND=mi50 uv run python …` or `EVAL_BACKEND=local EVAL_MODEL=dolphin3:8b uv run python …`. Eyeball each reply against the four tics: no menu, no tag-question closer, a side taken.""" from __future__ import annotations import os from lyra import persona, llm # The real safe-trigger prompts from the diagnosed transcripts. PROMPTS = [ "I could run the miner ~8 hours a day. In theory that's about $7.30 of Monero a day. Or am I over simplifying?", "Do you want more time between your dream cycles? Or less?", "I sort of just slept all day. Kind of a bummer.", "So the only way to make money with AI is SaaS apps basically?", "I'm not writing any of the code, it's all Claude. I feel like a phony.", ] def main() -> None: backend = os.getenv("EVAL_BACKEND", "cloud") model = os.getenv("EVAL_MODEL") or None system = persona.core_prompt() print(f"### backend={backend} model={model or '(default)'}") for i, p in enumerate(PROMPTS, 1): msgs = [{"role": "system", "content": system}, {"role": "user", "content": p}] reply = llm.complete(msgs, backend=backend, model=model) print(f"\n{'='*80}\n[{i}] USER: {p}\nLYRA: {reply}\n") if __name__ == "__main__": main()