Skip to content

Make Cloud promotion events succeed from the public docs origin #96

Description

@rmcdaniel

Problem

The Cloud launch-cohort promotions introduced by 07cf4b9 render and link correctly, but their live first-party event transport is not reliable from the public docs site.

Pinned Chromium verification against https://durable-workflow.com/ found that a visible promotion sends POST https://cloud.durable-workflow.com/early-access/promotion-events and receives HTTP 403. The browser records a console error, so the intended impression is not measured. Clicking the CTA emits a second failing request. The early-access destination itself returns HTTP 200.

This reproduced on the homepage and the 2.0 deployment-modes, Cloud-runtime, PHP, Python, and Rust pages at 1440×900, 900×800, and 390×844. It also reproduced at 1280×360 whenever the promotion was at least 35% visible. Across those captures, page status and geometry were otherwise clean: no horizontal overflow, clipped text or controls, unreachable controls, overlaps, displaced primary content, or orphaned controls.

The current docs check validates rendered placement markers, CTA URLs, and the client request shape, but it does not exercise the live browser-origin event contract. The failure therefore passed release validation.

Acceptance criteria

  • A supported browser on durable-workflow.com can record one impression after the visibility threshold and one click after activation without HTTP or console errors.
  • The public event path can report aggregate outcomes by bounded source and event.
  • Preserve the privacy boundary: no credentials, referrer, cookies, query values, form values, stable user identifiers, or additional payload fields.
  • Keep every CTA resolving to the public early-access form and preserve clean geometry and reachable controls at desktop, intermediate, mobile, and compact-height viewports.
  • Add browser/deployment evidence that exercises the public docs origin against the event path rather than asserting only source text or static HTML.
  • Classify changes to the promotion client or event contract as browser-evidence changes so the six placements and a clicked state cannot pass with console or HTTP errors.

Delete when

Delete when the live public placements produce successful bounded impression and click records with clean browser reports at all required viewport classes, and the release gate fails on a recurrence of the transport defect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:defectA public product behavior is incorrectpriority:P2Normal-priority product workrepo:documentationOwned by the public documentation repositorystatus:readyReady for implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions