Pedagogical Modelconcept
The contract every concept must satisfy so the app recursively explains itself — ten questions (what/why/where/prerequisites/dependencies/related/foundations/history/implementation/sources).
If a ConceptNode is missing any field, recursive descent dead-ends. The compile-time approach enforces completeness; a missing field is a build signal, not a reader's dead end.
Where it appears
- docs/PEDAGOGICAL_MODEL.md
- Every concept page
Descend
Prerequisites
Dependencies
Foundations
Historical evolution
Derived from the project brief's 'every concept should know...' list; enforced at compile time via gap detection.
Implementation details
ConceptContract dataclass in ir.py; pass-07 flags incomplete contracts as gap edges.
Sources
- [docs/PEDAGOGICAL_MODEL.md] docs/PEDAGOGICAL_MODEL.md
- [docs/PEDAGOGICAL_MODEL.md] docs/PEDAGOGICAL_MODEL.md