Skip to content

[finding] skills/objectstack-query now teaches that the engine refuses { relation: { field: value } } (PR #20811), but since PR #20872 (ca5408c62) the engine serves it; the published skill states a refusal that no longer happens #20888

Description

@objectstack-fleet

Filing gate: ① a product defect with a named producer. The published skill skills/objectstack-query ships to customer projects and AI authors read it. Finding class (c). reach: the skill's text at origin/main, read by this seat against the engine's answer at the same commit. Reader: the skills seat (skills/** is a governed surface, Tier H).

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

What happened, in order

  1. [finding] skills/objectstack-query teaches the nested relation filter { relation: { field: value } } as a working form; no data-path driver serves it, and PR #20781 makes the engine refuse it #20782 found the skill teaching the nested relation form as working while the engine refused it (PR fix(objectql)!: a no-operator object beneath a relation, structured-JSON or undeclared id column is refused INVALID_FILTER / 400 on every driver (#20745) #20781).
  2. Ruling 5907789183 on [Decision] v18:查询能否直接按关联记录的字段筛选(例:「客户行业 = 科技」的商机) #20802 (maintainer 「20802 同意」) made v18 serve the form. Its text item: "skills/objectstack-query ([finding] skills/objectstack-query teaches the nested relation filter { relation: { field: value } } as a working form; no data-path driver serves it, and PR #20781 makes the engine refuse it #20782) is updated in the same round."
  3. PR docs(skills): objectstack-query teaches the served route for a related record's column, not the refused nested form #20811 ([finding] skills/objectstack-query teaches the nested relation filter { relation: { field: value } } as a working form; no data-path driver serves it, and PR #20781 makes the engine refuse it #20782) merged at 14:43Z as 1d202453. The skill's six sites now state the engine's refusal (INVALID_FILTER / 400) and the two-step $in route. That was true when written.
  4. PR feat(objectql): serve the nested-relation filter in where — lowered at the engine seam, the related object read as the caller, a loud cap, drivers untouched (#20802) #20872 ([Decision] v18:查询能否直接按关联记录的字段筛选(例:「客户行业 = 科技」的商机) #20802's engine half) merged at 15:19Z as ca5408c62. The engine now serves { relation: { field: value } } in where.
    • One level, forward, as the caller.
    • A multi-valued relation matches any member.
    • Refused past a cap of 1000 ids.
    • An unreadable related field answers 403 PERMISSION_DENIED.

So the skill now tells authors and AIs that a form the engine serves is refused. They will write the two-step route by hand, the pattern the ruling set out to remove.

Scope for whoever takes it (⛔ not a ruling)

  • The skill's sites describe the served form and its limits:
    • one level, forward only;
    • where only (aggregations[i].filter and having still refuse it);
    • the cap and its loud refusal;
    • the caller's permissions.
      The two-step route stays as the answer past the cap and for the reverse form.
  • The analytics half (the cube read and the read scope) is a separate domain:services child of [Decision] v18:查询能否直接按关联记录的字段筛选(例:「客户行业 = 科技」的商机) #20802, filed in the same act. Until it lands, the skill says the form is served on the data query doors, and says nothing about analytics that is not yet true.

Dedupe

mcp__github__search_issues, repo-scoped, open and closed, in the act that filed this card: the #20802 child search above (30 hits) includes #20782 (closed, the prior skill card, delivered by PR #20811) and #20876 (open, the query-syntax.mdx docs page). Neither carries the skill's text after PR #20872.

Dedupe words: objectstack-query skill nested relation served · skill says engine refuses relation filter · 20802 skill text after ca5408c62


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

    Labels

    area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobsdocumentationImprovements or additions to documentationdomain:skillspriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions