ADR 0003: Optional Dependencies Policy¶
Status¶
Accepted
Context¶
Optional dependencies (benchmarks, plotting, UI) should not be required to import or use core optimization logic.
Decision¶
- Core dependencies live in
[project].dependencies. - Heavy or optional libraries must appear only under
[project.optional-dependencies]. - Optional imports must be lazy or guarded with
try/except ImportError. experiment/externalis the integration boundary for benchmark backends.- Panel imports are confined to
ux/paneland the Studio UI boundary.
Consequences¶
- Core installs remain lightweight.
- Optional features are clearly scoped and testable.
- A dependency policy gate prevents regressions.