Skip to content

Enroll preview products in Launchplane lifecycle backstop #508

@cbusillo

Description

@cbusillo

Objective

Confirm every preview-enabled product is enrolled in Launchplane-owned desired-state, inventory, lifecycle planning, and orphan cleanup backstop behavior.

Finish Line

SYO, VeriReel, and Odoo CM have Launchplane-managed preview lifecycle backstop coverage; OPW and discord-blue are explicitly preview-disabled until a preview plan exists.

Current Status

State: SYO and Odoo CM lifecycle backstop coverage is now live and verified. #563 deployed the profile-driven /v1/previews/lifecycle-sweep route. #568 fixed the deploy workflow parser limit from #567 and deployed the missing sweep grants. Report-only run 25632665732 succeeded with two profiles: Odoo CM clean and SYO orphaned pr-99; apply run 25632675019 destroyed SYO pr-99; post-cleanup report-only run 25632685375 reported SYO actual_count=0 and orphaned_slugs=[].
Next action: Enroll or repair VeriReel so the lifecycle sweep includes verireel / verireel-testing, then rerun report-only and capture clean/cleanup evidence for all preview-enabled products.
Blocked by: none known.
Last verified: 2026-05-10; Preview Lifecycle run 25632685375 returned only odoo-tenant-cm / cm and sellyouroutboard / sellyouroutboard. VeriReel grants exist in deploy bootstrap, but the live profile sweep did not include a VeriReel profile, so #508 remains open.

Scope

  • SYO preview lifecycle backstop enrollment.
  • VeriReel preview lifecycle backstop enrollment.
  • Odoo CM preview lifecycle backstop enrollment.
  • OPW explicit non-preview-enabled status until a preview plan exists.
  • Discord-blue explicit preview-disabled status.
  • Report-only cleanup before destructive cleanup.
  • Relationship to old product repo cleanup/teardown workflows.

Acceptance Criteria

  • Latest desired-state and inventory scan can be produced for each preview-enabled product/context.
  • Lifecycle plan distinguishes keep, missing, and orphaned preview slugs.
  • Cleanup defaults to report-only and requires explicit apply for destructive provider cleanup.
  • Destroy actions refuse to delete provider state without matching Launchplane preview records.
  • Product docs/issues state whether each product is enrolled, deferred, or not preview-enabled.
  • VeriReel appears in live Preview Lifecycle report-only output when preview-enabled.

Relationships

Validation

  • Run report-only lifecycle workflow for preview-enabled contexts.
  • Inspect recorded desired-state, inventory, plan, and cleanup records.
  • Destructive cleanup smoke only on a disposable/orphaned preview with explicit operator approval.

Decisions

  • Launchplane owns recurring preview lifecycle cleanup.
  • Product repos should not carry long-term repo-local preview janitors.
  • preview.enabled=false is the right product-profile state for products where previews are intentionally not applicable, instead of a separate preview_not_applicable model.
  • Cleanup should be automatic for products where preview.enabled=true; there should not be a separate cleanup knob.

Open Questions

  • Is VeriReel absent from the live sweep because its product profile is missing, preview-disabled, or because its preview profile shape is still legacy-only?

Metadata

Metadata

Assignees

No one assigned

    Labels

    planDurable planning issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions