Architecture
Layer ownership.
Protocol knowledge and extension points remain in the layer that owns their semantics.
For backend and scheme implementors · Source guide · 2394fa5
For a visual introduction, see Layered architecture and verification.
To keep the stack well separated, lower layers MUST NOT adapt their APIs to invariants owned by a higher layer: HAL owns generic polynomial primitives, Core owns generic GLWE/GGLWE operations, and CKKS owns CKKS protocol knowledge.
As example, the known-zero-limb optimization for the second ModUp key switch belongs in CKKS’s default ckks_encapsulated_mod_up and not in the Core layer; a backend can decide to replace that whole operation through its CKKS OEP.
Future cross-layer optimizations should compose lower-layer primitives or add an extension point in the layer that owns the semantics.