Skip to content

VeriReel preview-refresh rejected with invalid_request after image publish #943

@cbusillo

Description

@cbusillo

Summary

VeriReel PR preview provisioning is failing after the preview image is successfully built and pushed. The Launchplane preview refresh route rejects the request with HTTP 400 invalid_request, leaving the PR without a fresh preview URL.

This appears to be Launchplane-side preview provisioning or request-contract handling, not a VeriReel app build failure.

Evidence

Source PR: https://github.com/cbusillo/verireel/pull/189
Preview workflow run: https://github.com/cbusillo/verireel/actions/runs/26550700546
Failed job: Preview Control Plane / provision_preview

Successful image publish evidence:

  • publish_preview_image completed successfully.
  • Immutable image: ghcr.io/cbusillo/verireel-app:pr-189-sha-bd6ef6afb3c6c9cc3359cf98ac613eca414ac4fe
  • Refresh tag: ghcr.io/cbusillo/verireel-app:pr-189
  • Commit: bd6ef6afb3c6c9cc3359cf98ac613eca414ac4fe

Launchplane request that failed:

POST /v1/drivers/verireel/preview-refresh
product: verireel
context: verireel-testing
anchor_repo: verireel
anchor_pr_number: 189
preview_slug: pr-189
image_reference: ghcr.io/cbusillo/verireel-app:pr-189-sha-bd6ef6afb3c6c9cc3359cf98ac613eca414ac4fe

Failure response:

{
  "error": {
    "code": "invalid_request",
    "message": "Request could not be completed."
  },
  "status": "rejected",
  "trace_id": "launchplane_req_6256b35cf6504fb3a8b0320dc77508ec"
}

Launchplane PR feedback trace after the failure:

launchplane_req_2a26167541dd4fa1858488b444413f96

PR feedback comment: https://github.com/cbusillo/verireel/pull/189#issuecomment-4560297489

Expected Behavior

When VeriReel preview image publish succeeds, /v1/drivers/verireel/preview-refresh should either:

  • provision or refresh the preview and return a fresh preview URL, or
  • return an actionable validation error that identifies the missing/invalid field or blocked dependency.

Actual Behavior

Launchplane rejects the preview-refresh request with generic invalid_request / Request could not be completed. No fresh preview URL is advertised.

Initial Classification

Not a VeriReel app build failure:

  • VeriReel CI passed after rerun.
  • Runtime smoke passed.
  • Preview image publish passed.
  • Failure occurs only when Launchplane handles /v1/drivers/verireel/preview-refresh.

Likely Launchplane work:

  • inspect trace launchplane_req_6256b35cf6504fb3a8b0320dc77508ec
  • determine whether the request payload no longer matches the driver contract, the VeriReel preview target/config is missing, or Launchplane is masking a more specific provisioning error
  • improve the public error returned to the workflow if the request is invalid

Acceptance Criteria

  • The trace id identifies the concrete rejection reason.
  • VeriReel PR preview refresh succeeds for PR Resolve product driver context from descriptors #189 or reports an actionable upstream dependency.
  • Generic invalid_request masking is reduced for this preview-refresh path where safe.
  • The PR feedback comment can advertise a fresh preview URL on a successful rerun.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions