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
Part of the RQE frontend tracker. Decisions live in the tracker. Stacked on A3.
What
Query engine (asap-query-engine):
engines/simple_engine/rqe.rs: evaluate an RQE tree at a time t:
leaf: look up rqe_configs[id] → AggregationIdInfo; timestamps = aligned end (same alignment as PromQL) minus lookback_ms; QueryMetadata from capability/phi/k/grouping; then the existing context tail (build_sql_execution_context_tail-style) and execute_context; apply the config's roll-up if any
agg: regroup the child's results by by with avg/min/max/sum
binary: combine_vector_vector / combine_scalar
Route POST /api/v1/rqe_query with body {"expr": <tree>, "time": <unix secs>}, answering Prometheus vector JSON. Output labels must equal what Prometheus returns for the equivalent PromQL (including __name__ handling), because fidelity scoring matches series by exact label set.
No fallback to another backend. No data yet → empty result. Unknown RQE id or invalid tree → HTTP 400.
Done when
tests per node kind; error/empty cases; a leaf answers the same as the PromQL path for the same plan/config
Activity
milindsrivastava1997 commentedon Oct 14, 2026
Tracker: #886