Skip to content

Commit aaf6226

Browse files
committed
ci(ui-merge): register Lint UI and Build & E2E UI in REQUIRED_CONTEXTS
The maintainer added both contexts to the `main` ruleset at the cutover sitting (2026-10-26 00:25Z, 「加上了」); this is the repo half the registry prescribes. The two instruction surfaces that state the required set (AGENTS.md's merge-queue sentence and the pm-dispatch readings ledger) follow, line-neutral, five → seven. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CB8WDTpTbuW2XrEyjKHVo
1 parent e167956 commit aaf6226

3 files changed

Lines changed: 33 additions & 10 deletions

File tree

‎.claude/skills/pm-dispatch/references/platform-readings.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -387,9 +387,9 @@
387387
- 本车道强制多是过宽的回忆:`dispatch-gates.mjs --tier PATH` 逐路径现推,路径线是下限非放行。
388388
- 该脚本只答自己那棵树:姊妹仓路径回 absent from this tree,姊妹仓的档位与条款②只能手推。
389389
- `os-verify-lock.sh` 只住 objectstack:objectui 无它,跑本仓副本读的是容器级锁,非该仓深度。
390-
- required checks 的名单是每仓事实,objectstack 五个:
391-
`TypeScript Type Check` · `Lint & Repo Gates` · `Test Core` ·
392-
`Build Core` · `Governed Surface Queue Guard`。
390+
- required checks 的名单是每仓事实,objectstack 七个:
391+
`TypeScript Type Check` · `Lint & Repo Gates` · `Test Core` · `Build Core` ·
392+
`Governed Surface Queue Guard` · `Lint UI` · `Build & E2E UI`。
393393
- ⭐ 本表的 `mustName` 声明 `statesTheSet` ⇒ 必须逐字等于注册表,加注册行不跟改本表即红。
394394
- ⇒ 门绿即名单逐字齐全的读数;⛔ 但数量词未钉:实测 七→六 照绿,只能手跟改。
395395
- ⛔ 聚合命令同样不作判定:`check:type-check-debt` 可在包级 typecheck 绿时红。

‎AGENTS.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -523,11 +523,11 @@ Even inside your own worktree, operate defensively:
523523
yet"; `in_progress` is not a pass. Arming a red PR does not queue it, it hides it:
524524
every poll then misreads "not on `main` yet" as "queued". Always read *two* things:
525525
the queue branch **and** `origin/main`. And **the queue enforces only the required
526-
set** — five contexts block: `Lint & Repo Gates` (all `check:*` gates),
527-
`TypeScript Type Check`, `Test Core`, `Build Core` and `Governed Surface Queue Guard`. A
528-
check outside those five is advisory and rides through, and an advisory red that lands rides
526+
set** — seven contexts block: `Lint & Repo Gates` (all `check:*` gates), `TypeScript Type Check`,
527+
`Test Core`, `Build Core`, `Governed Surface Queue Guard`, `Lint UI` and `Build & E2E UI`. A
528+
check outside those seven is advisory and rides through, and an advisory red that lands rides
529529
`main`'s merge ref into every later PR until stanched. A required context is matched by
530-
check-run name, so a rename detaches its gate silently — treat those five names as contract.
530+
check-run name, so a rename detaches its gate silently — treat those seven names as contract.
531531
**Two speeds** (ruling record 6120820653): PR and queue runs carry the fast set, 10 minutes of
532532
wall per queue entry; `main`'s hourly and push runs carry the full battery — dogfood, e2e,
533533
`Temporal Conformance (live PG + MySQL)` — read by the publish lane before

‎scripts/check-required-contexts.mjs‎

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,24 @@ export const REQUIRED_CONTEXTS = [
443443
'read back live in the ruleset sweep of 2026-09-10 that carries the director ruling enrolling this row (#15233)',
444444
carries: 'the governed-surface refusal — the `merge_group` leg that refuses a governed diff carrying no ruled approval',
445445
},
446+
{
447+
workflow: 'ci.yml',
448+
job: 'lint-ui',
449+
context: 'Lint UI',
450+
authorized:
451+
'#25752 step 6, maintainer ruling 2026-10-26T00:25Z in the director thread, verbatim 「加上了」 — ' +
452+
'added to the `main` ruleset the same minute; this row is the repo half (#25853)',
453+
carries: 'the ESLint + repo-gate family of the `ui/` workspace',
454+
},
455+
{
456+
workflow: 'ci.yml',
457+
job: 'build-e2e-ui',
458+
context: 'Build & E2E UI',
459+
authorized:
460+
'#25752 step 6, maintainer ruling 2026-10-26T00:25Z in the director thread, verbatim 「加上了」 — ' +
461+
'added to the `main` ruleset the same minute; this row is the repo half (#25853)',
462+
carries: 'the Console build from `ui/apps/console` and its Playwright e2e',
463+
},
446464
];
447465

448466
/**
@@ -556,8 +574,9 @@ export const INSTRUCTION_SURFACES = [
556574
// 6→7 by #17798 — the same misclassification, one enrolment later and
557575
// with every gate green, which is what put the exclusivity rule below in
558576
// the judge. Then 7→5 by #22998 (two-speed CI: the dogfood and temporal
559-
// contexts moved to the full battery). The full set is pinned here so the
560-
// corrected sentence cannot rot back — a rename in ANY of the five
577+
// contexts moved to the full battery). Then 5→7 by #25853 (the `ui/`
578+
// import's `Lint UI` and `Build & E2E UI`). The full set is pinned here so
579+
// the corrected sentence cannot rot back — a rename in ANY of the seven
561580
// reddens this gate instead.
562581
file: 'AGENTS.md',
563582
statesTheSet: true,
@@ -567,6 +586,8 @@ export const INSTRUCTION_SURFACES = [
567586
'Test Core',
568587
'Build Core',
569588
'Governed Surface Queue Guard',
589+
'Lint UI',
590+
'Build & E2E UI',
570591
],
571592
},
572593
{
@@ -595,6 +616,8 @@ export const INSTRUCTION_SURFACES = [
595616
// equal to the registry by the exclusivity rule in
596617
// judgeInstructionSurfaces — that makes the seat's copy non-optional.
597618
'Governed Surface Queue Guard',
619+
'Lint UI',
620+
'Build & E2E UI',
598621
],
599622
},
600623
{
@@ -617,7 +640,7 @@ export const INSTRUCTION_SURFACES = [
617640
* of the six surfaces have one; `AGENTS.md` does not, because a repo-root FILE
618641
* has no separator to be found by — so an AGENTS.md card derived this gate not
619642
* at all, while that surface is the one carrying `mustName` for every
620-
* required context (widened 2→6 by #9677, 6→7 by #17798, 7→5 by #22998). Editing the merge-queue
643+
* required context (widened 2→6 by #9677, 6→7 by #17798, 7→5 by #22998, 5→7 by #25853). Editing the merge-queue
621644
* paragraph there is precisely how this gate goes red, and it was reachable
622645
* only by judgment.
623646
*

0 commit comments

Comments
 (0)