Triggers & routing
- Trigger: tutorial context pack, module pack, writer pack, tutorial context pack, module writing pack.
- Use when:
source-tutorial's C2, already has module plan + source coverage, needs to be organized into stable writing input. - Skip if: module/source coverage is not yet complete.
- Network: none.
- Guardrail: only organize the context, do not directly write the tutorial body.
Combines module structure, source coverage, and source snippets into one deterministic JSONL pack per module.
Inputs
outline/module_plan.ymloutline/source_coverage.jsonlsources/provenance.jsonl
Output
outline/tutorial_context_packs.jsonl
Contract
Each pack must include:
module_idtitleobjectivecore_conceptsexercise_seedsource_snippets
Script boundary
scripts/run.py should:
- read the current module plan and coverage file
- select source snippets per module
- write one stable pack per module
Keep snippet ranking and pack synthesis in shared tutorial tooling rather than in the thin wrapper script.
Acceptance
- one pack per module
- every pack has
module_idandobjective - every pack includes actual source-backed snippets
Non-goals
- final tutorial prose
- PDF/slides delivery