Skip to content

deps: bump objectui's @objectstack/* to 17.7.0 — eight held cards' conditions are met on npm, and objectui's lockfile still resolves 17.6.0 #11717

Description

@objectstack-fleet

Filing gate: ④ a coordination node. One change unblocks many held cards. Filed by the triage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015, session_01AavokzJ5DndAwitDXvKy4U) at the unlock scan after @objectstack/spec 17.7.0 reached npm (published 2026-10-06T12:22Z). objectstack-ai/objectstack#21352 merged at 2026-10-06T11:49Z, and the tag commit is 4e4e881427. The shape is objectui#11438's, the 17.6.0 bump. ⛔ Not a claim.

Why one card

These objectui cards are pm:on-hold on "an @objectstack/* release that carries X, and objectui resolves it". Each X was tested against the 17.7.0 tag commit 4e4e881427 with git merge-base --is-ancestor.

card its condition 17.7.0
objectui#11649 carries f5b8e29e37 (PR objectstack-ai/objectstack#21890) ✅ in tag
objectui#11645 carries 48297ad980 (PR objectstack-ai/objectstack#21833) ✅ in tag
objectui#11545 carries 6dd99b82c3 (PR objectstack-ai/objectstack#21566) ✅ in tag
objectui#11439 carries 39119014dc (PR objectstack-ai/objectstack#21344) ✅ in tag
objectui#11428 carries dcc5ef4c5a (PR objectstack-ai/objectstack#21256) ✅ in tag
objectui#11389 carries 99e1912afc (PR objectstack-ai/objectstack#21342) ✅ in tag
objectui#11334 (p1) carries 32d5769080 ✅ in tag
objectui#11417 carries 32d5769080 ✅ in tag

Not released by 17.7.0: objectui#11168 (it waits on a maintainer ruling), objectui#10971 (a producer measurement), objectui#6152, objectui#5144, objectui#3592 and objectui#2763 (each waits on something other than a release).

objectui origin/main still declares "@objectstack/spec": "^17.6.0" in packages/types/package.json, and pnpm-lock.yaml resolves @objectstack/[email protected] (read at filing). Every row above names "objectui resolves it" as half its trigger. Eight claimants each bumping the lockfile would collide, so this card does it once.

The change

  • Update objectui's @objectstack/* dependencies to 17.7.0, and regenerate pnpm-lock.yaml with the repository's own tooling. ⛔ Never edit it by hand.
  • Where a package will import a 17.7.0-only export, raise that package's declared floor (^17.7.0). The consuming card may do this instead: say which in the PR.
  • The mirror rides this PR. objectui#11334's placement ruling (5956401275) says the PR that bumps @objectstack/spec carries the mirror, re-attaching checkDashboardWidgetChartMeasureArity under its new name by import. objectui#11417 closes with it. ⛔ No second copy of the check.
  • Run the full gate set. 17.7.0 also carries changes objectui did not ask for. A gate that goes red on one is fixed here if it is mechanical, and reported here by row if it is not.

One red the bump will meet, by design

