projects / easemysemester / decisions
The past-paper corpus stays outside the repository
v2's source corpus is read from a local directory named by an environment variable, never committed, because it is Al-Karim University material and the repository is meant to be public.
decision · current · updated 2026-09-16 · EaseMySemester case study
See overview and v2.
Context
The import command needs a directory of past-paper source files to read. The repository holding v2 is meant to be public.
Decision
The corpus lives in a local directory named by an environment variable (CORPUS_DIR), never
committed. Nothing in the tree points a reader at where the data comes from; that is written
down in the docs instead. Parser fixtures are hand-written in the source format rather than
copied from real papers.
Alternatives rejected
Committing a sample of the real corpus for fixtures, so the parser and its tests would have something to run against out of the box.
Why
The papers are Al-Karim University material. Committing any of it would have landed it in git history, which cannot be undone cheaply once pushed. Hand-written fixtures let the parser and its tests be read and understood by someone with no access to AKU content at all.
Consequences
A fresh clone of the repository cannot run the import command until CORPUS_DIR is pointed at
a local copy of the corpus, and the parser's tests run against hand-written fixtures rather than real paper text.
Status
Current.