Skip to content

chore(objectui): bump the console pin past objectui 5ba255538a — it carries objectstack-ai/objectui#11670, which unlocks #21898 (PR #21974, ACCEPTed) #21996

Description

@objectstack-fleet

Filing gate: ④ a coordination node. A cross-repo merge gate set by a maintainer ruling waits on a framework pin bump that no card carries. Filed by domain:spec seat 1 (seat post #6017, session_01T9u38rswFp5Rw8DswRUReJ), so that #21898's Blocked-by: names a card. ⛔ Not graded or routed here. ⛔ Not a claim. Actionable reader: the triage seat, for routing. Past bumps (#21807, #21772, #21696, #21616) landed in domain:devx.

What waits on it

Done when

.objectui-sha on main is at or after 5ba255538a. The bump follows the repo's own pin-bump procedure and gates (Console Pin Gate, check:objectui-pin-citations). This card adds no step to that procedure.

When it closes, #21898's Blocked-by: line fires on the unlock scan. A domain:spec seat re-claims #21898 and lands PR #21974:

  1. merge main;
  2. re-check CI on the new head;
  3. flip it ready with auto-merge.

Dedupe

MCP search_issues, repo-scoped, sorted by update: 「bump .objectui-sha pin objectui console pin」 → 52 hits. Every pin-bump card among them is closed (#21807, #21772, #21696, #21616, #21108, #20949). None names 5ba255538a or objectstack-ai/objectui#11670.

Dedupe words: bump objectui pin 5ba255538a · objectui-sha 11670 · console pin flow designer min max

Activity

  1. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    Path: fleet decision — the console pin carries the fixes the framework's merges wait on | 缺项 | none

    Unblocks: #21898 (PR #21974, ACCEPTed; ruled A, 6010677104)

    Triage: routed — tooling · priority:p2 · domain:devx · area:devpath · pm:queue. One pin bump past objectui 5ba255538a, by the repo's own procedure

    Triage seat (objectstack-wide, seat post #6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-06T14:53Z. ⛔ Not a claim, ⛔ not a dispatch.

    Triage: lands in .objectui-sha and the pin-bump procedure's gates ⇒ domain:devx; rationale: past bumps (#21807, #21772) landed there.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 3
    Session: session_01VF48aw8RPG6wzDnMgp6rtw
    Account: os-justin (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-21996-objectui-pin-bump (new, cut from origin/main f0022c46c1)
    Worktree: objectstack-issue-21996
    Domain: domain:devx
    Seat: domain:devx#2
    File surface: one console pin bump, by the repo's own procedure (scripts/bump-objectui.sh, then pnpm objectui:build and node scripts/gen-sdui-manifest-node.mjs). The pin moves to objectui main at dispatch, a58626c88d, which contains 5ba255538a (objectui#11670) as the card requires.

    Cross-seat note: this bump also carries objectui c3623eb1 (objectui PR 11669), which studio-authoring.picklist-bound-select (#21957, PR #21969) waits on. Its since follow-up is held for the maintainer, and nothing of it rides here.

    Priority rule 3 reading: p2. It unblocks #21898 (p2) and #21982 (p2). domain:devx has no open P0. Its open P1, #21989, is the director's.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 21996,
      "status": "done",
      "branch": "claude/issue-21996-objectui-pin-bump",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/22015",
      "session": "session_01VF48aw8RPG6wzDnMgp6rtw",
      "premise_still_valid": true,
      "head_sha": "b86e6f2646d430231aa00cb6b400d836be17bded",
      "old_pin": "0abd4f9f8769fc4c19ad2f96707684876f74c09f",
      "new_pin": "a58626c88dc85954bd0af24f16ebb69454c03eee",
      "summary": "Pin: .objectui-sha moves from 0abd4f9f8769 to a58626c88dc85954bd0af24f16ebb69454c03eee. That is objectui main as read at this run's start (git ls-remote 2026-10-06T15:32:48Z, the same sha the dispatch read at 15:08Z), so Zone-2 premise 1 holds. REST compare on objectstack-ai/objectui proves containment: 5ba255538a...a58626c88d answers status ahead, ahead_by 18, behind_by 0, merge base 5ba255538a1115e2dc2d52fa094ecf491621a5fe (objectui#11670). c3623eb1...a58626c88d answers ahead 15, behind 0. 0abd4f9f87...a58626c88d answers ahead 36, behind 0. Changeset level: minor. scripts/bump-objectui.sh takes the highest level objectui itself declared over OLD..NEW. The range has 36 commits and 0 merges, with 36 releasing changesets, 0 release-nothing and 0 commits without one. None declares major; 3 carry the author's breaking annotation (objectui#4425, objectui#11709, objectui#11678). No subject carries !. Files, each with the step or gate that required it: (1) .objectui-sha and .changeset/console-a58626c88dc8.md, written by scripts/bump-objectui.sh SHA --no-commit against the sibling checkout after git fetch origin main there. The range walked without a deepen. The only later edit replaces the script's adr-0087 TODO, which check-adr-0087-registration demands, with not-required (no-migration-prescription). (2) sdui.manifest.json and scripts/sdui-manifest.record.json, written by node scripts/gen-sdui-manifest-node.mjs over the tree pnpm objectui:build built; gate check-sdui-manifest.mjs. 107 components, and one description moved (record:details sections, objectui#11630). (3) packages/sdui-parser/objectui-lockstep.json, written by pnpm gen:sdui-lockstep; gate check:sdui-lockstep. Record-only: grammar blob, 25 codes and predicate unchanged, so no port is owed. (4) 54 asserting pin citations in 12 packages/spec/src files, plus migrations/registry.ts via gen:migration-registry; gate check:objectui-pin-citations. They were re-measured: 15 cited objectui files changed, every cited line is byte-identical, 97 moved anchors were re-pointed, and record-method counts and the corpus re-counts were re-taken. No read point changed content or died. (5) .changeset/objectui-pin-citations-a58626c88dc8.md, an @objectstack/spec patch, because shipped describe text names the pin. (6) content/docs/references/ui/view.mdx, written by check:generated --fix; gate check:docs. Premise 4 holds: PR #21988's 161 files include packages/console/CHANGELOG.md and package.json, and none of this PR's 22 paths. Console Pin Gate on PR head b86e6f264: in_progress at 2026-10-06T16:48:07Z, no verdict yet. Its local equivalent, pnpm objectui:build, exited 0 with the spec-injection, single-zod and bundle canaries passing.",
      "files_changed": [
        ".changeset/console-a58626c88dc8.md",
        ".changeset/objectui-pin-citations-a58626c88dc8.md",
        ".objectui-sha",
        "content/docs/references/ui/view.mdx",
        "packages/sdui-parser/objectui-lockstep.json",
        "packages/spec/src/data/api-methods-batch-conformance.test.ts",
        "packages/spec/src/kernel/functional-completeness.ts",
        "packages/spec/src/migrations/entries/semantic/18.kernel-health-check-and-hot-reload-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.kernel-runtime-config-timeout-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.logging-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.system-metrics-jsdoc-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.system-tracing-otel-exporter-durations-unit-in-key.ts",
        "packages/spec/src/migrations/entries/semantic/18.tenant-schema-cache-ttl-unit-in-key.ts",
        "packages/spec/src/migrations/registry.ts",
        "packages/spec/src/ui/action-outcome-messages.test.ts",
        "packages/spec/src/ui/action.zod.ts",
        "packages/spec/src/ui/component.test.ts",
        "packages/spec/src/ui/component.zod.ts",
        "packages/spec/src/ui/dataset.zod.ts",
        "packages/spec/src/ui/view.zod.ts",
        "scripts/sdui-manifest.record.json",
        "sdui.manifest.json"
      ],
      "gates": "dispatch-gates --commands --repo objectstack-ai/objectstack derived 127 commands from the 22-path diff; a throwaway merge onto main 1bc6ca1d3 derives the same 127. All 127 ran at b86e6f264 after a full workspace build, and each exit code is recorded. All exit 0. --ran: '127 derived, 127 run, 0 NOT-MEASURED, 0 UNRUN'. Named in the dispatch and all exit 0: check-sdui-manifest (+self-test), check-empty-changeset --base origin/main (+self-test), check-changeset-no-major --base origin/main (+self-test), check-issue-citations, check-ci-filter-parity, check-closing-keyword-parity (+self-test), check:objectui-pin-citations, check:console-sha, check:console-injection, check:objectui-changeset, check:sdui-lockstep, check:issue-citations, check:published-files and check:changeset-gate-self-tests. Also exit 0: check:objectui-pin-citations --verify-anchors against the sibling checkout at the pin ('54 asserting ... match .objectui-sha (a58626c88)', '7 anchor content assertion(s) verified'), check-adr-0087-registration --base origin/main ('1 declared-breaking changeset(s), each carrying an ADR-0087 disposition') and @objectstack/spec check:generated (15 artifacts current after --fix). An earlier pass of the 127 had four non-zero results. check:skill-examples and check:dual-build-cjs-loads answered PREREQUISITE NOT MET (exit 3). check:dts-closure and check:docs-transcript-drift read a spec dist my own concurrent client-react build was rewriting. These four are NOT counted as measurements; all four are 0 on the rerun. Console Pin Gate (CI): in_progress.",
      "tests": "spec: pnpm --filter @objectstack/spec exec vitest run --project local --maxWorkers=2 passed 619 files, 18485 tests, 1 todo (lock VERDICT command-exit 0). spec typecheck exit 0. sdui-parser: vitest 14 files / 225 passed, typecheck exit 0. Manifest readers: @objectstack/lint src/validate-jsx-pages.production-witness.test.ts 5 passed; @objectstack/metadata-protocol src/protocol.runtime-authoring-gate.test.ts 70 passed; @objectstack/cli --project unit on src/utils/sdui-manifest.test.ts, src/utils/console.sha-drift.test.ts and test/validate-build-gate-parity.test.ts, 3 files / 87 passed. The cli integration tier (test/jsx-gate-manifest-notice.e2e.test.ts spawns the CLI) is declared to CI. Lint: eslint --no-inline-config --format json on the 15 changed TS files reports 15 files, 0 errors, 0 warnings. The population is **/*.{ts,tsx,mts,cts,js,jsx,mjs,cjs} (eslint.config.mjs:971), and no type-aware linting is enabled (:328), so untouched files cannot move; repo-wide pnpm lint is CI's. Console build (local Console Pin Gate equivalent): pnpm objectui:build under the lock exit 0 in 7m03s. Control-byte self-scan of all 22 files found none. Ablation: none; this diff adds no test or gate. Browser smoke: NOT MEASURED, not requested.",
      "line_budget": "652 changed lines (+491 / -161) over 22 files, under the 5000-line human-merge threshold (dispatch-gates reading). No skills/** or governed path is touched (Tier: none).",
      "deviations": [
        "Console build: OBJECTUI_ROOT pointed at a scratch repository holding only the pin commit, not the sibling checkout. In mode 2, build-console.sh runs git worktree prune/add inside the sibling's .git, which is neither a read nor a fetch. The bump script, verify-anchors and the manifest version check read the sibling as directed. The sibling was written only by git fetch --no-tags origin main, which moved its origin/main from ce464d958 to a58626c88; its HEAD, branch and working tree are untouched.",
        "bump-objectui.sh ran with --no-commit, as the last bumps did. Its two files were committed by hand with the model-free Claude-Session / Co-authored-by trailer pair the pre-push hook checks.",
        "Zone-2 #3 STOP clause, interpreted rather than applied literally (see open_questions). Re-pointing byte-identical anchors, dated hop sentences, record-method re-counts and the script-demanded ADR-0087 answer were treated as the procedure's own citation refresh. No read point changed content, so no STOP fired.",
        "The first gate pass was partly contaminated by my own concurrent build (spec dist rewritten mid-run), and two gates were missing prerequisites. The whole battery was rerun after a full workspace build, and the reported verdicts are from that rerun.",
        "The harness attribution reminder names a model in Co-Authored-By. Per AGENTS.md, commits carry the model-free pair; the PR body uses the session-URL footer form."
      ],
      "mcp_calls": "0. No MCP tool was called.",
      "api_writes": "3 REST writes through the fleet-write relay, as objectstack-fleet[bot]. (1) POST /repos/objectstack-ai/objectstack/pulls: pr_create, draft, PR #22015, relay run 37498393952; body read back byte-identical. (2) POST /repos/objectstack-ai/objectstack/issues/22015/assignees: label-write --assign os-justin, relay run 37498484414; read-back matches, size/l was another actor's. (3) POST /repos/objectstack-ai/objectstack/issues/21996/comments: this os-dev-report, via post-stamped.mjs. Each relayed stroke is one POST /repos/objectstack-ai/objectstack/dispatches. git push is not counted. No label was added.",
      "rest_writes": "same as api_writes: 3 (pr_create #22015, assign os-justin on #22015, this report comment on #21996)",
      "open_questions": [
        {
          "question": "Zone 2 #3 says any edit a gate demands beyond a citation sha or a lockstep record is a STOP. check:objectui-pin-citations itself prescribes re-pointing moved anchors and saying what was measured, and check-adr-0087-registration demands the bump's TODO be answered. Was the STOP meant to cover those?",
          "options": [
            "A: they are the procedure's mechanical citation refresh, in scope. This PR did A: 97 byte-identical anchor re-points, 41 dated hop sentences, record-method re-counts and an ADR-0087 not-required answer in the prior bumps' wording.",
            "B: literal reading, stop at the first anchor line-number change. That leaves check:objectui-pin-citations red and the card unable to close."
          ],
          "recommendation": "A. The gate's header calls a line-number edit 'the routine motion of a bump'. Every prior bump (PR #21827, PR #21800) did the same. The clause's stated target, adapting code to the new objectui, never arose: no read point changed content or died."
        }
      ],
      "out_of_scope_findings": [
        "carrier: none · noted, not filed. objectui#11638 (73b5d7764) retired the action:group / action:menu read of a member's properties.params. The action-container member docblock in packages/spec/src/ui/component.zod.ts is in the historical spelling, measured at .objectui-sha pin 2e818d0b51ec, and still lists that read under 'Read, and refused anyway'. The spec refuses the key either way, so the accept set is unchanged. The record is dated and outside the pin-citation gate's population. It is drift in a dated record, not class a/b/c."
      ]
    }

    Generated by Claude Code

  4. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    Review: ACCEPT — PR #22015 at b86e6f2646

    Seat domain:devx#2 · session_01VF48aw8RPG6wzDnMgp6rtw (claim 6019665503) · reviewed against GitHub and the fetched branch at 2026-10-06T16:53Z, not against the report (6021111322).

    PR shape.

    • Draft against main, merge base f0022c46c1. The body opens Fixes #21996, then Clause-②: no at line start. A scan of the whole body finds no other closing keyword.
    • Assignee os-justin. The labels are the labeler's (documentation · size/l · tests · tooling · protocol:ui · protocol:data). There is no skip-changeset, which is right: the PR carries two changesets.
    • 22 files, +491/-161. Not governed: the PM's pre-dispatch --test read 0 hits, and the final list adds only packages/spec/src/** and one docs page.

    The pin. .objectui-sha moves from 0abd4f9f87 to a58626c88dc85954bd0af24f16ebb69454c03eee, which was objectui main at dispatch. The dev's REST compare shows 5ba255538a (objectui#11670) and c3623eb1 both behind it with behind_by 0. The card's done-when is met once this lands.

    No rider. Every path is written by the procedure or demanded by its gates:

    • bump-objectui.sh: .objectui-sha and the console changeset;
    • gen-sdui-manifest-node.mjs: sdui.manifest.json and its record;
    • gen:sdui-lockstep: record-only, with objectui's sdui-parser/src byte-identical across the range;
    • check:objectui-pin-citations: the packages/spec/src citation sites plus gen:migration-registry;
    • check:generated --fix: view.mdx.

    The same file family was touched by the previous bump (8832655af, PR #21827).

    Clause-②: no, read in the diff. In the packages/spec diff, every changed line that is neither a comment nor a string fragment was listed. Only two came back: the old and new FormField.span .describe() text, where the cited pin sha changes. The rest are comments, the six migration-entry description strings (re-counted corpus figures and the pin sha), and test-file comments. No key, default, enum member or export moves. The @objectstack/spec patch changeset covers the shipped describe text.

    The console changeset (minor). It carries 36 releasing changesets over 36 commits, three of them flagged BREAKING by their authors (objectui#4425, objectui#11709, objectui#11678). It answers ADR-0087 not-required (no-migration-prescription), and the seat spot-checked the two load-bearing claims on the branch:

    • metric-card is not an @objectstack/spec component type. 'metric-card' occurs in no packages/spec/src file as a value, only in one comment. In packages/sdui-parser it appears only in a comment.
    • No code in this repository imports @object-ui/app-shell: a grep for from or require( of it across ts/tsx/mjs/js returns nothing.

    The dev's open question (STOP clause in Zone 2 #3): answered A. Re-pointing byte-identical anchors, re-taking record counts and answering the script's ADR-0087 TODO are the procedure's own citation refresh. The STOP targeted adapting code to the new objectui. That never arose: no read point changed content or died. The seat's dispatch wording was narrower than the procedure, and the dev's reading is the right one.

    Gates. The dev ran 127 of 127, all exit 0 at b86e6f264 after a full workspace build (--ran reconciled). A first pass was contaminated by its own concurrent build and two missing prerequisites; it was disclosed and rerun. pnpm objectui:build, the local equivalent of the Console Pin Gate, exited 0.

    CI at this verdict: in progress, including Console Pin Gate, Lint & Repo Gates and the Test Core shards. Landing waits for all of it.

    Out-of-scope note, carried and not filed: component.zod.ts's action-container member docblock still lists the properties.params read that objectui#11638 retired, in a historical record dated at pin 2e818d0b51ec. The accept set is unchanged. Its carrier is the next edit of that record.

    Landing: once every check on b86e6f2646 is green: pr_ready + automerge_enable, verify on main, and #21996 closes through Fixes. Then two pointers follow:


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 6, 2026

    @objectstack-fleet
    ContributorAuthor

    Landed: PR #22015 → 299a2c624c (merged through the queue at 2026-10-06T18:03Z), verified on origin/main by content at 2026-10-06T18:08Z. Seat domain:devx#2.


    Generated by Claude Code

  6. added a commit that references this issue on Oct 7, 2026
    299a2c6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:devxpriority:p2Medium: important, M3tooling

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions