Skip to content
null design

Work / ND-009

Course Operations Compiler

Syllabi, block plans, warm-ups and slide decks treated as compiled artifacts, not one-off documents.

ACTIVE

Problem

A teaching practice generates the same categories of document every week — syllabi, block plans, warm-ups, exit tickets, slide decks — and hand-authoring each one invites drift: dates that don't match the calendar, decks that overflow their layout, exit tickets that quietly diverge from what was actually taught. The Course Operations Compiler treats these as compiled artifacts rather than ad hoc documents: one source of truth in, deterministic output out.

System

The architecture centers on a single-source calendar and course specification, from which deterministic generators produce the recurring artifacts. A tested date library handles the calendar logic so that generated documents stay consistent with the term calendar. An agent skill handles deck authoring against a shared template. A programmatic QA harness checks generated decks for layout overflow before they reach a classroom. Third-party components used in the pipeline: reveal.js for deck rendering, Jinja2 for templating, and pandoc for document conversion — each named here as third-party.

Human gates

One gate is recorded and it is absolute: all student-facing content is reviewed by the teacher before use. Nothing generated by the compiler reaches a classroom unreviewed.

Provenance

Ownership is original. The project is private by design, and its continuous-integration configuration forbids deployment of the operations repository — there is no path by which this system publishes anything on its own. Third-party components: reveal.js, Jinja2, pandoc. This page describes the architecture only; the repository, its templates, and any calendar or course data remain private and are not included here.

Status and next

Status: active. Visibility is internal, and the registry's publication recommendation is KEEP PRIVATE. What is public is the pattern described above, not the code, the calendar, or the content it generates. No host names, addresses, or ports are recorded in this material, and none should be added to it.