This is from the cross-lane memo of domain:spec @ objectui (objectstack-ai/objectstack#6015, comment 6016611286).

  • objectui#11624 (landed as 1c2e2c46) pins sortField on the object-master-detail-form details entry as accepted. 17.7.0 carries 6ec54f00, which retires that key, so those rows go red at the bump.
  • The bump flips them to refused, with the spec's retired-key message. It also updates the prose that calls the retirement unreleased:
    • the MasterDetailDetailConfig docblock in MasterDetailForm.tsx;
    • the header of masterDetailDetailsMembers-8071.test.tsx and the header of the types pin;
    • the details registration description in plugin-form's index.tsx;
    • the console parity row object-master-detail-form.details.

After it lands

Each row above then has its Restart-when: met. Triage's next unlock scan releases each hold, after re-reading its own condition on the merged ref. ⛔ No hold is released by this card's own act.


Generated by Claude Code

Activity

  1. added
    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repo
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    and removed on Oct 6, 2026
  2. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 (maintainer direct dispatch)
    Session: session_01XgevVHGcN8dnegiiY3v75V
    Account: os-support-ai (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-11717-objectstack-17-7-0
    Worktree: objectui-issue-11717
    Domain: domain:devx
    Seat: domain:devx#2 (objectui#10917, round-open marker 6019163160)
    File surface: the @objectstack/* ranges in objectui's package.json files, and pnpm-lock.yaml regenerated by the repository's own tooling (⛔ never by hand). The card's three named riders: the objectui#11334 mirror in packages/types/src/zod/complex.zod.ts, with its census row in spec-object-refinements-7715.test.ts and the three OWED TO objectui#11334 bookings it strikes; objectui#11417's single-series arm pin; the objectui#11624 sortField flips in the five places the card lists. Plus the mechanical fixes for gates that 17.7.0 turns red, each named by row in the PR. A non-mechanical red is reported by row, not fixed. Stop on breach and explain in the report.
    Container & model: M, mode:subagent, model: opus (default tier; dispatch-gates --tier --repo objectstack-ai/objectui printed "no path-derived mandate")
    Clause-②: yes
    Thread-read: none
    Serial constraints cleared: PR objectui#11721 (objectui#11686) also edits pnpm-lock.yaml and packages/plugin-tree/package.json. That is ordinary concurrency: the later lander merges main and regenerates the lockfile with tooling. PR objectui#11600 is the release PR, and PR objectui#11069 (objectui#5250, parked) touches none of this surface. All eight held cards in the body are pm:on-hold with no assignee, so none is in flight. pnpm-lock.yaml is not a SINGLE_CLAIM_PATHS entry.

    Clause-② amended from no to yes by this seat, after report 6024525892. The claim delegated the answer to the dev's measurement on the built declaration closure of @object-ui/types. Report 6024525892 and PR objectui#11742 measure yes: the emitted zod declarations inline 17.7.0's shapes, and four .d.ts files differ in declarations; the two chained checks also narrow the runtime accept set. An at-tier contract review is owed before landing, and it is running.

    Authority. The maintainer's words in this seat's session chat, verbatim: 「11717 最优先」 and 「11717 如果衍生出相关的阻塞卡片,你也负责派发处理」. Cards derived from this one that block it are dispatched by this seat, each with its own claim.

    Placement rulings carried in: objectui#11334 5925828806 (triage: the PR that bumps @objectstack/spec carries the mirror) and 5956401275 (chain the renamed checkDashboardWidgetChartMeasureArity). Precedent: objectui#11438 (17.6.0), rulings A′ 5965062249 and A″ 5968177777.

    Stamp: 2026-10-06T15:08Z · read against objectui origin/main 7300fca; npm @objectstack/spec latest = 17.7.0 (published 2026-10-06T12:22Z), and the lockfile resolves 17.6.0


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    This amends my filing body above. Its "Not released by 17.7.0" line lists objectui#6152, and that is wrong. objectui#6152's condition is an @objectstack/spec release on npm that refuses resizableColumns on object-grid. 17.7.0 does: measured at this write, with { resizable: true } as the lit control. So objectui#6152 waits on this card, like the eight rows in the table.

    Triage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-06T16:20Z. ⛔ Not a claim. ⛔ No scope change for the claim 6019218018.

    • For this PR: nothing new to do. objectui#6152's four strokes stay on objectui#6152, which is claimed afresh after this card lands.

    • A pointer for the claimant: objectui#6152's comment 5961014236 lists, as measured at pin 89cad75d55, the objectui places that 17.7.0's object-grid row (PR feat(spec)!: an object-grid page block types the seven members the grid reads, and resizableColumns retires for resizable (#21445) objectstack#21463) turns red:

      • operations, which becomes strict: read and import are refused, the root README.md example included;
      • conditionalFormatting;
      • apps/console's registry-inputs-spec-parity.test.ts row for object-grid.resizableColumns.

      This card's own rule covers them: fix a mechanical red here, and report a non-mechanical one by row.

  4. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 11717,
      "status": "done",
      "branch": "claude/issue-11717-objectstack-17-7-0",
      "pr": "https://github.com/objectstack-ai/objectui/pull/11742",
      "session": "session_01XgevVHGcN8dnegiiY3v75V",
      "premise_still_valid": true,
      "summary": "pnpm-lock.yaml resolves @objectstack/* 17.7.0 (pnpm-only regeneration, census: only the seven packages move). The card's three riders are done: the objectui#11334 mirror (checkDashboardWidgetChartMeasureArity chained by import, the census row named, and all three OWED TO objectui#11334 bookings struck by flipping rows to the refusal), objectui#11417's single-series arm pinned, PR objectui#11433's door assertions flipped, DASHBOARD_WIDGET_MULTI_MEASURE_TYPES imported in place of a restated list, and the objectui#11624 sortField rows flipped to refused with the spec's retired-key message, with prose updated in the five places. Every other gate 17.7.0 turned red was fixed here as mechanical, by row; checkPageRequiresKind was attached under ruling B1. One red stays, and it is not mechanical: check:eager-closure (Bundle Analysis), vendor-objectstack +182,909 gzip bytes over main's control. Floors: @object-ui/types ^17.7.0, @object-ui/plugin-dashboard ^17.6.0. Clause-②: measured yes.",
      "tests": "(1) Full root suite under the lock on the lockfile-only commit 60ed1ad: Test Files 24 failed | 4458 passed | 7 skipped (4489); Tests 41 failed | 60842 passed | 359 skipped (61242). All 24 are rows in the PR. (2) Full root suite under the lock on the PR head 50ed869: Test Files 4 failed | 4494 passed | 7 skipped (4505); Tests 5 failed | 61065 passed | 359 skipped (61429). Two are CI shard 7's rows, fixed in c7bbce48 (twins-spec-by-reference-9736 Page control; exclusion-reason-truthfulness vacuity row). Two are not this branch's: record-details.hideFieldsUncast-9965 timed out at 15000ms under full load and passes alone; date-only-zone-pins-10183 fails only with this worktree's vitest results cache present. Moving node_modules/.vite/vitest/.../results.json aside, the same head passes 27/27, and a control worktree at main 02a38967 passes 27/27. (3) After the fixes: packages/types/ + app-shell previews/ + the two files, 456/457 files green, the date-zone file red with the cache; the three changed or timed-out files rerun 24/24 green. (4) PR CI on 50ed869: 39 success, 3 failure (Test shard 7/8 with its Test aggregate, Bundle Analysis), 3 skipped. Spec Main Shape Gate, Lint, Type Check, Build & E2E, Live E2E (informational, backend 17.7.0) and the other 7 shards are green. CI on c7bbce48 at report time: 24 success, 17 in_progress, 3 skipped, 0 failure. The CI state is in_progress. No ablation was owed: the reverse proofs are the census and cap rows themselves, which went red on the bump-only tree and green with the mirror.",
      "gates": [
        {
          "cmd": "pnpm install --frozen-lockfile (engine-strict, merged head 25251a80)",
          "exit": 0
        },
        {
          "cmd": "pnpm install (lockfile byte-identical after)",
          "exit": 0
        },
        {
          "cmd": "turbo run build --filter=!@object-ui/site --concurrency=2 (25251a80, 43/43)",
          "exit": 0
        },
        {
          "cmd": "turbo run type-check --concurrency=2 --continue (81/81, on 47b0ff99's tree)",
          "exit": 0
        },
        {
          "cmd": "turbo run lint --concurrency=2 --continue (47/47, 0 errors; 50ed869)",
          "exit": 0
        },
        {
          "cmd": "pnpm exec vitest run (full, 60ed1ad bump-only)",
          "exit": 1
        },
        {
          "cmd": "pnpm exec vitest run (full, 50ed869)",
          "exit": 1
        },
        {
          "cmd": "vitest targeted reruns after fixes (c7bbce48 tree)",
          "exit": 0
        },
        {
          "cmd": "check:lockfile-integrity",
          "exit": 0
        },
        {
          "cmd": "check:lockfile-dedupe",
          "exit": 0
        },
        {
          "cmd": "check:spec-floors",
          "exit": 0
        },
        {
          "cmd": "check:spec-symbols",
          "exit": 0
        },
        {
          "cmd": "check:installed-pin-claims",
          "exit": 0
        },
        {
          "cmd": "check:component-surface-parity (report-only)",
          "exit": 0
        },
        {
          "cmd": "check:doc-snippets",
          "exit": 0
        },
        {
          "cmd": "check:doc-types",
          "exit": 0
        },
        {
          "cmd": "check:doc-examples",
          "exit": 0
        },
        {
          "cmd": "check:readme-exports",
          "exit": 0
        },
        {
          "cmd": "check:new-line-citations",
          "exit": 0
        },
        {
          "cmd": "check:control-bytes",
          "exit": 0
        },
        {
          "cmd": "check:test-path-roots",
          "exit": 0
        },
        {
          "cmd": "check:changeset-claims",
          "exit": 0
        },
        {
          "cmd": "check:pending-changeset-literals",
          "exit": 0
        },
        {
          "cmd": "node scripts/check-changeset-presence.mjs",
          "exit": 0
        },
        {
          "cmd": "node scripts/check-changeset-no-major.mjs",
          "exit": 0
        },
        {
          "cmd": "check:eager-closure",
          "exit": 1
        },
        {
          "cmd": "check:eager-locale-catalogues",
          "exit": 0
        },
        {
          "cmd": "check:skill-examples / prompt-keys / sdui-registration-pins / i18n-keys / i18n-drift / i18n-dead-keys / action-forward-parity / designer-field-key-parity / phantom-deps / unused-deps / registry-bare-names / handler-key-reads / metadata-write-doors / doc-fences / doc-example-ids",
          "exit": 0
        }
      ],
      "line_budget": {
        "additions": 942,
        "deletions": 574,
        "files": 85,
        "against": "merge-base 02a38967 (GitHub reads the same on the PR at c7bbce48); under the 5,000 human-merge line"
      },
      "files_changed": 85,
      "eager_closure_measurement": {
        "instrument": "the console build's apps/console/dist/eager-closure.json (emitEagerClosureReport, gzipBytes per eager chunk), read by pnpm check:eager-closure; control = main 02a38967 built with turbo run build --filter=@object-ui/console... in its own worktree (spec 17.6.0); head = 25251a80 (shipped source identical to c7bbce48), same command family; 331 eager chunks on both",
        "chunk_rows_gzip_bytes": [
          {
            "chunk": "vendor-objectstack",
            "control": 1421565,
            "head": 1604474,
            "delta": 182909
          },
          {
            "chunk": "ui-components",
            "control": 282560,
            "head": 282557,
            "delta": -3
          },
          {
            "chunk": "framework",
            "control": 74652,
            "head": 74670,
            "delta": 18
          },
          {
            "chunk": "src",
            "control": 176055,
            "head": 176052,
            "delta": -3
          },
          {
            "chunk": "i18n-locale-en",
            "control": 44497,
            "head": 44525,
            "delta": 28
          },
          {
            "chunk": "everything else (326 names)",
            "control": 1406387,
            "head": 1406376,
            "delta": -11
          },
          {
            "chunk": "aggregate",
            "control": 3405716,
            "head": 3588654,
            "delta": 182938
          }
        ],
        "ceilings_that_fired": "MAX_EAGER_CLOSURE_GZIP_BYTES 3,410,284: head over by 178,370. PER_CHUNK_GZIP_CEILINGS vendor-objectstack 1,439,157: head over by 165,317 (PER_CHUNK_BASELINE 1,420,958). ui-components, framework and i18n-locale-en pass. The control passes all of them, with 4.5 KB aggregate headroom.",
        "attribution_below_chunk": "Instrument: raw and gzip-9 byte sizes of each ESM entry file in the installed @objectstack/spec 17.7.0 against the npm 17.6.0 tarball. Gzip deltas for the entries objectui's shipped code imports: shared +152,445 (raw +522,843; same 79 exports, while the bundle inlines 71 more strictObject( and 58 more lazySchema( call sites); browser (root) +66,383; browser/system +61,940; ui +42,688; browser/kernel +23,229; api +17,065; browser/data +11,196; ai +3,004; identity +956; security +355; contracts +115; automation -862. migrations grew +203,315, but no shipped objectui import names it (only tests do). Other @objectstack packages are small by comparison: lint +9,125, types +6,089, core +1,497, formula +929, client 0, sdui-parser -33. Prose proxy: 211 long string literals (80 chars or more) new in 17.7.0 are found in the head vendor chunk, 57,905 chars, about 19,830 gzip bytes on their own, roughly 11% of the growth.",
        "not_measured": "Which entries and modules the vendor chunk actually keeps after tree-shaking: the build emits no module-level sizes or sourcemaps for the chunk. So the split of the remaining growth, about 163 KB gzip, is NOT MEASURED. Whether any of it is code the first screen does not need, a lazy-load candidate on the objectui side versus a payback on the objectstack side, is also NOT MEASURED. The shared entry's growth behind an unchanged export list is the strongest objectstack-side payback lead.",
        "handling": "Left red. MAX_EAGER_CLOSURE_GZIP_BYTES, BASELINE, PER_CHUNK_BASELINE and the headroom constants are untouched, per the PM's guidance and the 11088 precedent (raised only on an explicit maintainer ruling)."
      },
      "clause_2": "yes, by measurement. The @object-ui/types dist .d.ts files were compared, with comments dropped and line order ignored, between main 7300fca (spec 17.6.0, its own worktree) and this branch (17.7.0). 13 files differ, and 4 differ in declarations: zod/index.zod.d.ts (2,498 lines), zod/objectql.zod.d.ts (3,324), zod/public-blocks.zod.d.ts (374) and zod/layout.zod.d.ts (54). The emitted zod declarations inline spec shapes in both directions: typed action:group / action:menu members, new enum members (new-tab, separator-before), new optional keys (ast, bodyExtra), and ai:chat_window leaving the page component type unions. The two chained checks also narrow the runtime accept set. The claim said Clause-② no, and the PR body carries yes.",
      "mcp_calls": "0",
      "api_writes": "3 relay strokes, each sent as POST /repos/objectstack-ai/objectstack/dispatches and executed as objectstack-fleet[bot]: (1) pr_create, POST /repos/objectstack-ai/objectui/pulls (draft #11742); (2) label-write assign, POST /repos/objectstack-ai/objectui/issues/11742/assignees (os-support-ai); (3) this os-dev-report comment, POST /repos/objectstack-ai/objectui/issues/11717/comments. git push is not counted. Reads used unauthenticated REST through the proxy.",
      "open_questions": [],
      "deviations": [
        "PR body and later measurements: the PR body is written once, at creation. It records the full-suite run as NOT MEASURED at PR open, and the eager-closure row in KB only. The byte-precise chunk table, the attribution and the head full-run reading are in this report. If the PR body should carry them, the seat pastes eager_closure_measurement into the Still red row, and the tests line into Tests.",
        "Clause-② is the measured yes, not the claim's no. The dispatch made the measurement decide.",
        "objectui#11334's one-dimension pie control: 17.7.0 refuses that pie through the single-series arm, so it cannot parse. The control is stated per arm: no dimensionless-arm issue on it, and a two-measure radar with one dimension parses on both faces.",
        "objectui#11396's pin said to drop the Omit on MasterDetailDetailConfig at this bump. The Omit is kept, because the 17.7.0 entry still lists sortField as a tombstone. The card lists prose only.",
        "Zone 3's owner-card searches were not run: this dev's contract leaves dedupe to the seat. Dedupe words are listed below.",
        "The verify lock was used for build, test, type-check and lint, as objectui AGENTS.md requires, although the dispatch said it does not apply.",
        "main moved again by 9 commits after the 25251a80 merge. The PR reads mergeable_state behind, and it was not re-merged. The queue rebuilds on main.",
        "One local full run was taken on the PR head, before the PM's guidance arrived, and it measured the same head CI did. None was started after."
      ],
      "out_of_scope_findings": [
        "class: none of a/b/c (reported by row on the PR, not red) · carrier: objectui#6152 (triage 6020673439) · 17.7.0 types object-grid operations (strict, no read / import), conditionalFormatting (the list view's rules), and the object-calendar / object-kanban filter (rule array). objectui's renderers, mirrors, root README Data Grid example and several console parity pins sentences still accept or describe the older shapes; no test went red · dedupe words: object-grid operations read import, conditionalFormatting list view rules 17.7.0",
        "class: none (difference, reported by row) · carrier: objectui#8651 lane, for the seat · ObjectCalendarSchema.calendar keeps .passthrough() while the 17.7.0 spec slot is strict, so objectui admits an unexamined key the spec refuses (the forbidden direction of objectui#8327). The docblock now says so; following the spec by reference would narrow a published door · dedupe words: object-calendar calendar slot passthrough strict 17.7.0",
        "carrier: none · noted, not filed · scripts/__tests__/date-only-zone-pins-10183 goes red when a worktree's vitest results cache orders files so that a forked child carries TZ from an earlier pin into FormulaFunctions.dateOnlyZone-10866's UTC control (expected 03:00, got 11:00, Asia/Shanghai). The same head passes 27/27 with the cache moved aside; CI is green. No reach: field (test harness only) · dedupe words: date-only zone pins TZ leak forks child vitest cache order",
        "carrier: none · noted, not filed · ActionDef declares requiresFeature but not its 17.7.0 sibling requiresMembershipReach (both are lowered into visible by the spec's parse). It is inventoried only; whether the runner should read the raw key is unmeasured · dedupe words: requiresMembershipReach ActionDef"
      ],
      "leads_measured": "A1 confirmed (seven packages at 17.7.0 on npm, latest 17.7.0). A2 confirmed (ancestor exits: 0 for 32d5769080 / 6ec54f00 / 11d28c17df in 4e4e881427; 1 for 32d5769080 / 6ec54f00 in 617f25f8a4, with the root commit as the control leg at 0). A3(a) disproved (doc-snippets 782/782). A3(b) confirmed as a not-red difference. A3(c): no stale ledger (11344 booking: 0 hits; 11068: struck on main; 11536: still booked, parity green). A4: objectui#11334 and objectui#11417 complete, so Fixes lines for both. A5: types ^17.7.0, plus plugin-dashboard ^17.6.0 by spec-floors. A6: Clause-② yes.",
      "cleanup": "Control worktrees objectui-issue-11717-base and objectui-issue-11717-ctl removed (node_modules first, no --force). The work worktree /home/user/objectui-issue-11717 is kept, because the PM may continue this branch. No dev server or monitor was started.",
      "ci_state": "in_progress on c7bbce48 (24 success, 17 in_progress, 3 skipped at report time); Bundle Analysis is expected red (the eager-closure row)"
    }

    Session: https://claude.ai/code/session_01XgevVHGcN8dnegiiY3v75V


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    [待裁] 17.7.0 升级让 console 首屏多加载约 179 KiB(gzip),超出性能预算:按 17.5.0 先例借额度先落地,还是先瘦身?

    domain:devx @ objectui 席 2(session_01XgevVHGcN8dnegiiY3v75V)· 2026-10-06T20:14Z

    维护者速读

    • 一句话问题:把 objectui 升到 @objectstack/* 17.7.0 后,用户每次打开 console 首屏要多下载约 179 KiB(gzip,首屏总量约 3.4 MB 的 5%)。这超出了 console 的首屏性能预算,CI 的 Bundle Analysis 因此红着。其余 41 项检查已绿或在跑,开发 agent 能修的红都已修完。
    • 席位意见:荐 A,即照 17.5.0 先例(objectui#11088,你批的「11088 同意」)在本 PR 里抬高预算,同时立回收卡,回收落地后预算按回收量降回来。
    • 你要做的:回一行,例如「11717 A」。

    背景与实测

    • PR objectui#11742(head c7bbce48)已完成本卡全部机械工作:锁文件升到 17.7.0;objectui#11334 的镜像与 objectui#11417 的单序列分支已接上;objectui#11624 的 sortField 已翻转;另修了 17.7.0 带来的十几处机械红。开发 agent 的报告是 6024525892。
    • 唯一不能机械处理的红:console 首屏加载的总包体(eager closure)超预算。
      • CI 日志读数:BUDGET_CLOSURE_GZIP_KB: 3504.6,预算 3330.4。main 上同一检查是绿的。
      • 开发 agent 实测(对照 main 02a38967,同一构建命令):增量全部落在 vendor-objectstack 这一块,+182,909 字节;其余 330 块合计净变化约 0。
      • 增量来源(开发 agent 对比 npm 上 17.6.0 和 17.7.0 两个版本各入口文件的 gzip 字节):@objectstack/spec 的 shared 入口 +152,445,导出名单没变,增长来自更多严格 schema(多出 71 处 strictObject(、58 处 lazySchema();其次是根入口 +66,383、ui +42,688。
      • 未测量:摇树之后到底留下了哪些模块;其中哪些是首屏用不到的。
    • 多出的字节换来什么:console 在编辑时的校验与 17.7.0 服务端一致。图表度量数、退役的 sortField、页面 requires 要求有 kind、element:text 退役的标题变体、审批节点配置、一批 object-* 成员收紧,都会当场拒收,作者或 AI 不会写出保存时才被服务端拒的元数据。同时解锁 9 张在等这次升级的卡(卡正文表里 8 张,加上分诊 6020673439 更正的 objectui#6152),本 PR 顺带关掉 objectui#11334 与 objectui#11417。

    Governing text

    • scripts/check-eager-closure-budget.mjs 头部「Raising it」节:「Re-baselining is legitimate — it is how a ratchet advances — but it is a DECISION, so make it visible: update the constant, update the measured figure in the prose attached to it, and say in the PR what the added bytes buy.」
    • 同文件「RAISED A THIRD TIME, ON EXPLICIT MAINTAINER RULING (objectui#11088; objectui#11073)」:每次抬高都出自维护者明确裁定。
    • 先例裁定 5890854293(objectui#11088,本趟已取回):「The ceiling and the headroom assertion … are raised to the new baseline in the same commit …, the PR body states what the 413.8 KB gzip buys …, and two payback cards are filed in the same stroke. The upgrade lands now. Precedent: objectui#5531」。

    前提(各带复核命令)

    • P1:本 head 的 Bundle Analysis 因 eager-closure 预算失败。复核:GET /repos/objectstack-ai/objectui/commits/HEAD_SHA/check-runs?check_name=Bundle%20Analysis 看 conclusion,再读 job 日志 grep BUDGET_CLOSURE_(日志须走 MCP get_job_logs)。
    • P2:main 上同一检查是绿的。复核:对 main 现 head 发同一请求(席位读到 d39ac2e5 为 success)。
    • P3:增量全在 vendor-objectstack。这是开发 agent 的实测,席位未重测。复核:两棵树各自构建 console,比对 apps/console/dist/eager-closure.json。

    选项 × 真实代价

    选项 做什么 用户可感知的后果
    A 借额度先落地 本 PR 同一提交里抬高总预算、vendor-objectstack 分块预算与 BASELINE,余量照旧是半个回归量;PR 写明多出的字节换来什么;同笔立回收卡(objectstack 侧:spec shared 入口在导出不变时涨了 152 KB gzip;是否要 objectui 侧的卡由实测决定) 首屏今天就多 179 KiB;编辑校验立刻与服务端一致;9 张卡解锁。回收卡落地后,预算按回收量降回
    B 先瘦身再升级 PR 停在草稿;先在 objectstack 侧把 spec 入口减下来,发新版本后再升级 首屏不变大;但 console 继续按 17.6.0 校验,作者写出服务端会拒的元数据,保存时才报错;9 张卡继续等
    C objectui 侧懒加载 先把 spec 校验移出首屏再落地 能救回多少未测量;17.5.0 那次读源码的结论是大头在 spec 入口里,console 侧懒加载救不回大部分

    业务含义直译:A = 先赊账把新货上架,账单和还款计划同时写好;B = 等供应商把包装改小再上货,这期间货架上是旧版;C = 自己拆包装重装,省多少不知道。

    四轴(业务立场)

    • 项目长远合理性:A 是带具名还款卡的借贷,先例两次都还了(objectui#11101、objectstack#20646 落地后预算两次下调);B 让 console 与服务端的校验长期不一致;C 是消费端绕行,收益未测。
    • 实际业务拉动:9 张卡在等这次升级(实测于本卡正文与分诊更正);你点名「11717 最优先」。
    • 防 AI 犯错:A 让 AI 在 console 写元数据时当场被拒(响亮);B、C 拖期间,AI 在 console 里写出的是服务端保存时才拒的文档(编辑期静默)。
    • 创业阶段不扩散:A 只按裁定改既有门禁的参数,不新增门禁也不加豁免;C 要多一套懒加载结构。

    os-decision-facets
    ① 项目长远合理性:A 借额度带具名回收卡,先例两次回收兑现;B 拉长前后端校验分歧;C 消费端绕行,收益未测。
    ② 实际业务拉动:9 张卡等升级(实测);维护者点名最优先。
    ③ 防 AI 犯错:A 编辑期响亮拒收;B/C 期间 console 静默接受服务端会拒的文档。
    ④ 创业阶段不扩散:A 只改既有门禁参数,不加门禁不加豁免;C 新增懒加载结构。
    Prior rulings read: eager-closure budget raise → objectui#11088 5890854293(A),objectui#5531(gate header 引用,未逐字取回); ADR none; thread: 本卡 6024525892 6020673439

    推荐:A,回退 B。只看①选 A;②③④ 是否翻转:否。
    置信缺口:摇树后留在首屏的具体模块未测量,所以回收卡能收回多少未知;首屏是否真需要这些 schema 也未测量。

    裁后执行

    • 裁 A:
      • 本席续派同一个开发 agent:合并最新 main;在一个提交里改 MAX_EAGER_CLOSURE_GZIP_BYTES、BASELINE、PER_CHUNK_BASELINE,头部按 11088 的格式写明分块表、换来什么与回收卡号;
      • 本席立回收卡:objectstack 侧 spec shared 入口体积;objectui 侧仅在实测指向时立;
      • 契约复核(达档)覆盖落地 head 后,翻 ready、入队。
    • 裁 B:本卡转 pm:blocked,Blocked-by: 指向新立的 objectstack 瘦身卡;PR 保持草稿。
    • 裁 C:本席续派开发 agent 先测量可懒加载的量,按读数回报。

    本笔状态:pm:dispatched → needs-user-decision。认领、assignee 与 PR 都保留;PR 保持草稿。在途的达档契约复核照常进行。


    Generated by Claude Code

  6. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    ✅ ACCEPT (work as delivered): PR objectui#11742 at c7bbce48. Landing waits on the maintainer's ruling 6024630321

    domain:devx @ objectui seat 2 · session_01XgevVHGcN8dnegiiY3v75V · 2026-10-06T20:25Z. Reviewed against GitHub, not against the report (6024525892).

    Checklist

    • Shape: draft PR to main; the first line references the card. The closing lines are Fixes #11717, Fixes #11334 and Fixes #11417, and the body has no other closing keyword. objectui#11334's scope (chain, census row, import list, pie pin) and objectui#11417's remaining item (the single-series arm) are both completed in the diff.
    • Scope: 85 files, +942 / −574 (pulls/11742), under the 5,000-line human-merge line. No path under .claude/**, skills/**, docs/adr/**, AGENTS.md, CLAUDE.md, .github/** or content/docs/releases/**. The mirror is chained by import in packages/types/src/zod/complex.zod.ts, with no second copy (diff read).
    • Changesets: nine, none major. @object-ui/types is minor for the two narrowings, which matches Clause-②: yes. Zero-release edits ride the empty-frontmatter 11717-bump-prose.
    • CI on c7bbce48: 41 success and 3 skipped by design (push-only coverage, actor-gated dependabot). Lint, Type Check, Spec Main Shape Gate, all eight Test shards and Build & E2E are green. The 1 failure is Bundle Analysis, the non-mechanical row (PR comment 6024667002).
    • Contract review: at-tier record 6024785014 on the PR, PASS at c7bbce48. Clause-② is a measured yes, and the claim line is amended to match.
    • Deviations accepted: the one-dimension pie control stated per arm (17.7.0 refuses that pie through the single-series arm); the Omit kept on MasterDetailDetailConfig (the 17.7.0 entry still lists the tombstone).

    Out-of-scope findings

    • object-grid / object-kanban / object-calendar 17.7.0 shape moves (operations, conditionalFormatting, filter): Acceptance notes, carrier objectui#6152 (triage 6020673439).
    • ObjectCalendarSchema.calendar keeps .passthrough() while the 17.7.0 slot is strict: carrier objectui#6152. The card the dev named, objectui#8651, is closed. A pointer comment on objectui#6152 is posted at landing, when the divergence reaches main.
    • date-only-zone-pins-10183 red only with a local vitest results cache: dropped. Every CI shard is green on this head, and it has no reach beyond a local cache.
    • ActionDef lacks requiresMembershipReach: dropped, because no reach: was measured (the spec's parse lowers it into visible).

    Landing route

    • Ruling A: the same dev continues on this branch. It merges main, then raises MAX_EAGER_CLOSURE_GZIP_BYTES, BASELINE and PER_CHUNK_BASELINE in one commit in the objectui#11088 shape. The seat files the payback card(s). A contract review covers the landing head. Then ready, then auto-merge.
    • Ruling B or C: per decision request 6024630321.

    Generated by Claude Code

  7. objectstack-fleet commented on Oct 7, 2026

    @objectstack-fleet
    ContributorAuthor

    Ruling: A. The maintainer's answer to decision request 6024630321

    domain:devx @ objectui seat 2 · session_01XgevVHGcN8dnegiiY3v75V · 2026-10-07T00:19Z

    • Provenance: the maintainer, in this seat's session chat. They first asked 「11742 红了,什么情况」, and the seat answered with the decision put as a question with options A, B and C. The maintainer selected, verbatim: 「A 抬预算+回收卡 (Recommended)」.
    • Freshness gate: no comment on this card after the seat's ACCEPT 6024824834. The decision request 6024630321 is the latest statement of the question.
    • Ruled: the eager-closure ceiling (MAX_EAGER_CLOSURE_GZIP_BYTES), BASELINE and the vendor-objectstack row of PER_CHUNK_BASELINE / its per-chunk ceiling are raised in one commit of PR objectui#11742, in the objectui#11088 shape:
      • the header names this ruling;
      • the header gives the chunk table (control vs head, instrument named) and what the bytes buy;
      • the headroom stays half of REGRESSION_THIS_GATE_MUST_CATCH_BYTES.
        A payback card is filed in the same stroke. When it lands, the ceiling and BASELINE come down by the amount it recovers.
    • Not taken: B (hold the bump until the spec slims) and C (an objectui-side lazy load whose yield is unmeasured).
    • State: needs-user-decision → pm:dispatched in this act. The claim, the assignee and PR objectui#11742 are unchanged.
    • Next: the same dev continues on claude/issue-11717-objectstack-17-7-0. It merges main (13 commits behind), re-measures on the merged head, and raises the constants. An at-tier contract review then covers the landing head, and the PR goes ready and to auto-merge.

    Generated by Claude Code

  8. objectstack-fleet commented on Oct 7, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 11717,
      "round": 2,
      "status": "done",
      "branch": "claude/issue-11717-objectstack-17-7-0",
      "pr": "https://github.com/objectstack-ai/objectui/pull/11742",
      "session": "session_01XgevVHGcN8dnegiiY3v75V",
      "premise_still_valid": true,
      "summary": "Round 2 carried out ruling A (6027998226, verbatim 「A 抬预算+回收卡 (Recommended)」, answering decision request 6024630321). (1) origin/main 9b673e54 was merged as a merge commit, c1e32e96. git merged it with no conflict, the lockfile included. pnpm install --frozen-lockfile exits 0. The 43 test files the merge brought in pass against 17.7.0, so the merge brought no new red to fix. (2) The eager closure was re-measured on c1e32e96 against a 9b673e54 control built the same way in its own worktree. Aggregate +183,008, of which vendor-objectstack is +182,909. (3) One commit, b680973f, raises the line in the objectui#11088 shape. BASELINE goes to 3,591,028 over 331 of 2451 chunks on c1e32e96. MAX_EAGER_CLOSURE_GZIP_BYTES goes from 3,410,284 to 3,637,000 (baseline + 45,568, rounded to the thousand; headroom 0.50x). vendor-objectstack's PER_CHUNK_BASELINE goes from 1,420,958 to 1,604,474 and its ceiling from 1,439,157 to 1,623,000 (0.20x). A new header section, 'RAISED A FOURTH TIME, ON EXPLICIT MAINTAINER RULING (objectui#11717)', carries the ruling, the chunk table with both commits and the instrument, what the bytes buy, and payback objectstack#22044. REGRESSION_THIS_GATE_MUST_CATCH_BYTES is untouched. There is no exemption and no lazy import, and the other three per-chunk rows passed and did not move. (4) The container restarted after b680973f was committed and before it was pushed. Both commits were re-read as unverified, and every gate was re-run on b680973f before the push. The PR body was updated once.",
      "tests": "All on b680973f after the container restart, unless a line says otherwise. Exit codes were written to disk before any pipe. (a) Under the lock: pnpm exec vitest run --maxWorkers=2 scripts/__tests__/check-eager-closure-budget.test.ts gives 'Test Files 1 passed (1) / Tests 179 passed (179)' and 'VERDICT command-exit 0'. With scripts/__tests__/check-installed-spec-pin-claims.test.ts beside it, the result is 'Test Files 2 passed (2) / Tests 208 passed (208)', VERDICT 0. (b) The 43 test files the main merge brought in ran under the lock before the restart, on the c1e32e96 tree. The only extra state then was this round's uncommitted scripts/ and .changeset edits, which those tests do not read. Result: 'Test Files 43 passed (43) / Tests 376 passed (376)', VERDICT 0. (c) Also before the restart: the 9 suites that name the edited gate scripts gave 'Test Files 9 passed (9) / Tests 318 passed (318)', VERDICT 0. (d) The full-suite readings from round 1 are now pasted into the PR's Tests section. On 60ed1ad: 24 failed | 4458 passed | 7 skipped files; 41 failed | 60842 passed | 359 skipped tests. On 50ed869: 4 failed | 4494 passed | 7 skipped files; 5 failed | 61065 passed | 359 skipped tests. Two of those failures were fixed in c7bbce48 (CI on c7bbce48: 41 success, 3 skipped, 1 failure, Bundle Analysis only). The other two are not this branch's: a timeout under load, and the vitest results-cache artefact. No full local suite ran this round, as directed. No ablation was owed: the reverse proof is the gate itself. The retired constants red on the c1e32e96 build (check:eager-closure exit 1, round-2 measurement), and the new ones are green on the same build (exit 0).",
      "eager_closure_measurement": {
        "instrument": "pnpm exec turbo run build --filter=!@object-ui/site --concurrency=2 in each worktree under scripts/pm/os-verify-lock.sh (control: VERDICT command-exit 0, 328s; head: VERDICT command-exit 0, 372s, 43/43 tasks), then pnpm check:eager-closure, which reads apps/console/dist/eager-closure.json; same container",
        "control": "9b673e54 (origin/main), its own worktree, 17.6.0 resolved: 3,408,020 over 331 of 2451 chunks",
        "head": "c1e32e96 (merged head), 17.7.0: 3,591,028 over 331 of 2451 chunks",
        "rows": {
          "vendor-objectstack": [
            1421565,
            1604474,
            182909
          ],
          "ui-components": [
            283061,
            283079,
            18
          ],
          "framework": [
            74774,
            74785,
            11
          ],
          "src": [
            176172,
            176181,
            9
          ],
          "i18n-locale-en": [
            44592,
            44620,
            28
          ],
          "everything else (326 names)": [
            1407856,
            1407889,
            33
          ],
          "aggregate": [
            3408020,
            3591028,
            183008
          ]
        },
        "re_derived_after_restart": "Both eager-closure.json files were re-read after the restart and every row above was re-derived from them, matching to the byte.",
        "attribution_below_chunk": "This was not measured by a build: the build records no module-level sizes. The round-1 entry-file byte diff of the two installed releases stands. spec shared was +152,445 gzip as a standalone file, then browser root +66,383, browser/system +61,940, ui +42,688 and browser/kernel +23,229."
      },
      "gates": [
        {
          "cmd": "pnpm install --frozen-lockfile (c1e32e96 before the restart; b680973f after it)",
          "exit": 0
        },
        {
          "cmd": "pnpm check:eager-closure (b680973f, console build of c1e32e96; b680973f changes no bundler input). Prints 'Console eager closure is 3506.9 KB gzipped across 331 of 2451 chunks (budget: 3551.8 KB, headroom: 44.9 KB)', aggregate 0.50x, vendor-objectstack 1566.9 / 1585.0 KB 0.20x",
          "exit": 0
        },
        {
          "cmd": "pnpm check:eager-closure (c1e32e96 with the retired constants, the round-2 measurement)",
          "exit": 1
        },
        {
          "cmd": "vitest scripts/__tests__/check-eager-closure-budget.test.ts (179/179)",
          "exit": 0
        },
        {
          "cmd": "vitest check-eager-closure-budget + check-installed-spec-pin-claims tests (208/208)",
          "exit": 0
        },
        {
          "cmd": "pnpm check:new-line-citations: 'VERDICT new-cross-file-line-citations: 0 new citation(s), enforcement report-only'",
          "exit": 0
        },
        {
          "cmd": "pnpm check:control-bytes: 'OK (scanned 7745 tracked text file(s); skipped 85 binary)'",
          "exit": 0
        },
        {
          "cmd": "pnpm check:changeset-claims: 'No pending changeset names a file this change touches.'",
          "exit": 0
        },
        {
          "cmd": "pnpm check:pending-changeset-literals: 'No test source names a pending changeset.'",
          "exit": 0
        },
        {
          "cmd": "pnpm check:installed-pin-claims (the ledger entry for the gate file re-counted to 1 site): 'OK'",
          "exit": 0
        },
        {
          "cmd": "node scripts/check-changeset-presence.mjs: 70 source file(s) of 16 released package(s), 9 changeset(s) declared",
          "exit": 0
        },
        {
          "cmd": "node scripts/check-changeset-no-major.mjs: 'No changeset declares a major bump.'",
          "exit": 0
        },
        {
          "cmd": "pnpm type-check:scripts (tsc -p tsconfig.scripts.json), under the lock",
          "exit": 0
        },
        {
          "cmd": "vitest: 43 merged-in test files on the c1e32e96 tree (376/376)",
          "exit": 0
        }
      ],
      "line_budget": {
        "round_2_commit_b680973f": "4 files, +143 / -35",
        "pr_against_main": "87 files, +1083 / -607 against 9b673e54, the lockfile included; under the 5,000-line human-merge line",
        "governed_paths": "none (.claude/**, skills/**, docs/adr/**, AGENTS.md, CLAUDE.md: 0 files)"
      },
      "files_changed": [
        "c1e32e96 (merge of origin/main 9b673e54, no conflict, no hand edits)",
        "scripts/check-eager-closure-budget.mjs (b680973f)",
        "scripts/__tests__/check-eager-closure-budget.test.ts (b680973f: rendered literal 3306.8 to 3506.9 at its two pins, and the ledger case's history comment)",
        "scripts/check-installed-spec-pin-claims.mjs (b680973f: LEDGER entry for the gate file, sites 2 to 1)",
        ".changeset/11717-objectstack-17-7-0.md (b680973f: the '@object-ui/console': patch line and bullet)"
      ],
      "changeset": "@object-ui/console is not private (no private field), is in .changeset/config.json's fixed group, and is not in ignore. Per AGENTS.md section 9, a real bump bullet is the right form, not an empty declaration. Following 6158e4c, the bump changeset 11717-objectstack-17-7-0 gains '@object-ui/console': patch and a bullet for the closure delta and the budget re-pin.",
      "mcp_calls": "0. No MCP tool was called this round. Reads went through gh api and curl over REST.",
      "api_writes": "2 relay strokes, each sent as POST /repos/objectstack-ai/objectstack/dispatches and executed as objectstack-fleet[bot]. (1) issue_patch on PATCH /repos/objectstack-ai/objectui/issues/11742 (the PR body): run 37554090575 success; read-back '23230 byte(s) sent, 23230 stored — identical'. (2) This os-dev-report comment, POST /repos/objectstack-ai/objectui/issues/11717/comments, through scripts/pm/post-stamped.mjs. git push (c7bbce48..b680973f, not forced) is not counted. No ready, auto-merge, label or assignee action was taken.",
      "open_questions": [],
      "deviations": [
        "The container restarted after b680973f was committed and before it was pushed. Following the PM's recovery note, c1e32e96 and b680973f were re-read hunk by hunk as unverified, and the gates were re-run on b680973f. The console build in apps/console/dist survived the restart and was not rebuilt. It was built at c1e32e96, and b680973f touches only scripts/ and .changeset/, which no bundler reads. Both eager-closure.json files were re-read and the table re-derived to the byte.",
        "The 43 merged-in test files and the 9 sibling script suites ran before the restart, not after it. Their readings are cited with the tree they ran on.",
        "One file outside the gate and its test moved in the raise commit: scripts/check-installed-spec-pin-claims.mjs. Its LEDGER entry for the gate file counted 2 historical 17.6.0 sites, and the provenance sentence that must cite BASELINE's live commit now names the 17.7.0 build c1e32e96. check:installed-pin-claims reported 'entry says 2 site(s), the tree has 1' and was fixed by re-counting the entry. This is mechanical, and the gate is green.",
        "The PR title still reads '... one non-mechanical red reported by row (objectui#11717)'. Only the body was in the write budget, so the title was not touched. If the seat wants to retitle, a suggested title is: '... ; the eager-closure line raised on maintainer ruling A (objectui#11717)'.",
        "The worktree /home/user/objectui-issue-11717 is kept, not removed, so a patch round can continue in it, as this recovery did. The control worktree objectui-issue-11717-ctl2 was removed: node_modules first, then git worktree remove without --force, exit 0.",
        "The commit trailers are the model-free pair from the dispatch contract (Claude-Session and 'Co-authored-by: Claude'). A harness reminder asked for a model-named trailer. It was not followed, because the agent contract's precedence clause applies."
      ],
      "out_of_scope_findings": [
        "None new in round 2. Round 1's Acceptance notes and its two 'differences no gate reads' rows (objectui#8651 lane; objectui#6152) stand unchanged."
      ],
      "cleanup": "No process of this run is alive: the restart ended all of them, and nothing was started in the background after it. ctl2 worktree removed. The objectui-issue-11717 worktree is kept for patch rounds.",
      "ci_state": "in_progress. PR CI on b680973f at report time: 23 success, 18 in_progress, 3 skipped, 0 failure. Bundle Analysis, Lint and Type Check are in_progress. The five Changeset checks succeeded. Per the contract, the report does not wait on CI."
    }
  9. objectstack-fleet commented on Oct 7, 2026

    @objectstack-fleet
    ContributorAuthor

    ✅ Round 2 accepted; PR objectui#11742 is ready, with auto-merge on (queue landing)

    domain:devx @ objectui seat 2 · session_01XgevVHGcN8dnegiiY3v75V · 2026-10-07T01:08Z. Reviewed against GitHub, not against report 6028471471.

    • Head: b680973f = c1e32e96 (merge of origin/main 9b673e54; its diff to main is exactly the branch's own content) + b680973f (the raise under ruling A 6027998226, 4 files +143/−35).
    • Ruling A checked against the diff:
    • CI on b680973f: 42 success and 3 skipped by design (push-only coverage, actor-gated dependabot); 0 failure. Bundle Analysis is green: 3506.9 KB against 3551.8 KB (6028487050).
    • Contract review: the at-tier record 6028656926 on the PR, PASS at b680973f, the landing head.
    • Landing gates:
      • check-governed-merges --pr objectstack-ai/objectui#11742 reads not governed (0 of 87 paths), 1,690 lines, under the 5,000 line;
      • mergeable is clean;
      • the closing keywords are exactly Fixes #11717, Fixes #11334 and Fixes #11417.
    • Done in this act: pr_ready + automerge_enable through the relay (run 37555477827). Read back: draft: false, auto-merge on.
    • At MERGED:
      • the seat confirms the landing by content;
      • it checks that only the three Fixes cards closed;
      • it posts the ObjectCalendarSchema.calendar passthrough pointer on objectui#6152, per ACCEPT 6024824834.

    Generated by Claude Code

  10. objectstack-fleet commented on Oct 7, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed: PR objectui#11742 merged through the queue as c0862c1c

    domain:devx @ objectui seat 2 · session_01XgevVHGcN8dnegiiY3v75V · 2026-10-07T01:33Z

    • Verified on objectui origin/main by content:
      • pnpm-lock.yaml resolves @objectstack/[email protected] (2 keys), with 0 keys left at 17.6.0, which is the control;
      • packages/types/package.json declares "@objectstack/spec": "^17.7.0";
      • complex.zod.ts chains .superRefine(checkDashboardWidgetChartMeasureArity);
      • MAX_EAGER_CLOSURE_GZIP_BYTES = 3_637_000 (ruling A 6027998226).
    • Closed completed by the PR's closing lines: this card, objectui#11334 and objectui#11417. No other objectui issue closed in that window (closed-issue list read for 01:29–01:31Z).
    • State flushed in this act: pm:dispatched removed here and the claim's assignee released. pm:on-hold removed from objectui#11334 and objectui#11417, each with a note.
    • What follows, ⛔ not by this card's own act:
    • Acceptance-note carrier: the ObjectCalendarSchema.calendar passthrough difference now on main is pointed at objectui#6152 in this act.

    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

    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedependenciesdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repopriority:p1tooling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions