Ontario (Canada) high school course planning (Grades 9–12) aligned to university admissions and Top 6 (12U/M) strategy. Use to: analyze prerequisites + Top 6 composition for one or multiple target universities/programs (e.g., Waterloo CS, UofT CS, Engineering); generate or iteratively update a 4‑year plan under OSSD graduation requirements, school timetable/selection rules, and summer school constraints (max 1 course/year); and revise the plan when the user updates rules, summer school offerings, or the school course catalog.
Produce an iterable, updatable Ontario (OSSD) Grades 9–12 course plan that:
Ask the minimum number of questions needed to fill these. If something is unknown, label it ASSUMPTION.
Record targets in working memory in this structure:
If the user says only “robotics/engineering”, ask whether they mean Engineering (e.g., Mechatronics/Computer/Electrical) vs , and whether co-op matters.
Keep as toggles/weights:
pressureFocus: "frontload" | "balanced" | "protect_11_12"summerSchool.enabled: true/falsesummerSchool.maxPerYear: 1 (default)summerSchool.useFor: "nonTop6" | "reachAhead" | "repeatImprove" (default: nonTop6)maximizeAverage: true/falsepreferEasierElectives: true/falseplanRobustness: "conservative" | "normal" | "aggressive"Read and apply:
references/graduation-and-planning-rules.mdreferences/summer-school-catalog.mdreferences/required-bands-by-grade.mdreferences/course-catalog.mdIf the user provides new rules or new lists:
For each (University, Program), produce:
If prerequisites are uncertain:
Objectives:
protect_11_12: avoid stacking multiple heavy 3U/4U courses in Grade 11/12useFor=nonTop6: prioritize non-Top6 / non-admissions-impact courses (often Civics/Careers) to reduce timetable loadPlanning method:
Output must follow this structure (do not omit sections):
For each target:
For each grade:
When the user asks to modify/update anything:
references/graduation-and-planning-rules.mdreferences/summer-school-catalog.mdreferences/course-catalog.mdreferences/course-catalog.md unless the user explicitly adds new ones.