v2.0.0
Connector mappings are now typed rules instead of bare field names: each remote field can declare a source path or template, a type, required, enum, default, max_length, and truncate. Defaults and constants fill gaps, values are coerced, and overlong strings are cut or refused per rule.
The worker checks every task against the rules before it claims an idempotency key. A task that cannot fit is acknowledged without delivery, logged with the field and reason, and counted in conduit_rejected_total{reason}, so a bad payload no longer burns retries and lands in the DLQ. conduit submit applies the same check and refuses the offending tasks before they are enqueued.
112 unit tests (26 new), integration and Terraform suites unchanged.