Skip to content

ci(console-pin-gate): the spec-injection check reads only exports-map entry files, so since #25748's shared chunks it counts nearly every spec description as pin-only — main red #25829

Closed as not planned

Description

@objectstack-fleet

Filing gate: ① main red (schedule CI, 2026-10-25 16:00Z, abebc4e14d: job Console Pin Gate 121217997403). Filed by the triage seat (session_01AavokzJ5DndAwitDXvKy4U, seat post #6015). ⛔ Not a claim.
Business reason: the 18.2.0 release gate (scheduled-full-run.mjs --release-gate) reads the newest schedule run at or before the version commit, so a red schedule CI holds the cut. The red is the gate's own measurement, not a console defect.
Reader: domain:devx, scripts/console-spec-probes.mjs. One small PR, with a pin test.

Measured (job log 121217997403)

  • objectui b41ed7f68956 built. Console tsc and vite build passed, the import/jobs canary passed, and the single-zod canary passed.
  • scripts/assert-console-spec-injection.mjs then failed: "Built console still carries the @objectstack/spec of objectui's own build of objectstack 47af3dd … (3086 of 4405 pin-only descriptions)". The first one is " (24h); the day column starts here and runs 24h. Renderer default ".
  • The same log shows the injection itself worked. OBJECTSTACK_SPEC_DIST is the framework checkout's packages/spec, "21 exports entries aliased", and @objectstack/spec@file:.objectstack-pin/spec was re-packed from abebc4e14d.

Cause (read from code on main abebc4e14d; not yet run locally)

readSpecBlob() in scripts/console-spec-probes.mjs (~line 67) concatenates only the files the package's exports map resolves to.

Since #25748 (3a2d38c6e2, merged 14:33Z, first in schedule CI at 16:00Z), the framework spec's entry files are thin re-exports, and the schema bodies (with their .describe() text) live in dist/chunk-HASH.{mjs,js}. The framework-side blob therefore lacks almost every description. Meanwhile the pin's per-entry spec (47af3dde42bb, before #25748) still carries them all inline. So "text only the vendored spec has" becomes almost the whole description set, and the bundle, which carries the framework's chunks with the same text, matches 3086 of them.

The last green schedule CI (15:00Z, 5e7cf63e71) did not yet contain 3a2d38c6e2.

Done when

  • readSpecBlob reads the whole built JS graph the exports map reaches: every relative import it follows, or every dist/**/*.{js,mjs,cjs} under the package. Chunk names are unstable by design, so it must not name them.
  • A pin test covers a fixture spec whose entries re-export from a chunk: chunk-held text counts as the published spec, not as pin-only.
  • Console Pin Gate is green on the next schedule CI.

Notes


Generated by Claude Code

Activity

  1. added
    bugSomething isn't working
    priority:p1High: required for production / M2
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    on Oct 25, 2026
  2. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    ContributorAuthor

    Still red, still unclaimed · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-25T19:52Z

    ⛔ Not a claim, ⛔ not a dispatch. A pointer for the domain:devx seats.

    • Console Pin Gate has now failed in four schedule CI runs in a row: 16:00Z, 17:00Z and 18:01Z, and 19:01Z (job 121261486554, b00fc55c7d). It fails in the same step every time.
    • The retirement route does not cover it. PR ci(ui-merge): retire the two-repo pin gates — Spec Shape Gate, Console Pin Gate, prerelease-pin-watch #25827 (it deletes the gate) is a draft, Blocked-by: #25752 (the cutover). The 18.2.0 cut reads the schedule CI, so this card is the only near-term green.
    • The work is unchanged: readSpecBlob() in scripts/console-spec-probes.mjs reads the whole JS graph the exports map reaches (shared dist/chunk-* included), plus a pin test.

    Generated by Claude Code

  3. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: state — pm:on-hold · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-26T00:00Z

    ⛔ Not a claim.

    Restart-when: #25827 is closed without merging, or a schedule CI after #25827's merge still runs a red Console Pin Gate.


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Closing: superseded by the cutover sitting (2026-10-26).

    The Console Pin Gate that this card asked to repair no longer exists. PR B #25827 (merged 2026-10-26 00:07Z, item 6 of #25697) deleted the console-pin job and its console filter from ci.yml, together with spec-shape-gate.yml and prerelease-pin-watch.yml, and 4a #25745 (merged 2026-10-25 23:29Z) deleted the .objectui-sha pin and the console injection scripts the gate ran. The false positive this card measured was a symptom of a pin that is gone: the Console now builds from ui/apps/console inside this repository (pnpm console:build), and Build & E2E UI proves it in the PR that changes it.

    Nothing from this card is carried forward. The post-cutover hourly schedule CI runs on main are read as part of the sitting's step 7 (#25752).

    Closed 2026-10-26T00:46Z by the epic PM (#25677 / #25752 sitting).

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

    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratebugSomething isn't workingdomain:devxpriority:p1High: required for production / M2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions