Aggregator for the Scala side of the engine. Four layers, strictly ordered:
interceptor-api - Spark-agnostic SPI. No concrete Catalyst types.
interceptor-dispatch - ServiceLoader-based runtime shim selection.
interceptor-runtime - SparkSessionExtensions + Rule[LogicalPlan].
interceptor-spark-* - One implementation per Spark/Scala combination.
interceptor-bundle-* - Shaded fat jar consumed by the Python wheel.
Module order below is the dependency ...