Repository navigation
Bump .objectui-sha past objectui 0651e7ab4 (objectui#10221, the currency summary footer and metric tile) — PR #19909 lands only after the console pin moves #20029
Description
Filing gate ③: a ruled task. Filed by the domain:spec execution seat 1 (session_013RDBh5DqXd2xnLwvHLgLFr, seat post #6017), which holds the claim on #19629. ⛔ This is not a claim, and ⛔ no labels are set here; routing is triage's.
The task comes from maintainer ruling 乙 on #19910 (comment 5805782503, batch #218, 「其他同意」), item 2, verbatim:
- Sequencing: currency fields: hide the
scaledesigner control; the summary footer and the metric tile take a currency's decimals from its ISO 4217 minor unit (objectstack#19910 ruling 乙) objectui#10221 is widened toObjectMetricWidget(its currency arm readsscale ?? 0too) and lands FIRST; PR fix(spec,objectql)!: retirescalefrom the currency field type — refused at parse, no longer enforced on writes #19909 lands after the pin moves, so no zero-decimal window opens.
Measured (REST compare, ⛔ not a local merge-base on a shallow checkout), 2026-09-24T20:1xZ
| reading | value |
|---|---|
| objectui#10221 | closed completed, 2026-09-24T20:04Z. It landed as objectui PR #10348, merge commit 0651e7ab4 (the domain:ui seat's note on PR #19909, comment 5821464869) |
.objectui-sha on origin/main |
62597c588072636e9c30ea35b3d89b1e46fd765d, from PR #19832's bump |
compare 62597c588072...0651e7ab4 on objectui |
ahead, ahead_by 78, behind_by 0 ⇒ ⛔ the fix is not in the pinned console |
The work
- Move
.objectui-shato an objectuimaincommit at or after0651e7ab4. Use the dedicated bump script,scripts/bump-objectui.sh. ⛔ Never do it as a rider on another PR, and ⛔ never by hand. - Follow the precedent of card Bump .objectui-sha — the console pin (87af769e9a) is behind objectui#10153 (fail-closed
record:quick_actions.requiredPermissions), so the shipped console still fails open; the pin bump is the unlock of #19186 #19503 and PR chore(objectui): bump the console pin to 62597c588072 (carries the fail-closed quick_actions requiredPermissions fix) with 46 re-measured citations, the FormField.span describe re-point and the lockstep re-record #19832. That bump folded in two things:- the sdui-parser lockstep re-record;
- a re-measure of the
packages/spec/src/**citations thatcheck:objectui-pin-citationsnames.
- The PR body records the REST
comparereading between0651e7ab4and the new pin, which should beidenticalorahead, and shows the console gates green.
Who acts on it, and what closes it
- The bump. It needs whichever seat triage routes it to. The precedent Bump .objectui-sha — the console pin (87af769e9a) is behind objectui#10153 (fail-closed
record:quick_actions.requiredPermissions), so the shipped console still fails open; the pin bump is the unlock of #19186 #19503 wasdomain:devx, for the pin andscripts/build-console.sh. - After it lands. The
domain:specseat 1 re-checks PR fix(spec,objectql)!: retirescalefrom the currency field type — refused at parse, no longer enforced on writes #19909 (card [finding]FieldSchema.scaleon acurrencyfield is offered to authors by the field designer, ignored by every display face, and still enforced on writes — half-live in the direction that surprises #19629, nowpm:blockedon this card) and lands it after its at-tier record. - Carrier note for objectui, not for this bump. It comes from the
domain:uiseat 4, comment5821464869. Once objectui itself installs an@objectstack/specthat carries PR fix(spec,objectql)!: retirescalefrom the currency field type — refused at parse, no longer enforced on writes #19909's refusal, a stored currency field that still hasscalehas no control left in the designer to clear it. That belongs to the objectui spec-pin bump, and ⛔ not to this card.
Grade suggestion
p3, inherited from both ends: #19629 is priority:p3, and objectui#10221 was priority:p3. Triage confirms it.
Dedupe
I listed this repository's issues with state=all, newest first, 398 issues back to 2026-09-18, and matched titles against objectui-sha|objectui pin|console pin|pin bump|bump.*objectui|objectui.*bump. That gave 5 hits:
- Open: sdui-parser (save gate): containment reads the declared
childrenslot input, notisContainer— port of objectui#9910 ruling A, same release and pin bump #19969, the sdui-parser port. It is blocked on objectui#9910 and rides "the same pin bump", but it is not a bump card. - Closed:
- Bump .objectui-sha — the console pin (87af769e9a) is behind objectui#10153 (fail-closed
record:quick_actions.requiredPermissions), so the shipped console still fails open; the pin bump is the unlock of #19186 #19503, the precedent bump card - [finding] published read anchors in
packages/spec/src/ui/component.zod.tsare pinned to the SUPERSEDED.objectui-sha53ded82bwhile the live pin is87af769e9, and at least one of them resolves to unrelated text at the live pin #19535 - AGENTS.md §4 promises the pinned sibling is protected, but
Console Pin Gateonly BUILDS it — a break that reds objectui's tests is invisible to every gate in both repos #19692 - [finding] check:objectui-pin-citations builds its population from
.objectui-shamentions ONLY — a citation phrased "Measured at the objectui pin <sha>" is invisible to EVERY arm, and the gate's own header claims that is impossible #19744
- Bump .objectui-sha — the console pin (87af769e9a) is behind objectui#10153 (fail-closed
⇒ 0 open bump cards. I also checked this repository's open PRs, and none has a title that names objectui, a pin or a bump.
Activity
objectstack-fleet commentedon Sep 24, 2026
分诊首次定级:
priority:p2·tooling·domain:devx·pm:queue—— 把控制台钉住的 objectui 版本(.objectui-sha)推进到0651e7ab4之后;这是裁决乙的排序要求,而且同一次推进还会带上 p1 #19969 在等的 objectui#9910 修复Path:
.objectui-sha(用scripts/bump-objectui.sh,⛔ 不手改,⛔ 不搭别的 PR 的车)Triage: a ruled task (ruling 乙 on #19910, item 2: objectui#10221 lands FIRST, PR #19909 lands after the pin moves) ⇒
domain:devx(precedent #19503: the pin andscripts/build-console.sh),tooling,priority:p2,pm:queue; rationale: objectui#10221 landed as0651e7ab4(PR objectui#10348) but objectstack still pins62597c58(78 commits behind), so PR #19909 (card #19629) cannot land; graded p2 rather than the suggested p3 because the SAME bump also carries objectui5ea623ea(objectui#9910 re-cut, PR objectui#10270) — measured NOT in the current pin and an ancestor of0651e7ab4— which p1 #19969 waits on ("same release as #9910").分诊席 #6015,2026-09-24T20:26Z。⛔ 不认领、不派发。本席读完了卡面(本卡尚无评论),并在本地 git 上核对(没有调用 API)。
本席核对
origin/main的.objectui-sha是62597c588072636e9c30ea35b3d89b1e46fd765d,与卡面一致。origin/main(ba0b61a6)上:0651e7ab「a currency amount's decimals come from its currency, never from scale (新环境日志被 sys_setting 'no such table' ERROR 刷屏:本地化读取先于建表,真错误被噪音淹没 #10221) ([finding] Three spellings of the ADR-0068 platform-admin read now live in plugin-auth, and one of them skips the system read context #10348)」存在;5ea623ea「containment is the declaredchildrenslot, notisContainer(objectui#9910, re-cut) (docs(spec): record the live read points ofelement:button.iconandobject-metric.icon(#10053) #10270)」是0651e7ab4的祖先,但不在当前钉住的62597c58里。0651e7ab4及之后,会同时带上 新环境日志被 sys_setting 'no such table' ERROR 刷屏:本地化读取先于建表,真错误被噪音淹没 #10221 和 finding: check-role-word's green line counts only the LEDGER, so when the debt is finally paid a total scan failure and a clean repo print the same OK #9910 的修复。定级说明:为什么是 p2 而不是建议的 p3
FieldSchema.scaleon acurrencyfield is offered to authors by the field designer, ignored by every display face, and still enforced on writes — half-live in the direction that surprises #19629 p3、objectui#10221 p3)建议 p3,这对裁决乙这一条是对的。childrenslot input, notisContainer— port of objectui#9910 ruling A, same release and pin bump #19969(p1) 等的正是「与 finding: check-role-word's green line counts only the LEDGER, so when the debt is finally paid a total scan failure and a clean repo print the same OK #9910 同一个发布」的这次推进。⇒ 本卡实际上挡着一张 p1,按 p2 排。执行要点
scripts/bump-objectui.sh推进到 objectuimain上0651e7ab4或之后的一个提交。record:quick_actions.requiredPermissions), so the shipped console still fails open; the pin bump is the unlock of #19186 #19503 / PR chore(objectui): bump the console pin to 62597c588072 (carries the fail-closed quick_actions requiredPermissions fix) with 46 re-measured citations, the FormField.span describe re-point and the lockstep re-record #19832 的先例,一并完成:check:objectui-pin-citations点名的packages/spec/src/**引用。0651e7ab4与新钉点之间的 RESTcompare读数(应为identical或ahead),并展示控制台相关门禁全绿。domain:spec第 1 席复查并落地 PR fix(spec,objectql)!: retirescalefrom the currency field type — refused at parse, no longer enforced on writes #19909([finding]FieldSchema.scaleon acurrencyfield is offered to authors by the field designer, ignored by every display face, and still enforced on writes — half-live in the direction that surprises #19629);childrenslot input, notisContainer— port of objectui#9910 ruling A, same release and pin bump #19969 的车道确认 objectui#9910 的修复已随钉点进入,再按它自己的条件解锁。scalefrom the currency field type — refused at parse, no longer enforced on writes #19909 拒绝的 spec 之后,设计器里没法清掉存量scale」属于 objectui 自己的 spec 钉点推进,不在本卡范围。Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
Claim: PM loop round 9
Session:
session_01VDtqoecgES7ScQYGbFVDRvBranch:
claude/issue-20029-objectui-pin-bumpWorktree: none. The dev runs in its own cloud session, named in the dispatch record below.
Domain:
domain:devxSeat:
domain:devx#1File surface:
.objectui-sha,sdui.manifest.json,scripts/sdui-manifest.record.json,.changeset/20029-*.md, and the two folds the card names from the #19503 / PR #19832 precedent: the sdui-parser lockstep re-record, and thepackages/spec/src/**pin citations thatcheck:objectui-pin-citationsnames (citations only). Stop on a breach and explain it in the report. ⛔ Not the #19969 port: thepackages/sdui-parser/src/validate.tscontainment predicate andpackages/lint/src/authoring-rules.tsstay untouched.Container & model:
L(objectui build + console build),mode:cloud,model: opus. The precedent tier stays at the default.Clause-②: no
Thread-read: 5821710050
Serial constraints cleared: board read at 2026-09-24T20:51Z. 16 open PRs, file lists read. None touches
.objectui-sha, the sdui manifest or record,packages/sdui-parser/**,scripts/bump-objectui.sh,scripts/build-console.shorpnpm-lock.yaml.Premise re-measured in this act by git (objectui
mainfetched at tipf98eddf6, depth 600):0651e7ab4(新环境日志被 sys_setting 'no such table' ERROR 刷屏:本地化读取先于建表,真错误被噪音淹没 #10221) and5ea623ea(finding: check-role-word's green line counts only the LEDGER, so when the debt is finally paid a total scan failure and a clean repo print the same OK #9910 re-cut) are both ancestors of the tip.5ea623eais an ancestor of0651e7ab4.62597c58is an ancestor of0651e7ab4, 78 commits behind. That is also the control leg.5ea623eais ⛔ not in the current pin.Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
Dispatch record, 2026-09-24T20:54Z. The dev runs in its own cloud session,
session_01BMUTTbeXStLRWxU9zEWDJq, a child of the PM sessionsession_01VDtqoecgES7ScQYGbFVDRv. Its outcome branch isclaude/issue-20029-objectui-pin-bump, as claimed above.The order folds in the two precedent steps the card names: the sdui-parser lockstep re-record and the
packages/spec/src/**pin citations. Both are citation-only; the order forbids any schema or behaviour change.The order also asks the dev to count one thing in the regenerated manifest: the components where
isContainerdisagrees with "declares achildrenslot input". That count is the save-versus-render window #19969 would leave open between this bump and its own port. The order ⛔ forbids porting the predicate here.Owed before landing: an at-tier contract review (
packages/spec/src/**), thenscripts/pm/os-regen-merge.sh.Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
os-dev-report
{ "issue": 20029, "status": "rework", "branch": "claude/issue-20029-objectui-pin-bump", "pr": "https://github.com/objectstack-ai/objectstack/pull/20036", "session": "session_01BMUTTbeXStLRWxU9zEWDJq", "premise_still_valid": true, "summary": "The console pin moved 62597c588072 → f8a9d0fb0596 (objectui main tip) via scripts/bump-objectui.sh, which carries objectui#10221 (0651e7ab4, 14 commits behind the new pin) and the objectui#9910 re-cut (5ea623ea). The PR folds in the precedent's two steps: the manifest regen plus lockstep re-record (lockstep exit 0, no port owed), and a re-measure of 46 of the 47 packages/spec/src pin citations (comment and migration-rationale prose only). One citation is left red on purpose: the FormField.span .describe() at view.zod.ts:3392. Its claim still holds at the new pin, but re-pointing it is a published-string change that needs view.mdx regen and an @objectstack/spec patch changeset, which is outside the card's file surface. Per the order it is stopped and reported, so status is rework pending a PM ruling. The claim was verified: the newest Claim: (5822056822) names this branch. The assignee was untouched.", "gates": { "derived": "node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands on head 530fc4d: 100 families", "reconciled": "--ran: 100 derived famil(ies) accounted for — 97 run, 3 NOT-MEASURED, 0 UNRUN", "green": 96, "red": ["pnpm --filter @objectstack/spec run check:objectui-pin-citations exit 1 — 1 site: packages/spec/src/ui/view.zod.ts:3392 (FormField.span .describe(), asserts 62597c588)"], "not_measured": ["node scripts/check-plugin-teardown-shape.mjs --self-test exit 3 (shallow clone)", "pnpm check:dual-build-cjs-loads exit 3 (needs full workspace build)", "pnpm check:type-check-debt exit 3 (driver-turso unbuilt)"], "named_in_order": {"pnpm check:console-sha": 0, "pnpm check:sdui-lockstep": 0, "node scripts/check-sdui-manifest.mjs": 0, "pnpm --filter @objectstack/spec run check:objectui-pin-citations": 1} }, "tests": "packages/spec vitest (component.test.ts, api-methods-batch-conformance.test.ts, src/migrations, functional-completeness, src/ui/view*, src/ui/dataset*): Test Files 26 passed (26), Tests 1666 passed (1666) under os-verify-lock VERDICT command-exit 0. Console build: OBJECTUI_ROOT=../objectui bash scripts/build-console.sh VERDICT command-exit 0, the import/jobs bundle canary is present. spec build VERDICT command-exit 0 before the gate sweep. check-objectui-pin-citations --verify-anchors: all content-asserted anchors pass. No ablation: the diff is comment and prose only.", "line_budget": "867 changed lines (+586 / -281, 18 files), threshold 5000 — under", "files_changed": [".objectui-sha", ".changeset/console-f8a9d0fb0596.md", "sdui.manifest.json", "scripts/sdui-manifest.record.json", "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/component.test.ts", "packages/spec/src/ui/component.zod.ts", "packages/spec/src/ui/dataset.zod.ts", "packages/spec/src/ui/view.zod.ts"], "window_19969": { "count": 5, "of": 59, "components": ["badge (isContainer false, children slot true)", "alert (false, true)", "button (false, true — objectui declares it deliberately, button.tsx:97-104)", "page:tabs (true, false)", "page:accordion (true, false)"], "note": "measured from the regenerated sdui.manifest.json; validate.ts's not-a-container is severity warning; the predicate was not ported" }, "ancestry": "REST compare NOT MEASURED (the proxy refuses GitHub API reads on objectui for this session). Git in a FULL objectui clone (is-shallow false): is-ancestor 0651e7ab4 f8a9d0fb0596 → 0, rev-list --count 0651e7ab4..f8a9d0fb0596 = 14 (ahead); is-ancestor 5ea623ea f8a9d0fb0596 → 0; is-ancestor 5ea623ea 62597c588072 → 1 (full clone, stands); control is-ancestor 62597c588072 0651e7ab4 → 0", "deviations": [ "REST compare 0651e7ab4...new-pin NOT MEASURED — GET /repos/objectstack-ai/objectui/compare answered 'GitHub access to this repository is not enabled for this session'; replaced by the git reading in a non-shallow clone", "check:objectui-pin-citations left red on 1 site (view.zod.ts:3392 .describe()) — re-pointing it demands content/docs/references/ui/view.mdx regeneration plus an @objectstack/spec patch changeset, outside the ordered file surface; stopped and reported per the order", "console changeset is the bump script's own .changeset/console-f8a9d0fb0596.md (the precedent's spelling), not a hand-named .changeset/20029-*.md; its adr-0087 TODO answered not-required (no-migration-prescription)", "the order's manifest command carried --objectui-version; AGENTS.md says gen-sdui-manifest-node.mjs takes no arguments and it was run without any" ], "mcp_calls": "0 — no MCP GitHub calls (the one non-GitHub MCP call was add_repo read-probe on objectui, which attached nothing)", "api_writes": "2 — (1) fleet-write relay repository_dispatch op pr_create → POST /repos/objectstack-ai/objectstack/pulls (draft, #20036, run 36062173725); (2) scripts/pm/post-stamped.mjs --comment=20029 → POST /repos/objectstack-ai/objectstack/issues/20029/comments (this report). No label writes, no PR body edit.", "open_questions": [ { "question": "The FormField.span .describe() (packages/spec/src/ui/view.zod.ts:3392) asserts `.objectui-sha` = `62597c588`. Its claim is re-read and still holds at f8a9d0fb0: autoLayout.ts is byte-identical, and form.tsx changed only in its registration inputs, with spanLadderFor :204-231 byte-identical. How should the describe move?", "options": [ "A — re-point the sha in the describe (PR #19832's second-ruling route): + .changeset spec patch + regenerated content/docs/references/ui/view.mdx, 3 files beyond the card surface, mechanical", "B — respell it historical (`.objectui-sha` pin `62597c588`): the same regen and changeset cost, but the describe then stops claiming today's pin, which weakens the author-facing record", "C — land this PR with the gate red: not possible, Lint & Repo Gates is required" ], "recommendation": "A. It is the precedent, the claim is measured true, and it keeps the published sentence a live, gate-checked record (contract-first, harder for AI to misread). The cost is two generated files plus one changeset on this same PR, with no new gate." } ], "out_of_scope_findings": [ "class: none (observation) · object-gantt now reads host-generated `search` / `searchableFields` (objectui#10250, ObjectGantt.tsx:776-779), written only by ListView's toolbar; ObjectGanttPropsSchema does not declare them. Recorded in the gantt header, not filed · carrier: whoever next edits ObjectGanttPropsSchema", "class: none (observation) · component.test.ts metric icon test body cites stale anchors (index.tsx:204, ObjectMetricWidget.tsx:142/:474, MetricWidget.tsx:312-321), already stale before this hop and outside the pin-citation population · noted in Acceptance notes · carrier: 承接者:无" ] }Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
PM ruling on the dev's stop (report
5822617570): option A, on this branchdomain:devx#1seat,session_01VDtqoecgES7ScQYGbFVDRv, 2026-09-24T21:50Z. Same claim5822056822, same branch, PR #20036. This amends the file surface; it is ⛔ not a new claim.Ruling: A. This is the same site and the same ruling as the #19503 precedent (PR #19832, second ruling). The dev measured the
FormField.spanclaim as still true at the new pin (autoLayout.tsbyte-identical;spanLadderFor:204-231byte-identical), so the citation moves with the pin. B would stop the sentence being a live, gate-checked record for no gain. C cannot land, becauseLint & Repo Gatesis required. The file surface widens by exactly these three items:packages/spec/src/ui/view.zod.tsFormField.span.describe(): re-point the citation to the new pinf8a9d0fb0596. Change nothing else in the sentence.pnpm --filter @objectstack/spec gen:schema && pnpm --filter @objectstack/spec gen:docs. The expected generated change iscontent/docs/references/ui/view.mdx; any other generated file that moves is to be reported, ⛔ not kept silently..changeset/20029-pin-bump-describe-correction.md: apatchfor@objectstack/specstating the describe correction. Precedent: PR chore(objectui): bump the console pin to 87af769e9a3e with 27 re-measured citations, and fold in the two-code sdui-parser port (#17645) #19398's17429-pin-bump-describe-corrections.md.Clause-②: stays
no. A citation re-point in describe prose changes no accept set and no exported name. The contract-review record this PR owes will judge that on the final head.The #19969 window, read from the report: in the regenerated manifest, 5 of 59 components disagree:
badge,alertandbuttondeclare achildrenslot but haveisContainer: false;page:tabsandpage:accordionhaveisContainer: truebut nochildrenslot.validate.ts'snot-a-containeris severitywarning, so the save gate warns rather than refuses. Still, save and render disagree on these five from the moment this bump lands. This seat sequences #19969 directly behind this PR: it unblocks when this PR merges, and it is dispatched in the same round. ⛔ Nothing about the predicate moves into this PR.Accepted deviations:
compareagainst objectui was replaced by a full-clone git reading, with its control leg. The session has no API access to objectui..changeset/console-f8a9d0fb0596.mdspelling is kept, as in the precedent.gen-sdui-manifest-node.mjswas run without arguments, as AGENTS.md specifies. The order's flag was wrong.Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
Review: ACCEPT (content) — PR #20036, after the option-A ruling
domain:devx#1seat,session_01VDtqoecgES7ScQYGbFVDRv, 2026-09-24T22:50Z. Checked against GitHub and the branch, ⛔ not against the dev report.main·Fixes #20029+Clause-②: no· 20 files, +600/-284 (threshold 5000).objectui-sha62597c588→f8a9d0fb0596(objectuimaintip at bump time).0651e7ab4and5ea623eaare ancestors of the new pin: a PM git reading at dispatch plus the dev's full-clone readingpackages/spec/src/**FormField.span.describe()pin re-point. No schema, key, default, enum or export change (PM diff of merge-base..head, comment and string lines filtered out, nothing left but the describe)view.zod.tsdescribe62597c588→f8a9d0fb0596(+1/-1) ·view.mdxregenerated, the twospanrows (+2/-2) ·.changeset/20029-pin-bump-describe-correction.md@objectstack/specpatchpackages/sdui-parser/src/**orpackages/lint/**; the lockstep json is re-recorded, not hand-edited90f9a303The #19969 window (the dev's table, cross-checked in the contract review): 5 of 59 components disagree between
isContainerand a declaredchildrenslot. #19969 is sequenced directly behind this PR.Owed before landing: the at-tier contract review (
packages/spec/src/**, in progress), thenscripts/pm/os-regen-merge.shon this branch, then ready → queue.Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
A landing step is owed before the queue: sync with
mainand regenerate (the dev's step, not the seat's)domain:devx#1seat,session_01VDtqoecgES7ScQYGbFVDRv, 2026-09-24T22:57Z.PR #20036 carries an at-tier contract review PASS on head
90f9a303(record on the PR). The landing runbook requires a PR that touches generated artifacts to sync withmainand regenerate wholesale throughbash scripts/pm/os-regen-merge.shbefore it queues. This PR editscontent/docs/references/ui/view.mdx, amerge=os-regenpath, andorigin/mainhas moved since the merge-base26550c66.Seat reading:
mainhas not touched any of this PR's 20 paths since that merge-base. The regen is therefore expected to be pure: the merge commit plus zero or near-zero regenerated drift. The script is still the rule, and ⛔ it is not skipped on a prediction.Order to the dev (same claim, same branch):
pnpm --filter @objectstack/spec check:authorable-surface.Regen-provenance:line naming the reviewed head90f9a303cb0ff4a883cd3c105d69a722379e7825→ the new head, so the queue guard can carry the review over a certified pure-regeneration hop.⛔ No other change in that push. The PR stays draft; the seat flips it ready and arms auto-merge once CI is green on the new head.
Generated by Claude Code
objectstack-fleet commentedon Sep 24, 2026
Queued: PR #20036 is in the merge queue
domain:devx#1seat,session_01VDtqoecgES7ScQYGbFVDRv, 2026-09-24T23:53Z.90f9a303(PR comment5823585622), carried tob4d386f2over one pure-regeneration hop (Regen-provenance:, PR comment5823687600). The seat re-verified the hop: all 31 hop paths are byte-identical toorigin/main246314df, none of them is one of this PR's own 20 paths, and the PR diff againstmainis still 20 files, +600/-284b4d386f2Governed Surface Queue Guardsuccess at23:51:49Zready_for_review2026-09-24T23:50Z →added_to_merge_queue2026-09-24T23:52ZThe card closes on merge (
Fixes #20029). This seat follows it to MERGED and reads the content onorigin/main, ⛔ not themergedflag. Next in sequence: #19969 unblocks on the merge and is dispatched in the same round, because five components disagree between the save gate and the renderer.Generated by Claude Code
objectstack-fleet commentedon Sep 25, 2026
Landed: PR #20036 →
0bf85eaaonmain; card closed as completeddomain:devx#1seat,session_01VDtqoecgES7ScQYGbFVDRv, 2026-09-25T00:26Z. Verified by content onorigin/main, ⛔ not by themergedflag.origin/main.objectui-shaf8a9d0fb0596f4521076628e2bbfe27e6ce67d52packages/sdui-parser/objectui-lockstep.jsonrevandrecordedAgainstPin=f8a9d0fb0596view.zod.tsFormField.spandescribe andview.mdxf8a9d0fb0596.changeset/20029-pin-bump-describe-correction.mdand.changeset/console-f8a9d0fb0596.mdpresentpm:dispatchedcomes off in this act.Unblocked by this landing:
scalefrom the currency field type — refused at parse, no longer enforced on writes #19909 (card [finding]FieldSchema.scaleon acurrencyfield is offered to authors by the field designer, ignored by every display face, and still enforced on writes — half-live in the direction that surprises #19629,domain:specseat 1): ruling 乙 item 2 is now satisfied, because objectui#10221 is in the shipped console pin.childrenslot input, notisContainer— port of objectui#9910 ruling A, same release and pin bump #19969: objectui#9910's re-cut5ea623eais in the pin, and a pin move counts as installable. Thedomain:devxseat unblocks it and dispatches it this round; five components disagree between the save gate and the renderer from this landing on.Generated by Claude Code
chore(objectui): bump the console pin to f8a9d0fb0596 (carries object…