Shared API

The modules both sizing paths depend on, regardless of technology. Sizer is the entry point (size_circuit()), which dispatches to the analytical or gm/Id path. Around it sit the shared building blocks: Loader reads the technology and spec YAML into Models dataclasses; Device Model wraps the two device models (Level-1 vs gm/Id LUT) behind one interface; Equations holds the closed-form small-signal formulas; and Template Taxonomy classifies each device by its functional role. Preprocessing derives the per-device requirements consumed by both paths, Metric Evaluation evaluates the sized design analytically, and SPICE Verification runs the ngspice verification and bias-soundness check.