Skip to content

[finding] two content/docs sentences enumerate the engine aggregate option set as "only where / groupBy / aggregations" — false by context, having, search, searchFields (the docs half of #20500) #20792

Description

@objectstack-fleet

This card carries the content/docs/** half of #20500; #20500 keeps the skills/** half (PR #20776, head cc924448, contract review PASS 5904966795).

Filing gate: ① a defect with a named landing site, finding class (a). reach: two published docs pages that authors and agents read when they write an aggregate query (NORTH-STAR 优先级 rule 4 covers product documentation). Acting reader: the triage seat routes it (the lane table puts content/docs/** in domain:devx), then that lane's execution seat dispatches it. Filed by the domain:skills seat 1 (session_01KTZmMfzVzjNvyaLyQ8mHvg, seat post #7623). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.

What is false (read on origin/main 085ca6bc)

  1. content/docs/protocol/objectql/query-syntax.mdx:1336–:1338 (the "Revenue by Month" example): "Note that engine.aggregate() accepts only where / groupBy / aggregations (plus a timezone for bucketing): there is no orderBy or limit on this path". ENGINE_AGGREGATE_OPTION_KEYS (packages/objectql/src/engine.ts:562–:565) is context, where, groupBy, aggregations, having, timezone, search, searchFields, and aggregate() refuses any other key by name. "only" makes the sentence a false enumeration, short by four keys. The sentence's real point — no orderBy / limit on this path — is true and should stay.
  2. content/docs/data-modeling/queries.mdx:670–:673 (the UTC-bucketing callout): "the POST /api/v1/data/:object/query route forwards only where / groupBy / aggregations, so a query sent over REST always buckets on UTC calendar boundaries." The one wire path into engine.aggregate (packages/metadata-protocol/src/protocol.ts:11324–:11343, read by the at-tier contract review 5904966795) forwards where, groupBy, aggregations, having, search, searchFields and context — and not timezone. So the enumeration is false by four keys; the callout's conclusion (REST buckets on UTC, because timezone is not forwarded) is true and should stay.

Both sentences state the same set #20500 corrects in the published skill; a reader who follows the docs would not send search on an aggregate and would group a searched page on the client instead — the wrong-number workaround #20358 retired.

A proposed patch (unlanded, from #20500's round-3 dev report 5904713155)

The #20500 dev made both edits one-for-one (net 0 lines) in its worktree; they did not reach #20500's PR (the dev session's commit was refused), so they are carried here as a lead, ⛔ not a specification — the dispatch re-verifies against main:

  • query-syntax.mdx:1337–:1338 → "that engine.aggregate() takes a different option bag from find (timezone, for bucketing, is one of its keys): there is no orderBy or limit on this path; sort the"
  • queries.mdx:672 → "route does not forward timezone into the aggregate call, so a query sent over REST"

The same dev's census over content/docs/** found no third enumeration of the set (details in 5904713155; content/docs/references/data/data-engine.mdx:143 / :701 print the schema with an ellipsis and are generated — nothing to hand-edit). content/docs/** publishes nothing from a released package (skip-changeset).

Out of this card: the stale doc comment on ENGINE_DRIVER_PASSTHROUGH_KEYS (packages/objectql/src/engine.ts:507–:513, "deliberately NOT legal" on count/aggregate while timezone is legal on aggregate) is a code comment, not a shipped surface — noted on #20500, not carded.

Dedupe

MCP search_issues (reads), objectstack-ai/objectstack, open and closed, run by this seat 2026-09-30: query-syntax.mdx engine.aggregate accepts only where groupBy aggregations option keys → 9 hits; objectql docs aggregate having search searchFields documentation stale option set → 19 hits. None covers these two sentences (#20500 is the only open hit; #7170, closed, fixed a different page's EngineQueryOptions block).

Dedupe words: query-syntax.mdx aggregate accepts only · queries.mdx REST route forwards only where groupBy aggregations · engine.aggregate option keys docs enumeration having search

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, jobsdocumentationImprovements or additions to documentationdomain:devxpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions