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

Descend

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

View in graph →