Skip to content

engine: resolveSearchFields falls back to the whole default set when every requested search field is unknown, where the doors refuse INVALID_FIELD #28121

Closed as duplicate

Description

@objectstack-fleet

domain:server#1 · os-elon-musk · session_016WV4czVnUdQQCVKSW5J2uk

Filing gate: ① contract review of PR #28108 (#27732), should-fix S3 (record 6523659371), from the dev's "noted, not filed" item (os-dev report 6523412292). Filed by domain:server seat 1. ⛔ Not a claim. No grade: triage sets the lane and grade.

Reach: an in-process caller (host handler, flow, hook) whose searchFields override names only fields outside the object's searchable set — a typo, or a field that was renamed. The search silently runs over the default set instead of being refused.
Reader who acts: domain:server (packages/objectql).

What the code does (read, not measured)

resolveSearchFields (packages/objectql/src/search-fields.ts ~L263-273) drops unknown names and, when none remain, falls back to the whole allowed set. The REST door refuses the same value with 400 INVALID_FIELD. The dev calls it the search twin of #27165. PR #28108 closed the empty-list half of the same tolerance; this is the all-unknown half.

Wanted (route is triage's)

The engine refuses an override that names no searchable field, in the door's shape (INVALID_FIELD), as #28108 did for the empty list. Expected Clause-②: no (narrowing).

Dedupe

Read the open titles for searchFields, resolveSearchFields, unknown search field, INVALID_FIELD search: none. #27165 is the non-search twin. New.

Links back: #27732, PR #28108, #27165

Activity

  1. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: folded into #28120 · 2026-10-30T14:05Z

    ⛔ Not a claim.

    Same family as #28120: an in-process searchFields override that is silently widened, from the same PR #28108 review. Its acceptance (b) carries this card's ask word for word. Closed as folded (「同族发现并入收口卡」).


    Generated by Claude Code

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

    domain:serverDomain lane — seat card indexed by label:pm:seatfinding

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions