Uploading a syllabus
What to upload, what the pipeline does with it, and how to tell whether it worked.
What you can upload
Topics and subtopics, learning outcomes, any unit or module structure, an indication of sequence, and assessment weighting if you have it. Extraction is grounded in what you supply — it will not invent outcomes that are not there.
What the pipeline does
Four phases, each visible as it runs. The progress view is staged rather than a spinner so a failure names its cause.
- 1Parse
The document is read; scanned pages go through OCR. Low-confidence pages are flagged rather than silently accepted.
- 2Categorise
The syllabus is classified and its strands identified — the thematic threads that run through it.
- 3Deconstruct
Learning outcomes are extracted, and gates are proposed with prerequisites and Bloom targets. This is the knowledge graph.
- 4Schedule
Gates are allocated across the weeks available, respecting the prerequisite order.
How long it takes
Extraction is typically a few minutes; it runs as a background job, so you can leave the screen and come back. The heavier generation step — lesson plans, scripts, questions and materials — happens only after you approve, and takes longer.
When it fails
The upload is rejected before processing starts.
The file exceeded the size limit or is a format that cannot be read. Export to PDF or paste the text.
OCR flagged most of the document.
The scan quality is too low to extract reliably. A cleaner scan, or pasting the text, will produce dramatically better gates. Proceeding on a bad OCR pass wastes the generation step downstream.
Extraction completed but the gates are wrong.
That is what Review Extracted is for — everything is editable, and edits cascade. If the structure is fundamentally wrong, the source document probably lacked sequence or outcomes; re-upload a fuller version rather than hand-correcting fifty rows.
The course is stuck in processing.
Check the staged progress view. A genuinely failed job moves the course to failed and names the phase; a job still running will show progress. Jobs resume rather than restart when a worker is replaced.