CODITECT Submodule Migration Plan
CODITECT Submodule Migration Plan
Date: 2025-11-16 Purpose: Migrate newly created git repositories to proper git submodules in coditect-rollout-master Status: Ready for execution
Executive Summary
Analysis of the CODITECT rollout-master repository revealed 4 git repositories that need to be properly configured as submodules:
Repositories requiring migration:
coditect-license-manager- In submodules/ but NOT a submodulecoditect-license-server- In submodules/ but NOT a submodulecoditect-installer- Nested in coditect-project-dot-claude, needs top-level submoduleaz1.ai-CODITECT-ERP-CRM(currently ERP-ODOO-FORK) - Outside rollout-master, needs to be moved in
Migration Types:
- Type A (license-manager, license-server): Remove and re-add as submodules
- Type B (installer): Move from nested location to top-level submodule
- Type C (ERP-CRM): Create new repo, push content, add as submodule
Current State Analysis
Git Repository Structure
Rollout-Master Root:
coditect-rollout-master/
├── .git/ # Master repository
├── .coditect -> submodules/coditect-project-dot-claude # Symlink
├── .gitmodules # Submodule configuration (19 modules)
├── submodules/ # Submodules directory
│ ├── [19 properly configured submodules]
│ ├── coditect-license-manager/ # ❌ NOT a submodule (regular repo)
│ └── coditect-license-server/ # ❌ NOT a submodule (regular repo)
└── docs/, scripts/, etc.
Current .gitmodules Configuration
19 existing submodules:
- coditect-cloud-backend
- coditect-cloud-frontend
- coditect-cli
- coditect-docs
- coditect-agent-marketplace
- coditect-analytics
- coditect-infrastructure
- coditect-legal
- coditect-framework
- coditect-automation
- coditect-project-dot-claude
- az1.ai-coditect-ai-screenshot-automator
- az1.ai-coditect-agent-new-standard-development
- coditect-interactive-workflow-analyzer
- coditect-blog-application
- NESTED-LEARNING-GOOGLE
- az1.ai-CODITECT.AI-GTM
- Coditect-v5-multiple-LLM-IDE
- coditect-activity-data-model-ui
Missing from .gitmodules: 20. coditect-license-manager ❌ 21. coditect-license-server ❌ 22. coditect-installer ❌ 23. az1.ai-CODITECT-ERP-CRM ❌
Git Status Output
Changes not staged for commit:
modified: submodules/az1.ai-coditect-agent-new-standard-development (untracked content)
modified: submodules/coditect-project-dot-claude (new commits, modified content)
Untracked files:
submodules/coditect-license-manager/ # ❌ Regular directory
submodules/coditect-license-server/ # ❌ Regular directory
GitHub Remote URLs
License Manager:
- Repository: https://github.com/coditect-ai/coditect-license-manager.git
- Visibility: PRIVATE
- Status: Committed and pushed (initial commit: 7826522)
License Server:
- Repository: https://github.com/coditect-ai/coditect-license-server.git
- Visibility: PRIVATE
- Status: Committed and pushed (initial commit: b1e441a)
Migration Strategy
Approach
We will use the Remove and Re-Add strategy:
- Backup - Ensure all changes are committed to remote
- Remove - Delete local directories (safe because they're on GitHub)
- Add as Submodules - Use
git submodule addto properly configure - Initialize - Run
git submodule initandgit submodule update - Commit - Commit the submodule configuration changes
Why This Approach?
- ✅ Clean - Ensures proper .git metadata structure
- ✅ Safe - All code is already on GitHub
- ✅ Standard - Follows git best practices
- ✅ Reversible - Can be undone if needed
Migration Steps (Detailed)
Phase 1: Pre-Migration Verification
1.1 Verify Remote Repositories
# Check that both repos are properly pushed
cd submodules/coditect-license-manager
git remote -v
git status
git log --oneline | head -1
cd ../coditect-license-server
git remote -v
git status
git log --oneline | head -1
cd ../..
Expected Result:
- Both repos show
originpointing to github.com/coditect-ai - Both repos show "nothing to commit, working tree clean"
- Both repos have initial commit
1.2 Document Current State
# Save current directory listings
ls -la submodules/coditect-license-manager/ > /tmp/license-manager-backup.txt
ls -la submodules/coditect-license-server/ > /tmp/license-server-backup.txt
# Save current .gitmodules
cp .gitmodules .gitmodules.backup
Phase 2: Remove Regular Repositories
2.1 Remove License Manager
# From rollout-master root
rm -rf submodules/coditect-license-manager
2.2 Remove License Server
rm -rf submodules/coditect-license-server
2.3 Verify Removal
git status
# Should show deletion of both directories
Phase 3: Add as Proper Submodules
3.1 Add License Manager Submodule
git submodule add https://github.com/coditect-ai/coditect-license-manager.git submodules/coditect-license-manager
3.2 Add License Server Submodule
git submodule add https://github.com/coditect-ai/coditect-license-server.git submodules/coditect-license-server
3.3 Initialize and Update Submodules
git submodule init
git submodule update
3.4 Verify Submodule Configuration
# Check .gitmodules
cat .gitmodules | tail -10
# Check git status
git status
# Verify submodule directories exist
ls -la submodules/coditect-license-manager/
ls -la submodules/coditect-license-server/
Phase 4: Commit Migration
4.1 Review Changes
git status
git diff .gitmodules
Expected Changes:
.gitmodules- 2 new entries added- Both submodule directories now tracked as submodules (not regular dirs)
4.2 Commit Submodule Migration
git add .gitmodules
git add submodules/coditect-license-manager
git add submodules/coditect-license-server
git commit -m "Add license-manager and license-server as proper submodules
- Migrated coditect-license-manager from regular repo to submodule
- Migrated coditect-license-server from regular repo to submodule
- Both repositories already exist on GitHub (PRIVATE)
- coditect-license-manager: Client-side license validation
- coditect-license-server: FastAPI license validation server
Total submodules: 21 (was 19)
Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>"
4.3 Push to Remote
git push origin main
Phase 5: Post-Migration Verification
5.1 Verify Submodule Status
git submodule status
Expected Output:
[commit-hash] submodules/coditect-license-manager (heads/master)
[commit-hash] submodules/coditect-license-server (heads/master)
...all other submodules...
5.2 Test Submodule Update
git submodule update --remote submodules/coditect-license-manager
git submodule update --remote submodules/coditect-license-server
5.3 Verify File Contents
# Check that all files are present
ls -la submodules/coditect-license-manager/
ls -la submodules/coditect-license-server/
# Verify README exists
cat submodules/coditect-license-manager/README.md | head -20
cat submodules/coditect-license-server/README.md | head -20
Rollback Plan (If Needed)
If migration fails or causes issues:
Rollback Steps:
# 1. Remove submodule entries from .gitmodules
git restore .gitmodules
# 2. Remove submodule directories
git rm --cached submodules/coditect-license-manager
git rm --cached submodules/coditect-license-server
rm -rf submodules/coditect-license-manager
rm -rf submodules/coditect-license-server
# 3. Clone repositories back as regular dirs
cd submodules
git clone https://github.com/coditect-ai/coditect-license-manager.git
git clone https://github.com/coditect-ai/coditect-license-server.git
cd ..
# 4. Verify rollback
git status
Post-Migration Actions
Update Documentation
Files to update:
- README.md - Add license-manager and license-server to submodule list
- CLAUDE.md - Update submodule count (19 → 21)
- tasklist.md - Mark migration task as complete
- CHECKPOINTS/ - Create checkpoint for migration
Update Submodule Initialization Scripts
scripts/init-submodules.sh (if exists):
# Add to initialization script
git submodule update --init --recursive
Notify Team
- Update team about new submodules
- Document purpose of license-manager and license-server
- Share access instructions (both repos are PRIVATE)
Verification Checklist
After migration, verify:
-
.gitmodulescontains 21 entries (was 19) -
git submodule statusshows both new submodules - Both submodule directories contain all files
-
git statusshows clean working tree - Changes are committed to main
- Changes are pushed to GitHub
- Fresh clone works:
git clone --recurse-submodules - Submodule update works:
git submodule update --remote - README.md updated with new submodules
- Checkpoint created for migration
Timeline
Total Estimated Time: 15-20 minutes
| Phase | Duration | Risk |
|---|---|---|
| Pre-Migration Verification | 3 min | Low |
| Remove Regular Repositories | 2 min | Low (backed up on GitHub) |
| Add as Proper Submodules | 5 min | Low |
| Commit Migration | 3 min | Low |
| Post-Migration Verification | 5 min | Low |
| Documentation Updates | 5 min | Low |
Risk Assessment
Overall Risk: LOW ✅
Risks Identified
-
Data Loss
- Probability: Very Low
- Impact: High
- Mitigation: All code is committed and pushed to GitHub
- Status: MITIGATED ✅
-
Submodule Configuration Error
- Probability: Low
- Impact: Medium
- Mitigation: Detailed step-by-step instructions; rollback plan available
- Status: MITIGATED ✅
-
Breaking Other Submodules
- Probability: Very Low
- Impact: Medium
- Mitigation: Only modifying .gitmodules and adding new entries
- Status: MITIGATED ✅
-
CI/CD Pipeline Break
- Probability: Low
- Impact: Low (no CI/CD configured yet)
- Mitigation: Test in local environment first
- Status: MITIGATED ✅
Success Criteria
Migration is considered successful when:
- ✅ Both repositories appear in
.gitmodules - ✅
git submodule statusshows both repositories - ✅ Both directories exist and contain all files
- ✅
git statusshows clean working tree - ✅ Fresh clone with
--recurse-submodulesworks - ✅ Submodule updates work correctly
- ✅ All documentation is updated
- ✅ Team is notified
References
Git Submodule Commands
# Add submodule
git submodule add <repository-url> <path>
# Initialize submodules
git submodule init
# Update submodules
git submodule update
# Update from remote
git submodule update --remote
# Clone with submodules
git clone --recurse-submodules <repository-url>
# Status of submodules
git submodule status
# Remove submodule (if needed)
git rm <path>
rm -rf .git/modules/<path>
Related Documentation
- Git Submodules Official Docs
- CODITECT Master Orchestration Plan:
docs/CODITECT-MASTER-ORCHESTRATION-PLAN.md - CODITECT Rollout Master Plan:
docs/CODITECT-ROLLOUT-MASTER-PLAN.md
Appendix A: Repository Details
coditect-license-manager
Purpose: Client-side license validation and hardware fingerprinting for CODITECT pilot control
Key Features:
- LicenseManager class with full validation logic
- Hardware fingerprinting (SHA-256)
- Online/offline validation (72-hour grace period)
- Feature gating
- Opt-in telemetry
- @require_license decorator
Technology Stack: Pure Python (stdlib only) Files: 10 files, 1,075 lines Initial Commit: 7826522
coditect-license-server
Purpose: Server-side license validation, activation tracking, and usage analytics
Key Features:
- FastAPI application
- License validation API
- Activation/deactivation endpoints
- Telemetry collection
- Admin API
- Health monitoring
Technology Stack: FastAPI, PostgreSQL, Redis Files: 8 files, 1,174 lines Initial Commit: b1e441a
Appendix B: Complete .gitmodules Structure (After Migration)
# Core Platform (P0)
[submodule "submodules/coditect-framework"]
[submodule "submodules/coditect-cloud-backend"]
[submodule "submodules/coditect-cloud-frontend"]
[submodule "submodules/coditect-cli"]
[submodule "submodules/coditect-docs"]
[submodule "submodules/coditect-infrastructure"]
[submodule "submodules/coditect-legal"]
# Pilot Control (NEW - P0)
[submodule "submodules/coditect-license-manager"] # ← NEW
[submodule "submodules/coditect-license-server"] # ← NEW
# Extended Platform (P1)
[submodule "submodules/coditect-agent-marketplace"]
[submodule "submodules/coditect-analytics"]
[submodule "submodules/coditect-automation"]
# Development Tools
[submodule "submodules/coditect-project-dot-claude"]
[submodule "submodules/az1.ai-coditect-ai-screenshot-automator"]
[submodule "submodules/az1.ai-coditect-agent-new-standard-development"]
[submodule "submodules/coditect-interactive-workflow-analyzer"]
# Applications & Demos
[submodule "submodules/coditect-blog-application"]
[submodule "submodules/coditect-activity-data-model-ui"]
# Research & Development
[submodule "submodules/NESTED-LEARNING-GOOGLE"]
[submodule "submodules/az1.ai-CODITECT.AI-GTM"]
[submodule "submodules/Coditect-v5-multiple-LLM-IDE"]
# Total: 21 submodules
END OF MIGRATION PLAN
Next Step: Execute Phase 1 (Pre-Migration Verification) Estimated Completion: 15-20 minutes Risk Level: LOW ✅ Approval Required: Yes (before Phase 2 - Removal)
CODITECT Submodule Migration Plan - UPDATED
Date: 2025-11-16 (Updated) Purpose: Migrate 4 git repositories to proper git submodules in coditect-rollout-master Status: Analysis complete - Ready for execution Total Submodules: 19 → 23 (adding 4 new)
Executive Summary
Comprehensive analysis revealed 4 git repositories requiring proper submodule configuration:
| # | Repository | Current Location | Target Location | Migration Type | Status |
|---|---|---|---|---|---|
| 1 | coditect-license-manager | submodules/ (regular dir) | submodules/ (submodule) | Type A | Ready |
| 2 | coditect-license-server | submodules/ (regular dir) | submodules/ (submodule) | Type A | Ready |
| 3 | coditect-installer | nested in dot-claude | submodules/ (submodule) | Type B | Ready |
| 4 | az1.ai-CODITECT-ERP-CRM | outside master | submodules/ (submodule) | Type C | Needs setup |
Migration Types Explained
Type A: Remove and Re-Add
Repositories: license-manager, license-server Current State: Regular git repos inside submodules/ directory Action: Remove local directories, add as proper submodules Risk: LOW (all code already pushed to GitHub)
###Type B: Move from Nested to Top-Level
Repository: coditect-installer
Current State: Nested git repo at submodules/coditect-project-dot-claude/scripts/installer/.git
Action: Add as top-level submodule, remove from nested location
Risk: LOW (will coordinate with parent submodule)
Type C: Create, Move, and Add
Repository: az1.ai-CODITECT-ERP-CRM
Current State: Located at /Users/halcasteel/PROJECTS/ERP-ODOO-FORK/ with incorrect remote
Action: Create new GitHub repo, update remote, add as submodule
Risk: MEDIUM (requires creating new repo and updating remote)
Repository Details
1. coditect-license-manager
Purpose: Client-side license validation and hardware fingerprinting
Current Status:
- Location:
submodules/coditect-license-manager/ - Type: Regular git repository (NOT a submodule)
- Remote: https://github.com/coditect-ai/coditect-license-manager.git (PRIVATE)
- Status: All files committed and pushed (commit: 7826522)
- Size: 10 files, 1,075 lines
Key Features:
- LicenseManager class with full validation
- Hardware fingerprinting (SHA-256)
- 72-hour offline grace period
- Feature gating
- @require_license decorator
Technology: Pure Python (stdlib only)
Migration Action: Type A - Remove and re-add as submodule
2. coditect-license-server
Purpose: Server-side license validation API
Current Status:
- Location:
submodules/coditect-license-server/ - Type: Regular git repository (NOT a submodule)
- Remote: https://github.com/coditect-ai/coditect-license-server.git (PRIVATE)
- Status: All files committed and pushed (commit: b1e441a)
- Size: 8 files, 1,174 lines
Key Features:
- FastAPI application
- License validation endpoints
- Activation tracking
- Telemetry collection
- Admin API
Technology: FastAPI, PostgreSQL, Redis
Migration Action: Type A - Remove and re-add as submodule
3. coditect-installer
Purpose: Cross-platform installer application for CODITECT framework
Current Status:
- Location:
submodules/coditect-project-dot-claude/scripts/installer/ - Type: Nested git repository (has own .git directory)
- Remote: https://github.com/coditect-ai/coditect-installer.git (PRIVATE)
- Status: Repository exists on GitHub
- Size: ~14 files (install.py, install_gui.py, launch.py, SDD, ADR, TDD, diagrams)
Key Features:
- Python CLI installer
- tkinter GUI installer
- Universal launcher (auto-detects GUI availability)
- Cross-platform support (Windows, macOS, Linux)
- Complete documentation (SDD, ADR, TDD, diagrams)
Technology: Python, tkinter
Migration Action: Type B - Add as top-level submodule (keep nested copy for now, coordinate later)
Special Consideration: This is currently nested inside the coditect-project-dot-claude submodule. We'll add it as a top-level submodule while keeping the nested version temporarily to avoid breaking the parent submodule.
4. az1.ai-CODITECT-ERP-CRM
Purpose: Enterprise Resource Planning and CRM system for CODITECT (Odoo fork)
Current Status:
- Location:
/Users/halcasteel/PROJECTS/ERP-ODOO-FORK/(OUTSIDE rollout-master) - Type: Regular git repository
- Current Remote: https://github.com/coditect-ai/coditect-projects.git (INCORRECT)
- Target Remote: https://github.com/coditect-ai/az1.ai-CODITECT-ERP-CRM.git (TO BE CREATED)
- Status: Has untracked files (ODOO/, docs/, README.md)
Key Features:
- Odoo ERP/CRM fork
- Custom CODITECT integrations
- Project inception documentation
Technology: Python, Odoo
Migration Action: Type C - Create new GitHub repo, update remote, commit files, add as submodule
Migration Steps for ERP-CRM:
- Create GitHub repository:
az1.ai-CODITECT-ERP-CRM(PRIVATE) - Commit untracked files in ERP-ODOO-FORK
- Update git remote to new repository
- Push to new repository
- Add as submodule to rollout-master
Pre-Migration Checklist
- Verify coditect-license-manager is pushed to GitHub
- Verify coditect-license-server is pushed to GitHub
- Verify coditect-installer exists on GitHub
- Create az1.ai-CODITECT-ERP-CRM GitHub repository
- Commit and push ERP-ODOO-FORK content to new repo
- Backup current .gitmodules file
- Document current submodule states
Migration Execution Plan
Phase 1: Pre-Migration Setup (ERP-CRM)
1.1 Create GitHub Repository
gh repo create coditect-ai/az1.ai-CODITECT-ERP-CRM --private
1.2 Prepare ERP-ODOO-FORK
cd /Users/halcasteel/PROJECTS/ERP-ODOO-FORK
# Add untracked files
git add ODOO/ docs/ README.md Open-Source-CRM-ERP-Research.md PROJECT-INCEPTION.md
# Commit
git commit -m "Initial commit: CODITECT ERP-CRM (Odoo fork)
Complete ERP and CRM system for CODITECT platform.
- Odoo core integration
- CODITECT-specific customizations
- Project inception documentation
- Research documentation
Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>"
# Update remote
git remote remove origin
git remote add origin https://github.com/coditect-ai/az1.ai-CODITECT-ERP-CRM.git
# Push
git push -u origin main
Phase 2: Type A Migration (license-manager, license-server)
2.1 Remove Regular Repositories
cd /Users/halcasteel/PROJECTS/coditect-rollout-master
# Remove both directories
rm -rf submodules/coditect-license-manager
rm -rf submodules/coditect-license-server
2.2 Add as Proper Submodules
# Add license-manager
git submodule add https://github.com/coditect-ai/coditect-license-manager.git submodules/coditect-license-manager
# Add license-server
git submodule add https://github.com/coditect-ai/coditect-license-server.git submodules/coditect-license-server
Phase 3: Type B Migration (installer)
3.1 Add Installer as Top-Level Submodule
# Add installer as top-level submodule
git submodule add https://github.com/coditect-ai/coditect-installer.git submodules/coditect-installer
Note: The nested version at coditect-project-dot-claude/scripts/installer/ will remain temporarily. We'll coordinate removal with the coditect-project-dot-claude maintainers later to avoid breaking that submodule.
Phase 4: Type C Migration (ERP-CRM)
4.1 Add ERP-CRM as Submodule
# Add ERP-CRM
git submodule add https://github.com/coditect-ai/az1.ai-CODITECT-ERP-CRM.git submodules/az1.ai-CODITECT-ERP-CRM
Phase 5: Initialize and Verify
5.1 Initialize All New Submodules
git submodule init
git submodule update --init --recursive
5.2 Verify Submodule Configuration
# Check .gitmodules
cat .gitmodules | tail -20
# Check submodule status
git submodule status | grep -E "(license|installer|ERP)"
# Verify directories exist
ls -la submodules/ | grep -E "(license|installer|ERP)"
Phase 6: Commit Migration
6.1 Commit Submodule Changes
git add .gitmodules
git add submodules/coditect-license-manager
git add submodules/coditect-license-server
git add submodules/coditect-installer
git add submodules/az1.ai-CODITECT-ERP-CRM
git commit -m "Add 4 new submodules: licensing, installer, ERP-CRM
Migrated 4 repositories to proper git submodules:
1. coditect-license-manager (Type A migration)
- Client-side license validation
- Hardware fingerprinting
- 72-hour offline grace period
2. coditect-license-server (Type A migration)
- FastAPI license validation server
- Activation tracking
- Admin API
3. coditect-installer (Type B migration)
- Cross-platform installer (CLI + GUI)
- Universal launcher
- Complete documentation
4. az1.ai-CODITECT-ERP-CRM (Type C migration)
- Odoo ERP/CRM fork
- CODITECT integrations
- Project inception docs
Total submodules: 23 (was 19)
Migration types:
- Type A: Remove and re-add (license-manager, license-server)
- Type B: Move from nested (installer)
- Type C: Create new repo (ERP-CRM)
All repositories are PRIVATE.
Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>"
6.2 Push to Remote
git push origin main
Post-Migration Verification
Verification Checklist
- .gitmodules contains 23 entries (was 19)
- git submodule status shows all 4 new submodules
- All 4 submodule directories contain expected files
- git status shows clean working tree
- Changes committed to main branch
- Changes pushed to GitHub
- Fresh clone test:
git clone --recurse-submodules - Submodule update test:
git submodule update --remote
Verification Commands
# Count submodules
grep "^\[submodule" .gitmodules | wc -l
# Expected: 23
# List new submodules
git submodule status | grep -E "(license|installer|ERP)"
# Verify file contents
ls -la submodules/coditect-license-manager/
ls -la submodules/coditect-license-server/
ls -la submodules/coditect-installer/
ls -la submodules/az1.ai-CODITECT-ERP-CRM/
# Test fresh clone
cd /tmp
git clone --recurse-submodules https://github.com/coditect-ai/coditect-rollout-master.git test-clone
cd test-clone
git submodule status
Updated Submodule Structure (After Migration)
By Category
Core Platform (P0) - 7 submodules:
- coditect-framework
- coditect-cloud-backend
- coditect-cloud-frontend
- coditect-cli
- coditect-docs
- coditect-infrastructure
- coditect-legal
Pilot Control (P0) - 3 submodules: ⬅️ NEW CATEGORY 8. coditect-license-manager ⭐ NEW 9. coditect-license-server ⭐ NEW 10. coditect-installer ⭐ NEW
Extended Platform (P1) - 3 submodules: 11. coditect-agent-marketplace 12. coditect-analytics 13. coditect-automation
Enterprise Applications (P1) - 1 submodule: ⬅️ NEW CATEGORY 14. az1.ai-CODITECT-ERP-CRM ⭐ NEW
Development Tools - 5 submodules: 15. coditect-project-dot-claude 16. az1.ai-coditect-ai-screenshot-automator 17. az1.ai-coditect-agent-new-standard-development 18. coditect-interactive-workflow-analyzer 19. coditect-activity-data-model-ui
Applications & Demos - 1 submodule: 20. coditect-blog-application
Research & Development - 3 submodules: 21. NESTED-LEARNING-GOOGLE 22. az1.ai-CODITECT.AI-GTM 23. Coditect-v5-multiple-LLM-IDE
Total: 23 submodules (was 19)
Special Considerations
Installer Dual Location
The installer will temporarily exist in two locations:
- Top-level submodule:
submodules/coditect-installer/(primary) - Nested location:
submodules/coditect-project-dot-claude/scripts/installer/(legacy)
Coordination Required:
- Update coditect-project-dot-claude to reference top-level installer
- Remove nested version in future update
- Update installation scripts to use top-level location
ERP-CRM Repository Rename
Old name: ERP-ODOO-FORK New name: az1.ai-CODITECT-ERP-CRM
Rationale:
- Follows naming convention:
az1.ai-CODITECT-* - Clearly identifies as ERP and CRM system
- Professional naming for enterprise module
.coditect Symlink Chain
All submodules should have .coditect symlink pointing to the framework:
# In each submodule
.coditect -> ../../coditect-project-dot-claude/.coditect
Verify for new submodules:
# license-manager
cd submodules/coditect-license-manager
ln -s ../coditect-project-dot-claude/.coditect .coditect
# license-server
cd ../coditect-license-server
ln -s ../coditect-project-dot-claude/.coditect .coditect
# installer
cd ../coditect-installer
ln -s ../coditect-project-dot-claude/.coditect .coditect
# ERP-CRM
cd ../az1.ai-CODITECT-ERP-CRM
ln -s ../coditect-project-dot-claude/.coditect .coditect
Timeline
Total Estimated Time: 30-40 minutes
| Phase | Duration | Risk |
|---|---|---|
| Phase 1: ERP-CRM Setup | 10 min | MEDIUM |
| Phase 2: Type A Migration | 5 min | LOW |
| Phase 3: Type B Migration | 3 min | LOW |
| Phase 4: Type C Migration | 3 min | LOW |
| Phase 5: Initialize & Verify | 5 min | LOW |
| Phase 6: Commit Migration | 5 min | LOW |
| Post-Migration Verification | 10 min | LOW |
Risk Assessment
Overall Risk: LOW-MEDIUM ⚠️
Risk Matrix
| Repository | Migration Type | Risk Level | Mitigation |
|---|---|---|---|
| license-manager | Type A | LOW | Already on GitHub |
| license-server | Type A | LOW | Already on GitHub |
| installer | Type B | LOW | Keep nested copy |
| ERP-CRM | Type C | MEDIUM | Create repo first, backup local |
Risk Mitigation
Type C (ERP-CRM) Risks:
- Data Loss - Mitigated by keeping local copy until verified
- Wrong Remote - Mitigated by verifying push before removal
- Untracked Files - Mitigated by explicit add and commit
Type B (Installer) Risks:
- Breaking Parent Submodule - Mitigated by keeping nested version
- Symlink Issues - Mitigated by coordinated update plan
Rollback Plan
If Migration Fails
Rollback Type A/B (license-manager, license-server, installer):
# Remove from .gitmodules
git restore .gitmodules
# Remove submodule entries
git rm --cached submodules/coditect-license-manager
git rm --cached submodules/coditect-license-server
git rm --cached submodules/coditect-installer
# Remove directories
rm -rf submodules/coditect-license-manager
rm -rf submodules/coditect-license-server
rm -rf submodules/coditect-installer
# Clone back as regular repos
cd submodules
git clone https://github.com/coditect-ai/coditect-license-manager.git
git clone https://github.com/coditect-ai/coditect-license-server.git
cd ..
Rollback Type C (ERP-CRM):
# Remove submodule
git rm --cached submodules/az1.ai-CODITECT-ERP-CRM
rm -rf submodules/az1.ai-CODITECT-ERP-CRM
# Restore original ERP-ODOO-FORK remote (if needed)
cd /Users/halcasteel/PROJECTS/ERP-ODOO-FORK
git remote remove origin
git remote add origin https://github.com/coditect-ai/coditect-projects.git
Success Criteria
Migration successful when:
- ✅ All 4 repositories appear in .gitmodules
- ✅ Total submodule count is 23
- ✅
git submodule statusshows all 4 new repos - ✅ All directories exist with expected content
- ✅
git statusshows clean working tree - ✅ Fresh clone with
--recurse-submodulesworks - ✅ All 4 repos are accessible (PRIVATE repos)
- ✅ .coditect symlinks created in new submodules
- ✅ Documentation updated
- ✅ Team notified
Next Steps After Migration
Immediate (Day 1)
- Update README.md with new submodule list
- Update CLAUDE.md with submodule count (19 → 23)
- Create checkpoint for migration
- Notify team about new submodules
Short-term (Week 1)
- Add .coditect symlinks to all new submodules
- Update installation scripts to reference new locations
- Create project-plan.md in each new submodule
- Create tasklist.md in each new submodule
Medium-term (Month 1)
- Coordinate removal of nested installer from dot-claude
- Update coditect-project-dot-claude to reference top-level installer
- Test end-to-end pilot deployment with licensing
- Integrate ERP-CRM with CODITECT platform
END OF UPDATED MIGRATION PLAN
Status: Analysis Complete - Ready for Execution Total Repositories to Migrate: 4 New Submodule Count: 23 (from 19) Overall Risk: LOW-MEDIUM ⚠️ Estimated Time: 30-40 minutes Next Step: Execute Phase 1 (ERP-CRM Setup)