Build and maintain the five-step JSON-only planning and RAG orchestration layer for this repo. Use when editing `pptx_gen/planning`, changing prompt-chain contracts, refining `PresentationSpec` generation rules, or updating planning prompts and tests.
Read AGENTS.md, schemas.py, prompt_chain.py, llm_client.py, and prompts before editing this area.
questions_for_user as the mechanism for surfacing missing inputs instead of hallucinating.PresentationSpec as the canonical intermediate representation between planning and layout.llm_client.py; do not let provider-specific code drift from the shared schemas.source_citationsschemas.py, not just in tests.planning/prompts/ rather than embedding large prompt strings inline.