--- type: work-item project: fidelity status: active ticket: PDIAP-15765 title: "AO DOB field error not showing investigation" updated: 2026-04-16 tags: - work-item - fidelity --- # PDIAP-15765 - AO DOB field error not showing investigation ## Status - Active again - Move back to In Progress on the next workday - Small XFlowSDK compatibility PR opened for the iOS-side fix - PR has Santosh approval, but still needs code-owner approval before merge and story completion --- ## Context - This ticket is tied to an AO DOB validation issue. - The issue was confirmed for authenticated users in the `HybridYouthAccountOpening` flow on the `TeenIdentityCheck` page. --- ## Confirmed Findings - The issue reproduces only for authenticated users based on the currently stored evidence. - The Youth / `TeenIdentityCheck` scenario is the iOS-only issue; do not describe it as reproducing on Android. - Root cause was documented. - The original external report was incomplete. - For the config discussion, `CheckIdentity` was already correct. The `TeenIdentityCheck` issue had two config gaps inside `validation-rules`: the root key should be `validations`, and the age gate also needs `eighteenOrAbove` there when that rule is required. - Follow-up validation on April 13 showed two distinct authenticated scenarios rather than one uniform cross-platform issue. - A `HybridBrokerageAccountOpening` / `JointIdentityCheck` scenario reproduces on both iOS and Android. - A `HybridYouthAccountOpening` / `TeenIdentityCheck` scenario works on Android but fails on iOS. - Current evidence suggests Android is more flexible in how it decodes rule variations, while iOS is stricter about the expected `validation-rules` structure. - Later validation on April 15 showed the original `HybridYouthAccountOpening` / `TeenIdentityCheck` issue no longer reproduces once the payload uses `validations` instead of `birthDate`. - A minimal XFlowSDK fix was still prepared on April 15 so the iOS `.apxDateSelect` path also falls back to `birthDate` for a future release. - Jeff confirmed on April 15 that this minimal iOS fallback is the right fix direction for the Youth / `TeenIdentityCheck` case and approved opening the PR under the same story. - On April 16, Jeff decided the iOS PR should be the primary fix path for the Youth / `TeenIdentityCheck` issue rather than relying on a separate service rollout. --- ## Current Guidance - Treat the iOS-only `HybridYouthAccountOpening` / `TeenIdentityCheck` discrepancy as the main client-side issue currently aligned with the story. - Keep the cross-platform `HybridBrokerageAccountOpening` / `JointIdentityCheck` scenario separate until it is clear whether it is a service/config issue, a distinct bug, or an unreported rule-processing difference. - Keep the authenticated-user qualifier whenever this ticket is mentioned. - Do not describe it as a generic validation issue without the `TeenIdentityCheck` and auth context. - The originally reported Youth issue was fixed for the Youth-flow `TeenIdentityCheck` path by the service-side payload update from `birthDate` to `validations`; local Fid4 validation also confirmed it. The XFlowSDK fallback PR should still be released so iOS handles the older `birthDate` format more safely. - That service-side Youth fix was later rolled back in QA so the iOS PR can remain the single fix path; local Fid4 validation with the PR still confirmed the `birthDate` validation works correctly. - Jeff provided historical context that these fallback paths exist largely to accommodate older AO payload conventions; when the issue is AO-specific, iOS-only, and caused by a service-vs-SDK key mismatch, this kind of iOS fallback is the usual fix. - The `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue is different from the original Youth report: the rule content itself does not include `ageRange` or `eighteenOrAbove`, so that path still points to a service-side update rather than the same iOS parsing gap. - David compared `HybridBrokerageAccountOpening` / `JointIdentityCheck` in Cogstore and found the relevant rule content is the same in QA and Production despite different flow-definition versions, so that separate issue should also exist in Production. - The small iOS PR should be described as a compatibility safeguard for future older-format payloads and should not be framed as applying to the `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue. - The service-side `birthDate` -> `validations` change and the small iOS PR both relate to the same Youth / `TeenIdentityCheck` issue; they should not be described as separate Youth issues. --- ## Next Step - Get the small XFlowSDK compatibility PR reviewed and released. - Send one more AO working-group Teams summary that points to the Jira comment, Discourse comment, and PR while keeping the separate `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue clearly out of the original Youth-fix scope. - Keep the final AO working-group message very explicit about there being two flow scenarios: the Youth iOS-only issue now handled by the service change plus iOS fallback, and the separate cross-platform `HybridBrokerageAccountOpening` / `JointIdentityCheck` service-side issue. - Update that AO working-group message so it now reflects the final framing: the original Youth issue is fixed on the iOS side, and the separate `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue is the remaining service-side follow-up. - Close the story with comments explaining that the immediate Youth issue was resolved on the service side and that the XFlowSDK fallback fix will be available in the next release. - Keep the separate `HybridBrokerageAccountOpening` / `JointIdentityCheck` scenario out of the client-fix scope unless later evidence proves it is part of the same issue. - Consider a separate follow-up ticket for the cross-platform service-side issue if that path still stands after consumer confirmation.