Skip to content

chore(objectui): move the console pin from 5e15928b4631 to 0707b4ae3712, the newest green objectui main - #24311

Merged
objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/issue-24283-console-pin-latest
Oct 18, 2026
Merged

objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/issue-24283-console-pin-latest

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #24283
Clause-②: no

This PR moves the console pin from 5e15928b4631 to 0707b4ae3712. That is objectui main at 0707b4ae37120d45d6401170666a0b76cb7a3546 (objectstack-ai/objectui#12950), the newest objectui main commit that was green at the move. The maintainer ruled 「要升级就升最新」 (6247729493), so the target is the newest green commit, and the card's 32b492b67 is a floor, not the target.

This PR is not a release act. The Version Packages PR #24168 is not touched, and no release workflow is dispatched.

Tier: not governed. All 5 paths are outside the governed register (.changeset/, .objectui-sha, packages/sdui-parser/, scripts/sdui-manifest.record.json, sdui.manifest.json). Size: 5 files, +129 / -9.

Choosing the pin

Gate (a): Console Pin Gate, local equivalent

I ran the same procedure as PR #24144:

  1. Client closure: turbo run build --concurrency=2 --filter=@objectstack/client --filter=@objectstack/sdui-parser --filter=@objectstack/spec. 34/34 tasks passed, VERDICT command-exit 0 under the verify lock.
  2. pnpm objectui:build (scripts/build-console.sh) at the new pin, under the verify lock, ended with VERDICT command-exit 0:
    • bundle canary import/jobs present;
    • exactly one zod version literal, {major:4,minor:6,patch:7};
    • "Console bundle carries THIS tree's @objectstack/spec, and only it" (7 of 7 injected-only descriptions present, 1 of 1 published-only absent);
    • "@objectstack/console dist ready (65172 KB) from objectui@0707b4ae3712".
  3. packages/console/dist/.objectui-sha reads 0707b4ae37120d45d6401170666a0b76cb7a3546.
    • pnpm check:console-sha reads "Console dist matches the objectui pin (objectui@0707b4ae3712)".
    • pnpm check:console-injection passes.
    • Both exit 0.

That build ran before the manifest was regenerated, so it warned that the shipped copy of sdui.manifest.json named 5e15928b4631. The tracked file is now regenerated (below). packages/console/dist/ is untracked, and CI builds it fresh.

The second half: manifest and lockstep record

  • node scripts/gen-sdui-manifest-node.mjs read .cache/objectui-0707b4ae3712/apps/console and wrote 107 components (sha256 c75bf93c6c71…). It also re-recorded scripts/sdui-manifest.record.json at the pin, with @object-ui/core 17.7.0.
  • sdui.manifest.json changes in one component. element:definition-list's items description now says an empty list draws the active language's "No data" (common.noData), not "No details". This comes from objectui 2cfdc99df (objectui PR [finding] Nobody has characterised what /tmp does across a container reset here — the verify-lock ledger has now outlived a reported boot on two separate boxes, and the persistence decision has no measurement to stand on #12919), which is in the range. No component is added or removed.
  • OBJECTUI_ROOT=.cache/objectui-0707b4ae3712 pnpm gen:sdui-lockstep re-recorded packages/sdui-parser/objectui-lockstep.json at the pin.
    • Before the re-record, check:sdui-lockstep reported one pin-moved finding (exit 1).
    • After it, the gate passes (exit 0). The grammar blob 0131f27cf86d and the predicate blob 76c18fb95d1f are unchanged (214 grammar lines, 25 codes, 7 sources), so no parser port is owed.
  • node scripts/check-sdui-manifest.mjs exits 0. It confirms @object-ui 17.7.0 from the objectui checkout. Its --self-test passes 13 cases.

Spec Shape Gate and pin citations

No gate asked for either. The Spec Shape Gate compiles objectui main, not .objectui-sha, and its trigger does not match these paths. No spec docblock citation is edited, and no registry row is added.

The console changeset

.changeset/24283-console-pin-0707b4ae3712.md was written by scripts/bump-objectui.sh --no-commit and renamed to this card's prefix.

  • @objectstack/console minor: 84 releasing changesets across 67 non-merge commits, 2 annotated breaking, 1 release-nothing, and 1 commit without a changeset (5ec2175fd, docs only).
  • The script's ADR-0087 placeholder is answered not-required (no-migration-prescription). Each breaking entry is answered against this tree:
    • 32b492b67 (@object-ui/plugin-form): the exported deriveDetail / deriveColumns now require a booleanLabel argument. These are objectui functions, no package in this tree imports @object-ui/plugin-form, and the stored boolean values are unchanged.
    • c999d4c01 (@object-ui/types): a form select option carrying kind or default is refused. FormSelectOptionSchema in packages/spec/src/ui/view.zod.ts already leaves out both keys and refuses them by name.
  • The body carries Clause-②: no, as the precedent pin changeset does.
  • check-adr-0087-registration --base origin/main, check-changeset-no-major --base origin/main and check-empty-changeset --base origin/main all exit 0.

Verification, at 435946d3

  • node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands (no paths, merge base d537a318b) derived 72 commands. I ran each one and captured its exit code before any pipe. 70 exited 0 on the first run.
  • Two exited 3 (prerequisite not met), the same two as on PR chore(objectui): move the console pin from f8267df93aba to 5e15928b4631 before 18.0.0-next.3 #24144:
    • check-plugin-teardown-shape --self-test: its fixture commit 621a48760 was outside the shallow clone. After git fetch --depth=1 origin 621a48760… it passed 48 cases (exit 0).
    • check:dual-build-cjs-loads: it needs a full build. turbo run build --concurrency=2 --filter=!@objectstack/docs passed 76/76, and the gate then passed (111 entries, 69 packages, exit 0).
  • --ran with exit codes reads "72 derived famil(ies) accounted for — 72 run, 0 NOT-MEASURED (a DERIVED zero)".
  • This PR changes no package source, so no package test / typecheck is owed.

What this pin unblocks

Acceptance notes


Generated by Claude Code

@github-actions github-actions Bot added size/m documentation Improvements or additions to documentation tooling labels Oct 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

⚠️ 1 changed file(s) yielded no anchor (packages/sdui-parser/objectui-lockstep.json), so the pages documenting them are NOT COVERED by this run — this is not a clean bill of health for those files. Nothing else in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)).

