Skip to content

finding: "no runtime consumer" on docs-shaped dead ledger rows is contradicted by metadata-admin previews — JobPreview renders job.label/job.description, TranslationPreview renders translation.label/.name #7131

Description

@os-project-manager

Observation-class finding from the axis-③ liveness audit (ledger claims vs measured objectui readers). Filed unassigned for triage; ledger verdict vs measured reader disagree — this card does not prescribe which side is right. Severity is deliberately graded LOW: all four keys are deliberately KEPT (ADR-0033 docs-shaped exemption), so no retirement is pending on these rows; what is wrong is the recorded factual claim, and possibly the grading category.

Audited revisions (E24)

  • objectstack origin/main @ 4ac12ef4cfe4a1925fb7e950c56d7aff0bbc5381
  • objectui origin/main @ 5bfaabde05c3876c9604a2aa47f4822f9e6de8b5

Both read via git fetch + git archive of origin/main, not working trees.

The ledger claims

  • packages/spec/liveness/job.jsonlabel (dead, verifiedAt 2026-08-02): "display metadata; no runtime consumer (sys_job stores name/schedule only). Docs-shaped annotation, deliberately KEPT…" — description: "same as label".
  • packages/spec/liveness/translation.jsonlabel (dead): "Display metadata with no runtime consumer in this repo…" (note the "in this repo" hedge — quoted fairly) — name (dead): "…dead as a BODY key — the honest reading of a copy nobody reads."

Measured reality at objectui @5bfaabd

packages/app-shell/src/views/metadata-admin/previews/JobPreview.tsx:257-258 reads the job draft's body keys and renders them (:313, :316):

  const label = String(d.label ?? jobName);
  const description = (d.description as string | undefined) ?? '';

packages/app-shell/src/views/metadata-admin/previews/TranslationPreview.tsx:67 reads the translation draft's body label and name:

  const label = (d.label as string | undefined) ?? (d.name as string | undefined) ?? name ?? '';

In both, d is draft as Record<string, unknown> — the metadata body of the exact type the ledger row covers, not a same-named key on another object.

Why this is worth a card despite the KEPT status

By the ledger's own methodology these surfaces count: the permission.rowLevelSecurity.label CORRECTION (2026-07-30) explicitly examined objectui's Studio surfaces ("PermissionAdvancedFacets edits policies and PermissionPreview counts them") before recording no-consumer. Under the same instrument, job.label/job.description and translation.label/.name measure as rendered today. Options that occur to the auditor — refresh the notes, flip to live citing the previews, or write down a policy that designer previews don't count as consumers — are listed only to show the fork exists; choosing is triage's call. Note the translation.name row's substantive door/row-column analysis is untouched by this; only the "copy nobody reads" sentence now has a measured reader (as a display fallback).

Dedup

Org-wide open-issue searches for JobPreview label, liveness ledger (open) return no card on this; objectui#3901 is the form-view aria specimen, distinct.

Suggested lane

spec-surface / ledger hygiene (single-repo: the fix lands in the ledgers either way, unless triage picks the preview-cleanup side).

Provenance: cross-repo read-only audit, session https://claude.ai/code/session_018ffcE95NaMJcL9XJ9VDYgk

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions