Skip to content
How much to read

Knowledge base

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.

This page was written by a model from my own repositories and checked by a second one against the same sources. I did not write it, and no version of it was approved by me before it went up. How that works, and where it can still be wrong.