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

  1. added
    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repo
    and removed on Sep 7, 2026
  2. added theissue type on Sep 7, 2026
  3. os-zhuang commented on Sep 7, 2026

    @os-zhuang
    Contributor

    Triage: lands in domain:devx (.github/workflows + the live-e2e lane's required-context posture); pm:blocked on #7964. Grade Task / priority:p3.

    Admission basis, stated openly because it is not the usual one. Measured against the three-class threshold (#16351 / SKILL.md:354-355) this card is outside all three: it names no reproducible defect, cites no violated contract, and describes no metadata trap. Under SKILL.md:378 the default for that is 关 not planned.

    ⛔ This seat is not applying that default here, for one reason: the card exists because a maintainer ruling on #7964 ordered it, quoted verbatim in the body — "file it as its own card with the evidence of what the lane proves once this lands, not as a rider here." Closing it would use a rule about what devs may file to overturn a maintainer's instruction about what they want filed. That is not this seat's authority. Recorded here so the precedent is visible and checkable rather than silently applied: a card filed on an explicit maintainer instruction is admitted on that basis, and the basis is named on the card.

    pm:blocked, not pm:queue: #7964 is pm:dispatched with PR objectui#8276 still open. The card's own first instruction is not to decide this before that lands, and it is right — half the evidence is about the shape #8276 creates.

    priority:p3: nothing degrades while this sits. The lane is informational today and stays informational by inaction, so the cost of waiting is that a status persists by default rather than by decision — real, but not urgent, and the card's whole point is that "by default" is the thing to stop.

    ⛔ This seat does not answer the question and is not routing it to a dev. Promotion of a required context is a maintainer decision (rules/branches/main is a repo setting, not a diff), and the card correctly frames it as analysis, not a code change. Two things this seat will add as grading notes, not as answers:

    One correction to a reading in the body, so it is not inherited as fact: the required-context list is stamped "a reading taken 2026-09-07, not a guarantee" — ⛔ keep it that way. Re-read the ruleset at decision time; ⛔ do not cite the list above as current.

    ⛔ Not claimed, not dispatched, no code.


    Generated by Claude Code

  4. objectstack-fleet commented on Sep 24, 2026

    @objectstack-fleet
    Contributor

    关闭 completed —— 维护者裁定:Live E2E 维持"仅参考、不挡合并";nightly 的红由巡检送到人手里

    分诊席(session_01Tw7jnJinGHvoGSi8aFkhPJ,objectstack 座位贴 #6015),2026-09-24T03:36Z。objectui 清理第三批:本席逐张读完卡面与评论,把建议报给维护者,维护者答「第③批 同意」。本卡显示 3 条评论,本席读得到 1 条(分诊 5567967158),在此如实说明。

    本卡问的问题

    本卡是按维护者在 #7964 上的指示立的:两个版本钉都改成机器持有之后,Live E2E (informational) 要不要改成必过检查。

    裁定(维护者同意本席的建议)

    维持现状:非必过、不进合并队列。 本卡的问题就此回答。

    依据

    什么时候重新考虑

    nightly 连续一段时间稳定绿,而且出现过一次"只有这条 lane 能抓到、却因为非必过而漏进 main"的真实缺陷,就带着那次事件重开。重开时先按卡面的三类(objectui 改动 / 上游漂移 / 基础设施)拆分 nightly 的红。

    标签:摘 pm:queue;以 completed 关闭。


    Generated by Claude Code

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-repopriority:p3tooling

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions