Problem
The serde package declares no exception type (serde/{Serde,Serializer,Deserializer}.kt), so the Jackson adapter throws raw com.fasterxml.jackson.* exceptions across the zero-dep SPI boundary. Callers coding against the SPI can't catch a stable type, and the abstraction leaks its implementation.
Proposed change
Add open class SerdeException(message, cause) : RuntimeException in serde/ (optionally SerializationException/DeserializationException). Catch JsonProcessingException/MismatchedInputException in the Jackson adapter and rethrow as SerdeException. Do not extend the HTTP exception family.
Acceptance
Priority: high · Effort: small
Problem
The
serdepackage declares no exception type (serde/{Serde,Serializer,Deserializer}.kt), so the Jackson adapter throws rawcom.fasterxml.jackson.*exceptions across the zero-dep SPI boundary. Callers coding against the SPI can't catch a stable type, and the abstraction leaks its implementation.Proposed change
Add
open class SerdeException(message, cause) : RuntimeExceptioninserde/(optionallySerializationException/DeserializationException). CatchJsonProcessingException/MismatchedInputExceptionin the Jackson adapter and rethrow asSerdeException. Do not extend the HTTP exception family.Acceptance
com.fasterxml.*across the SPISerdeExceptionPriority: high · Effort: small