| name | python-serialization-boundaries |
| description | Design or review Python serialization boundaries as semantic translation gates for API, database, and message payloads. |
| complexity | medium |
| risk_profile | ["ambiguity_sensitive"] |
| inputs | ["boundary kind (API request/response, database row, queue message, or transport contract)",{"directionality":"inbound, outbound, or PATCH-like partial input"},"fields requiring omitted vs explicit null vs unchanged meaning preservation","primitives needing normalization (UUID, datetime, decimal, enum-like values)","whether nested objects or collections must be converted deeply","whether output contract is intentionally lossy or non-round-trip","whether the schema is local or shared across callers or services"] |
| outputs | ["review-ready rule set or design recommendation for semantic serialization boundaries","defaults for inbound/outbound DTO separation, missing/null handling, type normalization, deep conversion, and local-vs-shared schema ownership","local reference and branching examples for common boundary choices and anti-patterns"] |
| use_when | ["designing or reviewing how API payloads, database rows, or queue messages enter Python code","deciding where raw dict/JSON/row/message shapes should become internal objects, records, or semantic values","PATCH-like updates must distinguish omitted, explicit null, and unchanged intent","deciding whether input and output DTOs should differ or output may be intentionally lossy","deciding whether a boundary schema should stay local or become a shared external contract"] |
| do_not_use_when | ["task is mainly a json.dumps/json.loads tutorial or framework/schema library selection question","task is mainly about choosing dataclass, Enum, ABC, or Protocol; use python-model-selection","task is mainly about exception hierarchy or translation; use python-error-handling","task is mainly about package gateways, imports, or public export policy; use python-module-boundaries","task is mainly about package/distribution layout or scaffold/retrofit execution","task is mainly about broad architecture, dependency direction, ORM/query design, or infrastructure setup"] |