Log migration details to MIGRATION_LOG.md only. Use after completing a file migration to record details, issues, and solutions...
Log detailed migration history to MIGRATION_LOG.md.
Log to MIGRATION_LOG.md ONLY - This skill:
Clear separation:
update-migration-log → Logs migration details to MIGRATION_LOG.mdupdate-task-board → Updates TASK_BOARD.md based on logsUse this skill after:
Do NOT use for:
Use this template for all migration entries:
### YYYY-MM-DD - [Original File] → [New Location]
**Status:** ✅ Completed / 🚧 In Progress / ⚠️ Issues
**Time Spent:** [e.g., 45 minutes]
**Complexity:** Low / Medium / High
**Source:** `[path/to/original/file.py]`
**Destination:** `[path/to/new/file.py]`
#### 📋 Migration Summary
- **Original Purpose:** [Brief description]
- **Target Architecture Layer:** [Problem/Algorithm/Data/Visualization]
- **Key Changes Made:** [2-3 sentence overview]
#### 🔧 Key Changes
- **Extracted hardcoded values:** [What was parameterized]
- **Decoupled from paper logic:** [How generalized]
- **Added/improved:** [Docstrings, type hints, etc.]
#### ⚠️ Issues & Solutions
**Issue 1:** [Description]
- **Solution:** [Fix implemented]
- **Impact:** [Effect on migration]
#### ✅ Verification
- [x] Code compilation
- [x] Import tests
- [ ] Runtime tests (if environment available)
#### 📝 Notes
- [Any important observations]
1. Header
# VRP Toolkit - Migration Log
**Last Updated:** YYYY-MM-DD
**Total Files Migrated:** X/9
2. Migration Progress Summary
## 📊 Migration Progress Summary
| Category | Completed | Total | Progress |
|----------|-----------|-------|----------|
| Core Files | X | 9 | XX% |
3. Migration History (newest first)
## 📜 Migration History
### YYYY-MM-DD - file.py → new/location.py
[Entry details...]
Gather information about the migration:
No further action needed - other skills will read this log.
Be concise but informative:
Example:
#### 📋 Migration Summary
- **Original Purpose:** Instance class for PDPTW with battery constraints
- **Target Architecture Layer:** Problem
- **Key Changes Made:** Extracted hardcoded depot location and vehicle capacity into parameters. Separated solution validation from instance definition. Added type hints and comprehensive docstrings.
List specific technical changes:
Example:
#### 🔧 Key Changes
- **Extracted hardcoded values:** Depot location (0,0), vehicle capacity (15), max battery (100)
- **Decoupled from paper logic:** Removed SISR-specific validation, generalized time window checks
- **Added/improved:** Full docstrings for all public methods, type hints for function signatures
Document problems encountered:
For each issue:
Example:
#### ⚠️ Issues & Solutions
**Issue 1:** Circular import between Instance and Solution classes
- **Solution:** Moved Solution to separate module, used TYPE_CHECKING for type hints
- **Impact:** Required restructuring module organization
**Issue 2:** Hardcoded file paths in data loading
- **Solution:** Added config parameter for data directory path
- **Impact:** Minor - added one parameter to constructor
Checklist items:
Mark items complete only when verified.
Read by:
update-task-board - Uses entries to update TASK_BOARD.mdbuild-session-context - Shows recent migrationsmanage-skills - Reads for project historyDoes NOT interact with:
### 2026-01-01 - instance.py → vrp_toolkit/problems/pdptw.py
**Status:** ✅ Completed
**Time Spent:** 2 hours
**Complexity:** High
**Source:** `SDR_stochastic/new version/instance.py`
**Destination:** `vrp-toolkit/vrp_toolkit/problems/pdptw.py`
#### 📋 Migration Summary
- **Original Purpose:** PDPTW instance class with battery constraints for SDR paper
- **Target Architecture Layer:** Problem
- **Key Changes Made:** Extracted all hardcoded values (depot, capacity, battery) into parameters. Separated instance definition from solving logic. Added comprehensive type hints and docstrings following Google style.
#### 🔧 Key Changes
- **Extracted hardcoded values:** Depot (0,0), vehicle capacity 15, max battery 100, charging rate 2.0
- **Decoupled from paper logic:** Removed SISR-specific validation, separated battery simulation from instance
- **Added/improved:** Complete docstrings, type hints, parameter validation in constructor
#### ⚠️ Issues & Solutions
**Issue 1:** Circular dependency with Solution class
- **Solution:** Moved Solution to separate module, used forward references
- **Impact:** Created cleaner module structure
**Issue 2:** Time window validation assumed specific format
- **Solution:** Generalized validation to accept any numeric time windows
- **Impact:** None - more flexible API
#### ✅ Verification
- [x] Code compilation
- [x] Import tests
- [x] Runtime tests with sample data
- [x] Tutorial compatibility verified
#### 📝 Notes
- Battery constraint logic may need future generalization for other problems
- Consider adding battery capacity as instance parameter vs vehicle parameter
Keep MIGRATION_LOG.md:
Update frequency:
.claude/MIGRATION_LOG.md.claude/CLAUDE.md, .claude/TASK_BOARD.md