Rename module to activeblue_familylaw_v2 (coexist with legacy prod module)

Production already has a DIFFERENT, earlier module installed as `activeblue_familylaw`
(models fl.*, real data). Renamed this build's technical name to
`activeblue_familylaw_v2` so it installs ALONGSIDE the legacy app instead of replacing
it. Models (familylaw.*) and test tags (familylaw_step<N>) are unchanged — only the
module name and its group XML IDs change.

Changes:
- Folder activeblue_familylaw -> activeblue_familylaw_v2 (git mv)
- All 44 dotted refs activeblue_familylaw. -> activeblue_familylaw_v2.
  (security group XML IDs in views/python; test patch targets odoo.addons.*)
- Manifest display name -> "Active Blue Family Law v2"; root menu -> "Family Law (v2)"
- scripts/validate_module.py ROOT path; BUILD_STATUS.md run commands + coexistence
  note; START_HERE.md pointer

Verified in live Odoo 18:
- Fresh install + full suite: 200 tests, 0 failed, 0 errors.
- COEXISTENCE on a clone of prod db1: installing _v2 alongside the installed legacy
  activeblue_familylaw left the legacy untouched (still installed 18.0.1.0.0, fl.*
  models registered, fl_caselaw 25 rows intact) while adding the 30 familylaw.* models.
  Exit 0, no errors. Clone dropped; prod DBs untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
tocmo0nlord
2026-06-02 11:23:34 +00:00
parent 7839f04591
commit 935394620b
66 changed files with 73 additions and 52 deletions

View File

@@ -1,9 +1,17 @@
# Build Status — Active Blue Family Law (`activeblue_familylaw`)
# Build Status — Active Blue Family Law (`activeblue_familylaw_v2`)
**All 14 roadmap steps are implemented, validated, and committed.**
Module version `18.0.14.0.0`. Built on Odoo 18 Community.
> **Tests run green in a live Odoo 18:** `0 failed, 0 error(s) of 198 tests`
> ⚠️ **Technical name is `activeblue_familylaw_v2`** (folder
> `activeblue_familylaw_handoff/activeblue_familylaw_build/activeblue_familylaw_v2`).
> It was renamed from `activeblue_familylaw` because production already has a
> **different, earlier** module installed under that name (models `fl.*`, real data) —
> see "Production coexistence" below. The `_v2` module uses `familylaw.*` models and
> its own security groups, so it installs **alongside** the legacy app without
> collision. Models/tags are unchanged (`familylaw.case`, `familylaw_step<N>`).
> ✅ **Tests run green in a live Odoo 18:** `0 failed, 0 error(s) of 200 tests`
> (installed clean into a throwaway DB on the local `odoo:18.0` image against
> Postgres 16, then dropped — production DBs untouched). Also validated statically
> via `scripts/validate_module.py` (Python compile, XML well-formed, no Odoo-18
@@ -15,16 +23,23 @@ Module version `18.0.14.0.0`. Built on Odoo 18 Community.
## Run the tests
```bash
# whole module (install + all tests)
odoo -d <db> -i activeblue_familylaw --test-enable --stop-after-init
odoo -d <db> -i activeblue_familylaw_v2 --test-enable --stop-after-init
# one step
odoo -d <db> -u activeblue_familylaw --test-enable --test-tags familylaw_step7 --stop-after-init
odoo -d <db> -u activeblue_familylaw_v2 --test-enable --test-tags familylaw_step7 --stop-after-init
# all family-law tests
odoo -d <db> -u activeblue_familylaw --test-enable --test-tags familylaw --stop-after-init
odoo -d <db> -u activeblue_familylaw_v2 --test-enable --test-tags familylaw --stop-after-init
```
Re-run static checks any time: `python3 scripts/validate_module.py`
## Production coexistence
Prod `db1` has a **separate legacy** `activeblue_familylaw` installed (different
lineage: `fl.*` models incl. `fl.caselaw`, `fl.statute`, `fl.support.schedule.entry`,
with real rows). This module is `activeblue_familylaw_v2` with `familylaw.*` models and
distinct group XML IDs, so it **coexists** — installing it will NOT touch or remove the
legacy app or its data. Verified by cloning `db1` and installing `_v2` into the clone.
## Steps
| Step | Slice | Tag |
|---|---|---|