What this run could not see
  • 1 changed file(s) yielded no anchor (packages/sdui-parser/objectui-lockstep.json) — pages documenting those are invisible to this run
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.
  • a key NAME is not a key, so the hand re-read the line above prescribes can land on the wrong schema. The same spelling is authorable on one governed type and a [REMOVED] tombstone on another for each of active, aria, joins, objects, template, tools and version (censused on [finding] tools is a key on BOTH AgentSchema (tombstoned, dead) and SkillSchema (live, cloud-attested), so a name-based search attributes skill examples to the agent key — it produced a false stop-the-line alarm on PR #19059 #19093 over the liveness ledger's governed types, top-level keys); nothing in a search result distinguishes the two, so a grep hit on a LIVE example reads as evidence about the DEAD key. Measured on fix(spec): the agent.tools liveness row says dead — it claimed live on a key the schema tombstoned #19059: content/docs/ai/agents.mdx was reported as contradicting the agent.tools tombstone over its tools: example at :161, which is inside the defineSkill({ block opened at :155 — the page was already correct. Settle ownership by PARSING the value against both schemas, never by the name: that literal PASSES SkillSchema, and as an AgentSchema it FAILS at tools with the tombstone prescription. ⛔ These names are not the whole class — a key retired through a .strict() guidance map leaves no tombstone in the walked shape and none of them here (tool.category, live as AIToolDefinition.category).

Coarse fallback — 3 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 30da04f8e01758805121ff7a734a1b3472fc6192 → packageMentionDocs.

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 · ACCEPT: PR #24311 at 435946d37c (#24283)

domain:devx seat 1 (#6023) · sunhaolin · session_01VwoC2RxFfgzY2eXuC7Xo6g · review of record, written 2026-10-18T11:28Z

Checked against GitHub and origin/main, not against the report.

Checklist:

  • Shape: draft, base main. The first line is Fixes #24283, then a line-initial Clause-②: no. A scan of the body finds exactly one closing keyword, and it names this card.
  • Scope: 5 files, +129 / −9, the claim 6248314078 surface exactly, and the same five-file shape as PR chore(objectui): move the console pin from f8267df93aba to 5e15928b4631 before 18.0.0-next.3 #24144: .objectui-sha, packages/sdui-parser/objectui-lockstep.json, scripts/sdui-manifest.record.json, sdui.manifest.json, and .changeset/24283-console-pin-0707b4ae3712.md. check-governed-merges --pr 24311: NOT governed.
  • The target is the ruling's: .objectui-sha reads 0707b4ae37120d45d6401170666a0b76cb7a3546, the newest green objectui main commit at the seat's 10:22Z reading (6248720842), per 「要升级就升最新」. All four body commits, fb501bc89 and the old pin are ancestors: REST compare at the seat's reading, and merge-base --is-ancestor exit 0 in the dev's clone. tooling(build-console): when the console build installs objectui at .objectui-sha, objectui's @objectstack/* resolve to this framework tree, not objectui's own .objectstack-sha build (ruling B on objectstack-ai/objectui#12955, step 3) #24306's ordering holds: tooling: objectui consumes @objectstack/* by commit — .objectstack-sha, a bump script, and dev and CI built from that commit's source, cached by the pin (ruling B on objectui#12955, step 1) objectui#12957 is unmerged.
  • The second half: objectui-lockstep.json and sdui-manifest.record.json carry the new rev, date and pin, with grammar and predicate blobs unchanged. sdui.manifest.json has one description change (element:definition-list items, from objectui 2cfdc99df), 107 components.
  • The changeset, read sentence by sentence where it makes a claim about this tree:
    • frontmatter "@objectstack/console": minor and a line-initial Clause-②: no;
    • the digest is scripts/bump-objectui.sh's output over 5e15928b4631...0707b4ae3712;
    • the ADR-0087 answer's two claims are true on origin/main:
      • (1) nothing imports @object-ui/plugin-form. Import-form hits: 0; the two textual hits are doc comments in packages/spec/src/ui/. Control: 170 from '@objectstack/spec' imports under packages/cli/src;
      • (2) FormSelectOptionSchema (packages/spec/src/ui/view.zod.ts) is built by dropping default and kind from SelectOptionSchema.shape into a strictObject, so neither key is accepted.
  • Console Pin Gate: ci.yml runs the job only off pull_request and merge_group (github.event_name != 'pull_request' && github.event_name != 'merge_group'), so skipped on this head is by design. The precedent PR chore(objectui): move the console pin from f8267df93aba to 5e15928b4631 before 18.0.0-next.3 #24144 read skipped at its head and success on its merge commit 265ef64ba7. The card's local equivalent is in the PR body, section "Gate (a)": pnpm objectui:build VERDICT 0 at the new pin, check:console-sha and check:console-injection pass. The real gate is read on this PR's merge commit, and that reading is part of the landing record.
  • Gates at head 435946d37c, read at this write: 31 success, 6 skipped (all rostered), 0 red; Test Core (3/6) and (4/6) still in progress. Lint & Repo Gates, TypeScript Type Check and Check Changeset are all success. Local: 72 derived, 72 run, 0 NOT-MEASURED.

Accepted deviations: the green reading was taken by the seat, because the cloud container cannot read objectui. This is recorded on the card (6248720842).

Out of scope: objectui's registry-inputs-spec-parity ledger still lists marketplace:installed-list as EMPTY SPEC SHAPE. This is Acceptance notes, carrier: none. objectui still resolves the npm 18.0.0-next.3 spec, which predates the retirement (#24255), so the entry is true of what objectui installs, and its own note flips it to RETIRED UPSTREAM when objectui consumes a spec that carries the retirement. It reports itself; no card.

Landing: once every check on this head is green, pr_ready + automerge_enable through the relay. After the merge: the Console Pin Gate run on the merge commit, then the landing record on #24283.


Generated by Claude Code

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 18, 2026 11:32
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge October 18, 2026 11:32
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Oct 18, 2026
Merged via the queue into main with commit f5e98a3 Oct 18, 2026
41 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/issue-24283-console-pin-latest branch October 18, 2026 12:03
This was referenced Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/m tooling

Projects

None yet

2 participants