feat: add InstrumentDocumentType with bank_statement - #227
feat: add InstrumentDocumentType with bank_statement#227armando-rodriguez-cko wants to merge 1 commit into
Conversation
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
Reported internally: a merchant creating a bank_account payment instrument found no constant for the document type. Verified in the spec, where PlatformsPaymentInstrumentBankAccount.document.type is a single-value enum accepting only bank_statement, which is also its default. Kept separate from DocumentType rather than added to it. DocumentType lists identity documents, and the API models the bank account document type as its own enum, so putting bank_statement there would offer it where the API rejects it and imply a passport is valid on a bank account document. DocumentType now says so in its docstring. One test asserts bank_statement is NOT in DocumentType. That is the one that matters long term: it is what stops the two being merged the next time someone reports the value as missing from the identity enum. Refs INT-1691.
719f00a to
940db95
Compare
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 2 wall-e 2026.06.19-02 · policy |
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
|



What
Adds
InstrumentDocumentTypewith the single valuebank_statement, the document type for the bank account behind a platforms payment instrument.Reported internally: the value is documented in the API reference but missing from the SDK, and it is blocking a merchant. Verified against the spec, where that document type is a single-value enum whose only accepted value (and default) is
bank_statement.Why a separate type instead of adding the value to the existing document type
The existing document type lists identity documents (passport, national identity card, driving license) and is used for entity onboarding. The API models the bank account document type as its own enum. Adding
bank_statementalongside the identity values would offer it in every place the API rejects it, and would equally suggest the identity values are accepted on an instrument document, where they are not.Tests
One of the tests asserts
bank_statementis not in the identity document type. That is deliberate: it is what stops the two being merged the next time someone reports the value as missing from the identity enum.Not breaking
Purely additive. No existing constant, field or signature changes.
Refs INT-1691.