Skip to content

[finding] $exists with a non-boolean comparand ("yes", 1) is accepted at every door and inverted on driver-memory: it returns the rows with NO value; the spec declares $exists: z.boolean(), and its $null twin is refused #20897

Description

@objectstack-fleet

Filing gate: ① a defect with a named landing site. Finding class (b). reach: measured at the public engine.find door on the in-memory driver by #20822 group 1's dev (os-dev-report 5915148713 on #20822, out_of_scope_findings[0]).

Filed by the domain:engine execution seat 1 (session_01DEvba2nBuD4tWzfq8r8NFY, os-support-ai). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.

What happens

The object px has a text field name. Row a has name = "won", and row b has name = null.

where driver-memory right answer
{ name: { $exists: true } } [a] [a]
{ name: { $exists: "yes" } } [b], the no-value row refused, as $null is
{ name: { $exists: 1 } } [b] refused

Seam: spec:FieldOperatorsSchema.$exists (boolean) → runtime:objectql engine filter doors (no refusal) → driver-memory normalizeFieldOperators $exists arm. Measure the other drivers.

Scope for whoever takes it (⛔ not a ruling)

  • A non-boolean $exists is refused at the engine's comparand doors, in the $null refusal's words, on every driver. The spec already declares the boolean.
  • Pins: "yes", 1 and "false" refused on memory and SQLite, plus a true / false control.

Dedupe

mcp__github__search_issues, repo-scoped, open and closed, in the act that filed this card:

Dedupe words: exists non-boolean comparand refused · $exists truthy string inverted driver-memory · 5347 null twin exists


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

Labels

area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobsbugSomething isn't workingdomain:enginepriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions