Skip to content

Commit 39b05bf

Browse files
committed
chore(spec): re-measure 6 objectui pin citations at 9602dc820450
Re-derived every cited anchor at the new pin rather than rewriting the sha, per check-objectui-pin-citations' own instruction. - ObjectGrid.tsx 2492-2507 -> 2586-2601 (block byte-identical, shifted) - plugin-dashboard/src/index.tsx 161 -> 204 (object-metric block) - useBulkExecutor.ts 284-288 -> 284-289 (span was truncated since written) - containers.tsx tabs 662-668 / :721 and accordion 851-857 / :898 unmoved, re-read at the new pin rather than inferred from byte-identity - MetricWidget / ObjectMetricWidget / MetricCard / lazy-icon anchors unmoved The two element:button records are deliberately NOT touched: that read point MOVED (objectui#5993) and its shipped .describe() text is now false. Reported rather than re-pointed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPrUz21stTFhJRUirdc4yw
1 parent 02ddae3 commit 39b05bf

3 files changed

Lines changed: 36 additions & 22 deletions

File tree

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

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,18 @@ 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` = `190fbd01d`, `packages/plugin-grid`; re-measured at
65-
// that pin, 2026-08-22 — previously measured at `9a3daf8d3`, originally at
66-
// `6314e87f2`. `ObjectGrid.tsx` DID change across that move, so both claims
67-
// below were re-derived rather than carried over, and they now carry line
68-
// anchors: `ObjectGrid.tsx:2492-2507` and `hooks/useBulkExecutor.ts:284-288`,
69-
// the latter byte-identical at both pins):
64+
// (`.objectui-sha` = `9602dc820`, `packages/plugin-grid`; re-measured at
65+
// that pin, 2026-08-28 — previously measured at `190fbd01d`, before that at
66+
// `9a3daf8d3`, originally at `6314e87f2`. `ObjectGrid.tsx` DID change across
67+
// the move off `190fbd01d`, so both claims below were re-derived rather than
68+
// carried over: `ObjectGrid.tsx:2586-2601`, whose block is byte-identical to
69+
// the one cited at `190fbd01d:2492-2507` and shifted only by insertions above
70+
// it, and `hooks/useBulkExecutor.ts:284-289`, in a file byte-identical at both
71+
// pins. That second span is WIDENED BY ONE LINE from the `284-288` cited
72+
// before: it stopped short of `label = 'bulk delete'`, truncating the second
73+
// of the two branches it names — the #10274 class of anchor error, found here
74+
// by re-reading rather than by the file changing, which is why byte-identity
75+
// is never taken as proof an anchor is right):
7076
//
7177
// · No checkbox column is rendered. None of the object's four list views
7278
// declares `bulkActions` / `bulkActionDefs` / `selection`, and `ObjectGrid`

packages/spec/src/ui/component.test.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -278,9 +278,11 @@ describe('PageAccordionProps variant (#6776)', () => {
278278
// same file's `ComponentRegistry.register('accordion', …)` publishes the key to
279279
// the Studio block designer at `:898` (the `items` input, documented as
280280
// `[{ label, icon?, collapsed?, children }]`). Measured at the pin this repo
281-
// builds against — `.objectui-sha` = `190fbd01d`. Re-derived at that pin
282-
// 2026-08-22: `containers.tsx` changed across the move from `9a3daf8d3`, and
283-
// both anchors above landed on the same lines when re-counted.
281+
// builds against — `.objectui-sha` = `9602dc820`. Re-derived at that pin
282+
// 2026-08-28: `containers.tsx` is byte-identical to the one at `190fbd01d`, so
283+
// both anchors above are unmoved — and both were re-READ at the new pin rather
284+
// than inferred from that identity, because identity preserves a wrong anchor
285+
// as faithfully as a right one (#10274).
284286
//
285287
// #9397 spent a full dispatch cycle re-deriving that read point from scratch
286288
// after the sweep proposed retiring the key. This block plus the `.describe()`
@@ -363,9 +365,10 @@ describe('PageTabsProps items[].value / items[].count (#5775)', () => {
363365
// same file's `ComponentRegistry.register('tabs', …)` publishes the key to the
364366
// Studio block designer at `:721` (the `items` input, documented as
365367
// `[{ label, value?, icon?, count?, visibleWhen?, children }]`). Measured at
366-
// the pin this repo builds against — `.objectui-sha` = `190fbd01d`. Re-derived
367-
// at that pin 2026-08-22: `containers.tsx` changed across the move from
368-
// `9a3daf8d3`, and both anchors above landed on the same lines when re-counted.
368+
// the pin this repo builds against — `.objectui-sha` = `9602dc820`. Re-derived
369+
// at that pin 2026-08-28: `containers.tsx` is byte-identical to the one at
370+
// `190fbd01d`, so both anchors above are unmoved — and both were re-READ at the
371+
// new pin rather than inferred from that identity (#10274).
369372
//
370373
// #9397 spent a full dispatch cycle re-deriving the accordion's read point
371374
// after the sweep proposed retiring it. This block plus the `.describe()` it

packages/spec/src/ui/component.zod.ts

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -639,9 +639,10 @@ export const PageTabsProps = strictObject({
639639
* false candidate a component over).
640640
*
641641
* The key is LIVE at the objectui pin this repo builds against
642-
* (`.objectui-sha` = `190fbd01d`; re-derived at that pin 2026-08-22 —
643-
* `containers.tsx` changed across the move from `9a3daf8d3` but both
644-
* anchors below landed on the same lines): `containers.tsx:662-668` renders
642+
* (`.objectui-sha` = `9602dc820`; re-derived at that pin 2026-08-28 —
643+
* `containers.tsx` is byte-identical to the one at `190fbd01d`, so both
644+
* anchors below are unmoved, and both were re-READ there rather than
645+
* inferred from that identity): `containers.tsx:662-668` renders
645646
* `{item.icon && <LazyIcon name={item.icon} …/>}` inside the
646647
* `TabsTrigger`, left of the label span (`mr-1.5 h-3.5 w-3.5 shrink-0
647648
* opacity-70`, `aria-hidden`), and the renderer's registration publishes
@@ -1646,9 +1647,10 @@ export const PageAccordionProps = strictObject({
16461647
* re-derive the same false candidate).
16471648
*
16481649
* The key is LIVE at the objectui pin this repo builds against
1649-
* (`.objectui-sha` = `190fbd01d`; re-derived at that pin 2026-08-22 —
1650-
* `containers.tsx` changed across the move from `9a3daf8d3` but both
1651-
* anchors below landed on the same lines): `containers.tsx:851-857` renders
1650+
* (`.objectui-sha` = `9602dc820`; re-derived at that pin 2026-08-28 —
1651+
* `containers.tsx` is byte-identical to the one at `190fbd01d`, so both
1652+
* anchors below are unmoved, and both were re-READ there rather than
1653+
* inferred from that identity): `containers.tsx:851-857` renders
16521654
* `{item.icon && <LazyIcon name={item.icon} …/>}` inside the
16531655
* `AccordionTrigger`, grouped with the label in the trigger's one wrapping
16541656
* span, and the renderer's registration publishes the key to the Studio
@@ -2390,11 +2392,14 @@ export const ObjectMetricPropsSchema = lazySchema(() => strictObject({
23902392
* same record for the metric tile.
23912393
*
23922394
* The key is LIVE at the objectui pin this repo builds against
2393-
* (`.objectui-sha` = `190fbd01d`; re-derived at that pin 2026-08-22 — all
2394-
* four files in the chain below, plus `lazy-icon.tsx`, are byte-identical to
2395-
* the ones at `9a3daf8d3`, so every anchor is unmoved), and the chain runs
2395+
* (`.objectui-sha` = `9602dc820`; re-derived at that pin 2026-08-28 — of the
2396+
* files in the chain below, `index.tsx` DID change across the move off
2397+
* `190fbd01d` and its anchor moved `161` → `204`, while `ObjectMetricWidget
2398+
* .tsx`, `MetricWidget.tsx`, `MetricCard.tsx` and `lazy-icon.tsx` are
2399+
* byte-identical to the ones at `190fbd01d`; every anchor below was re-READ
2400+
* at the new pin rather than inferred from that identity), and the chain runs
23962401
* three files:
2397-
* `plugin-dashboard/src/index.tsx:161` publishes it as a designer input
2402+
* `plugin-dashboard/src/index.tsx:204` publishes it as a designer input
23982403
* (`Icon (Lucide name)`) on the registered `object-metric` block;
23992404
* `ObjectMetricWidget.tsx:142` destructures it and forwards it at `:474` to
24002405
* `MetricWidget`; `MetricWidget.tsx:312-321` resolves it via

0 commit comments

Comments
 (0)