Ecto schema for chimeway_delivery_attempts — immutable append-only record of each provider call for a delivery. No updated_at — attempts are never mutated.
REL-02 fields (Phase 14 D-07)
attempt_number:integer — 1-indexed ordinal of this attempt for its delivery, computed at insert time inside the sameEcto.Multias the attempt insert. Plan 14-02 leaves this in@optional_fields; Plan 14-04 Task 3 promotes it to@required_fieldsafterDeliveries.record_attempt/2is wired to inject the value via the new:next_attempt_numberMulti step. The two-step landing keepsmix testgreen between Plan 14-02 and Plan 14-04.
as a plain string with changeset whitelist validation (NOTerror_class:string — one of `"temporary""permanent" "bounced"` for `:failed :rejected :bounced outcomes;nilfor:succeeded`. PersistedEcto.Enum) to match the project's string-channel idiom from Phase 11.
Summary
Functions
Returns the canonical list of allowed error_class string values.
Used by the dispatch executor to validate that the dispatcher
only emits whitelisted classifications. "unknown_classification" is the BL-02
fallback value emitted by classify/1 for unexpected adapter return shapes.
Types
Functions
@spec error_classes() :: [String.t()]
Returns the canonical list of allowed error_class string values.
Used by the dispatch executor to validate that the dispatcher
only emits whitelisted classifications. "unknown_classification" is the BL-02
fallback value emitted by classify/1 for unexpected adapter return shapes.