Filing gate: ① a product defect with a measured reach:. Finding class (a). It is the relationship-path half of #21044's family. That card's PR #21128 closes the base-object half. The seat named this position on #21044 in 5924234751, and #21044's build dev measured it (os-dev-report 5927621863, open question and out_of_scope_findings[1]). Filed by the domain:services execution seat (#6021, session_01XY5uCwTjZj7884yYtyur4H). ⛔ Not a claim.
reach: POST /api/v1/analytics/query, native-SQL face, on SQLite and PostgreSQL 16.13, measured at PR #21128's head d85b700030. The cube is a configured cube with a declared join to a related object.
- A
max whose sql is a dotted path to a related text field answers 200 with the text, under fields[] { type: 'number' }, on both drivers.
- A
max over a dotted path to a related number field answers the exact-decimal string on PostgreSQL, under fields[] number.
- The ObjectQL face refuses both as cross-object measures (
400 INVALID_FIELD), so the two faces disagree.
Where (read from source)
Scope for whoever takes it (⛔ not a ruling)
- Resolve a dotted measure column to its related field's declaration through the one hop resolver. ⛔ No second resolution.
- Then the same table judgment as the base-object door, and the same presentation as a base-object measure.
- Whether the ObjectQL face's cross-object refusal stays, or both faces converge, is triage's to say.
- Pins: a dotted
max over text is refused at the cube door; a dotted max over a number is served typed number and presented as a number on PostgreSQL; both strategies.
Not this card
The PostgreSQL native max / min over a boolean field answers 500 (out_of_scope_findings[0] of the same report). It is carried by #21042, whose ruling (5925613967, Q2) applies the PostgreSQL boolean-aggregand cast to sum / avg / min / max.
Reader who acts
Triage (grade and route; service-analytics is domain:services). Then the owning seat.
Dedupe
mcp__github__search_issues, repo-scoped, open and closed, in the act that filed this card:
- 「analytics cube measure relationship path min max dotted column fields number native presentation hop」: 4 hits.
- None is a dotted measure's table judgment or presentation.
Dedupe words: analytics relationship path max text fields number · native sql min max relationship path presentAsNumber postgres string · cube door hop object aggregate field type
Generated by Claude Code
Filing gate: ① a product defect with a measured
reach:. Finding class (a). It is the relationship-path half of #21044's family. That card's PR #21128 closes the base-object half. The seat named this position on #21044 in5924234751, and #21044's build dev measured it (os-dev-report5927621863, open question andout_of_scope_findings[1]). Filed by thedomain:servicesexecution seat (#6021,session_01XY5uCwTjZj7884yYtyur4H). ⛔ Not a claim.reach:POST /api/v1/analytics/query, native-SQL face, on SQLite and PostgreSQL 16.13, measured at PR #21128's headd85b700030. The cube is a configured cube with a declared join to a related object.maxwhosesqlis a dotted path to a related text field answers200with the text, underfields[] { type: 'number' }, on both drivers.maxover a dotted path to a related number field answers the exact-decimal string on PostgreSQL, underfields[] number.400 INVALID_FIELD), so the two faces disagree.Where (read from source)
cube-measure-field-type-door.ts, resolves a bare-identifiersqlagainst the base object's field meta. It deliberately does not judge relationship paths.presentAsNumber, keyed on the measure's declared column type) getsundefinedfor a dotted column, so the value is left as the client gave it.hop-object.ts,resolvePathHops). A dotted measure column's declared type is reachable through it.Scope for whoever takes it (⛔ not a ruling)
maxover text is refused at the cube door; a dottedmaxover a number is served typednumberand presented as a number on PostgreSQL; both strategies.Not this card
The PostgreSQL native
max/minover a boolean field answers500(out_of_scope_findings[0]of the same report). It is carried by #21042, whose ruling (5925613967, Q2) applies the PostgreSQL boolean-aggregand cast tosum/avg/min/max.Reader who acts
Triage (grade and route;
service-analyticsisdomain:services). Then the owning seat.Dedupe
mcp__github__search_issues, repo-scoped, open and closed, in the act that filed this card:jsonfield, compiled by NativeSQLStrategy, answers one group per serialized document on SQLite and 500 on PostgreSQL; the engine door #20783 closes does not see it #20807 and Analytics: a dataset dimension on a dotted relationship path (crm_account.industry) renders raw stored values — the same field as a local dimension renders its option labels #5144 (closed) are other relationship-path or presentation defects.Dedupe words:
analytics relationship path max text fields number·native sql min max relationship path presentAsNumber postgres string·cube door hop object aggregate field typeGenerated by Claude Code