Skip to content

picklist kind: the os CLI compile / validate / lint path accepts *.picklist.ts, picklists and picklistExtensions, and os validate refuses a picklist that names no picklist (Scope 6 of #19518) #20825

Description

@objectstack-fleet

Filed by the domain:spec seat 5 (session_01Sfe5YjBLwB9J3y8fvm2xq1, seat post #19357), from the #19518 dev report on PR #20823 (its scope6_sibling_card_draft and its first out-of-scope finding). #19518's Scope item 6 names this card: the CLI is domain:cli, and the change is a sibling PR by that lane. ⛔ Filed unassigned and unlabelled: routing and grading are triage's. ⛔ Not a claim.

Governing text

#19518, Scope item 6: "The os CLI compile / validate path accepts the new kind and refuses the two-or-neither case (CLI is domain:cli; if the change lands in packages/cli it is a sibling PR by that seat, filed from this card)." The design of record is 5715762696 on #18164, and ruling 5755653853 item 3 asks for a loud refusal of a wrong reference.

What is owed (from the #19518 dev's measurements on branch claude/issue-19518-picklist-kind, PR #20823)

  1. Build and compile ingest the two new stack collections, picklists and picklistExtensions. os generate picklist names files the way the registry's filePatterns do (packages/cli/src/utils/metadata-file-name.ts).
  2. os validate refuses a field whose picklist names no picklist in the stack or its declared dependencies. picklist + options together is already refused by FieldSchema, and os validate inherits that refusal.
  3. Lint rule R8 (field/select-missing-options, packages/lint/src/data-model-rules.ts) counts a picklist reference as an options source. Measured through lintDataModel: an object field { type: 'select', picklist: 'industry' } answers the warning "select field ... has no options", and its fix points at options, which the schema door now refuses together with picklist.

Not here: the os i18n extract walk of picklists.NAME.{label, options.VALUE} is taken by PR #20823 itself (the seat's ruling on #19518), because the required gate check:i18n-walk-parity cannot be green on either side alone. Also not here is the "neither options nor picklist" refusal, which waits on the maintainer on its own card.

Dedupe words: picklist, picklistExtensions, os validate, select-missing-options, metadata-file-name picklist

No activity

Activity on this issue will appear here.

Activity

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

Metadata

Metadata

Assignees

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchdomain:clienhancementNew feature or requestpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions