0002. Strict errors over half-converted output¶
Status: Accepted
Date: 2026-09-18 (practised since the first release; written down today)
Deciders: maintainer
Context¶
Real MT101 traffic is uneven: missing :20: or :30:, a Sequence B
without :21: or :32B:, fields the loader does not map (:23E:,
:33B:, :36:, :56a:).
Options considered¶
Best effort: convert what parses, skip the rest, warn. Produces a file for every input; produces a wrong file for some.
Strict: raise
ValueErrornaming the missing or unsupported field; document the unmapped tags as out of scope.
Decision¶
Option 2. A treasury system would rather stop than send a payment batch with a silently dropped transaction; the unmapped tags need human judgement the loader cannot supply.
Consequences¶
Every error message names the tag and the sequence. The out-of-scope list is documented in the README and the site’s reference page, and surfacing those tags under named keys is a roadmap candidate that starts with the core’s vocabulary, not here.