Migrating Scenarios from v1 to v2
In v2, the important timeline decisions — retirement, Social Security claiming, and end of plan — moved from per-person settings into events you manage in the Setup Panel’s Events tab. If you have scenario files created before v2, they still load and run, but a short migration step brings them fully up to date.
What changed in v2
Section titled “What changed in v2”- Retirement year, Social Security claiming age, and life expectancy are no longer per-person fields in the configuration. They are now
Retire,SocialSecurity, andEndOfPlanevents in the Events tab. - Social Security benefit amounts are looked up automatically from each person’s benefit-by-age table when you enter a claiming age. The old stored benefit amount on an event is no longer used.
Why migrate?
Section titled “Why migrate?”An un-migrated v1 file still renders, but the v2 engine reads events as the source of truth:
- Social Security income only comes from a
SocialSecurityevent. Without one, the projection silently shows no Social Security income. - The end-of-plan boundary (how long the projection runs) comes from the
EndOfPlanevent.
The Setup Panel shows a banner on the scenario page while migration is needed: “This scenario uses the older v1 format.”
Before you start: back up your scenarios
Section titled “Before you start: back up your scenarios”Your scenario files contain your personal financial data and are not tracked by Git, so make a copy before running the migration.
- Open File Explorer (Windows) or your file manager (Linux/macOS).
- Go to your Net Worth Navigator project folder.
- Copy the entire
scenariosfolder to a safe location, such as your Documents folder or a USB drive.
Run the migration
Section titled “Run the migration”The migration is a script that updates every scenario file in the scenarios folder.
- Open PowerShell (press Start, type
PowerShell, and press Enter). - Change to your project folder:
Terminal window cd $env:USERPROFILE\Projects\Net-Worth-Navigator - First, preview what will change (nothing is written yet):
Terminal window .venv\Scripts\python.exe scripts\migrate_v2.py --dry-run - Review the list of actions shown. Each line describes an event that will be created from an old per-person field.
- Run the migration for real:
Terminal window .venv\Scripts\python.exe scripts\migrate_v2.py
- Open a terminal.
- Change to your project folder:
Terminal window cd ~/Projects/Net-Worth-Navigator - First, preview what will change (nothing is written yet):
Terminal window .venv/bin/python scripts/migrate_v2.py --dry-run - Review the list of actions shown. Each line describes an event that will be created from an old per-person field.
- Run the migration for real:
Terminal window .venv/bin/python scripts/migrate_v2.py
Optional: remove old comments from your own files
Section titled “Optional: remove old comments from your own files”If you want your own scenario files cleaned up (comments removed, neatly spaced), add the --strip-comments flag. Only use this for your own files — the bundled sample scenarios keep their explanatory comments:
.venv\Scripts\python.exe scripts\migrate_v2.py --strip-comments.venv/bin/python scripts/migrate_v2.py --strip-commentsWhat the script does
Section titled “What the script does”- Creates
Retire,SocialSecurity, andEndOfPlanevents from the oldretirement_year,ss_start_age, andlife_expectancyfields, calculating each event’s year from the person’s birth date and the entered age. - Sorts events and normalizes spacing between sections.
- Is safe to run more than once — after migration, a second run makes no changes.
Verify the migration
Section titled “Verify the migration”- Open the Scenario Setup page and switch to the scenario you migrated.
- The migration banner at the top should be gone.
- Open the Events tab — you should see
Retire,SocialSecurity, andEndOfPlancards for each person. - Click Save + Re-render to rebuild the projection with the new events.