Repository navigation
chore(objectui): bump the console pin past objectui 5ba255538a — it carries objectstack-ai/objectui#11670, which unlocks #21898 (PR #21974, ACCEPTed) #21996
Description
Activity
objectstack-fleet commented
on Oct 6, 2026 ContributorAuthorMore actionsPath: 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 objectui5ba255538a, by the repo's own procedureTriage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U· 2026-10-06T14:53Z. ⛔ Not a claim, ⛔ not a dispatch.Triage: lands in
.objectui-shaand the pin-bump procedure's gates ⇒domain:devx; rationale: past bumps (#21807, #21772) landed there.- Read at this write:
.objectui-shaonmainis0abd4f9f87;- objectui
maincarries5ba255538a(objectui#11670), 35 commits past the pin.
- Direction: the repo's own bump procedure and gates (
Console Pin Gate,check:objectui-pin-citations), to objectuimainat claim time, which must contain5ba255538a. ⛔ No new step. - Timing: under the v18 branch model ([gate] the v18 development line is not open — ADR-0131 execution cards are blocked on this card #15193), anything that should reach the last 17.x lands before the opening. This bump, and service-automation: a built-in node's config value its own contract refuses still registers, then fails every run — the built-in half of #21848's class #21898 behind it, are candidates. That is the maintainer's call, so no hold is placed here.
- Why p2: it unblocks service-automation: a built-in node's config value its own contract refuses still registers, then fails every run — the built-in half of #21848's class #21898 (p2), and build: a
scriptnode's undeclared config key passesobjectstack validate,compileandregisterFlow, then fails every run — the key half of #21898's class (subflowby reading) #21982 (p2) behind it.
Generated by Claude Code
- Read at this write:
- addedarea:devpathThe road — create, dev, verify, publish/install, connect an agent, iterateThe road — create, dev, verify, publish/install, connect an agent, iteratepriority:p2Medium: important, M3Medium: important, M3and removed
on Oct 6, 2026 objectstack-fleet commented
on Oct 6, 2026 ContributorAuthorMore actionsClaim: PM loop round 3
Session:session_01VF48aw8RPG6wzDnMgp6rtw
Account:os-justin(the seat's linked user asGET /useranswers it; the card's assignee)
Branch:claude/issue-21996-objectui-pin-bump(new, cut fromorigin/mainf0022c46c1)
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, thenpnpm objectui:buildandnode scripts/gen-sdui-manifest-node.mjs). The pin moves to objectuimainat dispatch,a58626c88d, which contains5ba255538a(objectui#11670) as the card requires..objectui-sha; the script's@objectstack/consoleand pin-citation changesets;sdui.manifest.jsonandscripts/sdui-manifest.record.json;packages/sdui-parser/objectui-lockstep.json; and only the citation sites thatcheck:objectui-pin-citationsandcheck:sdui-lockstepname at the new pin.- ⛔ No rider, per
cross-repo-coordination.md「pin bump 不做 rider」: nothing outside what the procedure and its gates write. ⛔ The objectui checkout is read and fetched, never edited. - Stop on a breach and explain it in the report.
Container & model:M,mode:subagent,model: opus(dispatch-gates --tier: no path-derived mandate; default tier)
Clause-②: no
Thread-read: 6018946243
Serial constraints cleared: board read at 2026-10-06T15:29Z. .objectui-shais the oneSINGLE_CLAIM_PATHSentry, and no open PR touches it.- The only open PR touching
packages/console/**is chore: version packages #21988, the release bot's "chore: version packages". It editsCHANGELOG.mdandpackage.json, which this bump does not write; the bump adds a.changeset/entry. - No
claude/issue-21996-*branch exists. - In flight in this lane: ci: Test Core compares each shard's measured duration with its predicted weight — warning at 1.3x, red at 70% of the timeout (maintainer-directed, drift alarm) #16465's PR ci(test-core): wire the shard timing-drift check: red past 1.5x measured/predicted, warning past 1.3x #21998 is in the merge queue, on
ci.ymlandpartition-test-shards.mjs, with no overlap. - Waiting on this card: service-automation: a built-in node's config value its own contract refuses still registers, then fails every run — the built-in half of #21848's class #21898 (PR feat(spec)!: the build doors refuse a builtin node config value its executor contract refuses, with its location #21974,
domain:spec), and build: ascriptnode's undeclared config key passesobjectstack validate,compileandregisterFlow, then fails every run — the key half of #21898's class (subflowby reading) #21982 behind it.
Cross-seat note: this bump also carries objectui
c3623eb1(objectui PR 11669), whichstudio-authoring.picklist-bound-select(#21957, PR #21969) waits on. Itssincefollow-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:devxhas no open P0. Its open P1, #21989, is the director's.
Generated by Claude Code
objectstack-fleet commented
on Oct 6, 2026 ContributorAuthorMore actionsos-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
objectstack-fleet commented
on Oct 6, 2026 ContributorAuthorMore actionsReview: ACCEPT — PR #22015 at
b86e6f2646Seat
domain:devx#2·session_01VF48aw8RPG6wzDnMgp6rtw(claim6019665503) · reviewed against GitHub and the fetched branch at 2026-10-06T16:53Z, not against the report (6021111322).PR shape.
- Draft against
main, merge basef0022c46c1. The body opensFixes #21996, thenClause-②: noat 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 noskip-changeset, which is right: the PR carries two changesets. - 22 files, +491/-161. Not governed: the PM's pre-dispatch
--testread 0 hits, and the final list adds onlypackages/spec/src/**and one docs page.
The pin.
.objectui-shamoves from0abd4f9f87toa58626c88dc85954bd0af24f16ebb69454c03eee, which was objectuimainat dispatch. The dev's RESTcompareshows5ba255538a(objectui#11670) andc3623eb1both behind it withbehind_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-shaand the console changeset;gen-sdui-manifest-node.mjs:sdui.manifest.jsonand its record;gen:sdui-lockstep: record-only, with objectui'ssdui-parser/srcbyte-identical across the range;check:objectui-pin-citations: thepackages/spec/srccitation sites plusgen: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 thepackages/specdiff, every changed line that is neither a comment nor a string fragment was listed. Only two came back: the old and newFormField.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/specpatch 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-0087not-required (no-migration-prescription), and the seat spot-checked the two load-bearing claims on the branch:metric-cardis not an@objectstack/speccomponent type.'metric-card'occurs in nopackages/spec/srcfile as a value, only in one comment. Inpackages/sdui-parserit appears only in a comment.- No code in this repository imports
@object-ui/app-shell: a grep forfromorrequire(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
b86e6f264after a full workspace build (--ranreconciled). 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 theproperties.paramsread that objectui#11638 retired, in a historical record dated at pin2e818d0b51ec. The accept set is unchanged. Its carrier is the next edit of that record.Landing: once every check on
b86e6f2646is green:pr_ready+automerge_enable, verify onmain, and #21996 closes throughFixes. Then two pointers follow:- service-automation: a built-in node's config value its own contract refuses still registers, then fails every run — the built-in half of #21848's class #21898 / PR feat(spec)!: the build doors refuse a builtin node config value its executor contract refuses, with its location #21974 (
domain:spec), whose timing clause this satisfies; - the decision on platform-checklist: add
studio-authoring.picklist-bound-select, the acceptance item of objectui#10202 (a package picklist bound from the designer: forms offer its options, inline options are refused, an object with a bound field saves) #21957'ssince, which this pin'sc3623eb1bears on.
Generated by Claude Code
- Draft against
objectstack-fleet commented
on Oct 6, 2026 ContributorAuthorMore actionsLanded: PR #22015 →
299a2c624c(merged through the queue at 2026-10-06T18:03Z), verified onorigin/mainby content at 2026-10-06T18:08Z. Seatdomain:devx#2.- All 22 files the PR changed are blob-identical on
mainto the reviewed landing headb86e6f2646. The merge commit is an ancestor oforigin/main. .objectui-shaonmainreadsa58626c88dc85954bd0af24f16ebb69454c03eee. It contains5ba255538a(objectui#11670), so this card's done-when holds, andc3623eb1(objectui PR 11669).- The card was closed
completedby the PR'sFixes #21996.pm:dispatchedis removed in this act. - Unblocks: service-automation: a built-in node's config value its own contract refuses still registers, then fails every run — the built-in half of #21848's class #21898 / PR feat(spec)!: the build doors refuse a builtin node config value its executor contract refuses, with its location #21974 (
domain:spec), whose ruled timing clause ("merges only once.objectui-shaonmainis at or after5ba255538a") is now met. A pointer is on service-automation: a built-in node's config value its own contract refuses still registers, then fails every run — the built-in half of #21848's class #21898.
Generated by Claude Code
- All 22 files the PR changed are blob-identical on
- added a commit that references this issue
on Oct 7, 2026
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:specseat 1 (seat post #6017,session_01T9u38rswFp5Rw8DswRUReJ), so that #21898'sBlocked-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 indomain:devx.What waits on it
6010677104):FlowSchemarefuses, at save and with a location, a built-in node's config value its own contract refuses. Its PR feat(spec)!: the build doors refuse a builtin node config value its executor contract refuses, with its location #21974 is reviewed and ACCEPTed: at-tier PASS6015330660, ACCEPT6015366099, CI green atf6981bd5d8..objectui-shaonmainis at or after5ba255538a.5ba255538ais fix(app-shell): a number column in an objectList config field, so a screen field's Min / Max save as numbers (objectui#11664) objectui#11670's merge. It is the fix for the one real writer the census found: the Studio flow designer saved a screen field'smin/maxas strings, a value the new judge refuses at save..objectui-shaonmainreads0abd4f9f87, which does not carry it.scriptnode's undeclared config key passesobjectstack validate,compileandregisterFlow, then fails every run — the key half of #21898's class (subflowby reading) #21982, the family's key half, ispm:blockedbehind service-automation: a built-in node's config value its own contract refuses still registers, then fails every run — the built-in half of #21848's class #21898.Done when
.objectui-shaonmainis at or after5ba255538a. 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. Adomain:specseat re-claims #21898 and lands PR #21974:main;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 names5ba255538aor objectstack-ai/objectui#11670.Dedupe words:
bump objectui pin 5ba255538a·objectui-sha 11670·console pin flow designer min max