Skip to content

Commit 7de0f00

Browse files
committed
Revert the console pin move: the pin follows #22874 (#15204 B2)
This reverts commit e486abb. .objectui-sha is #22874's single-writer path, and objectui from e5311165 on reads allowEnvironmentOverlay only, which main's server sends once #22874 lands. The pin move returns as its own PR after #22874. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013XKtmoR5QCUSTMjiQ3os49
1 parent e486abb commit 7de0f00

21 files changed

Lines changed: 71 additions & 290 deletions

‎.changeset/console-088e0f705520.md‎

Lines changed: 0 additions & 44 deletions
This file was deleted.

‎.changeset/objectui-pin-citations-088e0f705520.md‎

Lines changed: 0 additions & 18 deletions
This file was deleted.

‎.objectui-sha‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
088e0f705520e82bee1d65a5fa3c1f7a26672dde
1+
4997995022f8e65946f6362b7434685539cc72b7

‎content/docs/references/ui/view.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ Column footer summary configuration
213213
| **required** | `boolean` | optional | Required override |
214214
| **hidden** | `boolean` | optional | Hidden override |
215215
| **colSpan** | `integer` | optional | Absolute column span (1-4). The renderer clamps it to the form grid's current column count, so the cell starts at a real column boundary at every surface width and never overflows (`colSpan: 4` in a 3-column grid renders as 3); a `colSpan` within the column count renders as authored, and `colSpan: 1` emits no span class at all. |
216-
| **span** | `Enum<'auto' \| 'full'>` | optional (default: `"auto"`) | Relative field width. 'auto' (default — omit it): the renderer sizes the field from its widget type × the current column count — at the pin this repo builds against (`.objectui-sha` = `088e0f705520`), only textarea, markdown, html, richtext and repeater resolve to the full column count (repeater reaches it through the wide `field:grid` widget it maps to). 'full': resolves to the form grid's full column count. How far down the container-query tiers that span is emitted is the renderer's, not this key's: at that same pin the renderer emits one clamped col-span class per multi-column tier (`@md:col-span-2 @2xl:col-span-3` for a 3-column grid), so the field takes the whole row at every multi-column tier, not just the widest. |
216+
| **span** | `Enum<'auto' \| 'full'>` | optional (default: `"auto"`) | Relative field width. 'auto' (default — omit it): the renderer sizes the field from its widget type × the current column count — at the pin this repo builds against (`.objectui-sha` = `4997995022f8`), only textarea, markdown, html, richtext and repeater resolve to the full column count (repeater reaches it through the wide `field:grid` widget it maps to). 'full': resolves to the form grid's full column count. How far down the container-query tiers that span is emitted is the renderer's, not this key's: at that same pin the renderer emits one clamped col-span class per multi-column tier (`@md:col-span-2 @2xl:col-span-3` for a 3-column grid), so the field takes the whole row at every multi-column tier, not just the widest. |
217217
| **widget** | `string` | optional | Custom widget/component name (overrides type-based inference) |
218218
| **language** | `string` | optional | Code editor language (for type=code) |
219219
| **keyField** | `{ field?: string; label?: string \| Record<string, string>; placeholder?: string \| Record<string, string>; helpText?: string \| Record<string, string>; … }` | optional | Key column config for record-typed fields |
@@ -343,7 +343,7 @@ Form-view select option — the object-field option shape minus the per-option `
343343
| **required** | `boolean` | optional | Required override |
344344
| **hidden** | `boolean` | optional | Hidden override |
345345
| **colSpan** | `integer` | optional | Absolute column span (1-4). The renderer clamps it to the form grid's current column count, so the cell starts at a real column boundary at every surface width and never overflows (`colSpan: 4` in a 3-column grid renders as 3); a `colSpan` within the column count renders as authored, and `colSpan: 1` emits no span class at all. |
346-
| **span** | `Enum<'auto' \| 'full'>` | optional (default: `"auto"`) | Relative field width. 'auto' (default — omit it): the renderer sizes the field from its widget type × the current column count — at the pin this repo builds against (`.objectui-sha` = `088e0f705520`), only textarea, markdown, html, richtext and repeater resolve to the full column count (repeater reaches it through the wide `field:grid` widget it maps to). 'full': resolves to the form grid's full column count. How far down the container-query tiers that span is emitted is the renderer's, not this key's: at that same pin the renderer emits one clamped col-span class per multi-column tier (`@md:col-span-2 @2xl:col-span-3` for a 3-column grid), so the field takes the whole row at every multi-column tier, not just the widest. |
346+
| **span** | `Enum<'auto' \| 'full'>` | optional (default: `"auto"`) | Relative field width. 'auto' (default — omit it): the renderer sizes the field from its widget type × the current column count — at the pin this repo builds against (`.objectui-sha` = `4997995022f8`), only textarea, markdown, html, richtext and repeater resolve to the full column count (repeater reaches it through the wide `field:grid` widget it maps to). 'full': resolves to the form grid's full column count. How far down the container-query tiers that span is emitted is the renderer's, not this key's: at that same pin the renderer emits one clamped col-span class per multi-column tier (`@md:col-span-2 @2xl:col-span-3` for a 3-column grid), so the field takes the whole row at every multi-column tier, not just the widest. |
347347
| **widget** | `string` | optional | Custom widget/component name (overrides type-based inference) |
348348
| **language** | `string` | optional | Code editor language (for type=code) |
349349
| **keyField** | `{ field?: string; label?: string \| Record<string, string>; placeholder?: string \| Record<string, string>; helpText?: string \| Record<string, string>; … }` | optional | Key column config for record-typed fields |

‎packages/sdui-parser/objectui-lockstep.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
],
77
"objectui": {
88
"repo": "https://github.com/objectstack-ai/objectui.git",
9-
"rev": "088e0f705520e82bee1d65a5fa3c1f7a26672dde",
10-
"revDate": "2026-10-12T03:19:24+00:00",
9+
"rev": "4997995022f8e65946f6362b7434685539cc72b7",
10+
"revDate": "2026-10-11T10:56:33+00:00",
1111
"source": "packages/sdui-parser/src",
1212
"files": [
1313
"packages/sdui-parser/src/body-dialect.ts",
@@ -21,7 +21,7 @@
2121
"packages/sdui-parser/src/validate.ts"
2222
]
2323
},
24-
"recordedAgainstPin": "088e0f705520e82bee1d65a5fa3c1f7a26672dde",
24+
"recordedAgainstPin": "4997995022f8e65946f6362b7434685539cc72b7",
2525
"grammarRegion": {
2626
"file": "packages/sdui-parser/src/parse.ts",
2727
"delimiter": "/* ---------------------- the JS literal subset (#6614) ---------------------- */",

‎packages/spec/src/data/api-methods-batch-conformance.test.ts‎

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,7 @@ const SINGLE_RECORD_WRITE_ONLY: Record<string, string> = {
6161
// `revoked` on ONE key. The multi-select surface this rule protects does not
6262
// exist for API keys, and the shape a future one would take does not need
6363
// `bulk` either — both read off the console build this release pins
64-
// (`.objectui-sha` = `088e0f705`, re-read there 2026-10-12:
65-
// in `packages/plugin-grid`, on the hop off `499799502`, `ObjectGrid.tsx`
66-
// changed again (27 insertions, 11 deletions: objectui#12143's grouped-pager
67-
// button names and objectui#12110 item 1's column-label override), none of it
68-
// inside the selection block, which only MOVED by +16: `ObjectGrid.tsx:4997-5024`
69-
// here (`4981-5008` at `499799502`), still hashing to
70-
// `c88443302d40c2db739ddb235470bafa29056e2e` (hash-object of the block),
71-
// re-READ with the same reading below; neither hunk touches the bulk defs or
72-
// their verdicts, so the `delete` verdict line MOVED `:1787` -> `:1793` and the
73-
// promoted def's params `:5165-5184` -> `:5181-5200` (called at `:5200` ->
74-
// `:5216`), each byte-identical. `hooks/useBulkExecutor.ts` is byte-identical
75-
// to `499799502` and its `:298-303` still hashes to
76-
// `01083348330f10a201cdf1078b4c21c236402b6a`. At `499799502`, re-read there
77-
// 2026-10-11:
64+
// (`.objectui-sha` = `499799502`, re-read there 2026-10-11:
7865
// in `packages/plugin-grid`, on the hop off `0df67f237`, `ObjectGrid.tsx`
7966
// changed again (89 insertions, 44 deletions: objectui#12081 item 3's
8067
// whole-set footer and objectui#12082 leg A), none of it inside the

‎packages/spec/src/kernel/functional-completeness.ts‎

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -298,10 +298,7 @@ export function checkFieldCompleteness(def: unknown): CompletenessFinding[] {
298298
* English sentence. So the loss is total rather than partial — every
299299
* record, on every object — and the author is told at render time as well
300300
* as here. Both reads hold at the pin this repo builds against
301-
* (`.objectui-sha` = `088e0f705`, re-read there 2026-10-12:
302-
* every objectui file this record cites is byte-identical across the hop from
303-
* `499799502` (`git diff --quiet`), so every anchor held unmoved. At
304-
* `499799502`, re-read there 2026-10-11:
301+
* (`.objectui-sha` = `499799502`, re-read there 2026-10-11:
305302
* on the hop off `0df67f237` `ObjectCalendar.tsx` and `ListView.tsx` are
306303
* byte-identical (`git diff --quiet`), so `getCalendarConfig` `:311`, the
307304
* `if (!calendarConfig)` arm `:1354` with its `tt(…)` lines `:1361-1362` and
@@ -428,10 +425,7 @@ export function checkFieldCompleteness(def: unknown): CompletenessFinding[] {
428425
* This repo already records the same deletion one door over: the #13817
429426
* check in `../ui/view.zod.ts` names objectui#7029 as its runtime half.
430427
* - `gantt` → NO fallback, and no silence [#19630]. Measured at the pin
431-
* this repo builds against (`.objectui-sha` = `088e0f705`, re-read there 2026-10-12:
432-
* every objectui file this record cites is byte-identical across the hop from
433-
* `499799502` (`git diff --quiet`), so every anchor held unmoved. At
434-
* `499799502`, re-read there 2026-10-11:
428+
* this repo builds against (`.objectui-sha` = `499799502`, re-read there 2026-10-11:
435429
* on the hop off `0df67f237` `ObjectGantt.tsx` changed (+27/-4,
436430
* objectui#12082, objectui `752504520`: the chart's in-chart writes read the
437431
* affordance-to-grant map), none of it in `getGanttConfig` or the refusal arm,
@@ -530,9 +524,6 @@ export function checkFieldCompleteness(def: unknown): CompletenessFinding[] {
530524
* requires. So the view does not draw a blank chart: it refuses, by name.
531525
* - `timeline` → date axis: NO fallback [#19630]; title: `titleField || 'name'`,
532526
* which still stands. Measured at the same pin (`.objectui-sha` =
533-
* `088e0f705`, re-read there 2026-10-12:
534-
* every objectui file this record cites is byte-identical across the hop from
535-
* `499799502` (`git diff --quiet`), so every anchor held unmoved. At
536527
* `499799502`, re-read there 2026-10-11:
537528
* every objectui file this record cites is byte-identical across the hop from
538529
* `0df67f237` (`git diff --quiet`), so every anchor held unmoved. At
@@ -629,10 +620,7 @@ export function checkFieldCompleteness(def: unknown): CompletenessFinding[] {
629620
* block does render; the warning still fires there, because the block the
630621
* view TYPE names is the one that is missing. Unchanged by this row.
631622
* - `map` → NO fallback, and no silence [#19630]. Measured at the same
632-
* pin (`.objectui-sha` = `088e0f705`, re-read there 2026-10-12:
633-
* every objectui file this record cites is byte-identical across the hop from
634-
* `499799502` (`git diff --quiet`), so every anchor held unmoved. At
635-
* `499799502`, re-read there 2026-10-11:
623+
* pin (`.objectui-sha` = `499799502`, re-read there 2026-10-11:
636624
* every objectui file this record cites is byte-identical across the hop from
637625
* `0df67f237` (`git diff --quiet`), so every anchor held unmoved. At
638626
* `0df67f237`, re-read there 2026-10-11:

0 commit comments

Comments
 (0)