{"data":{"kind":"file","path":"README.md","version_id":"wjqyvezzbxmbijtekpjagl0k","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":1767,"modified_at":"2026-07-12T20:41:52.776000","content_hash":"bd5ca1dc75eb7686ac26c7d9da848371afaa7ea558717d1ddaa50d703ec1e064"},"entries":[],"content":"# inbox-voice\n\nA [`verifiers`](https://github.com/willccbb/verifiers) environment that scores **\"does this\nemail draft sound like a specific person and say what they would say?\"** — judged against the\nperson's **real, held-out email** (not a vibe check).\n\nTwo task types share one env, tagged by `task`:\n\n- **reply** — input: an incoming thread (+ optional steering) → output: the person's reply\n- **compose** — input: a short brief → output: a fresh email\n\n## Reward — rubric v1\n\nAn LLM judge compares the candidate draft to the real email and scores each 1–10:\n\n| component | weight | question |\n|---|---|---|\n| voice | 0.4 | tone, phrasing, register, length match the real email? |\n| content | 0.4 | covers the real email's substance / key points (no more, no less)? |\n| adherence | 0.2 | satisfies the task? |\n\n`reward = (0.4·voice + 0.4·content + 0.2·adherence) / 10 ∈ [0,1]`.\n\n## Data & privacy\n\nThe published package ships **only code + a small synthetic sample** (fabricated persona\n\"Sam\"). Point it at your own data with `INBOX_VOICE_DATA=/path/to/dir`, where the dir holds\n`dataset/{train,heldout_reply,heldout_compose}.jsonl` (chat-format rows). With no data set, it\nfalls back to the synthetic sample so anyone can run it.\n\nThe judge needs `OPENAI_API_KEY` (a local env var, or a Prime Intellect **secret** for hosted\nruns). Judge model defaults to `gpt-5.5` (override with `judge_model`).\n\n## Run\n\n```bash\nprime env install nitinm21/inbox-voice\n# then, with OPENAI_API_KEY set:\nprime eval run inbox-voice -m gpt-5-mini \\\n  --api-base-url https://api.openai.com/v1 --api-key-var OPENAI_API_KEY -n 5\n```\n\nBuilt for the MortalMail project — post-training an open model to write email in one person's\nvoice, entirely on Prime Intellect.\n","encoding":"utf-8","truncated":false,"total_bytes":1767},"status":null}