diff --git a/ai/context/people/jeff-dewitte.md b/ai/context/people/jeff-dewitte.md index 837bbba..5535495 100644 --- a/ai/context/people/jeff-dewitte.md +++ b/ai/context/people/jeff-dewitte.md @@ -46,6 +46,7 @@ Good updates usually clarify: - Jeff approvals can change what belongs in current state or work-item memory - Jeff feedback is often a signal to tighten wording before communicating externally - Jeff often asks for evidence, reproduction detail, and exact next action before approving external communication +- If a draft is still ambiguous, Jeff may prefer to rewrite it directly so the external version is unambiguous and does not generate avoidable follow-up --- @@ -60,3 +61,4 @@ Good updates usually clarify: - Prefer evidence-heavy communication: screenshots, videos, exact error text, branch/version, and direct comparisons to main/web/UIKit/Fid4 when relevant - Use polished native-sounding English for external-facing comments; avoid sending rough wording when a cleaner version is easy to produce - When a consumer issue may actually belong to another team/framework, document the finding clearly and route ownership instead of carrying it indefinitely in XFlow +- For cross-team status messages, make the sequence of events extremely explicit so the reader can tell what was the original issue, what changed, what XFlow changed, and what remains a separate service-side issue diff --git a/ai/logs/2026-04-16.md b/ai/logs/2026-04-16.md new file mode 100644 index 0000000..207dd76 --- /dev/null +++ b/ai/logs/2026-04-16.md @@ -0,0 +1,25 @@ +# 2026-04-16 + +## Mattermost + +- Jeff clarified that `PDIAP-15765` should not move to Done until the PR is merged. +- Santosh approved the PR, but one code-owner approval is still required before merge. +- Jeff asked for one more AO working-group Teams reply that: + - summarizes that the original iOS issue was reproduced and addressed with the iOS-side change + - points the group to the Jira comment, Discourse comment, and PR + - explains that the initially found `HybridBrokerageAccountOpening` / `JointIdentityCheck` problem is separate + - notes which service-side changes were already made and which still appear to be needed +- David clarified that the confirmed service-side change was limited to the Youth-flow `TeenIdentityCheck` path. For external communication, avoid overstating the scope or calling out Rashmi by name unless that attribution is specifically needed. +- David clarified that the iOS change should be described as a compatibility improvement to reduce similar future issues with the older `birthDate` format. It should not be described in a way that implies it also applies to the separate `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue. +- Jeff said the AO working-group draft was still confusing and wanted to edit it himself to make it very clear and avoid follow-up questions. +- David clarified that the `HybridYouthAccountOpening` / `TeenIdentityCheck` issue was iOS-only; it should not be described as affecting both iOS and Android. +- David clarified that the service-side change and the iOS-side fallback address the same Youth / `TeenIdentityCheck` issue, not two separate Youth issues. The service change was the immediate resolution, while the iOS PR is a compatibility safeguard if that older `birthDate` format appears again. +- David has personally seen `birthDate` used on two pages so far, but broader reuse in other flows is still unconfirmed and should be described carefully. +- For Jeff's framing question, the current understanding is two affected flow scenarios, not three: the iOS-only Youth / `TeenIdentityCheck` issue, and the separate cross-platform `HybridBrokerageAccountOpening` / `JointIdentityCheck` service-side issue. +- Jeff confirmed on April 15 that the minimal iOS `birthDate` fallback is the right change for the Youth / `TeenIdentityCheck` case and approved opening the PR under the same story. +- Jeff clarified the historical reason for the fallback behavior: older AO services often still use older payload conventions, while the SwiftUI refactor was validated more heavily against newer Slate-based services using `validations`. +- Jeff said the easiest fix is usually this kind of iOS-side fallback when the consumer is AO, the issue is iOS-only, and the service payload shape differs from what the SDK expects. +- Jeff approved the Jira and Discourse comments with one wording change: say `I checked the original iOS issue again` instead of `I re-checked`. +- Jeff approved sending a final AO working-group summary, but wanted it to be much clearer about what was fixed on iOS, what Rashmi changed on the service side, and what separate service-side issue still remains in `HybridBrokerageAccountOpening` / `JointIdentityCheck`. +- David later checked Cogstore and confirmed Rashmi's service change is already in QA as version `0.0.142`, while production is still on `0.0.133`, so that change is not live in production yet. +- Jeff concluded there is no point relying on a separate service release for the Youth issue if it would also require its own rollout; the iOS PR should be treated as the primary fix path, while the QA-side service change explains why the issue no longer reproduces in XQ1. diff --git a/ai/state/current.md b/ai/state/current.md index 77da294..e8a9dba 100644 --- a/ai/state/current.md +++ b/ai/state/current.md @@ -21,7 +21,12 @@ - The rollout document uses a global feature-flag rollout model with broad XQ1 validation before production enablement - The rollout document should use the new flag name `xflow-swiftui-container-enabled` and note that the flag will be added later during implementation - Re-check the authenticated AO validation issue with scenario-specific evidence: the `HybridYouthAccountOpening` / `TeenIdentityCheck` path currently points to an iOS-only decoding gap, while a separate `HybridBrokerageAccountOpening` / `JointIdentityCheck` case reproduces on both platforms -- The immediate Youth issue appears fixed on the service side after the payload moved from `birthDate` to `validations`, but the XFlowSDK-side fallback PR should still ship in the next release +- The immediate Youth issue was fixed on the service side for the Youth-flow `TeenIdentityCheck` path after the payload moved from `birthDate` to `validations`; local Fid4 validation also confirmed it. The XFlowSDK-side fallback PR should still ship in the next release +- When describing the XFlowSDK fallback PR, frame it as a compatibility improvement for similar future `birthDate` payloads, not as a fix for the separate `HybridBrokerageAccountOpening` / `JointIdentityCheck` issue +- The Youth / `TeenIdentityCheck` issue was iOS-only; do not describe it as reproducing on both platforms +- The service-side payload update and the XFlowSDK fallback PR address the same Youth / `TeenIdentityCheck` issue; do not split them into separate Youth issues when summarizing scope +- `PDIAP-15765` should stay out of Done until the PR is merged; Santosh approved it, but code-owner approval is still required before merge +- Before closing out the AO thread, send one more working-group Teams reply that summarizes the original iOS issue, links the Jira comment, Discourse comment, and PR, and separates the remaining `HybridBrokerageAccountOpening` / `JointIdentityCheck` service-side issue --- diff --git a/ai/work-items/pdiap-15765.md b/ai/work-items/pdiap-15765.md index 9c2309a..e753eef 100644 --- a/ai/work-items/pdiap-15765.md +++ b/ai/work-items/pdiap-15765.md @@ -5,6 +5,7 @@ - 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 --- @@ -18,6 +19,7 @@ ## 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. @@ -27,6 +29,7 @@ - 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. --- @@ -36,14 +39,19 @@ - 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 appears fixed immediately by the service-side payload update, but the XFlowSDK fallback PR should still be released so iOS handles the older `birthDate` format more safely. +- 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. +- 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. +- 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. - 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.