Validate the migration

After your AI agent completes prompt 10, a full validation sweep runs when the prompt recorder succeeds. Follow the steps below to perform additional validation, review migration artifacts, and clean up your project.
  • Migrate your iOS app to use the BlackBerry Dynamics SDK for iOS.
  • Confirm that prompt 10 (10-generate-migration-report.md) recorded completion and that the validation was successful. If the recorder exited with an error, validation failed and the executedPrompts entry for prompt 10 was not written. You can review violations in output/.last-check.json or the recorder stderr, then ask your agent to run the relevant migration prompts again.
  • For troubleshooting guidance, see Troubleshooting the migration.
  1. To run a manual validation check from the project root:
    ./dynamics-migration-tool/tooling/validate.sh

    Warnings are acceptable and flag items that may require review. If validate.sh or the recorder exits with code 3 and prints ESCALATION REQUIRED, stop rerunning the same broad gate. Inspect dynamics-migration-tool/output/migration-loop-state.json, repair the owner prompt or domain, then try again.

    To run validation for a specific prompt, add --check-prompt <id>, where <id> is the prompt identifier (for example, 03 or 09b).

  2. Generate the toolkit analysis report for feedback:
    bash ./dynamics-migration-tool/tooling/generate-tool-analysis-report.sh

    This command writes dynamics-migration-tool/output/tool-analysis-report.json with migration outcome and friction signals and fields that you can complete before sharing feedback internally.

  3. Audit the code changes that the AI agent made during the migration process. All code changes are tagged with an inline comment:
    rg "\[BB_DYNAMICS-MIGRATION\]" -g "*.swift" -g "*.m" -g "*.mm" -g "*.h" \
      -g "Info.plist" -g "Podfile" -g "Package.swift" -n
  4. Review the migration report (migration-report.json), the retrospective (migration-retrospective.md, if you ran the optional prompt 12), and visual HTML report (migration-report-viewer.html) that the agent generated in the output directory.

    To view the raw JSON:

    cat dynamics-migration-tool/output/migration-report.json | python3 -m json.tool

    To open the visual HTML report:

    open dynamics-migration-tool/migration-report-viewer.html

    The viewer auto-loads output/migration-report.json and expects schema v2.1.0. If it cannot find the file, use the file picker to select the JSON manually.

  5. When your validation activities are complete, remove the migration tool and agent steering files from your project:

    Copy any artifacts that you want to keep out of the toolkit directory first. Removing dynamics-migration-tool/ deletes output/ as well.

    mkdir -p ../migration-artifacts
    cp dynamics-migration-tool/output/migration-report.json ../migration-artifacts/
    cp -f dynamics-migration-tool/output/tool-analysis-report.json \
      ../migration-artifacts/ 2>/dev/null || true
    
    rm -rf dynamics-migration-tool/
    rm -rf .kiro/steering/ .cursor/rules/

    Migration changes in your app source code remain after you remove the migration tool.