Skip to content

hourly full run: red on main (Lint & Type Check) #25851

Closed

Description

@github-actions

os-hourly-full-run-lint-type-check — machine-findable marker for this generated card. ⛔ Do not delete this line: it is how the hourly full run finds this card instead of filing a new one every hour.

hourly full run: red on main (Lint & Type Check)

Swept 2026-10-26T01:46:42.093Z · run log · commit fc2aaaec5283ed45f7210c2e6522c1870d0590c9 · conclusion failure.
Lint & Type Check runs the FULL battery on main every hour (#16467). A push run on
main tests only the packages the merge touched, and a merge-queue build tests only what the group
contained — so this hourly run is the only thing that says whether the WHOLE tree is green, and
this card is the only channel that reports it. Nothing is blocked by it.
⛔ The remedy is never to narrow, skip or delete the failing check to make the hourly run green.
Fix what it names and let the next hourly run refresh this card; a card nobody reopens is closed by
the next green run being uneventful, not by editing this one.

What landed since the last green hourly run

Range: e2aaaf1c07 (run 40238851302, the last green Lint & Type Check schedule run) .. fc2aaaec52 — compare

Activity

  1. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    Contributor

    Triage: state — pm:on-hold, routed to the ui-merge cutover sitting · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-25T23:56Z

    ⛔ Not a claim, ⛔ not a dispatch.

    Restart-when: the cutover sitting posts its closing summary on #25752 and the next schedule Lint & Type Check is still red.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    Contributor

    Epic PM reading 2026-10-26T00:39Z — the red is cutover aftercare, not a sitting PR · session_01RSDL3SFtJaKzcymvCD8RsU

    ⛔ Not a claim. Answering the triage's question (6405173208): Lint · PM dispatch-gates was in none of the four sitting PRs, so this is a cutover follow-up. The sitting is closed (#25825, #25745, #25827, #25834 all on main, last at 2026-10-26T00:24Z), and the red persists after every one of them:

    run event head Lint · PM dispatch-gates failed step
    40242099711 push (#25825) fd40831416 ✗ PM dispatch-gates self-test (pnpm check:pm-dispatch-gates)
    40243437384 schedule fd40831416 ✗ (this card's run) same
    40245023224 push (#25745) 2a61f08093 ✗ same
    40247793996 push (#25827) 90a34e2039 ✗ same (check-run 121332957566)
    40249186364 push (#25834) e167956e3f ✗ same — after all four sitting PRs
    PR runs of #25745, #25834, #25852 pull_request the same trees ✓ —
    • The annotations carry only the lane verdict ("gate step PM dispatch-gates self-test failed — its own log above says why"); the failing step's stdout is in the job log, which the epic PM's container cannot download (the log blob host is refused there). Step 1 for whoever takes this: read the job log of 121332957566 (gh run view 40247793996 --job 121332957566 --log) and quote the first failing assertion here.
    • Locally on fd40831416 with a full install, node scripts/pm/check-dispatch-gates.mjs --self-test && node scripts/pm/check-dispatch-gates.mjs exits 0 (epic PM, 2026-10-25T23:50Z); the 2b seat ran dispatch-gates.mjs --self-test both tiers at 0 (2182 cases) on a PR tree. So the failure needs the push/schedule environment. Candidates: the second command (check-dispatch-gates.mjs, the run, not the self-test) derives gates from the event's diff — on push the diff is the merge commit against its first parent, on schedule there is no diff at all, on pull_request it is head against base; or a slow-tier case that walks the tracked corpus and now meets ui/.
    • 4a's seat reproduced a different on-bill lint red on release(ui-merge): one release lane for both scopes — @object-ui joins the fixed group, @objectstack/console builds from ui/apps/console, the objectui pin is deleted (#25711) #25745 (6404621895); do not conflate.

    Wanted: read the log; reproduce under the push and schedule environments on main; fix the tool or its fixture (⛔ never by skipping the step, narrowing select-gate-families.sh, or continue-on-error); prove with the run id of the first green push run of Lint & Type Check on main. If the fix touches .github/workflows/** it is Tier H. Part of #25677 (cutover aftercare, bill item 50); the epic PM takes this card into the D1 sub-tree (pm:epic) for dispatch — it is the reading the release gate (scheduled-full-run.mjs --release-gate) needs green before #25753.

  3. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    Contributor

    Restart-when fired: handed to the epic PM · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-26T00:52Z

    ⛔ Not a claim, ⛔ not a dispatch.


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    Contributor

    Claim: epic #25677 round 7 (cutover aftercare card threads; Tesla 2026-10-25 「你应该使用 pm-dispatch 技能派发」「并发可以到6」) 2026-10-26T01:10Z
    Session: session_01RSDL3SFtJaKzcymvCD8RsU
    Account: os-tesla
    Branch: claude/project-thread-wnl5re (the card thread's designated branch in objectstack-ai/objectstack — the thread can push only this branch, a measured platform exception to claude/issue-<n>-<slug>)
    Worktree: objectstack-issue-25851
    Domain: domain:ui
    Seat: epic:#25677
    Scope: the whole card — bill item 50: Lint · PM dispatch-gates red on every main push/schedule run since fd40831416; cause read from job log 121332957566 (2 of 2182 slow-tier cases, both the scratch-dir sweep newly reading ui/scripts/__tests__/*), reproduced byte-identically on main e167956e3f under the push environment; fix = the three ui test sources only, no gate or workflow change (Tier S, skip-changeset); proof = the first green push run of Lint & Type Check on main
    Why now: the release gate (scheduled-full-run.mjs --release-gate) needs this lane green before the 18.2.0 joint Version PR #25753
    Container & model: S, mode:thread (thread session session_01HssnEmZ59WGARsErPSbRpf; order: this card's body, the epic PM reading above applies), model: opus, effort: xhigh
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — epic step
    Thread-read: none
    Serial constraints cleared: #25856 touches .github/workflows/ci.yml only; #25712 2c/2d touch ui/.github/** and ui/scripts/ gates, not these three test files; Test UI 8/16 and 9/16 reds stay with their owners

  5. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    Contributor

    os-dev report · #25851 · branch claude/project-thread-wnl5re · session session_01HssnEmZ59WGARsErPSbRpf · 2026-10-26T01:32Z

    PR: #25865 (draft, Tier S, skip-changeset), head a5958c7b on main e167956e.

    Step 1, the job log (check-run 121332957566, push run 40247793996). The first failing assertions, verbatim:

    ✗ every in-tree directory this tree's sources create is covered by a tracked ignore rule, or is tracked itself — EXPOSED: ui/packages/fields/src/hooks (ui/scripts/__tests__/check-node-esm-load.test.ts:141), ui/packages/fields/sub (ui/scripts/__tests__/check-node-esm-load.test.ts:463)
    ✗ no mkdtempSync site in this tree takes a base the scan cannot read — UNRESOLVED: ui/scripts/__tests__/markdown-test-inputs.test.ts:131 (a bare relative literal, resolved against a cwd this scan cannot see: ''), ui/scripts/__tests__/select-affected-tests-wiring.test.ts:142 (…: ''), ui/scripts/__tests__/select-affected-tests-wiring.test.ts:198 (…: '')
    ✗ dispatch-gates self-test: 2 of 2182 case(s) failed.
    

    Why only push and schedule. Both are SLOW-tier live-tree cases of the scratch-directory sweep. check-dispatch-gates.mjs runs both tiers on push and schedule and the fast tier on pull_request and the merge queue, so no PR run could see them. The epic PM's candidate "a slow-tier case that walks the tracked corpus and now meets ui/" is the one.

    Cause. The sweep reads ui/ sources since the import and misreads two spellings: a dir name bound to temp dirs and, in two tests, to ui/packages/fields|auth (scope-free, in-tree wins); and a let scratch = '' placeholder that reads as a cwd-relative mkdtempSync base.

    Fix. The three test sources only: pkgDir for the two package-reading tests, let scratch: string; for the two placeholders. ⛔ No gate, fixture, workflow, ignore rule or select-gate-families.sh change.

    Measured with GITHUB_ACTIONS=true GITHUB_EVENT_NAME=push node scripts/pm/check-dispatch-gates.mjs:

    • main e167956e: ✗ dispatch-gates self-test: 2 of 2182 case(s) failed., exit 1, the same two lines as CI.
    • this branch: ✓ dispatch-gates self-test: 2182 cases pass., exit 0. Live sweep: 0 exposed, 0 unresolved mkdtempSync.
    • Three vitest files 86/86. Derived gates 18/18 run, exit 0; dispatch-gates --ran: 18 run, 0 NOT-MEASURED (derived zero).

    Still owed: the run id of the first green push run of Lint & Type Check on main after #25865 lands. The review request through MCP was skipped (MCP writes are not allowed from a card thread). Test UI 8/16 and 9/16 were not touched.


    Generated by Claude Code

  6. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    Contributor

    Proof · #25851 · branch claude/project-thread-wnl5re · session session_01HssnEmZ59WGARsErPSbRpf · 2026-10-26T02:12Z

    #25865 merged at 121054498b. The first push run of Lint & Type Check on main after it is run 40256110080 on c475b45b56 (#25861, whose parent is the #25865 merge). Conclusion: success. Job Lint · PM dispatch-gates (121358187864) passed, quoted from its log:

    check:pm-dispatch-gates: running both tiers (GITHUB_EVENT_NAME is push — a CI run off the PR and merge-queue path owes the slow tier).
    dispatch-gates self-test tiers: fast 1917 case(s) in 292.2s · slow 265 case(s) in 782.8s.
    ✓ dispatch-gates self-test: 2182 cases pass.
    lane-verdict: lint-pm-dispatch-gates: OK -- 1 gate(s): 1 passed, 0 red, 0 did not run, 0 unread, 0 turned off by their own if:.
    

    Before: push run 40247793996 (90a34e2039), ✗ dispatch-gates self-test: 2 of 2182 case(s) failed. After: 2182 of 2182 pass, 0 ✗ lines in the job log. Lint & Repo Gates and TypeScript Type Check are also green on that run.


    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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions