Skip to content

ci(live-e2e): boot the workspace backend (HEAD console against HEAD backend) and make the four-spec live lane a required context — ruling 6435339772 Q1 A, re-based by #25914 letter D #27154

Open

Description

@objectstack-fleet

Unblocked: #25914's ruling D step 1 landed via PR #27167 (b8615afaba); note 6465423743.

Filing gate ③ (maintainer-directed). Ruling 6464191239 on #25914 (batch #421 item 1, letter D, maintainer 「其他同意」 2026-10-28): step 2 of D. Filed by the director seat (session_01QSeKYo7qYsX6HsAneHBMP2, ledger objectstack#12708). ⛔ Not a claim; triage sets the lane (domain:devx expected) and grade.

Ruling-ref: 6464191239 (this card) · 6435339772 (Q1 A, the required check)

维护者速读

  • 改了什么: live e2e 的四条 spec(test:e2e:live:ci)改成用本树工作区的后端启动(HEAD console 对 HEAD backend),不再按已发布 npm 版本钉后端;同一个 PR 把它接进 ci.yml 并登记为 required。
  • 为什么改: 您 10-27 裁的「升为 required」建立在「它已经每个 PR 都在跑」上;现在它哪里都不跑,而且按已发布版本钉后端意味着每次发版都要同步抬钉、否则 ui/ 的 PR 全红(e2e: the MSW test in console-rendering.spec passes when the worker is absent (it is absent), and 18 of 22 live specs run nowhere in CI — delete the vacuous test and make the four live specs count #25914 的实测与再裁)。
  • 风险与回滚: Tier H(.github/workflows/ci.yml);回滚 = 还原 job 与 REQUIRED_CONTEXTS 一行。
  • 先看: ui/e2e/live/ci/start-backend.sh 的 prepare 步骤。
  • 两分钟验证: PR 上 required 名单里出现该 job 且绿;本地 5 次连续运行全绿。
  • 需要您做的: ruleset 里勾上该 job 名(席位做不了)。

Measured (on origin/main e6e41998, 2026-10-28)

Task

  • Re-shape ui/e2e/live/ci/start-backend.sh (and backend.env, which then declares no published pin) to boot the workspace backend: the tree's own built @objectstack/cli on the checked-out examples/app-showcase, seeded admin, same ports and readiness poll. Keep stop-backend.sh's PID contract.
  • Add a ci.yml job that builds the console (VITE_BASE_PATH=/), boots that backend, serves vite preview with the dev proxy and runs pnpm test:e2e:live:ci --retries 0 on pull_request and merge_group, gated on the ui path filter the way Build & E2E UI is. ⛔ No retry wrapper, no continue-on-error, no spec edited or skipped to get green.
  • Enrol the job's name: in REQUIRED_CONTEXTS (scripts/check-required-contexts.mjs); the ruleset click is the maintainer's.
  • Measure before wiring: 5 consecutive green runs on this tree, wall time reported in the PR body. A red run is re-ruling input, not a retry.

Tier H (.github/workflows/**): the PR waits for an authorised approval. Clause-②: no · Metadata-protocol: none.

Serial: after #25914's pin-bump PR (same files). Dedupe: #25914 thread (6454590103, 6461501278, 6461924763, 6463293878); #26717 row 17 (live-e2e.yml roster); no open card asks for a workspace boot.

Activity

  1. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Unblocked · devx seat 2 · 2026-10-28T09:29Z · ⛔ not a claim

    Blocked-by: #25914 is cleared: ruling D step 1 landed via PR #27167 (merged as b8615afaba), so ui/e2e/live/ci/backend.env pins 18.2.0 and the four-spec lane is green by hand (5/5). pm:blocked → pm:queue in this act.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 5 · 2026-10-28T09:44Z
    Session: session_01QSeKYmTYfaPbLQD4BJfomW (dispatching seat; the cloud session is named in the dispatch note under this claim)
    Account: os-justin (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-27154-live-e2e-workspace-backend
    Worktree: the cloud session's own container
    Domain: domain:devx
    Seat: domain:devx#2
    File surface: the card's four tasks, ruling 6464191239 letter D step 2 and ruling 6435339772 Q1 A. (1) Re-shape ui/e2e/live/ci/start-backend.sh and backend.env to boot the WORKSPACE backend: the tree's own built @objectstack/cli on the checked-out examples/app-showcase, seeded admin, same ports and readiness poll, stop-backend.sh's PID contract kept. The published pin retires. (2) Add a ci.yml job that builds the console with VITE_BASE_PATH=/, boots that backend, serves vite preview with the dev proxy and runs pnpm test:e2e:live:ci --retries 0 on pull_request and merge_group, gated on the ui path filter the way Build & E2E UI is. (3) Enrol its name: in REQUIRED_CONTEXTS (scripts/check-required-contexts.mjs) with every pin that gate and its siblings demand. (4) Measure before wiring: 5 consecutive green local runs on the workspace boot, with wall time in the PR body. ⛔ No retry wrapper, no continue-on-error, no spec edited or skipped. A red run is re-ruling input, not a retry. If the workspace boot needs a new mechanism beyond re-shaping the existing scripts, that is a fork too. The ruleset click stays the maintainer's. PR Fixes #27154. Tier H (stop on breach; explain in the report)
    Container & model: M, mode:cloud, model: TIER_DEFAULT (dispatch-gates --tier: "no path-derived mandate"), effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card
    Ruling-ref: 6464191239
    Thread-read: 6465423743
    Premise: holds at origin/main 2f96d874fa. backend.env pins 18.2.0 (PR #27167), and the lane is green by hand 5/5 on the published boot. No workflow under .github/ runs test:e2e:live:ci.
    Serial constraints cleared: open draft PR #27136 edits ci.yml only in the UI-job region around L3539, a different hunk from a new job. No open PR touches ui/e2e/live/ci/ or scripts/check-required-contexts.mjs. Whichever lands second merges main.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 28, 2026

    @objectstack-fleet
    ContributorAuthor

    Dispatch note · devx seat 2 · 2026-10-28T09:47Z

    Claim 6465707880 dispatched to cloud session session_01QSeKYoUcDM1MUzjdaCjt6U, outcome branch claude/issue-27154-live-e2e-workspace-backend.


    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

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions