Milestone: #83
Depends on: #90, #92
Context
TycoonProject has a version field but load_project() never checks or enforces it. Old projects may have version: "0.1.0" while the new schema is "0.2.0".
Goal
In load_project(), after parsing, if project.version < SCHEMA_VERSION, emit a console warning (do not fail):
Warning: tycoon.yml is at schema version 0.1.0, current is 0.2.0.
Run 'tycoon init --upgrade' to migrate.
Add --upgrade flag to tycoon init that calls migrate_project(root) and prints what changed.
Acceptance
- A
tycoon.yml with version: "0.1.0" triggers the warning on tycoon data sources list
tycoon init --upgrade in a project dir bumps version and adds missing sections without touching existing fields
pytest tests/test_project.py covers both paths
Milestone: #83
Depends on: #90, #92
Context
TycoonProjecthas aversionfield butload_project()never checks or enforces it. Old projects may haveversion: "0.1.0"while the new schema is"0.2.0".Goal
In
load_project(), after parsing, ifproject.version < SCHEMA_VERSION, emit a console warning (do not fail):Add
--upgradeflag totycoon initthat callsmigrate_project(root)and prints what changed.Acceptance
tycoon.ymlwithversion: "0.1.0"triggers the warning ontycoon data sources listtycoon init --upgradein a project dir bumps version and adds missing sections without touching existing fieldspytest tests/test_project.pycovers both paths