Skip to content

finding(ci): with both live-e2e pins now machine-held, re-decide whether the lane stays informational — and on what evidence #8275

Description

@claude

Filed per the last sentence of the maintainer ruling on #7964: "Whether the live-e2e lane should stay informational is a separate question — file it as its own card with the evidence of what the lane proves once this lands, not as a rider here."

Blocked-by: #7964 (the derivation PR). Do not decide this before that lands — half the evidence below is about the shape it creates.

The question

Live E2E (informational) runs continue-on-error: true and is not a required context. That was decided in #2835, with an explicit precondition attached in the workflow header: "Do not add it to required checks (and do not remove continue-on-error) until the nightly record proves the lane stable." Two of the reasons it could not be trusted have since been removed. This card asks the maintainer to re-decide, on the evidence, rather than let informational persist by default.

What the lane proves once #7964 lands

Evidence on the other side — do not skip this

  • The lane is red on main right now for a reason that is not an objectui diff: the published plugin-auth floating onto @better-auth/core@1.7.3 (objectstack#16186). See ci(live-e2e): Live E2E (informational) is red on main and every branch since the backend pin moved to 17.2.0 — the published plugin-auth float (objectstack#16186), not an objectui diff #7990. objectui#8084 pinned the family in backend.env as a workaround, and that pin is itself declared temporary.
  • Structurally, the lane depends on things outside this repo's diffs: the npm registry, github.com (the sparse checkout, and now the tag resolution), and the published artifacts' own transitive float. A required context that can go red for any of those turns every unrelated PR red. That is the concrete cost of promotion, and it is not hypothetical here — it happened this month.
  • Runtime: the job installs from npm, builds the console, installs Playwright browsers and polls a 300s readiness gate. Promotion puts that on the critical path of every merge.

The required contexts today, for reference

rules/branches/main requires: Lint, Type Check, Build & E2E, Test (shard 1-4/4), Build Docs, Changeset Declaration. Live E2E (informational) is not among them. Re-read the ruleset before acting on this list — it is a reading taken 2026-09-07, not a guarantee.

What a decision needs

The workflow header names the evidence itself: the nightly record (schedule: cron '30 6 * * *'). Someone should pull the last N nightly runs and separate three populations before this is decided:

  1. reds caused by an objectui change (the signal promotion would buy),
  2. reds caused by upstream/published-artifact drift (ci(live-e2e): Live E2E (informational) is red on main and every branch since the backend pin moved to 17.2.0 — the published plugin-auth float (objectstack#16186), not an objectui diff #7990 is one),
  3. reds caused by infrastructure (registry, network, cache, timeout).

If population 1 is non-empty and 2+3 are rare, promotion is defensible. If 2+3 dominate, the honest answer may be a third option neither #2835 nor this card has named: keep it non-required on PRs but make the nightly run a lane someone is accountable for, so its reds are read instead of accumulating.

Scope

Analysis and a maintainer decision — not a code change. Nothing in #7964's PR touches the workflow, deliberately.


Generated by Claude Code

Activity

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

    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopm:blockedpriority:p3tooling

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions