Objective
Delete the old approval-detection code that can still decide a merge, so Owner approval at release (#2446) is the only approval path. This is split out of #2446 so the deletion can proceed while #2446 waits on Justin's three runs (cbusillo/odoo-tenant-cm-website#91).
the old approval code still decides a merge
This proves the CM website live through Launchplane milestone's end condition cannot fire.
Scope
change_impact_* modules and their callers; merge_admission_live.py still imports change_impact.
manager_preview_approval*.
product_owner_service.py.
Finish Line
- No merge-admission path imports or calls the modules above; they are deleted along with their tests.
- Merge admission and release approval tests pass on main.
Current Status
State: Complete. PR #2530 landed through Launchplane at de7f3abb2b8a63ddb465e59e239f86b4ba8db3c1; normal deployment and task closeout are verified.
Next action: None for #2525. The CM release run remains held in #2446 / odoo-tenant-cm-website#91; remaining legacy-role and waiver deletion stays in #2006.
Blocked by: None.
Waiting for: None for this issue.
Last verified: 2026-09-27 19:47 UTC. Exact landing-SHA CI, Security, CodeQL and Deploy Launchplane passed. Deployed smoke verified health, matching immutable image, database compatibility at d8f66a78c02a, and native API coverage. Candidate 1f47f7b4c217b896457ce7fc5785dc6019b56415 passed before protected landing; its ref was deleted and the controller returned idle. Local main is clean at the landing SHA. Retired approval evaluators, service modules and command routes are removed; generic evidence reads, signed maintenance transport and historical record payloads/digests are preserved.
Closeout: The task worktree, merged local branch and 72 task-owned temporary files are removed. The remote task branch was already absent. All 175 retained evidence/configuration files were copied to an owner-only local archive and verified before removal; evidence remains owned by cbusillo for acceptance/diagnosis and the #2006 follow-up, with disposal on owner disposition when no longer needed. Other worktrees, refs, stashes and shared caches were preserved. This task's helper processes are finished and its IDE project is closed. Source verification and explicit PyCharm RED/baseline/intentional-duplicate dispositions remain in PR #2530 under the owner's #2463 changed-lines policy. Background Review: not yet observable for source head a8aa8b0013ad9596b3e0f628192e3fe2ff20daf6 at this observation; a post-turn review may still start. No external comments required attention on the final radar read.
Final IDE cleanup: the obsolete task-specific PyCharm interpreter reference was removed through the IDE UI. Other interpreter entries were preserved, and the active project retained its original interpreter.
Relationships
Parent: #2446.
Objective
Delete the old approval-detection code that can still decide a merge, so Owner approval at release (#2446) is the only approval path. This is split out of #2446 so the deletion can proceed while #2446 waits on Justin's three runs (cbusillo/odoo-tenant-cm-website#91).
This proves the
CM website live through Launchplanemilestone's end condition cannot fire.Scope
change_impact_*modules and their callers;merge_admission_live.pystill importschange_impact.manager_preview_approval*.product_owner_service.py.Finish Line
Current Status
State: Complete. PR #2530 landed through Launchplane at
de7f3abb2b8a63ddb465e59e239f86b4ba8db3c1; normal deployment and task closeout are verified.Next action: None for #2525. The CM release run remains held in #2446 / odoo-tenant-cm-website#91; remaining legacy-role and waiver deletion stays in #2006.
Blocked by: None.
Waiting for: None for this issue.
Last verified: 2026-09-27 19:47 UTC. Exact landing-SHA CI, Security, CodeQL and Deploy Launchplane passed. Deployed smoke verified health, matching immutable image, database compatibility at
d8f66a78c02a, and native API coverage. Candidate1f47f7b4c217b896457ce7fc5785dc6019b56415passed before protected landing; its ref was deleted and the controller returned idle. Local main is clean at the landing SHA. Retired approval evaluators, service modules and command routes are removed; generic evidence reads, signed maintenance transport and historical record payloads/digests are preserved.Closeout: The task worktree, merged local branch and 72 task-owned temporary files are removed. The remote task branch was already absent. All 175 retained evidence/configuration files were copied to an owner-only local archive and verified before removal; evidence remains owned by cbusillo for acceptance/diagnosis and the #2006 follow-up, with disposal on owner disposition when no longer needed. Other worktrees, refs, stashes and shared caches were preserved. This task's helper processes are finished and its IDE project is closed. Source verification and explicit PyCharm RED/baseline/intentional-duplicate dispositions remain in PR #2530 under the owner's #2463 changed-lines policy. Background Review: not yet observable for source head
a8aa8b0013ad9596b3e0f628192e3fe2ff20daf6at this observation; a post-turn review may still start. No external comments required attention on the final radar read.Final IDE cleanup: the obsolete task-specific PyCharm interpreter reference was removed through the IDE UI. Other interpreter entries were preserved, and the active project retained its original interpreter.
Relationships
Parent: #2446.