GenDash Folder Migration#

1. Preparation & Freeze#

  • 1.1 Create the new project folder at /Users/marc/Xcode/GenDash.
  • 1.2 Confirm the destination folder is empty before copying the project.
  • 1.3 Close Xcode and any other application that may be watching or editing the project.
  • 1.4 Confirm there are no unsaved changes in source files, localization worksheets, or documentation.
  • 1.5 Record the current Git branch and working-tree status.
  • 1.6 Resolve or document the current Git file-watcher warning before relying on the status check.

2. Copy the Project#

2.1 Complete Copy#

  • 2.1.1 Make a complete filesystem copy of the project into /Users/marc/Xcode/GenDash.
  • 2.1.2 Preserve the .git directory, hidden files, package directories, symlinks, file permissions, and localization bundles.
  • 2.1.3 Preserve the Xcode project, workspace, app source, widget source, resources, entitlements, property lists, documentation, scripts, and localization files.
  • 2.1.4 Keep the original project folder unchanged as a rollback copy.

2.2 Copy Verification#

  • 2.2.1 Confirm the copied repository contains GenDash.xcodeproj and its workspace.
  • 2.2.2 Confirm the copied repository contains both the GenDash app target and GenDashWidget extension target.
  • 2.2.3 Confirm the copied repository contains the GenDash Localizations, Images, Appliances, Generators, Manuals, and scratch folders.
  • 2.2.4 Confirm the copied repository contains AGENTS.md, .agents, MISSION.md, .gitignore, and the string catalogs.
  • 2.2.5 Confirm the copied .git directory identifies the same repository, branch, and remote configuration.
  • 2.2.6 Confirm the original project remains unchanged after the copy.

3. Xcode Relocation Validation#

3.1 Project References#

  • 3.1.1 Open the copied GenDash.xcodeproj from /Users/marc/Xcode/GenDash.
  • 3.1.2 Confirm the project navigator contains no red or missing file references.
  • 3.1.3 Confirm the workspace opens normally and uses the copied project.
  • 3.1.4 Confirm the shared GenDash and GenDashWidget schemes are available.
  • 3.1.5 Confirm the Xcode project, workspace, and schemes contain no stale absolute references to the old folder.

3.2 Build, Signing & Runtime#

  • 3.2.1 Confirm the main app target retains its original bundle identifier, signing team, entitlements, and property list settings.
  • 3.2.2 Confirm the widget target retains its original bundle identifier, signing team, entitlements, and property list settings.
  • 3.2.3 Build the main GenDash target from the new location.
  • 3.2.4 Build the GenDashWidget target from the new location.
  • 3.2.5 Run the app and confirm the widget and Live Activity integration still function.
  • 3.2.6 Confirm moving the source folder has not changed device or simulator app data, Keychain behavior, or CloudKit configuration.
  • 3.2.7 Do not export or import localizations as part of the folder move.

4. Project-Internal Absolute Path Audit#

4.1 Path Audit#

  • 4.1.1 Search the copied project for references to the old project location.
  • 4.1.2 Separate Xcode configuration references from scripts and historical recovery files.
  • 4.1.3 Confirm the Xcode project, workspace, schemes, entitlements, and property lists are path-independent.
  • 4.1.4 Confirm every approved operational script now locates the repository from its own location or the new project path.
  • 4.1.5 Test each retained project script from /Users/marc/Xcode/GenDash.
  • 4.1.6 Repeat the audit until no required project workflow depends on the old project location.

5. External Scripts, Aliases & Launchers Audit#

5.1 Inventory#

  • 5.1.1 Identify the definition and location of the pushgen command.
  • 5.1.2 Check shell aliases, shell functions, startup files, and PATH entries for references to the old Antigravity folder.
  • 5.1.3 Check symlinks, launch scripts, Automator actions, Shortcuts, LaunchAgents, scheduled jobs, and other local launchers that may invoke GenDash tools.
  • 5.1.4 Inventory repository scripts that use absolute paths or assume the old project location.
  • 5.1.5 Classify each script or launcher as active, required, optional, or historical.

5.2 Approved Changes & Validation#

  • 5.2.1 Update /Users/marc/Scripts/MacOS/lock_gendash.sh so its GenDash localization and string-catalog paths point to /Users/marc/Xcode/GenDash.
  • 5.2.2 Update /Users/marc/Xcode/GenDash/AGENTS.md so its localization workflow and locked-file paths point to the new project location.
  • 5.2.3 Update /Users/marc/Xcode/GenDash/.agents/skills/gendash-architecture/SKILL.md so its project file links point to the new project location.

6. Final Sign-Off#

6.1 Sign-Off#

  • 6.1.1 Verify the active file-locking aliases resolve to the updated script and no active external configuration still references the old project path.
  • 6.1.2 Record the changed files and the rollback method before marking the migration complete.
  • 6.1.3 Mark the migration complete only after the original folder is no longer needed as a rollback copy.
  • 6.1.4 Remove the original folder only as a separate, explicitly approved cleanup action.

7. MacBook Air Migration (Secondary Computer)#

7.1 Preflight#

  • 7.1.1 Confirm the MacBook Air’s current GenDash project location, Git branch, working-tree status, local-only commits, and remotes.
  • 7.1.2 Confirm the GenDash and Scripts migration commits are available on their remotes before pulling them to the MacBook Air.
  • 7.1.3 Confirm /Users/marc/Xcode/GenDash does not already contain a project and preserve the current Air folder as a rollback copy.

7.2 Repository Relocation#

  • 7.2.1 Choose the relocation method: move the complete existing checkout when local-only state exists; use a fresh clone when the checkout is clean and fully synchronized.
  • 7.2.2 Create the new folder and relocate or clone GenDash into /Users/marc/Xcode/GenDash, preserving .git when moving the existing checkout.
  • 7.2.3 Pull the latest GenDash changes in the new location.
  • 7.2.4 Verify the branch, history, remotes, tracked files, and working-tree status.

7.3 Xcode and Script Validation#

  • 7.3.1 Open the GenDash project or workspace from the new location and confirm both schemes and references are available.
  • 7.3.2 Build the main app and widget once from the new location.
  • 7.3.3 Pull or clone the /Users/marc/Scripts repository on the MacBook Air and confirm genl, genu, gens, and genx use the updated locking script.
  • 7.3.4 Confirm pushgen remains unchanged because it serves the separate Obsidian/Hugo workflow.
  • 7.3.5 Confirm no active workflow on the MacBook Air still depends on the old project path.

7.4 Sign-Off#

  • 7.4.1 Keep the original MacBook Air folder until the new setup has passed validation.
  • 7.4.2 Remove the original MacBook Air folder only as a separate, explicitly approved cleanup action.