Add project-knowledge structure and templates
- Introduced new maps for navigating project knowledge, including "Current Work," "Fidelity Domain," "Fidelity Apps," "Work Items," and "People." - Created base files for daily notes, decisions, people, systems, work items, and workstreams with defined properties and views. - Developed templates for daily notes, decisions, meeting notes, persons, systems, work items, and workstreams to standardize documentation. - Updated scripts and prompts to reflect the new project-knowledge directory structure. - Removed outdated onboarding and start-here documents, consolidating relevant information into the new maps. - Ensured all references in workflows and scripts point to the new project-knowledge paths.
This commit is contained in:
25
project-knowledge/02-work-items/README.md
Normal file
25
project-knowledge/02-work-items/README.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Work Items
|
||||
|
||||
## Goal
|
||||
|
||||
Keep active Jira-linked work in one canonical place so standups, manager updates, and memory syncs can reference each ticket precisely.
|
||||
|
||||
---
|
||||
|
||||
## Structure
|
||||
|
||||
- `index.md`
|
||||
Active index and quick status view.
|
||||
|
||||
- `<jira-id>.md`
|
||||
Canonical file for a specific ticket.
|
||||
|
||||
---
|
||||
|
||||
## Update Rules
|
||||
|
||||
- Use one file per active or recently relevant Jira item.
|
||||
- Keep titles exact when approved or explicitly confirmed.
|
||||
- If the title is not confirmed, store the Jira ID and current framing without inventing a final title.
|
||||
- Update the ticket file when scope, sequencing, points, status, rollout implications, or reproducibility meaningfully change.
|
||||
- Keep `project-knowledge/01-current/work-items.md` as a short bridge summary, not the primary source of detailed ticket context.
|
||||
39
project-knowledge/02-work-items/index.md
Normal file
39
project-knowledge/02-work-items/index.md
Normal file
@@ -0,0 +1,39 @@
|
||||
---
|
||||
type: work-item-index
|
||||
project: fidelity
|
||||
updated: 2026-04-16
|
||||
tags:
|
||||
- work-item
|
||||
- map
|
||||
---
|
||||
# Work Item Index
|
||||
|
||||
## Goal
|
||||
|
||||
Provide a quick view of active and recently relevant Jira-linked work while keeping the full detail in one file per ticket.
|
||||
|
||||
---
|
||||
|
||||
## Active
|
||||
|
||||
- [pdiap-14859.md](./pdiap-14859.md)
|
||||
`PDIAP-14859` `Spike - Research strategy to remove final UIKit wrapping from XFlowSDK and XFlowViewMaker without disrupting consumer implementation` spike wrap-up work around dual UIKit/SwiftUI support, dynamic `UIHostingController` removal, consumer rollout planning, and linking the final result documents.
|
||||
|
||||
- [pdiap-15838.md](./pdiap-15838.md)
|
||||
`PDIAP-15838` next story to work on; approved scope removes Apollo and GraphQL-specific iOS transport code while leaving REST.
|
||||
|
||||
- [pdiap-15836.md](./pdiap-15836.md)
|
||||
`PDIAP-15836` approved follow-up story for dismissal delegate lifecycle sequencing in pure SwiftUI; comes after `PDIAP-15838`.
|
||||
|
||||
## Active / Reopened
|
||||
|
||||
- [pdiap-15765.md](./pdiap-15765.md)
|
||||
`PDIAP-15765` authenticated-only DOB issue in `HybridYouthAccountOpening` / `TeenIdentityCheck`; reopened around the iOS-only handling gap while the separate cross-platform `HybridBrokerageAccountOpening` / `JointIdentityCheck` scenario stays out of scope.
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
- Read this file first for active ticket context.
|
||||
- Open the specific ticket file when you need exact scope, sequencing, or communication wording.
|
||||
- Update the per-ticket file first when ticket context changes materially.
|
||||
67
project-knowledge/02-work-items/pdiap-14859.md
Normal file
67
project-knowledge/02-work-items/pdiap-14859.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
type: work-item
|
||||
project: fidelity
|
||||
status: active
|
||||
ticket: PDIAP-14859
|
||||
title: "Spike - Research strategy to remove final UIKit wrapping from XFlowSDK and XFlowViewMaker without disrupting consumer implementation"
|
||||
systems: [xflowsdk, xflowviewmaker, fid4, ftframeworks]
|
||||
workstreams: [xflow-swiftui-migration, consumer-integration]
|
||||
people: [jeff-dewitte, quy-mai]
|
||||
related: [pdiap-15836]
|
||||
updated: 2026-04-16
|
||||
tags:
|
||||
- work-item
|
||||
- fidelity
|
||||
- xflow
|
||||
- swiftui
|
||||
---
|
||||
# PDIAP-14859 - Spike - Research strategy to remove final UIKit wrapping from XFlowSDK and XFlowViewMaker without disrupting consumer implementation
|
||||
|
||||
## Status
|
||||
|
||||
- Active
|
||||
- Rollout draft prepared and sent to Jeff for review on April 13, 2026
|
||||
- Rollout document approved for publication; publish and close out the spike next
|
||||
|
||||
---
|
||||
|
||||
## Current Framing
|
||||
|
||||
- Approved title: `Spike - Research strategy to remove final UIKit wrapping from XFlowSDK and XFlowViewMaker without disrupting consumer implementation`.
|
||||
- This work is currently framed in the workspace as a dual UIKit/SwiftUI plan that removes `UIHostingController` dynamically while preserving both flows appropriately.
|
||||
- The remaining deliverable is process-oriented, not just technical implementation.
|
||||
|
||||
---
|
||||
|
||||
## Current Scope
|
||||
|
||||
- Define a consumer-facing rollout plan for the broader UIKit-removal work.
|
||||
- Preserve both UIKit and SwiftUI paths appropriately while introducing the new path safely.
|
||||
- Cover risky entry points such as `FTTransfer`, while keeping the latest spike finding explicit that consumer-side changes there may no longer be strictly required after the SwiftUI dismissal behavior is applied correctly.
|
||||
- Include validation expectations in `XQ1`.
|
||||
- Use a global feature-flag rollout model rather than entry-point-based enablement.
|
||||
- Include consumer communication expectations.
|
||||
- Include a 30-day production period with no reported bugs before final removal.
|
||||
- Include a follow-up release to remove the feature flag and old code after rollout confidence is achieved.
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- The feature-flag and rollout planning guidance applies to the broader UIKit-removal spike, not only to dismissal-sequencing work.
|
||||
- Jeff suggested sending the process-oriented rollout document to Quy for feedback when ready.
|
||||
- The draft shared with Jeff already reflects the global feature flag, broad `XQ1` validation, and consumer-facing rollout flow guidance.
|
||||
- Additional review feedback from April 13: rename the proposed flag to `xflow-swiftui-enabled`, make consumer contact and `XQ1` validation explicit in the first phase, remove overly technical rollout wording, and avoid implying there are no consumer-side changes without qualification.
|
||||
- On April 14, Jeff asked whether the FTTransfer part of the rollout document also needed updating; David confirmed the document had already been revised to clarify that root-cause section.
|
||||
- April 15 clarification: do not reuse the existing SwiftUI LaunchDarkly flag for this rollout.
|
||||
- The new flag name for this work should be `xflow-swiftui-container-enabled`.
|
||||
- The document should note that the flag is `to be added in the future as part of implementation`.
|
||||
- Late April 14 guidance: the document was approved late in the day; the next step is to publish it, then close out the spike by commenting `Spike Results:` with the relevant document links and the new follow-up story link.
|
||||
- The new follow-up story should also be marked as a blocker for the reopened UIKit-removal story.
|
||||
|
||||
---
|
||||
|
||||
## Related Work
|
||||
|
||||
- Related consumer rollout thinking should stay aligned with `PDIAP-15836`.
|
||||
- `PDIAP-15838` should not be framed as part of this UIKit-removal spike.
|
||||
80
project-knowledge/02-work-items/pdiap-15765.md
Normal file
80
project-knowledge/02-work-items/pdiap-15765.md
Normal file
@@ -0,0 +1,80 @@
|
||||
---
|
||||
type: work-item
|
||||
project: fidelity
|
||||
status: active
|
||||
ticket: PDIAP-15765
|
||||
title: "AO DOB field error not showing investigation"
|
||||
systems: [xflowsdk, xflowviewmaker, ftframeworks, fid4, cogstore]
|
||||
workstreams: [ao-discourse, xflow-debugging, consumer-integration]
|
||||
people: [jeff-dewitte, gurram-santosh, raj-sundararaj]
|
||||
related: [pdiap-15838]
|
||||
updated: 2026-04-17
|
||||
tags:
|
||||
- work-item
|
||||
- fidelity
|
||||
- ao
|
||||
- xflow
|
||||
---
|
||||
# PDIAP-15765 - AO DOB field error not showing investigation
|
||||
|
||||
## Status
|
||||
|
||||
- Active closeout
|
||||
- Small XFlowSDK compatibility fix merged and released in XFlow `2.8.48`
|
||||
- XFlowViewMaker was updated to the new XFlow version, approved, and published after the required code-owner approval
|
||||
- The downstream Fid4 update is in progress through an open consumer PR
|
||||
|
||||
---
|
||||
|
||||
## 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.
|
||||
- Later on April 16, the PR received final approval, was merged, and the XFlow release was cut as version `2.8.48`.
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
- The XFlowViewMaker approval and publish step are now complete.
|
||||
- Resolve the Fid4 dependency conflict through the podspec repo by removing the XFlowViewMaker version reference from both the latest `FTAccountOpen` and `FTTransfer` podspecs.
|
||||
- The podspec-repo PR was sent to Tauf and approved.
|
||||
- After that merge, `pod install --repo-update` in Fid4 worked because the published podspecs no longer restricted the XFlowViewMaker version.
|
||||
- A Fid4 PR with the latest versions is now open; continue with the consumer PR/review path now that dependency resolution is unblocked.
|
||||
- After the Fid4 PR merges, treat the app release as the final downstream step before broader user visibility.
|
||||
- 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.
|
||||
55
project-knowledge/02-work-items/pdiap-15836.md
Normal file
55
project-knowledge/02-work-items/pdiap-15836.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
type: work-item
|
||||
project: fidelity
|
||||
status: active
|
||||
ticket: PDIAP-15836
|
||||
title: "Modernize dismissal delegate lifecycle sequencing for pure SwiftUI environment"
|
||||
systems: [xflowsdk, xflowviewmaker, ftframeworks]
|
||||
workstreams: [xflow-swiftui-migration, consumer-integration]
|
||||
people: [jeff-dewitte]
|
||||
related: [pdiap-14859]
|
||||
updated: 2026-04-16
|
||||
tags:
|
||||
- work-item
|
||||
- fidelity
|
||||
- xflow
|
||||
- swiftui
|
||||
---
|
||||
# PDIAP-15836 - Modernize dismissal delegate lifecycle sequencing for pure SwiftUI environment
|
||||
|
||||
## Status
|
||||
|
||||
- Approved
|
||||
- Sequenced after `PDIAP-15838`
|
||||
- Sized at `8` points
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
- This story came out of the `AccountLink` root cause investigation.
|
||||
- It is tied to the dismissal sequencing problem found after UIKit removal in SwiftUI-only paths.
|
||||
- The root cause document was updated and the revised wording was approved.
|
||||
|
||||
---
|
||||
|
||||
## Approved Scope
|
||||
|
||||
- Modernize dismissal delegate lifecycle sequencing for pure SwiftUI flows.
|
||||
- Cover the missing lifecycle contract where delegate callbacks can happen before the view is fully removed.
|
||||
- Validate the change across affected SwiftUI flows rather than only in one narrow reproduction.
|
||||
|
||||
---
|
||||
|
||||
## Sequencing And Dependencies
|
||||
|
||||
- This story should come after `PDIAP-15838`.
|
||||
- It is aligned with epic `26Q2 - Updating XFlowSDK to Decouple and Fix ApexKit Dependencies (Split Part 2)`.
|
||||
- If possible, it should use the same consumer-impact feature flag strategy as the broader UIKit-removal rollout.
|
||||
|
||||
---
|
||||
|
||||
## Communication Notes
|
||||
|
||||
- Keep the scope framed as lifecycle sequencing in a pure SwiftUI environment, not only as a symptom like multiple modal presentation.
|
||||
- If mentioned externally, keep it separate from `PDIAP-15838`.
|
||||
54
project-knowledge/02-work-items/pdiap-15838.md
Normal file
54
project-knowledge/02-work-items/pdiap-15838.md
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
type: work-item
|
||||
project: fidelity
|
||||
status: active
|
||||
ticket: PDIAP-15838
|
||||
title: "Remove Apollo for iOS"
|
||||
systems: [xflowsdk]
|
||||
workstreams: [rest-migration]
|
||||
people: [jeff-dewitte]
|
||||
related: []
|
||||
updated: 2026-04-16
|
||||
tags:
|
||||
- work-item
|
||||
- fidelity
|
||||
- rest
|
||||
- graphql
|
||||
---
|
||||
# PDIAP-15838 - Remove Apollo for iOS
|
||||
|
||||
## Status
|
||||
|
||||
- Approved
|
||||
- Next story to work on
|
||||
- Sized at `8` points
|
||||
|
||||
---
|
||||
|
||||
## Context
|
||||
|
||||
- This ticket covers the REST migration cleanup on iOS.
|
||||
- The approved title is `Remove Apollo for iOS`.
|
||||
|
||||
---
|
||||
|
||||
## Approved Scope
|
||||
|
||||
- Remove Apollo from iOS.
|
||||
- Remove GraphQL-specific networking code.
|
||||
- Remove related tests and mocks.
|
||||
- Remove transport feature flags so REST remains.
|
||||
|
||||
---
|
||||
|
||||
## Current Guidance
|
||||
|
||||
- Do not frame this ticket as directly tied to the UIKit-removal spike.
|
||||
- Do not imply it is dependent on or part of dismissal-sequencing work.
|
||||
- Keep the migration framing explicit: REST remains behind a feature flag until otherwise confirmed, and GraphQL fallback context still matters when describing the overall migration.
|
||||
|
||||
---
|
||||
|
||||
## Sequencing
|
||||
|
||||
- This is the next story to work on before `PDIAP-15836`.
|
||||
Reference in New Issue
Block a user