{"data":{"kind":"file","path":"README.md","version_id":"smafl3v5bxi9diqdpmkhpn6f","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":2063,"modified_at":"2026-08-29T05:33:58.588000","content_hash":"e105d93c69d42f3b377c878ed7b6a717d4127b1671282a14da4c001f3d5351c5"},"entries":[],"content":"# Podcast / Video Script Generator + Fact Checker\n\nEvaluates an LLM's ability to generate well-structured podcast or video scripts while maintaining factual accuracy with proper source attribution.\n\n## What This Environment Tests\n\nThe model receives a topic, target audience, and a set of verified facts, then must produce a complete script that:\n\n1. **Follows proper script structure** — hook, intro, body segments, transitions, outro/CTA\n2. **Cites facts accurately** — claims must match provided ground-truth data\n3. **Maintains engagement** — storytelling elements, rhetorical questions, audience address\n4. **Handles source attribution** — proper inline citations or source mentions\n5. **Balances entertainment with information** — not just a dry fact dump\n\n## Rubric Dimensions\n\n| Metric | Weight | What It Measures |\n|--------|--------|-----------------|\n| `script_structure_score` | 0.20 | Has hook, intro, body, transitions, outro |\n| `fact_accuracy_score` | 0.30 | Claims match ground-truth facts |\n| `citation_quality_score` | 0.15 | Sources mentioned, attribution present |\n| `engagement_score` | 0.15 | Rhetorical devices, audience address, storytelling |\n| `format_compliance_score` | 0.10 | Proper script formatting (speaker labels, timing) |\n| `factual_density_score` | 0.10 | Ratio of verifiable claims to filler content |\n\n## Task Variants\n\n- **Easy**: 3 facts, 2-minute script, basic topic\n- **Medium**: 5 facts, 5-minute script, requires synthesis\n- **Hard**: 8 facts, 10-minute script, controversial/nuanced topic, must handle conflicting sources\n\n## Example Usage\n\n```python\nimport verifiers as vf\nenv = vf.load_environment(\"votanphat/podcast-script-fact-checker\")\n```\n\n## Design Notes\n\n- Ground-truth facts are embedded in each dataset row's `answer` field as structured JSON\n- Scoring uses multi-signal heuristics (no LLM judge dependency) for reproducibility\n- Anti-gaming: fact matching uses semantic similarity beyond simple keyword overlap\n- Script structure detection uses section header parsing + content length validation\n","encoding":"utf-8","truncated":false,"total_bytes":2063},"status":null}