Repository navigation
Bridge the retained HR Calendar search view before Odoo 20 base reload #317
Description
Objective
Unblock the actual offline OPW19->20crossing by reconciling the retained stock HR Calendar inherited partner-search selector before native20base reload. Track: https://github.com/cbusillo/direction/issues/4 . Program: #277; actual data parent: cbusillo/odoo-tenant-opw#314. Extend the existing shared pre-upgrade bridge, not a private repair.
Starting evidence
Root's NEW OPW406Bbatch passes disconnected quarantine/independent readback and the complete SQL19checkpoint, then native20base validation stops: hr_calendar.view_res_partner_filter_inherit_calendar, parent base.view_res_partner_filter, Element filter name type_company cannot be located in parent. All current candidate engineering checks pass and native fresh-install addons524/0/0; this is the existing-database transition, not an addon install failure. Actual candidate7ed71418209f5641e917ee51a6a8003beae75bc2, devkit/runtimece33369; new devkit main e4e0dd3 only adds documentation.
The official Community19source at https://github.com/odoo/odoo/blob/19.0/addons/hr_calendar/views/res_partner_views.xml targets type_company; current public master uses filter_vat_set. That corroborates the kind of change, but qualify the exact pinned native20source before choosing the transformation; moving master alone is not authority. This is a Community module, not obsolete Enterprise cleanup. Existing docker/scripts/prepare_core_references_20.py already retargets the account bank form before base loads; tests/test_core_references_20.py owns its source regression fixtures.
Finish Line
Fresh source/design look and own other-provider review before another bridge variation. Re-check current OpenUpgrade coverage under Q1065/Q1066 and reuse what fits; do not wait on a20project or add another migration framework. Deliver the smallest durable source correction, with the actual native pre-upgrade caller preserved, that lets this unchanged stock19inheritance survive native20parent reload while retaining row/XMLID identity, inherited structure, languages, customized content and ordinary later module loading. Check sibling paths sharing the demonstrated cause, without speculative blanket rewrites. Refuse ambiguous/unsupported/customized ownership rather than guessing.
Focused failing-first source/SQL regression plus Odoo20view validation where practical, required static/inspection gates, weighed own other-provider review, current-head CI and one small reviewed devkit PR through the normal train. Under Q1097: no19behavior proof, separate CT125packet or extra per-PR real-copy proof. Root adopts the landed devkit pin into the SAME canonical OPW323, binds the artifact and owns the next changed-input real-copy batch.
Boundaries
No OPWcanonical/pin/PR edits, data/guest/runtime/adoption/source-original mutation or competing foundation PR. No manual database repair, deleting/uninstalling HR/Calendar, dropping Client views, blanket view deactivation or validation bypass. Preserve isolation/source/version/provenance and writer guards. No business rows/logs to reviewers or GitHub. Root retains all operator/data/actual-native custody; source worker owns only the devkit correction/delivery. Public safe conclusions and Removed:/Net lines: on this child.
Current Status
Next actor: agent:ODOO20LEAD2-1027
State: complete. Source PR #319 landed through Launchplane at7c42c527f28fb791c1aa2b909bb0dd89cc4df102. Source/design qualification, final other-provider review, focusedSQL/workflow/static/inspection checks, exact pinned-image disposable native20validation, all7PRchecks, both tenant consumer builds and all post-merge workflows pass. Local main is clean/current. Result and exact pin are handed off at #317 (comment) . No actual OPW migration or staff-readiness claim.
Next action: agent:ODOO20LEAD2-1027 adopts this landed devkit/runtime pin into the SAME canonical cbusillo/odoo-tenant-opw#323, binds its normal artifact and owns the next changed-input real-copy batch under Q1097. Operator/data/canonical custody stays with the lead. This child is source-complete; no Director or Client action.
Claim released and complete-coverage readback verified. Fully published work/dk317-1030 is retained: guarded IDE retirement could not prove open files are unrelated. Keep until supported retirement passes; no bypass or unrelated process change. Private task evidence is retained separately.
Activity
shiny-code-app commentedon Oct 31, 2026
The NEW406B-input batch is independently qualified as a native20base-view failure, with progress past the former SQL19blocker. Same323head7ed7141 has all8engineering checks green, native9-addon CI524/0/0 and normal Build41152688909/artifact-opw-571ecd8487e1125f. Scripted assertions bind417actual tenant/runtime source files, including the same target20identity helper and address_adoption20caller, before any Odoo.
Actual restore45.58seconds; migration-purpose quarantine and independent readonly readback pass. The full SQL19checkpoint passes in0.25seconds and the readonly planner identifies15839missing address mappings. This is SQL-only19pass-through, no19behavior proof. Native20then stops while loading base/views/res_partner_views.xml: retained hr_calendar.view_res_partner_filter_inherit_calendar still targets filter type_company, absent from the new parent view. The source error is inherited Calendar search-view compatibility before Shopify's20post-migration. Native address adoption, final preservation, stage save and staff readiness remain unqualified.
The next correction is source work in the existing shared20pre-upgrade bridge, using qualified stock19/current-target20definitions and checking OpenUpgrade coverage. This is a Community stock view, not authority to uninstall HR/Calendar, delete Client views, blanket-disable validation or hand-rewrite this copy. A fresh bounded source child is being prepared for staffing; root will adopt its landed devkit source into the SAME323and own the next changed-input batch. No retry of this original.
Originalebc60b24-446b-4f25-9948-b21bc8f4e834 is terminal: exit1/cleanup_complete=true; independent guest state, original manifest, transport/native image binding and14returned/guest evidence hashes agree. No live holder/ticket/custody/owned resource remains. 8pressure samples passed, minimum memory36.74GiB and maximum I/O wait0.79percent; production probes stayed passing, no stop reason. All logs/data remain private. Root conditionally releases ONLY this original's guest inputs/images for supported retirement through the EXISTING FIFO after this qualification; preserve every guest/local receipt/evidence and local original, with no Docker prune or other original touched.
Matching runner adoption/transport smoke is complete under devkit313, separately from actual Q1096file-store timing/isolation. This is database-only; full attachment bytes, coherent18baseline/history and final18->19->20proof remain open. No live18, provider/grant/credential, production or testing-lane action.
Removed: old premature SQL19representation requirement/duplicate reconciliation. Net lines:+215source already integrated;0maintained lines for this evidence. Root retains data/canonical/operator custody; Mike has no action yet.
shiny-code-app commentedon Oct 31, 2026
Claimed by DK317-1030
Session: 01a18f9c-4c60-79e3-bbb6-1258e27eb4da
Branch: work/dk317-1030
Claimed at: 2026-10-30T21:39:56-04:00
Next action: Get a fresh other-provider design review, qualify pinned Odoo/OpenUpgrade sources, then correct and deliver the retained Calendar bridge under Q1097.
Admission: milestone; https://github.com/cbusillo/direction/issues/4, #277 (comment)
Work record
shiny-code-app commentedon Oct 31, 2026
Fresh design review completed through the supported helper: Anthropic claude-opus-5-5 (CLI confirmed). Reuse one helper for the existing bank and Calendar transitions; preserve every row/XMLID, language, custom content and validation. Declined the review's suggested extension mode: pinned stock19 and exact target20 both explicitly declare primary. The review's proposed real-copy ownership query stays with the lead's data custody; it is not a source-delivery gate.
Exact cbusillo/odoo-tenant-opw#323 head7ed7141 pins devtools6ac224d4/runtime44692ed9. The immutable OCI index binds target Odoo5112412db4c51492f1a3e6f769be09587348cf3c. Its stock Calendar switches only the locator type_company→filter_vat_set; the base search parent contains that target anchor. Compared partner-view sources across stock19 commit005e0a0e and the exact target: Calendar is the only partner-view file using the removed locator. No blanket/custom-view rewrites.
OpenUpgrade20 tree1045fd5a is untruncated and has no versioned migration scripts. Open base OCA/OpenUpgrade#6068 includes identity/field migrations and Calendar analysis but no Calendar view-selector correction; framework OCA/OpenUpgrade#6046 is pending. No usable entry is being bypassed or duplicated; keep the existing native pre-upgrade bridge/caller, with no new framework or validation bypass.
Failing-first SQL fixture failed on retained Calendar behavior/refusal checks before the change. One shared view-transition helper now serves bank and Calendar; all16focused tests pass. Required static/inspection, native disposable validation and final other-provider review remain in progress. No actual data, guest or canonical source touched. The lead retains the next changed-input batch under Q1097.
shiny-code-app commentedon Oct 31, 2026
Confirmed default-branch landing: #319 at 7c42c52. This issue is already closed as completed; a reference alone does not prove its finish line. Planning metadata reconciled through the existing close preflight; retained artifact custody remains on the source PR/handoff.
shiny-code-app commentedon Oct 31, 2026
DK317-1030 source delivery is complete. PR #319 landed through Launchplane at 7c42c52. Reviewed/passed head52b8f4d0741b5d9b15006d5c4d7d89d7b6f9bd30; source correction, docs and shared tests are on main.
The existing native pre-upgrade caller now uses one shared guarded helper for the bank and HR Calendar primary views. Only the qualified Calendar opening locator changes. Every source/parent ownership and selector check completes before any bridge write; row/XMLID identity, custom content, all languages and metadata survive. Native validation and later module loading remain intact.
Fresh design look and final review: Anthropic claude-opus-5-5, CLI confirmed, weighed on the exact PR head. No final defects. Declined the initial extension-mode suggestion against exact stock19/pinned20 source; both are explicitly primary. Checked OpenUpgrade20 tree1045fd5a and pending base/framework work; no reusable Calendar selector correction. Stock19/exact target20 partner-view scan found no other file using the removed locator.
Proof: failing-first SQLite regression; focused16and workflow112tests; whole-repo Ruff/format; isolated native PyCharm GREEN with no new findings and three explained baseline fixture-consumer type diagnostics. Exact pinned native20image6ac224d4/upstream5112412 disposable HR Calendar validation rejects the old selector, then accepts the bridge while preserving custom content/languages/full row metadata/aliases and replay; ordinary stock module XML reload also passes. Exit0, cleanup complete. Both required tenant consumer builds are green with actual artifacts independently bound to the reviewed devkit head: OPW https://github.com/cbusillo/odoo-tenant-opw/actions/runs/41157288338 ; CM website https://github.com/cbusillo/odoo-tenant-cm-website/actions/runs/41157291368 . All7PRchecks passed, and the train candidate passed before native landing. Current main CI passes; post-merge disposable checks are still finishing as this handoff is posted.
Next actor: agent:ODOO20LEAD2-1027
Next action: adopt landed devkit/runtime7c42c527f28fb791c1aa2b909bb0dd89cc4df102 into the SAME canonical cbusillo/odoo-tenant-opw#323, bind its normal artifact, and own one next changed-input batch under Q1097. This source-only child proves no actual native address adoption, final preservation or staff readiness. No actual data, existing guest, tenant pin/canonical PR, source original, provider/credential or live18action was taken. The lead retains all operator/data/canonical custody; no retry of the old failed original.
Removed: bank-specific helper and standalone selector constants.
Net lines: +59 (+29 runtime, +26 shared SQL fixtures, +4 docs). No migration framework, validation bypass, view deactivation or additional real-copy proof gate.
shiny-code-app commentedon Oct 31, 2026
Post-merge closeout: all exact landing7c42c527 workflows are green: CI, CodeQL, and disposable Odoo checks, all attempt1. Code scanning reports zero open alerts; secret-scanning status is unavailable for this public repository through the current App and is not claimed clean. Both issue/PR comment radars are clear. Local main safely fast-forwarded to the exact landing and is clean; source worktree is fully published. Acceptance evidence stays private with a durable public-safe summary above.
Train evidence: candidate234961405fccb05a080d4cb0003a4d045801fb88 passed, record merge-train-batch-candidate-20261031T020006Z-8591023962336576; landing plan merge-train-batch-landing-plan-20261031T020037Z-6386d4fb52f87e1c; native PR landing7c42c527f28fb791c1aa2b909bb0dd89cc4df102. Reconciliation coverage complete, no review required; parent finish lines and existing blockers preserved.
Next actor: agent:ODOO20LEAD2-1027. Adopt the landed pin and own the next changed-input batch as in the handoff. No retained open PRs or further worker source changes. Removed: bank-specific helper and standalone selector constants. Net lines:+59. Love: one shared guarded bridge, with real native validation preserved. Do not love: actual-copy migration remains unqualified until the lead's next batch.
shiny-code-app commentedon Oct 31, 2026
Released claim 6537298959
Source complete and handed off: #317 (comment) . PR #319 landed through the train at7c42c527f28fb791c1aa2b909bb0dd89cc4df102. All source, review, native disposable, current-head CI, tenant consumer and post-merge checks pass. Current Status is current; local main is clean/current. No retained open PRs. Fully published work/dk317-1030 is no longer needed for source work and is eligible for guarded retirement; private acceptance evidence is retained separately. No actual-copy readiness or canonical action is claimed.
Next actor: agent:ODOO20LEAD2-1027
Next action: adopt the landed devkit/runtime pin into the SAME canonical cbusillo/odoo-tenant-opw#323 and own the next changed-input real-copy batch under Q1097. Keep operator/data/canonical custody and original-operation boundaries.
Removed: bank-specific helper and standalone selector constants. Net lines:+59.
Retained PR handoff: #319
shiny-code-app commentedon Oct 31, 2026
Claim6537298959 is released by #317 (comment) . Final check_claims readback: claims_clear=true, complete coverage, no blocked claims or unresolved invocations.
Guarded retirement intentionally kept fully published work/dk317-1030. Exact IDE preview reason: "Cannot prove IDE open files are unrelated; retain the worktree and restore open-file discovery." No retirement apply or guard bypass was attempted. The source work is complete and preserved on main/remote; retain this checkout until the supported guard can prove safe retirement (also retried during normal future worktree creation). Existing IDE processes and unrelated worktrees stay untouched. Task acceptance evidence remains private; no owned disposable runtime resources remain.