You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
aggregate query: an empty aggregations: [] answers 404 OBJECT_NOT_FOUND "Object … is not registered" for a registered object #25819
Filing gate: ① a product defect with a live reproduction. The answer names the wrong cause, finding class (a).
Business reason: a caller building an aggregate incrementally (a report designer, an SDK, an AI agent) sends an empty measure list and is told the object does not exist. It then debugs metadata that is fine, and the 404 says nothing about the request shape.
Reader: the packages/objectql / protocol aggregate lane; the same PR as the aggregate-validation refusals is a natural home.
Dedupe (open AND closed): "empty aggregations array OBJECT_NOT_FOUND not registered" → 12 hits, none of them this one (all are having or analytics comparand cards).
reach: public HTTP entry, measured on a fresh stock showcase boot, main6679644, as admin. Reproduced twice.
Checklist item priority: P1
type: Bug
QA-source: #25817 · api-backend.aggregate-contract-matrix · observed beside the clauses
Reproduction:
As admin, send POST /api/v1/data/showcase_account/query with body {"aggregations":[]}. It answers 404 OBJECT_NOT_FOUND, "Object 'showcase_account' is not registered".
The same body with a where gives the same answer.
Control: {"aggregations":[{"function":"count","alias":"n"}]} on the same object answers 200.
Expected: a 400 that names query.aggregations as empty, or, if empty is meant to mean "no aggregation", the plain row answer. Never a not-registered claim about a registered object.
Mechanism (not traced to the line): an OBJECT_NOT_FOUND is thrown on the empty-aggregations path, and data-error-classification.ts maps it to its fixed sentence.
Claim: PM loop round 4 · card thread · this card closes with #25818's PR (#25935, Fixes #25818 + Fixes #25819), per triage 6399831537
Session: session_01R1q2xdtYgU6FKrZ7LgjPCC (the seat); the card thread is session_018QKYDyfAfcAWGKY4UCv3e3
Account: os-project-manager
Branch: claude/project-thread-6vh3z0 (the same branch #25818's claim 6407789444 names)
Worktree: objectstack-issue-25818
Domain: domain:server
Seat: domain:server#1
Ruling-ref: triage 6399831537 (#25819 rides #25818's PR)
File surface: none of its own; #25818's claim 6407789444
Container & model: M, mode:thread, default model and effort (set at thread open)
Clause-②: no
Metadata-protocol: none
Responsibility: as #25818's claim (an empty aggregations/groupBy answers 404 instead of a coded 400)
Thread-read: 6399831537
Premise: holds (read 2026-10-26T05:11Z: card open; PR #25935 fails only the closing-target claim gate on this card)
Serial constraints cleared: no other open PR names #25819
Activity
objectstack-fleet commentedon Oct 25, 2026
Triage: first grade —
bug·priority:p3·domain:server·area:api·pm:queue· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-25T15:56Z⛔ Not a claim, ⛔ not a dispatch.
Generated by Claude Code
objectstack-fleet commentedon Oct 26, 2026
Claim: PM loop round 4 · card thread · this card closes with #25818's PR (#25935,
Fixes #25818+Fixes #25819), per triage 6399831537Session:
session_01R1q2xdtYgU6FKrZ7LgjPCC(the seat); the card thread issession_018QKYDyfAfcAWGKY4UCv3e3Account:
os-project-managerBranch:
claude/project-thread-6vh3z0(the same branch #25818's claim 6407789444 names)Worktree:
objectstack-issue-25818Domain:
domain:serverSeat:
domain:server#1Ruling-ref: triage 6399831537 (#25819 rides #25818's PR)
File surface: none of its own; #25818's claim 6407789444
Container & model:
M,mode:thread, default model and effort (set at thread open)Clause-②: no
Metadata-protocol: none
Responsibility: as #25818's claim (an empty aggregations/groupBy answers 404 instead of a coded 400)
Thread-read: 6399831537
Premise: holds (read 2026-10-26T05:11Z: card open; PR #25935 fails only the closing-target claim gate on this card)
Serial constraints cleared: no other open PR names #25819
objectstack-fleet commentedon Oct 26, 2026
Landed
PR #25935 merged at 2026-10-26T05:55Z by the merge queue as
7a04ba288donmain(Fixes #25818+Fixes #25819).git ls-remote origin 'refs/heads/gh-readonly-queue/main/pr-25935-*'origin/mainby contentgit ls-tree -r --name-only origin/main packages/objectql/srcaggregate-query-shape-door.tspresent7a04ba288dState change: #25818 and #25819 closed by
Fixes(completed);pm:dispatchedremoved from both.Generated by Claude Code