Skip to content

analytics: a runtimeFilter member through an undeclared dotted path gets three different answers from the native, ObjectQL and preview faces #28557

Closed

Description

@objectstack-fleet

domain:server#1 · os-project-manager · session_01R1q2xdtYgU6FKrZ7LgjPCC

Filing gate: ① out-of-scope finding of the #28258 dev (PR #28553, os-dev-report 6554100004 on #28258), class a, measured. Filed by domain:server seat 1. ⛔ Not a claim. No grade: triage sets the lane and grade.

Reach: queryDataset runtimeFilter, measured on all three faces. A member through an undeclared path (account.name): native answers DATASET_INVALID / 400, ObjectQL answers INVALID_FIELD / 400 (cross-object filter), and the draft preview answers []. Same family as #28258, on the filter face rather than the dimension face.

Business reason: the same dashboard filter refuses with two different codes depending on the strategy, and the preview shows an empty result instead of a refusal, so neither the console nor an author can rely on one answer.

Wanted

One answer on all three faces for an undeclared dotted runtimeFilter member, chosen the way #28258 chose it for dimensions.

Dedupe

Searched open and closed issues for runtimeFilter dotted (17 hits): only #28258 (dimension face) and closed precedents. New.

Reader who acts: domain:server (packages/services/service-analytics, the dataset compiler and the draft preview path).

Links back: #28258, PR #28553, #28201 (the preview undeclared-dimension precedent, closed)

Activity

  1. objectstack-fleet commented on Nov 1, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-project-manager · session_01FEkQ5kE5BrPUPNMMyv6oCH

    Path: 错的必须被响亮拒绝并给处方 | none | P③

    Triage: p3 · domain:server · area:reports · 2026-11-01T12:17Z

    ⛔ Not a claim.

  2. objectstack-fleet commented on Nov 1, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-project-manager · session_01FEkQ5kE5BrPUPNMMyv6oCH

    Claim: PM loop round 1 · card thread · 2026-11-01T12:23Z
    Session: session_01FEkQ5kE5BrPUPNMMyv6oCH (the seat); the card thread is session_01FEkQ5kbUJTTWAxjV9nqr1P
    Account: os-project-manager (the seat's linked user; the card's assignee)
    Branch: claude/project-thread-0o422x (the card thread's harness-pinned branch; it names no issue, so this claim is the identity record)
    Worktree: the card thread's own container checkout
    Domain: domain:server
    Seat: domain:server#3
    Ruling-ref: the maintainer, 2026-11-01T03:46Z: 「server 车道现在就是你负责,任务有一大堆啊,都可以派,包括 p3」, with 2026-10-26T10:29Z 「p1 p2 处理完了,就可以处理 p3」, and 2026-11-01T06:39Z 「server 队列还是很多任务,再开一个席位吧」. Leehom 2026-11-01T12:11Z: 「定级你可以自己决定」; graded by seat 3 (triage record on this card).
    File surface: packages/services/service-analytics/src/** (the dataset compiler, the native and ObjectQL strategies, the draft-preview path), tests on real SQLite, and a changeset. ⛔ No packages/spec/**, ⛔ no ui/**.
    Container & model: M, mode:thread, model: opus (--tier names no path mandate: PM's call, default), effort: default (the coordinator sets effort only from the maintainer's words)
    Clause-②: no (narrowing) — expected where a face stops serving something it served, which owes a contract review before landing; the dev measures and declares the final value.
    Metadata-protocol: none (expected; the dev measures and declares)
    Responsibility: the code is service-analytics (dataset compiler and draft preview) · the platform path is queryDataset / /analytics/query over a dataset, with previewDrafts for the draft preview · reached by an author previewing or querying a dataset with a dotted dimension, time dimension or runtimeFilter member
    Thread-read: 6557825499
    Premise: holds as filed (measured by the #28258 dev on real SQLite at eeec88d14); PR #28553 closed only the unbacked-dimension half; the dev re-measures first on current main
    Serial constraints cleared: none: no open PR on service-analytics dataset paths found at this read; the dev re-reads overlap at start and before pr_create.
    Resume-from: none — fresh from origin/main

    State: → pm:dispatched, assigned to os-project-manager, recorded by this claim. Order: pm-orders/server/order-28555.md (project folder; one order, one card thread, one PR for #28555, #28556, #28557 and #28558).

  3. objectstack-fleet commented on Nov 1, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-project-manager · session_01FEkQ5kE5BrPUPNMMyv6oCH

    ACCEPT → PR #28686 comment 6559595954 · head efa6f756 · 2026-11-01T14:58Z · landing sent (ready + auto-merge; Clause-②: no (narrowing), CONTRACT_REVIEW_TIER PASS 6558997053 + delta 6559465368). The PR carries Fixes #28555/#28556/#28557/#28558, so the merge closes this card with its three siblings.

  4. objectstack-fleet commented on Nov 1, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-project-manager · session_01FEkQ5kE5BrPUPNMMyv6oCH

    Landing record · #28557 · PR #28686

    domain:server seat 3 · session_01FEkQ5kE5BrPUPNMMyv6oCH · 2026-11-01T15:15Z

    Reading Probe Result
    Queue membership git ls-remote origin 'refs/heads/gh-readonly-queue/main/pr-28686-*' 0 refs (released)
    Ancestry git merge-base --is-ancestor c01690ec origin/main yes
    Content git grep -n "assertPreviewJoinsNothing" origin/main -- packages/services/service-analytics/src/analytics-service.ts the preview gate is called at line 2891
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:reportsBusiness reporting — dashboards, reports, the numbers a manager readsdomain:serverDomain lane — seat card indexed by label:pm:seatfindingpm:dispatchedpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions