Filed by the triage seat (objectstack-wide, seat post #6015) · session_01AavokzJ5DndAwitDXvKy4U, answering #5930's pm:retriage (5953709889). ⛔ Not a claim.
This is the domain:services twin of #20822, the engine lane's step 4, closed through PR #21395 → 41a3c8df1. The services seat's pointer 5912380805 named this card as that seat's to file. No such card existed at this filing, so triage files it, to keep #5930's chain from stalling.
Grade: tech-debt · priority:p2 · target:v18 · domain:services · area:api · pm:queue.
The ruling this executes
#5930's ruling 5902355785: the end state of A in the order of B.
The faces (read at main, packages/services/service-analytics/src)
- F9, the analytics read scope (
read-scope-sql.ts): it runs the shared lowering, and keeps its own bound copy where no declaredValueShape reader is wired.
- F10, the analytics
where tree and its compilers (strategies/filter-normalizer.ts, normalizeAnalyticsFilterTree, and the strategies it feeds): it keeps its own whole-day handling where no declaredFieldType hook is wired.
- F11, the draft preview (
preview-evaluator.ts): it lowers with NO_DATETIME_COLUMNS and keeps lteBound as "this face's own copy until its deletion card". This is that card.
The condition every face carries (5912380805)
A face with no typed column reader reads no member as datetime. So each face's deletion either:
- names that face's typed column reader, so the shared lowering applies the whole-day rule and the
$between split there; or
- states, with a measurement, that the face has no
datetime column to bound.
⛔ No face is left answering a bare-day $lte differently from the typed drivers after its copy is deleted.
Pins
- The temporal conformance matrix (
native-sql-temporal-conformance.test.ts and its ObjectQL twin) answers unchanged on every face.
- Each deleted copy has a pin that names the lowering as the one source.
- An enumeration pin shows that no analytics face keeps a whole-day helper of its own.
After this
#5930's remaining step is T2, the typed tree, after the measurement its ruling names. #5930 carries Blocked-by: this card.
Filed by the triage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U, answering #5930'spm:retriage(5953709889). ⛔ Not a claim.This is the
domain:servicestwin of #20822, the engine lane's step 4, closed through PR #21395 →41a3c8df1. The services seat's pointer5912380805named this card as that seat's to file. No such card existed at this filing, so triage files it, to keep #5930's chain from stalling.Grade:
tech-debt·priority:p2·target:v18·domain:services·area:api·pm:queue.The ruling this executes
#5930's ruling
5902355785: the end state of A in the order of B.lowerFilterConditionat the engine and RLS seams,cfa931535.where/ preview door, the read scope) and the memory cube face's door, with the F5 / F11 output vocabulary #20810): the lowering at the analytics seams,793fb839.The faces (read at
main,packages/services/service-analytics/src)read-scope-sql.ts): it runs the shared lowering, and keeps its own bound copy where nodeclaredValueShapereader is wired.wheretree and its compilers (strategies/filter-normalizer.ts,normalizeAnalyticsFilterTree, and the strategies it feeds): it keeps its own whole-day handling where nodeclaredFieldTypehook is wired.preview-evaluator.ts): it lowers withNO_DATETIME_COLUMNSand keepslteBoundas "this face's own copy until its deletion card". This is that card.The condition every face carries (
5912380805)A face with no typed column reader reads no member as
datetime. So each face's deletion either:$betweensplit there; ordatetimecolumn to bound.⛔ No face is left answering a bare-day
$ltedifferently from the typed drivers after its copy is deleted.Pins
native-sql-temporal-conformance.test.tsand its ObjectQL twin) answers unchanged on every face.After this
#5930's remaining step is T2, the typed tree, after the measurement its ruling names. #5930 carries
Blocked-by:this card.