Generate a plan as a valid JSON object using the provided schema.
Rules:
- Return only JSON.
- Do not include markdown.
- Break the work into phases, tasks, and subtasks.
- Every phase, task, subtask, risk, milestone, question, and action must have a stable ID.
- Tasks should be small enough to be assigned or tracked individually.
- Subtasks should describe concrete actions, not vague goals.
- Include dependencies using IDs from earlier tasks or subtasks when possible.
- Include acceptance criteria for each task and subtask.
- Include open questions if information is missing.
- Include next actions that can be started immediately.
- If assumptions are necessary, list them explicitly.