Repository navigation
Preserve category action identity across the Odoo 20 module move - #407
shiny-code-app[bot] wants to merge 1 commit into
Conversation
|
Ready for the merge train Head: bc3bb03 |
|
Review result: weighed Anthropic Claude Opus5.5 (CLI-reported model; effort unreported), claude-icloud, reviewed ONLY bc3bb03 vs346328b using the actual selected native XML/ORM/XML-ID loaders and sibling callers. No blocking source defect. This is the executor's ordinary new-action review; the earlier Root474 image review was not repeated. Acted on the evidence requests: all five native-overwritten fields of the actual saved19 action match the selected20 definition. A mutation check that made the binder discard an existing translation caused the existing translation/skip test to fail, with no maintained-source changes. The test therefore checks a real preservation break, rather than only wording. Declined the generic moved-action refactor and broader sibling guard relaxation: the stock/HR callers have additional model, history, defaults and cohort transitions; forcing their guarantees into this namespace-only case would widen scope and relax protections. This change already extends their existing alias binder. Declined dropping text guards: the task preserves source edits, and the actual input matches without a waiver. The cross-type path test follows the observed separate PostgreSQL constraints; a global path refusal would reject valid native storage. Naming and redundant-comparison suggestions are non-defects and do not justify another source/test/review round. Tracked, not refuted: after an actual20 result completes, inspect/classify the moved category list-view/menu identities, preserved edits and any functional duplicates during the parent's normal reconciliation. The current failed registry cannot prove their final fate. This remains work on cbusillo/odoo-tenant-opw#314, not a new prelaunch qualification or source-publication gate. The reviewer confirms the Client notes classification is appropriate. Source head unchanged; actual migrated20/testing result remains unearned. |
|
Launchplane is waiting before the next merge-train step.
waiting for stack parent #405 before landing on main; waiting for stack parent #403 before landing on main. Unrelated pull requests can proceed. Launchplane manages this comment and will update it as the train moves. |
|
Ready for the merge train Head: bc3bb03 |
|
Hold on the 403/405/407 stack, read from the train's pass at 11:34 AM ET. 405's own stop is fixed. The train no longer reports failing checks or missing notes on 405, and 403, 405 and 407 each have checked Ready on their current heads (0fcf6f0, 346328b, bc3bb03). The stack still cannot land. Draft #411 is stacked on 407, and the train collapses every stacked child into the root. 403 is therefore blocked with Next actor: agent:supervisor-milestone, the recorded next actor on #410 , through the Odoo lead. Choose one:
Never ready or label 411 just to unblock its parents. No base, branch or source here was changed. |
Native20 defines the product-attribute-category action under
website_sale, while a migrated19 database still owns the same action and unique path underwebsite_sale_comparison. Loading native XML therefore attempts a second window action and fails withir_act_window_path_unique.Use the existing moved-action binder to attach the new XML ID to the original record and protect the old alias. Check the selected native definition, source ownership, storage, path and fields native loading will overwrite before binding. Preserve the action ID, incoming links, custom aliases, context and translations. Failures use the existing REPORT+CONTINUE diagnostic path. A212-path sweep found this sole same-type collision; server-action paths have their own uniqueness constraint.
Refs #406. Based on #405 at346328bae8d791f1de714cdd23f7bd0757894c77. Actual OPW017 consolidated failures and blocked coverage remain a failed diagnostic, with its original collection continuing independently. This source change has not yet produced a migrated20 database.
Validation: regression failed with the duplicate path before the fix;169 preservation tests,134 workflow safety tests and4 diagnostic tests pass. Lint, format and comment checks pass. Saved19's actual guarded action fields match the selected native20 definition. Native PyCharm coverage is UNKNOWN because the independent worker's Pydantic support plugin was not loaded; no inspection pass is claimed. All4 current-head CI checks, including native19/20 live checks, pass. Both normal consumer builds pass: OPW42434951295 and website42434951345; retained ZIP digests and manifests bind the exact runtime commit to each consumer source revision and linux/amd64.
Removed: no existing tooling; extends the existing alias-binding path. Net lines: +210 (+49 runtime,+154 tests,+7 documentation), needed to prevent the reproduced duplicate action while preserving original records and links.
Client test notes
Nothing for the Client to test: this is shared offline migration preparation. OPW staff workflow testing remains on the actual migrated testing result tracked by the parent.