feat: add InstrumentDocumentType with bank_statement - #360
Conversation
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 3 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 |
Reported internally: Common\DocumentType has no bank_statement, which the API reference documents for the document on a bank account payment instrument, and it was blocking a merchant. Verified in the spec, where that document type is a single-value enum accepting only bank_statement. Added as its own class rather than a value on Common\DocumentType. That one lists identity documents (passport, national identity card, driving license) and the API models the bank account document type separately, so putting bank_statement there would offer it where the API rejects it. One test asserts bank_statement is NOT in the identity DocumentType, which is what stops the two being merged the next time someone reports it missing. Refs INT-1691.
cb6819b to
9eaf1e1
Compare
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 3 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 |
|
There was a problem hiding this comment.
✅ Auto-approved — this PR meets all Low-risk criteria.
All checks passed, no unresolved comments, and the change classification is:
no_low_class_matchedprod_source_modified2.2.6_logical_extension:Purely additive: adds a new PHP enum-style class with a single constant and updates a docblock comment, reusing existing abstractions with no new endpoints, persisted data, auth changes, or external integrations.
wall-e 2026.06.19-02 · policy 376219bc71e6…



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.