apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/destiny.git lighthouse.jenkins-x.io/job: release pipeline.jenkins-x.io/traceID: 9445fc2923cbc02e8dbc771570af55c2 creationTimestamp: "2026-06-21T17:10:33Z" generation: 8 labels: branch: main build: "91" context: release created-by-lighthouse: "true" event-GUID: 18f9678c-6d94-11f1-99ff-cd750f6c6f6a lighthouse.jenkins-x.io/baseSHA: 480039b5c71ddad1a34137b568c92f5a0e8b8d7f lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1782061831572" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: apitaltrade-destiny-main-release-svzkb lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: 480039b5c71ddad1a34137b568c92f5a0e8b8d7f lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: destiny lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: apitaltrade-destiny-main-release-6j5gc-from-build-pack-pod provider: github repository: destiny tekton.dev/pipeline: apitaltrade-destiny-main-release-6j5gc managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.18 operation: Update time: "2026-06-21T17:12:37Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:pipeline.jenkins-x.io/traceID: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:event-GUID: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:buildLogsUrl: {} f:completedTimestamp: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:status: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-06-21T17:14:11Z" name: greencapitaltrade-destiny-main-91 namespace: jx resourceVersion: "125298548" uid: 4e2f1a1b-8ac5-463b-a0e3-e1194917547c spec: baseSHA: 480039b5c71ddad1a34137b568c92f5a0e8b8d7f batchPipelineActivity: {} build: "91" buildLogsUrl: s3://logs-gct-prod-20260425045301534100000007/jenkins-x/logs/greencapitaltrade/destiny/main/91.log completedTimestamp: "2026-06-21T17:14:05Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: destiny gitUrl: https://github.com/greencapitaltrade/destiny.git lastCommitMessage: | feat: add partner-ready error handling to vendor endpoints Bring KYC, bureau, bank statement, agreement, and eMandate endpoints up to partner API conventions (PRD §11-13): - Add 30s timeout to all vendor API calls (Digio KYC/eSign/eNACH, Saafe AA, Experian bureau) to prevent indefinite hangs - Map vendor failures to named error codes: `digio_timeout`, `aa_unavailable`, `bureau_unavailable` (never bare 5xx or `unknown_error`) - Return nullable `code: String` on all responses (null on success) - 4xx from backend → passthrough code, 5xx → mapped to vendor-specific code - Document `pull_type: soft|hard` regulatory note in bureauFetch route - Update routes/aa.js to use named codes instead of bare 500 status - Add `code: null` to success responses across all touched endpoints Files modified: - utils/saafe.js: timeout + aa_unavailable error mapping for all AA operations - provider/digio_kyc.js: timeout + digio_timeout error mapping - provider/digio_enach.js: timeout + digio_timeout error mapping - models/credit_score.js: timeout + bureau_unavailable error mapping for Experian enhanced match and full report fetch - routes/aa.js: replace 500 + custom codes with 502 + aa_unavailable - routes/credit_scores.js: add pull_type regulatory note, uniform error handling, code: null on success - routes/documents.js: uniform error handling for DigiKYC, code: null on success - routes/emandates.js: uniform error handling for Digio eNACH, code: null on success Co-Authored-By: Claude Sonnet 4.5 lastCommitSHA: 40ad4844618a5e041c506ed5f9ad48affa1fd4a2 message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/destiny/main releaseNotesURL: https://github.com/greencapitaltrade/destiny/releases/tag/v1.67.0 startedTimestamp: "2026-06-21T17:10:33Z" status: Succeeded steps: - kind: Stage stage: completedTimestamp: "2026-06-21T17:14:05Z" name: from build pack startedTimestamp: "2026-06-21T17:10:35Z" status: Succeeded steps: - completedTimestamp: "2026-06-21T17:10:45Z" name: Git Clone startedTimestamp: "2026-06-21T17:10:35Z" status: Succeeded - completedTimestamp: "2026-06-21T17:10:49Z" name: Next Version startedTimestamp: "2026-06-21T17:10:46Z" status: Succeeded - completedTimestamp: "2026-06-21T17:10:52Z" name: Jx Variables startedTimestamp: "2026-06-21T17:10:49Z" status: Succeeded - completedTimestamp: "2026-06-21T17:11:24Z" name: Build Npm Install startedTimestamp: "2026-06-21T17:10:52Z" status: Succeeded - completedTimestamp: "2026-06-21T17:12:21Z" name: Build Container Build startedTimestamp: "2026-06-21T17:11:24Z" status: Succeeded - completedTimestamp: "2026-06-21T17:12:37Z" name: Promote Changelog startedTimestamp: "2026-06-21T17:12:21Z" status: Succeeded - completedTimestamp: "2026-06-21T17:12:40Z" name: Promote Helm Release startedTimestamp: "2026-06-21T17:12:38Z" status: Succeeded - completedTimestamp: "2026-06-21T17:13:32Z" name: Promote Jx Promote startedTimestamp: "2026-06-21T17:12:41Z" status: Succeeded - completedTimestamp: "2026-06-21T17:14:05Z" name: Publish Org Kb startedTimestamp: "2026-06-21T17:13:32Z" status: Succeeded - kind: Promote promote: environment: staging pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/4409 startedTimestamp: "2026-06-21T17:13:09Z" status: Succeeded startedTimestamp: "2026-06-21T17:13:09Z" status: Succeeded - kind: Promote promote: environment: production pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/4410 startedTimestamp: "2026-06-21T17:13:29Z" status: Succeeded startedTimestamp: "2026-06-21T17:13:29Z" status: Succeeded version: 1.67.0 status: {}