diff --git a/docs/superpowers/plans/2026-05-31-fusion-clock-statutory-break.md b/docs/superpowers/plans/2026-05-31-fusion-clock-statutory-break.md index df98de48..90f3ec9e 100644 --- a/docs/superpowers/plans/2026-05-31-fusion-clock-statutory-break.md +++ b/docs/superpowers/plans/2026-05-31-fusion-clock-statutory-break.md @@ -377,10 +377,10 @@ access_fusion_clock_break_rule_manager,fusion.clock.break.rule.manager,model_fus - [ ] **Step 8: Wire the manifest** — in `fusion_clock/__manifest__.py`: - Change the version: -```python - 'version': '19.0.4.1.0', -``` + **Do NOT bump the version yet** — it stays `19.0.4.0.3` until Task 4, so the + `19.0.4.1.0` migration actually fires in dev (Odoo only runs a version's migration + when the installed version is *lower* than the manifest version). + Add the seed data file after `'data/ir_config_parameter_data.xml',`: ```python 'data/clock_break_rule_data.xml', @@ -389,6 +389,9 @@ access_fusion_clock_break_rule_manager,fusion.clock.break.rule.manager,model_fus ```python 'views/clock_break_rule_views.xml', ``` + (Data and view files reload on every `-u` regardless of the version number, so the + new model/menu install without a bump. No assets change in this plan, so the bump's + only purpose is the migration trigger — deferred to Task 4.) - [ ] **Step 9: Sync, upgrade, run tests** @@ -751,7 +754,14 @@ git -C "K:/Github/Odoo-Modules" push ``` -- [ ] **Step 5: Create the migration** — `fusion_clock/migrations/19.0.4.1.0/post-migrate.py`: +- [ ] **Step 5: Bump the version + create the migration** + + First bump the manifest so the migration fires (installed `19.0.4.0.3` < manifest + `19.0.4.1.0`). In `fusion_clock/__manifest__.py`: +```python + 'version': '19.0.4.1.0', +``` + Then create `fusion_clock/migrations/19.0.4.1.0/post-migrate.py`: ```python # -*- coding: utf-8 -*- @@ -780,7 +790,7 @@ def migrate(cr, version): - [ ] **Step 6: Sync, upgrade, run tests** - Sync, then run the module tests. Expected: module upgrades cleanly (migration runs — note nexa/entech run `log_level=warn`, but modsdev shows INFO), `test_dead_settings_removed` PASS, full `fusion_clock` suite green. + Sync, then run the module tests. Expected: module upgrades cleanly and the `19.0.4.1.0` migration executes (installed `19.0.4.0.3` < manifest `19.0.4.1.0`; modsdev shows the INFO line, nexa/entech run `log_level=warn`), `test_dead_settings_removed` PASS, full `fusion_clock` suite green. - [ ] **Step 7: Verify the param is gone and historical rows recomputed** (sanity) @@ -796,7 +806,7 @@ PY - [ ] **Step 8: Commit** ```bash -git -C "K:/Github/Odoo-Modules" add fusion_clock/models/res_config_settings.py fusion_clock/views/res_config_settings_views.xml fusion_clock/data/ir_config_parameter_data.xml fusion_clock/migrations/19.0.4.1.0/post-migrate.py fusion_clock/tests/test_settings.py +git -C "K:/Github/Odoo-Modules" add fusion_clock/models/res_config_settings.py fusion_clock/views/res_config_settings_views.xml fusion_clock/data/ir_config_parameter_data.xml fusion_clock/migrations/19.0.4.1.0/post-migrate.py fusion_clock/tests/test_settings.py fusion_clock/__manifest__.py git -C "K:/Github/Odoo-Modules" commit -m "refactor(fusion_clock): retire break_threshold_hours; breaks now driven by Break Rules" -m "Co-Authored-By: Claude Opus 4.8 (1M context) " git -C "K:/Github/Odoo-Modules" push ```