Repository navigation
feature/INT-1711 - risk.score must be a decimal, not an integer - #685
Conversation
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 4 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:The change is a non-destructive type correction (Integer to Double) on existing model fields to match the API spec, reuses existing code paths and abstractions, introduces no new endpoints, persisted data, auth changes, or external integrations.
wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…
The API returns risk.score as a number between 0 and 100 (for example 22.5). The SDK typed it as an integer, so a fractional score failed to deserialize (Java) or was silently rounded (.NET). Reported internally.
fad4961 to
ba8b200
Compare
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 4 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 |
|



This pull request fixes the type of
risk.scoreon payment responses. The API defines it asnumber(0 to 100, for example22.5), but the SDK typed it asInteger, so Gson threwJsonSyntaxExceptionon a fractional score and the whole payment response failed to deserialize. Reported internally.Model changes:
RiskAssessment.score:IntegertoDouble. Used byPaymentResponse,GetPaymentResponse,AuthorizationResponseand thepreviousvariants. Added doc comments for both properties.handlepaymentsandpayouts...requestapaymentorpayoutresponsecreated.risk.Risk.score:IntegertoDouble.Tests:
RiskAssessmentSerializationTest: fractional, whole, boundary (0, 100) and null scores, serialization, round-trip, and the swagger example, both standalone and insideGetPaymentResponse/PaymentResponse.Risksection inRequestAPaymentOrPayoutResponseCreatedSerializationTest.API reference:
POST /payments(201) andGET /payments/{id}(200),risk.score:type: number, minimum: 0, maximum: 100.Breaking changes:
getScore()now returnsDoubleinstead ofInteger. Code assigning it to anint/Integermust be updated. Forced by the API, so this ships as a minor release.