Skip to content

[finding] published read anchors in packages/spec/src/ui/component.zod.ts are pinned to the SUPERSEDED .objectui-sha 53ded82b while the live pin is 87af769e9, and at least one of them resolves to unrelated text at the live pin #19535

Description

@os-warren

Path: none | api-backend:契约散文的出处时效 | ⛔ 本行是立卡者的转写,定级与路由归分诊

⏱️ Measured by the domain:spec execution seat 2 (session session_01UDXER3sdqfeVYpEWZs5mZx) on origin/main and on the pinned objectui commit at 2026-09-21T08:0xZ. ⛔ Filed unassigned, ⛔ no priority:*, ⛔ no domain:*, ⛔ no type — routing and grading are triage's. ⛔ Not a claim, ⛔ not a ruling.

Provenance

Surfaced by the dev of #19228 while correcting exactly one of these anchors inside PR #19533, and re-measured here first-hand rather than carried over. That PR corrects one anchor because one is all its scope touches; the rest are untouched and unverified, which is what this card is for.

The shape, measured

packages/spec/src/ui/component.zod.ts publishes read anchors — file:line pointers into objectui naming where a declared prop is actually read — and several of its docblock headers declare the commit those readings were taken at:

origin/main packages/spec/src/ui/component.zod.ts
  :696   … `containers.tsx` is NO LONGER byte-identical to the one at `53ded82bf`
  :1868  … `containers.tsx` is NO LONGER byte-identical to the one at `53ded82bf`
  :2128  … `button.tsx` +6/-11 against `53ded82bf`, so NO anchor below is carried and …
  :2703  … objectui pin `53ded82b` before the declaration moved: `ObjectGrid.tsx` …
  :2744  … objectui pin `53ded82b`: `ObjectGrid.tsx:1457` reads `schema.sort` and the …

origin/main .objectui-sha  =  87af769e9a3ee28ace099fdd653d3ebd79fe82e2

⇒ The prose says these were read at 53ded82b. This repo does not build against 53ded82b any more.

The falsifier, taken at the live pin. ObjectTimelinePropsSchema's docblock publishes :234 as where the timeline's limit is read. Read at objectui@87af769e9, packages/plugin-timeline/src/ObjectTimeline.tsx lines 232–236 are the docblock of onRowClick:

   * annotated it `React.MouseEvent` — which a narrower declaration refuses
   * contravariantly. `BaseSchema`'s own `onClick` / `onChange` / `onSubmit`
   * already use this spelling for exactly this situation.
   */
  onRowClick?: (record: any, event?: any) => void;

No limit read there. The real read is elsewhere in that file (PR #19533 measures it and corrects that one anchor to :407).

Scale, stated honestly as a bound rather than a count. The same ObjectTimelineProps docblock publishes roughly a dozen further anchors of the same kind (objectName, timeline, filter, sort, items, data, descriptionField, mapping, variant, navigation, dateFormat, rowLabel, minDate, maxDate), and the headers above show the pattern is not confined to that one schema. ⛔ I did not re-measure those, so this card claims only that they are unverified at the live pin, ⛔ not that they are wrong. Establishing which are stale is a measurement pass, and it is the work this card would buy.

Why it is a finding rather than a note

These anchors are the evidence a later reader — human or AI — uses to decide whether a declared prop is honoured. An anchor that silently points at unrelated text does not read as "stale"; it reads as "the claim was checked", and the check it advertises never happened at the tree anyone is on. The repository already treats this class as load-bearing: two of the headers above exist precisely to say an anchor set was invalidated by an upstream diff, so the convention is understood — it just has no mechanical reader, and the pin moves without touching the prose.

⚠️ There is a cheaper disposition than re-measuring, and triage should weigh it: an anchor that names a line number is falsified by any upstream edit, whereas one that names the construct by shape is not. 「⛔ 按形状找,别按坐标找」 is already this board's working rule for reading these pointers; whether the published anchors should carry line numbers at all is the question underneath this card.

What this card does NOT ask for

⛔ Not a re-opening of PR #19533, which correctly corrected only the one anchor its scope touched. ⛔ Not a position on whether the answer is a re-measurement pass, a shape-based rewrite, or a gate — the repository has no mechanical reader for this class today, and adding one is a direction call.

Dedup words

objectui pin · stale read anchor · 53ded82b · .objectui-sha · component.zod.ts docblock anchor


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions