Skip to content

Conversation

@transphorm
Copy link
Member

@transphorm transphorm commented Aug 14, 2025

Summary

  • drop NFC references from migration checklist, prompts, and architecture docs
  • remove sample app and demo sections to avoid unused fluff
  • align migration rules with trimmed checklist

Testing

  • yarn lint
  • yarn build
  • yarn workspace @selfxyz/contracts build (fails: Invalid account: #0 for network)
  • yarn types
  • yarn workspace @selfxyz/mobile-sdk-alpha test

https://chatgpt.com/codex/tasks/task_b_689e5f799e6c832dbd5e56faa408d981

Summary by CodeRabbit

  • Documentation
    • Streamlined SDK docs to focus on MRZ (and QR); removed NFC-related content.
    • Updated architecture and migration checklists/prompts to exclude NFC modules/exports.
    • Reworked processing helpers to MRZ-only and clarified target locations.
    • Simplified Android flow to MRZ → proof generation.
    • Removed sections on NFC scanning adapters/lifecycle, demos, and partner feedback.
    • Renumbered and repositioned SDK integration guidance with a migration strategy block.
  • Bug Fixes
    • No changes to public API or behavior.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 14, 2025

Warning

Rate limit exceeded

@transphorm has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 13 minutes and 50 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between b42f77d and 9233065.

📒 Files selected for processing (3)
  • .cursor/rules/mobile-sdk-migration.mdc (2 hunks)
  • packages/mobile-sdk-alpha/docs/MIGRATION_CHECKLIST.md (2 hunks)
  • packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md (5 hunks)

Walkthrough

NFC-related content is removed or deprecated across migration and architecture docs. MRZ remains, with directories and checklists updated to reference src/mrz and src/qr only. MRZ processing is relocated under packages/mobile-sdk-alpha/src/processing. Sections on NFC scanning/adapters, demos, and partner feedback are deleted. SDK integration section is renumbered.

Changes

Cohort / File(s) Summary of Changes
Migration rules doc updates
./.cursor/rules/mobile-sdk-migration.mdc
Renames “Processing Helpers (MRZ & NFC)” to MRZ-only; relocates MRZ processing to packages/mobile-sdk-alpha/src/processing; removes NFC tests and entire NFC Scanning Adapters & Lifecycle, Sample Applications, and Demo sections; renumbers SDK Integration to section 9 with same guidance.
Architecture docs (NFC removal)
packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md, packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md
Removes NFC from modular feature scaffolding; feature list and module creation now include mrz/ and qr/ only; Android demo flow updated from MRZ → NFC → proof to MRZ → proof. No public API changes.
Migration docs (MRZ-first plan)
packages/mobile-sdk-alpha/docs/MIGRATION_CHECKLIST.md, packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md
Converts MRZ+NFC plan to MRZ-only: drops src/nfc/, NFC parsing, lifecycle/scanning adapters, samples, and partner feedback sections; updates exports and utilities to exclude NFC; integration step now replaces MRZ modules only. No public API changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

Pages trimmed, the compass turns to MRZ alone,
NFC drifts off like a dial tone.
Checklists lean light, paths clear and neat,
QR stands by, the plan complete.
Docs march on, renumbered and clean—
A focused tune in the build machine.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch codex/review-and-update-migration-checklist

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🔭 Outside diff range comments (1)
packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md (1)

80-89: Remove Android demo sections from packages/mobile-sdk-alpha docs

The PR aims to remove demos/samples; a search of packages/mobile-sdk-alpha/docs still shows Android demo references — please remove them.

Files to update

  • packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md — contains the "## 7. Android demo app" details section.
  • packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md — contains "### 7. Android demo app" and the checklist item to ship a minimal RN Android project.
  • NFC mentions: none found in packages/mobile-sdk-alpha/docs.

Apply these deletions:

--- a/packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md
@@
-## 7. Android demo app
-
-<details>
-<summary><strong>Provide minimal Android sample</strong></summary>
-
-1. Under `samples/android/`, scaffold a basic React Native project showing MRZ → proof generation.
-2. Document setup steps in `samples/android/README.md`.
-
-</details>
--- a/packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md
@@
-### 7. Android demo app
-
-- [ ] Ship a minimal React Native Android project
🧹 Nitpick comments (2)
packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md (1)

25-25: Align feature directory guidance with migration prompts (include processing/ and validation/).

MIGRATION_PROMPTS introduces processing/ and validation/ alongside mrz/ and qr/. Mirror that here to avoid drift.

-1. Under `src/`, create folders like `mrz/` and `qr/` as features are added.
+1. Under `src/`, create folders like `processing/`, `validation/`, `mrz/`, and `qr/` as features are added.
packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md (1)

10-10: Add an explicit NFC deprecation note to the mobile-sdk-alpha migration prompts

Short rationale: migrating readers will look for NFC tasks — call out that NFC (chip-reading) is not part of this SDK to avoid confusion (the app/workspace still contains NFC code).

Files to change

  • packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md — add the note under "Before you start" next to the capability grouping bullet (current line: "Group new capabilities...").

Suggested inline diff

 - Group new capabilities in their own directories (e.g., `processing/`, `validation/`, `mrz/`, `qr/`) and re-export them from `src/index.ts` using explicit named exports.
+ - Note: NFC (passport chip-reading) is not part of this SDK — MRZ and QR are the SDK focus. NFC support remains in the app/native workspaces; update app integration if needed.

Quick verification notes (action requested)

  • MIGRATION_PROMPTS.md references .cursor/rules/mobile-sdk-migration.mdc for full context. I could not find a matching .mdc file in the repo search — please confirm that file is available to reviewers or update the reference.
  • The repo does contain NFC implementations in the app workspace (native Android/iOS modules). Make the SDK vs app distinction explicit in the doc so readers aren’t led to expect NFC in the SDK.
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 0cf1bc8 and b42f77d.

📒 Files selected for processing (5)
  • .cursor/rules/mobile-sdk-migration.mdc (2 hunks)
  • packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md (2 hunks)
  • packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md (2 hunks)
  • packages/mobile-sdk-alpha/docs/MIGRATION_CHECKLIST.md (2 hunks)
  • packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md (4 hunks)
🧰 Additional context used
🪛 LanguageTool
packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md

[grammar] ~51-~51: There might be a mistake here.
Context: ...p a minimal React Native Android project - [ ] Demonstrate MRZ → proof generation f...

(QB_NEW_EN)


[grammar] ~52-~52: There might be a mistake here.
Context: ... Demonstrate MRZ → proof generation flow - [ ] Provide build and run instructions ...

(QB_NEW_EN)

packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md

[grammar] ~39-~39: There might be a mistake here.
Context: ...ndex.tsto re-export MRZ helpers. 2. ✅ Create modular structure withsrc/mrz/and...

(QB_NEW_EN)


[grammar] ~39-~39: There might be a mistake here.
Context: ...e with src/mrz/ and src/qr/ modules. 3. ✅ Implement proper error handling using ...

(QB_NEW_EN)

🔇 Additional comments (7)
packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md (2)

13-16: Good cleanup: NFC removed from modular scaffolding.

Limiting to mrz/ and qr/ aligns with the updated scope and keeps the architecture lean.


47-48: MRZ-only replacement wording is clear and actionable.

“Replace existing MRZ modules with SDK adapters” reads correctly and avoids implying NFC work.

packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md (2)

25-25: MRZ-only processing section reads well.

Clear, scoped, and consistent with the removal of NFC.


38-40: Re-exports and module structure are consistent.

MRZ/QR modules and explicit re-exports preserve tree-shaking and clarity.

packages/mobile-sdk-alpha/docs/MIGRATION_CHECKLIST.md (3)

5-5: Initial stubs correctly exclude NFC.

Good alignment on named exports and modular directories.


7-13: MRZ-first checklist looks solid.

Clear separation of concerns and no NFC dependencies.


56-61: Integration language is precise and matches the prompts.

This keeps the migration target crisp; no NFC leakage.

Comment on lines +50 to 56
### 1. Processing Helpers (MRZ)
**Current Location**: `app/src/utils/` (MRZ utilities)
**Target Location**: `packages/mobile-sdk-alpha/src/processing/`
**Testing Strategy**:
- Create MRZ parsing tests with sample passport data
- Create NFC response parser tests with mock NFC data
- Test cross-platform compatibility (React Native vs Web)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Clarify MRZ module scope and tighten target path; add concrete test vectors and PII redaction guidance

Given NFC removal and MRZ-first focus, it’s worth making the target path more specific and ensuring tests cover ICAO 9303 edge cases. This also reduces the chance of a grab-bag “processing/” directory accruing mixed concerns over time.

Apply this diff to make the target location explicit and strengthen testing guidance:

-### 1. Processing Helpers (MRZ)
-**Current Location**: `app/src/utils/` (MRZ utilities)
-**Target Location**: `packages/mobile-sdk-alpha/src/processing/`
-**Testing Strategy**:
-- Create MRZ parsing tests with sample passport data
-- Test cross-platform compatibility (React Native vs Web)
+### 1. Processing Helpers (MRZ)
+**Current Location**: `app/src/utils/` (MRZ utilities)
+**Target Location**: `packages/mobile-sdk-alpha/src/processing/mrz/`
+**Testing Strategy**:
+- Create MRZ parsing tests using ICAO 9303-compliant samples (TD1/TD2/TD3), including checksum validation
+- Include diacritics, multiple name parts, and whitespace irregularities
+- Verify PII redaction in test logs and snapshots (no raw MRZ strings in logs)
+- Test cross-platform compatibility (React Native vs Web)

Run this repo-audit script to ensure (1) all NFC references are removed as intended and (2) the target path in this doc matches the filesystem:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== NFC references audit (case-insensitive) =="
rg -n -i -C2 '\bNFC\b|near[-\s]?field|chip\s*reading' -g '!**/node_modules/**' -g '!**/dist/**' -g '!**/build/**' || true

echo -e "\n== Legacy title audit (if any old headings remain) =="
rg -n -i -C2 'Processing Helpers.*NFC' -g '!**/node_modules/**' -g '!**/dist/**' -g '!**/build/**' || true

echo -e "\n== Target path existence check =="
for p in \
  'packages/mobile-sdk-alpha/src/processing' \
  'packages/mobile-sdk-alpha/src/processing/mrz'
do
  if [ -d "$p" ]; then
    echo "FOUND: $p"
  else
    echo "MISSING: $p"
  fi
done

echo -e "\n== Re-export check for processing/mrz in SDK index.ts =="
fd -a index.ts packages/mobile-sdk-alpha/src | xargs -r rg -nP 'export\s+\*\s+from\s+["\']\./processing'

Length of output: 303002


Action: Tighten MRZ target path, add ICAO 9303 test vectors & PII-redaction — NFC references remain in repo

Short: The repo still contains NFC code/docs and MRZ is currently exported from packages/mobile-sdk-alpha/src (not packages/.../processing/mrz). Update the migration doc to match the filesystem or move/re-export the MRZ module; also add concrete ICAO test vectors and fix PII being logged.

Files/locations I verified that need attention

  • MRZ target / re-exports
    • packages/mobile-sdk-alpha/src/index.ts — exports MRZ from './mrz' (so MRZ lives at packages/mobile-sdk-alpha/src/mrz*, not processing/mrz).
    • packages/mobile-sdk-alpha/src/processing/ — contains nfc.ts (NFC processing lives under processing, MRZ does not).
  • NFC references (removal incomplete)
    • docs/nfc-implementation.md (full NFC guide still present)
    • docs/development-patterns.md / README.md / packages/mobile-sdk-alpha/README.md (NFC lifecycle notes)
    • packages/mobile-sdk-alpha/tests/config.test.ts (features.nfc flags)
    • packages/mobile-sdk-alpha/src/nfc/* and packages/mobile-sdk-alpha/src/processing/nfc.ts
    • app/src/adapters/web/shims.ts (NFC shim behavior)
  • PII / logging that must be redacted (examples found)
    • app/ios/PassportReader.swift — logs include "passportNumber" in NativeLoggerBridge.logInfo
    • app/src/screens/passport/PassportNFCScanScreen.tsx — console/error logs mentioning NFC scan results
    • app/src/utils/logger/nativeLoggerBridge.ts and app/src/utils/logger.ts — have 'NFC' logger categories
    • app/ios/SelfAnalytics.swift and android RN passport reader code — analytics/logging include NFC categories and error/data payloads
  • Android/iOS manifests & native modules still declare NFC permissions/capabilities
    • app/android/* AndroidManifest.xml, app/ios/* Info.plist / entitlements and react-native-passport-reader native module

Updated migration snippet (applies instead of the previous "processing/mrz" path)

### 1. Processing Helpers (MRZ)
**Current Location**: `app/src/utils/` (MRZ utilities)
-**Target Location**: `packages/mobile-sdk-alpha/src/processing/`
+**Target Location**: `packages/mobile-sdk-alpha/src/mrz/`  # (repo currently exports MRZ from `packages/mobile-sdk-alpha/src/mrz`)
**Testing Strategy**:
- Create MRZ parsing tests with sample passport data
- Test cross-platform compatibility (React Native vs Web)
+**Testing Strategy**:
+- Create MRZ parsing tests using ICAO 9303-compliant samples (TD1 / TD2 / TD3), including checksum validation
+- Include edge cases: diacritics, multiple name-parts, filler/whitespace irregularities, optional fields
+- Verify PII redaction in tests/logs/snapshots (no raw MRZ strings, passport numbers, DOB/ddmmyy etc. in logs or snapshots)
+- Test cross-platform compatibility (React Native vs Web) and ensure any NFC-specific code remains gated/disabled for web builds

Concrete next steps (minimal)

  • If you intend to keep MRZ under the SDK root: update the doc to point to packages/mobile-sdk-alpha/src/mrz and keep re-exports in index.ts/browser.ts as-is.
  • If you prefer processing/mrz: move the MRZ code to packages/mobile-sdk-alpha/src/processing/mrz and update packages/mobile-sdk-alpha/src/index.ts / browser.ts to re-export from './processing/mrz'.
  • Immediately audit and redact PII in native logging (PassportReader.swift, RNPassportReader.kt, NativeLoggerBridge, console logs). Replace raw MRZ/passportNumber with masked values and add test assertions to prevent regressions.
  • Decide whether NFC is being removed from product surface — if so, update docs and feature flags (tests/config.test.ts, README/docs) or explicitly mark them as legacy/deprecated in the migration doc.

Tag:

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### 1. Processing Helpers (MRZ)
**Current Location**: `app/src/utils/` (MRZ utilities)
**Target Location**: `packages/mobile-sdk-alpha/src/processing/`
**Testing Strategy**:
- Create MRZ parsing tests with sample passport data
- Create NFC response parser tests with mock NFC data
- Test cross-platform compatibility (React Native vs Web)
### 1. Processing Helpers (MRZ)
**Current Location**: `app/src/utils/` (MRZ utilities)
**Target Location**: `packages/mobile-sdk-alpha/src/mrz/` # (repo currently exports MRZ from `packages/mobile-sdk-alpha/src/mrz`)
**Testing Strategy**:
- Create MRZ parsing tests using ICAO 9303-compliant samples (TD1 / TD2 / TD3), including checksum validation
- Include edge cases: diacritics, multiple name-parts, filler/whitespace irregularities, optional fields
- Verify PII redaction in tests/logs/snapshots (no raw MRZ strings, passport numbers, DOB/ddmmyy etc. in logs or snapshots)
- Test cross-platform compatibility (React Native vs Web) and ensure any NFC-specific code remains gated/disabled for web builds
🤖 Prompt for AI Agents
In .cursor/rules/mobile-sdk-migration.mdc around lines 50 to 56: the MRZ target
path in the migration notes is incorrect (MRZ is exported from
packages/mobile-sdk-alpha/src/mrz, not
packages/mobile-sdk-alpha/src/processing/mrz), NFC artifacts/docs remain
referenced, and several places log raw PII; update the doc to either point to
packages/mobile-sdk-alpha/src/mrz or instruct moving the MRZ module to
packages/mobile-sdk-alpha/src/processing/mrz and adjusting
packages/mobile-sdk-alpha/src/index.ts and browser.ts re-exports accordingly,
remove or mark NFC docs/feature flags as deprecated (docs/*, README.md,
tests/config.test.ts, src/nfc/*, processing/nfc.ts, adapter shims, native
modules and manifests) and immediately audit native and JS logging
(app/ios/PassportReader.swift, RNPassportReader.kt, NativeLoggerBridge, native
and JS logger files, console logs, analytics) to redact/mask MRZ/passportNumber
values and add unit/tests asserting masked output to prevent regressions.

Comment on lines 116 to 122
### 9. SDK Integration into App
**Migration Strategy**:
- Replace existing modules with SDK imports
- Update import paths throughout app
- Validate all existing functionality works
- Ensure no regression in app behavior

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Make SDK integration steps actionable with codemods, deprecation shim, and rollback guidance

The bullets are directionally right but a bit abstract. Adding explicit steps reduces migration risk and regression window.

Apply this diff to strengthen the migration strategy:

 ### 9. SDK Integration into App
 **Migration Strategy**:
 - Replace existing modules with SDK imports
 - Update import paths throughout app
 - Validate all existing functionality works
 - Ensure no regression in app behavior
+ - Automate import updates with a codemod (document mapping of old paths → SDK exports)
+ - Provide a short-lived deprecation shim (re-export SDK from previous app modules) to minimize churn; emit warnings with removal timeline
+ - Add smoke/E2E checks for critical user journeys (document → MRZ → proof input → TEE)
+ - Define a rollback plan (feature flag/env var to toggle legacy vs SDK) and monitoring for error rates
🤖 Prompt for AI Agents
In .cursor/rules/mobile-sdk-migration.mdc around lines 116 to 122, the SDK
integration section is too high-level; update it to include concrete, actionable
migration steps by adding: a) codemod scripts to automatically replace old
module imports with new SDK imports and an example invocation; b) a deprecation
shim module that maps old APIs to the SDK with console warnings and a scheduled
removal plan; c) automated tests (unit + e2e) to validate behaviors
post-migration; d) a rollback plan describing how to revert imports and
re-enable the old module using feature flags or a tag-based release; and e) a
checklist for validation and staging rollout (canary -> full). Ensure the
document lists the codemod command, location/name of the shim, required test
suites, and specific rollback steps to make the migration prescriptive and
reproducible.

Comment on lines 49 to 54
### 7. Android demo app

- [ ] Ship a minimal React Native Android project
- [ ] Demonstrate MRZ → NFC → proof generation flow
- [ ] Demonstrate MRZ → proof generation flow
- [ ] Provide build and run instructions

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Drop the Android demo checklist to avoid unused content and confusion.

This section contradicts the PR’s goal to remove demos. Recommend removing it entirely. If you intend to keep it later, tweak the phrasing; otherwise, delete.

-### 7. Android demo app
-
-- [ ] Ship a minimal React Native Android project
-- [ ] Demonstrate MRZ → proof generation flow
-- [ ] Provide build and run instructions

To confirm no other demo references remain:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -n -C2 -iP '\bandroid demo\b|\bsamples/android\b' packages/mobile-sdk-alpha/docs

Length of output: 1456


Remove Android demo checklist + prompts (delete all Android sample references)

This PR removes demos, but the docs still reference an Android sample. Remove both the checklist entry and the prompt section to avoid orphaned instructions.

Files to update:

  • packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md (remove the Android demo checklist)
  • packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md (remove the "Android demo app" prompt and its
    block)

Suggested diffs:

--- packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md
@@
-### 7. Android demo app
-
-- [ ] Ship a minimal React Native Android project
-- [ ] Demonstrate MRZ → proof generation flow
-- [ ] Provide build and run instructions
--- packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md
@@
-## 7. Android demo app
-
-<details>
-<summary><strong>Provide minimal Android sample</strong></summary>
-
-1. Under `samples/android/`, scaffold a basic React Native project showing MRZ → proof generation.
-2. Document setup steps in `samples/android/README.md`.
-
-</details>

After applying, re-run the search to confirm no remaining references:
rg -n -iP 'samples/android|\bandroid demo\b' packages/mobile-sdk-alpha/docs

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
### 7. Android demo app
- [ ] Ship a minimal React Native Android project
- [ ] Demonstrate MRZ → NFC → proof generation flow
- [ ] Demonstrate MRZ → proof generation flow
- [ ] Provide build and run instructions
🧰 Tools
🪛 LanguageTool

[grammar] ~51-~51: There might be a mistake here.
Context: ...p a minimal React Native Android project - [ ] Demonstrate MRZ → proof generation f...

(QB_NEW_EN)


[grammar] ~52-~52: There might be a mistake here.
Context: ... Demonstrate MRZ → proof generation flow - [ ] Provide build and run instructions ...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md around lines 49-54,
remove the entire "7. Android demo app" checklist entry (the heading and its
three bullet items); in packages/mobile-sdk-alpha/docs/ARCHITECTURE_PROMPTS.md
find and delete the "Android demo app" prompt including its entire
<details>...</details> block and any associated subtext; after making these
deletions, run rg -n -iP 'samples/android|\bandroid demo\b'
packages/mobile-sdk-alpha/docs to verify there are no remaining references and
commit the changes.

Comment on lines 208 to 215
## 9. Integrate SDK into `/app`

<details>
<summary><strong>Integrate SDK in /app</strong></summary>

1. Add `@selfxyz/mobile-sdk-alpha` to `app/package.json`.
2. Replace existing MRZ/NFC scanning modules with SDK adapters.
2. Replace existing MRZ scanning modules with SDK adapters.
3. Wire app screens to SDK processing and validation helpers.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Integration step is aligned and scoped to MRZ.

The directive to replace MRZ scanning modules with SDK adapters is precise. Ensure numbering remains consistent with the checklist after removing demo content elsewhere.

Quick check for any lingering NFC references across the repo and outdated sample/demo mentions:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "NFC references (should be none in updated docs and src)…"
rg -n -C2 -i '\bnfc\b' packages/mobile-sdk-alpha | sed 's|^|NFC: |' || true

echo
echo "Sample/demo references (should be removed per PR objective)…"
rg -n -C2 -iP '\bsamples/android\b|android demo|demo app' packages/mobile-sdk-alpha/docs | sed 's|^|DEMO: |' || true

Length of output: 11281


Action required: remove or justify lingering NFC & demo/sample references

MRZ integration in MIGRATION_PROMPTS.md looks fine, but the repo still contains multiple NFC code/docs and demo/sample references that conflict with the PR objective. These must be removed or explicitly retained with justification and feature-gating.

Files needing attention (from quick grep):

  • packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md — MRZ step OK.
  • packages/mobile-sdk-alpha/README.md — NFC lifecycle and example usage present (e.g. lines ~9, ~47).
  • packages/mobile-sdk-alpha/src/index.ts and packages/mobile-sdk-alpha/src/browser.ts — re-export NFC APIs (scanNFC, parseNFCResponse).
  • packages/mobile-sdk-alpha/src/nfc/index.ts and packages/mobile-sdk-alpha/src/processing/nfc.ts — NFC module and parseNFCResponse implementation.
  • packages/mobile-sdk-alpha/src/adapters/web/shims.ts — web shim still references/throws for NFC.
  • packages/mobile-sdk-alpha/src/types/public.ts — ScanMode includes 'nfc' and related type unions.
  • packages/mobile-sdk-alpha/tests/*.ts (webShim.test.ts, config.test.ts, etc.) — tests assert NFC feature flags/behavior.
  • packages/mobile-sdk-alpha/docs/ARCHITECTURE_CHECKLIST.md and ARCHITECTURE_PROMPTS.md — Android demo/sample references (samples/android, demo app) that should be removed or moved to backlog.

Recommended fixes (pick one):

  • If NFC is out-of-scope for this PR: remove NFC exports, types, modules, docs, and update tests to MRZ-only; remove demo/sample doc fragments and renumber checklists.
  • If NFC is intentionally kept: mark it as intentionally in-scope in the PR, ensure it is feature-gated, and update docs/tests to reflect supported features (or document why NFC text remains).

Please address the files above and re-run the grep checks; ping me when updated and I’ll re-review.

🤖 Prompt for AI Agents
In packages/mobile-sdk-alpha/docs/MIGRATION_PROMPTS.md around lines 208–215
there are lingering references to NFC and demo/sample artifacts that conflict
with the MRZ-only migration objective; either remove all NFC-related
code/exports/types/docs/tests and sample references or explicitly declare NFC as
in-scope and feature-gate it: if NFC is out-of-scope, delete or revert NFC
exports from src/index.ts and browser.ts, remove src/nfc/* and
processing/nfc.ts, remove 'nfc' from ScanMode and related unions in
types/public.ts, update web shims to stop throwing/mentioning NFC, remove or
adapt tests asserting NFC behavior, and strip demo/sample mentions from
README.md and ARCHITECTURE_*.md; if NFC is kept, add a clear comment and
feature-flag checks around NFC APIs, update README/docs/tests to reflect feature
gating, and ensure demos are marked backlog or gated; after changes, update
MIGRATION_PROMPTS.md to reflect the final posture, run the repo grep for
NFC/sample occurrences, and report back for re-review.

@transphorm transphorm changed the title docs: remove nfc and demo tasks from migration docs: remove nfc and non migration tasks Aug 14, 2025
@transphorm transphorm merged commit fcf1ec5 into dev Aug 14, 2025
13 checks passed
@transphorm transphorm deleted the codex/review-and-update-migration-checklist branch August 14, 2025 23:41
@transphorm
Copy link
Member Author

@seshanthS removed non migration tasks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants