Skip to content

Support native website noindex from Launchplane production use #420

Closed

Description

@shiny-code-app

Objective

Extend the existing native Odoo website-settings receiver for Launchplane-derived prelaunch indexing protection, preserving unrelated head content, website binding and legacy accepted settings. This is the native receiver companion to cbusillo/launchplane#5914, not an independent SEO flag or a target operation.

Evidence

The Launchplane owner's pre-edit finding and its Current Status identify the existing receiver in docker/scripts/odoo_website_settings.py::apply_website_settings. The current write affects only cm_website.public_indexing_enabled. The generated Launchplane consumer must derive from this source, rather than acquire divergent behavior in its generated copy. Native domain mismatch affects robots/canonical/routing and is not sufficient by itself; the source owner requests qualification of the existing native head setting instead.

Finish Line

  • Qualify the native noindex mechanism on the retained supported Odoo version and Odoo 20 with real isolated native/HTTP fixtures using fabricated data. Use the native website setting first. Match the exact requested website/public origin before any write; refuse ambiguous or mismatched binding.
  • Accept the authoritative production_use and exact public origin through the existing post-deploy payload, preserving legacy compatibility. No operator flag or second authority. If native website.custom_code_head is qualified, preserve existing head content, add one identifiable managed noindex element for prelaunch and remove only that managed element for live use without changing native domain or robots access. No invented logo, custom addon, daemon or raw target workaround.
  • Preserve the existing transaction, expose explicit dry-run/readback evidence for exact native selector, state and before/after digest, and prove failed writes/rollback preserve the protection appropriate to supplied state. Keep analytics, consent, unrelated robots choices, pages and business data intact. Test actual behavior, not generated/config text.
  • Use required affected safety/static/type/native/current-head gates and one weighed provider review. Follow the repository's consumer-build checks, checked Ready and normal train. Return the exact final reviewed committed consumer contract and native fixture evidence to Derive native Odoo prelaunch indexing protection from production use launchplane#5914 for the existing generator.
  • No product rebuild/deploy, real production_use transition, actual target mutation, original data/restore input change or source-main artifact substitution is assigned. Report Removed and Net lines.

Current Status

Next actor: agent:01a1c69c-0055-71a2-86d4-51e280817397
Complete and closed. #421 landed through Launchplane at 36dbb81; reviewed head 57014bf has the identical tree. Native19/20 proof, 244 local tests, PR CI, both consumer-build artifacts, and all post-merge checks pass. Exact contract: #421 (comment). Final handoff and exact claim release: #420 (comment). Full original-native claims audit is clear with complete coverage and no unsettled invocations. All own native runs retired; task worktree/local branch retired, remote branch absent, local main clean/current. Evidence retained at the assigned native-indexing-receiver-1110 task path. Producer cbusillo/launchplane#5914 owns remaining adoption and operations; no source work remains here.

Admission

Director's 12:50 PM ET instruction on the OPW/CM prelaunch path, recorded on cbusillo/launchplane#5914. Milestone evidence: cbusillo/direction#4 and cbusillo/direction#5. Source coordinator: cbusillo/launchplane#5620. Native receiver and producer stay independently owned, with a single final consumer contract and no manual SEO authority.

Activity

  1. shiny-code-app commented on Nov 10, 2026

    @shiny-code-app
    ContributorAuthor

    Claimed by DK420-NATIVE-INDEXING-1110

    Session: 01a1c6b1-c355-7283-a492-5933c968911e
    Branch: work/native-indexing-receiver-1110
    Claimed at: 2026-11-10T13:22:43-05:00
    Next action: Qualify the existing receiver contract and isolated Odoo 19/20 native HTTP behavior, then implement and deliver the bounded consumer.

    Admission: milestone; https://github.com/cbusillo/direction/issues/5

    Work record

  2. shiny-code-app commented on Nov 10, 2026

    @shiny-code-app
    ContributorAuthor

    Confirmed default-branch landing: #421 at 36dbb81. 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.

  3. shiny-code-app commented on Nov 10, 2026

    @shiny-code-app
    ContributorAuthor

    Released claim 6775619202

    DK420-NATIVE-INDEXING-1110 complete. Source PR #421 merged through Launchplane at 36dbb812c081647966ceae9fc5e751da03f7de5f; this source issue is closed. Reviewed published consumer head 57014bfa9cd4e0f773e81c1b01fa1b45d302ea2b has the identical Git tree.

    Exact receiver shape and native proof: #421 (comment). Checked Ready and train landing are recorded on the PR. Optional website_indexing contains only website_id, public_origin and Launchplane-derived production_use; legacy settings remain compatible. The producer owns schema/generator/caller adoption and every target operation in cbusillo/launchplane#5914. Lead native01a1c2bb-4ef6-7251-ba16-1d25e4fd4860 was notified through the requested queue.

    244 focused local tests, Ruff, package/CLI/lock checks, real isolated native19/20 HTTP and rollback proof, all PR checks and both exact-head consumer builds pass. Post-merge CI, Python/Actions analysis, and both live-Odoo jobs pass on the landing SHA. Code-scanning findings: clean (none open). Secret-scanning API: unavailable for this public repository, not claimed clean. PyCharm completed with explicitly triaged container imports/dynamic native API inference; raw RED evidence remains visible. Final comment radar is clear.

    All twelve admitted own fixture runs have completed cleanup and retirement receipts. Two local image-inspection intakes admitted no remote job. The evidence directory retains frozen fabricated inputs, native logs, hashes, model reviews, consumer artifacts and receipts: /Volumes/Developer-Artifacts/task-evidence/odoo-devkit/native-indexing-receiver-1110. No product rebuild/deploy/state change, real data, restore input, original or copy was touched. No workers launched. Original native transcript confirms codex-info / GPT-6-Astra high.

    Local main is clean and refreshed to the landing SHA. The published clean task worktree is no longer needed; its qualified retirement follows this exact claim release and full original-native audit. Other worktrees and claims stay with their owners.

    Review findings acted on: rollback-proof effectiveness; selector/common-origin consistency; dry-run caller documentation; independent legacy indexing documentation; behavior-oriented test assertions; native20 cache API compatibility; removal of a permissive registry mock. The follow-up reviewed only the changed rollback boundary.

    Removed: duplicated origin parsing and ineffective rollback/wording assertions.
    Net lines: +422, chiefly transaction/HTTP/rollback proof; no deployed addon or daemon.

    Love: native Odoo settings with real rollback and HTTP evidence.
    Do not love: producer adoption is still separate and native overrides beyond these fixtures are not qualified here.
    Session outcome: {"landed_without_rescue": true, "review_findings_acted_on": 7}

    Next actor: agent:01a1c69c-0055-71a2-86d4-51e280817397
    Next action: continue the existing Launchplane producer child with the published receiver contract. No source work remains in this child.

    Session: 01a1c6b1-c355-7283-a492-5933c968911e

    Retained PR handoff: #421

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:codexAssigned to the Codex agent family

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions