init-is-pure-data-model
IN premise
`reasons_lib/__init__.py` contains only dataclass definitions (`Node`, `Justification`, `Nogood`) with no behavior, validation, or I/O; it imports nothing from the project and sits at the bottom of the import graph.
Summary
The core data structures for the system are defined as simple containers with no logic attached. This means they can be imported by any module without pulling in dependencies or side effects, making them a safe foundation that everything else can build on.
Dependents
These beliefs depend on this one:
- three-layer-stack-has-clean-boundaries — The architecture enforces strict layer separation: pure data model at bottom, context-managed API with dict returns in the middle, and pure-formatter CLI at the top
Details
| Source | entries/2026/04/23/reasons_lib-__init__.md |