Skip to content

[finding] packages/spec/liveness/field.json: two live displayField notes credit objectui with reading the snake_case spellings that objectui#7155 removed #15540

Description

@claude

Found while bumping the console pin (#15422, 00d3f09c500c to a472b07167a3); filed rather than fixed, because a pin bump takes no riders. ⛔ Unassigned, unlabeled — awaiting triage first-touch grading.

The measurement

packages/spec/liveness/field.json carries two status: "live" entries for displayField whose note describes objectui's reader as reading the snake_case spelling:

entry note
/props/displayField "objectui LookupField/RecordPickerDialog — candidate label field in the record picker (reads displayField || display_field)."
/props/inlineColumns/children/displayField "objectui GridField.tsx lookup cells — LookupField display_field."

objectui 351eb3181 (objectui#7155, maintainer ruling A' of 2026-09-03, merged upstream 2026-09-04 and inside the range this bump carries) removes display_field, description_field, lookup_filters and id_field from LookupFieldMetadata / UserFieldMetadata and makes the read chains read the spec spelling only — no deprecation window, no dual read.

So after the pin lands:

  • the first note's parenthetical reads displayField || display_field names a read chain that no longer exists;
  • the second note names display_field as the key that reader reads, which is now false outright.

Both entries' verdicts stay correct — displayField is live, and more exclusively so than before. What is stale is the evidence prose beneath them.

Why it is worth a card rather than a shrug

Liveness notes are the evidence an ADR-0049 enforce-or-remove decision is taken on: a note asserting a reader reads a key is exactly what stops that key being read as dead. A note naming the WRONG key can push a later census either way — toward crediting a retired spelling with a live reader, or toward doubting the entry that is genuinely live. The repo already treats this class as real: packages/spec/liveness/ exists so that a "who reads this" claim is written down rather than re-derived, and a written-down claim that has gone false is worse than none.

Dedup

Read 2026-09-04 over all 568 open issues of this repo (REST list endpoints, /search/issues is 403 on this seat), grepping title + body for display_field, liveness/field.json, lookup dialect, descriptionField, lookup_filters: the only two liveness/field.json mentions are #15161 (valueDomain write-path enforcement) and #6367 (a PM seat post), neither about these notes. Control leg on the same corpus: "liveness" appears in 32 open issues, so the term is present and the corpus is readable — the zero above is a measured absence.

Candidate fixes (⛔ not deciding here)

  1. Rewrite both notes to name the camelCase reader, dated to the pin that made it exclusive.
  2. Same, plus a gate that reads the note's key spelling back against the pinned objectui tree — the same shape as the other cross-repo provenance records, and the only version that cannot rot again silently.
  3. Leave the notes; record only that the parenthetical is historical.

Refs: #15422 (the pin bump that surfaced it) · objectui#7155 · ADR-0049.


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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions