📊 Cube Core is open-source semantic layer for AI, BI and embedded analytics
This report summarizes scanner evidence for cube-js/cube, a Rust project with 21,138 GitHub stars. SynthScan examined 970,330 lines of code across 3413 source files, recording 639 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 1.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 527 finding(s).
Are imports declared and package/API names verified? 26 finding(s).
Are wrappers, guards, and repeated structures necessary? 154 finding(s).
Which changes need focused human review? 639 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 639 distinct pattern matches across 22 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .oxlintrc.json | 1 | // The rule set lives in the @cubejs-backend/linter package so it stays a publishable, | COMMENT |
| LOW | install-cli.sh | 1 | #!/bin/sh | COMMENT |
| LOW | lerna-publish.sh | 41 | # Cleanup below discards staged as well as unstaged changes to tracked files. | COMMENT |
| LOW | rust/cubestore/cubezetasketch/src/encoding.rs | 41 | /// *ρ(w)* can be determined from the lowest *sp-p* bits of the sparse index or | COMMENT |
| LOW | rust/cubestore/cubezetasketch/src/sketch.rs | 21 | /// estimate as defined in hllplus-unique.proto, allowing users to merge aggregators with data | COMMENT |
| LOW | rust/cubestore/cubezetasketch/src/sketch.rs | 81 | // /** The smallest normal precision supported by this aggregator. */ | COMMENT |
| LOW | rust/cubestore/cubezetasketch/src/data.rs | 21 | /// We only support a small range of precisions from `MINIMUM_PRECISION` to | COMMENT |
| LOW | rust/cubestore/cubezetasketch/src/data.rs | 61 | } | COMMENT |
| LOW | rust/cubestore/cubezetasketch/src/data.rs | 161 | COMMENT | |
| LOW | rust/cubestore/cubezetasketch/src/data.rs | 441 | ] | COMMENT |
| LOW | rust/cubestore/cubezetasketch/src/sparse.rs | 341 | /// - If the sparse representation has become too large, converts to a `NormalRepresentation`. | COMMENT |
| LOW | rust/cubestore/cubestore/src/util/metrics.rs | 1 | //! DogStatsD client to report metrics over UDP. | COMMENT |
| LOW | rust/cubestore/cubestore/src/config/mod.rs | 561 | fn repartition_chunks_time_budget_secs(&self) -> u64; | COMMENT |
| LOW | rust/cubestore/cubestore/src/config/mod.rs | 581 | /// The group is already bounded by repartition_merge_max_input_files and the download | COMMENT |
| LOW | rust/cubestore/cubestore/src/config/mod.rs | 601 | fn repartition_check_overlapping_children(&self) -> bool; | COMMENT |
| LOW | rust/cubestore/cubestore/src/config/mod.rs | 1381 | } | COMMENT |
| LOW | rust/cubestore/cubestore/src/sys/malloc.rs | 1 | #[cfg(all(target_os = "linux", not(target_env = "musl")))] // malloc_trim is only in glibc. | COMMENT |
| LOW | …ore/cubestore/src/cachestore/cache_eviction_manager.rs | 141 | /// Higher counters have exponentially a lower probability of incrementing. | COMMENT |
| LOW | rust/cubestore/cubestore/src/http/mod.rs | 61 | /// needs it should reconnect rather than report a transport failure. | COMMENT |
| LOW | rust/cubestore/cubestore/src/http/mod.rs | 81 | /// pressure, and giving up then would quietly stop counting connections | COMMENT |
| LOW | rust/cubestore/cubestore/src/http/mod.rs | 101 | /// message at the transport before the handler ever saw it, and at the default | COMMENT |
| LOW | rust/cubestore/cubestore/src/http/mod.rs | 121 | ) -> Option<String> { | COMMENT |
| LOW | rust/cubestore/cubestore/src/http/mod.rs | 221 | /// connection reconnects, while one that had forgotten about it simply loses it. | COMMENT |
| LOW | …ubestore/cubestore/src/queryplanner/pretty_printers.rs | 781 | .map(|p| p.object_meta.location.to_string()) | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/rolling.rs | 741 | let input = concat_batches(&plan.sorted_input.schema(), &batches)?; | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/rolling.rs | 1001 | } | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 21 | COMMENT | |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 41 | /// If omitted, the function will yield an error when it cannot find a solution. Must be | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 221 | on_error, | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 241 | // ScalarValue::Float16(o) => Ok(o.map(f64::from)), | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 261 | // ScalarValue::FixedSizeBinary(_, _) => err("FixedSizeBinary"), | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 281 | // ScalarValue::DurationSecond(_) => err("DurationSecond"), | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 301 | // .map(|date| date.num_days_from_ce() - EPOCH_DAYS_FROM_CE) | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 321 | // ScalarValue::Int16(_) => err("Int16"), | COMMENT |
| LOW | rust/cubestore/cubestore/src/queryplanner/udf_xirr.rs | 341 | // ScalarValue::Map(_) => err("Map"), | COMMENT |
| LOW | …ubestore/cubestore/src/queryplanner/serialized_plan.rs | 621 | // right, | COMMENT |
| LOW | …ubestore/cubestore/src/queryplanner/serialized_plan.rs | 901 | // SerializedLogicalPlan::CrossJoinAgg { | COMMENT |
| LOW | …ubestore/cubestore/src/queryplanner/serialized_plan.rs | 921 | // agg_expr: agg_expr.clone(), | COMMENT |
| LOW | …ubestore/cubestore/src/queryplanner/serialized_plan.rs | 941 | // input: Arc::new(input), | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 1 | // TODO upgrade DF | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 21 | // fn optimize( | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 41 | // let lift_up_result = lift_up_expensive_projections(input, ColumnRecorder::default()); | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 61 | COMMENT | |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 81 | // Err(e) => { | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 101 | // .collect::<Result<Vec<_>>>()?; | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 121 | // Expr::Column(c) => { | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 141 | // impl ExpressionVisitor for ExpressionCost { | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 161 | // fn post_visit(mut self, expr: &Expr) -> Result<Self> { | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 181 | // cost_visitor = ex.accept(cost_visitor)?; | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 201 | // ); | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 221 | // // Columns that we are already retaining. .0 field indexes into `expr`. .1 field is | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 241 | // if used_columns.columns.contains(&field.qualified_column()) { | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 261 | // if expensive_expr_list.is_empty() { | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 281 | // let mut new_expr = Vec::<Expr>::new(); | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 301 | // pal_debug!("ar_col {:?} comparing to col {:?}", ar_col, col); | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 321 | // used_field_names.insert(input_field.name().clone()); | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 341 | // ); | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 361 | // pal_debug!("Invoking DFSchema::new"); | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 381 | // mod tests { | COMMENT |
| LOW | …e/cubestore/src/queryplanner/projection_above_limit.rs | 401 | COMMENT | |
| 350 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …schemas/yaml_files/common/integration_multi_stage.yaml | 827 | # ── filter: directive variants ──────────────────────────────────── | COMMENT |
| MEDIUM | …schemas/yaml_files/common/integration_multi_stage.yaml | 1051 | # ── filter on segments ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 21 | // ─── Per-measure property tests ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 258 | // ─── patch_measure: valid type replacements ─────────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 329 | // ─── patch_measure: invalid type replacements ───────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 372 | // ─── patch_measure: no type change (None) ───────────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 401 | // ─── patch_measure: filter addition validation ──────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 464 | // ─── patch_measure: combined type change + filters ──────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 501 | // ─── State form ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 553 | // ─── Render modifiers ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …esqlplanner/cubesqlplanner/src/tests/measure_symbol.rs | 636 | // ─── Multi-stage properties + filter directive ────────────────────────────── | COMMENT |
| MEDIUM | …qlplanner/cubesqlplanner/src/tests/dimension_symbol.rs | 13 | // ─── Per-dimension property tests ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …ner/cubesqlplanner/src/tests/filter/partition_range.rs | 124 | // ── partition range + db timezone ────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 9 | // ── equals ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 216 | // ── notEquals ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 263 | // ── in / notIn ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 385 | // ── set / notSet ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 407 | // ── comparison operators ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 593 | // ── contains with multiple values ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 629 | // ── like with null ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 665 | // ── measure filters (HAVING) ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 707 | // ── filter groups (OR / AND) ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …besqlplanner/cubesqlplanner/src/tests/filter/to_sql.rs | 790 | // ── date operators ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …sqlplanner/cubesqlplanner/src/tests/filter/tree_ops.rs | 156 | // ─── keep_only_members ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …sqlplanner/cubesqlplanner/src/tests/filter/tree_ops.rs | 232 | // ─── segment handling ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 25 | // ── equality ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 93 | // ── nullability ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 119 | // ── comparison ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 153 | // ── like ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 187 | // ── date ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 206 | // ── HAVING: measures ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 242 | // ── members that must NOT be wrapped ──────────────────────────────────────── | COMMENT |
| MEDIUM | …nner/cubesqlplanner/src/tests/filter/member_operand.rs | 272 | // ── trailing line comment ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 695 | // | ┌─────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 697 | // | ┌───┼─────────────┐ │ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 699 | // | │ └─────────────┼───────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 701 | // | └─────────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 702 | // └──────────────────────────────────────────> Rows | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 710 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 716 | // | ┌─────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 718 | // | ┌───┼─────────────┐ │ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 720 | // | │░░░└─────────────┼───────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 722 | // | └─────────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 723 | // └──────────────────────────────────────────> Rows | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 727 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 733 | // | ┌─────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 735 | // | ┌───┼─────────────┐░░░░░░░░░░░░░░░│ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 737 | // | │ └─────────────┼───────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 739 | // | └─────────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 740 | // └──────────────────────────────────────────> Rows | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 744 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 750 | // | ┌─────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 752 | // | ┌───┼─────────────┐ │ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 754 | // | │ └─────────────┼───────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 756 | // | └─────────────────┘ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 757 | // └──────────────────────────────────────────> Rows | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 761 | // ═══════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 767 | // | ┌─────────────────────────────┐ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 769 | // | ┌───┼─────────────┐ │ | COMMENT |
| MEDIUM⚡ | packages/cubejs-server-core/src/core/CompilerApi.ts | 771 | // | │ └─────────────┼───────────────┘ | COMMENT |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | rust/cubesql/cubesql/src/compile/rewrite/converter.rs | 2226 | self.cube_context.sessions.server.config_obj.clone(), | CODE |
| CRITICAL | …chema-compiler/test/unit/context-symbols-proxy.test.ts | 121 | expect(proxy.a.b.c.d.e.filter('col')).toBe('1 = 1'); | CODE |
| CRITICAL | …a-compiler/test/unit/filter-params-time-shifts.test.ts | 11 | const SHIFTED = '${FILTER_PARAMS.fiscal_calendar.reportD.time_shifts.prev_fy.filter(' | CODE |
| CRITICAL | …a-compiler/test/unit/filter-params-time-shifts.test.ts | 197 | FILTER_PARAMS.fiscal_calendar.report_d.time_shifts.prev_fy.filter( | CODE |
| CRITICAL | …ompiler/test/unit/member-sql-template-compiler.test.ts | 141 | (FILTER_PARAMS) => `${FILTER_PARAMS.calendar.d.time_shifts.prev_fy.filter((from: string, to: string) => `c >= ${fr | CODE |
| CRITICAL | …ompiler/test/unit/member-sql-template-compiler.test.ts | 154 | (FILTER_PARAMS) => `${FILTER_PARAMS.calendar.d.timeShifts.prev_fy.filter('c')}`, | CODE |
| CRITICAL | …ompiler/test/unit/member-sql-template-compiler.test.ts | 165 | FILTER_PARAMS.calendar.d.time_shifts.prev_fy.filter((from: string, to: string) => `c >= ${from} AND c <= ${to}`) | CODE |
| CRITICAL | …integration/postgres/filter-params-time-shifts.test.ts | 280 | '${FILTER_PARAMS.fiscal_calendar.reportD.time_shifts.prev_fy.filter(\'day_d\')}' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rust/cubestore/js-wrapper/src/download.ts | 36 | export async function downloadBinaryFromRelease() { | CODE |
| LOW | …es/cubejs-server-core/src/core/SharedCompilerCaches.ts | 59 | export function resetSharedCompilerCaches(): void { | CODE |
| LOW | packages/cubejs-backend-maven/src/maven.ts | 170 | export function getDependenciesFromPackage(): MavenDependency[] { | CODE |
| LOW | …src/QueryBuilderV2/utils/get-used-cubes-and-members.ts | 81 | export function extractMembersFromFilters(filters: Filter[]) { | CODE |
| LOW | …js-playground/src/QueryBuilderV2/utils/chart-colors.ts | 102 | export function getChartSolidColorByIndex(index: number) { | CODE |
| LOW | …yground/src/QueryBuilderV2/utils/graphql-converters.ts | 11 | export async function convertGraphQLToJsonQuery({ | CODE |
| LOW | …yground/src/QueryBuilderV2/utils/graphql-converters.ts | 621 | export function convertJsonQueryToGraphQL({ meta, query }: { meta?: Meta | null; query: Query }) { | CODE |
| LOW | …rc/components/QueryTabs/ChartRendererStateProvider.tsx | 38 | export function ChartRendererStateProvider({ | CODE |
| LOW | …rc/components/QueryTabs/ChartRendererStateProvider.tsx | 161 | export function useChartRendererStateMethods() { | CODE |
| LOW | …bejs-playground/src/components/QueryTabs/QueryTabs.tsx | 294 | function handleDrilldownModalClose() { | CODE |
| LOW | …ents/LivePreviewContext/LivePreviewContextProvider.tsx | 145 | export function LivePreviewContextProvider({ | CODE |
| LOW | packages/cubejs-playground/src/rollup-designer/utils.ts | 28 | export function getPreAggregationReferences( | CODE |
| LOW | packages/cubejs-playground/src/rollup-designer/utils.ts | 88 | export function getRollupDefinitionFromReferences( | CODE |
| LOW | …s/cubejs-api-gateway/src/member-expression-security.ts | 31 | export function assertSafeMemberExpressionSql(sql: string, cubeParams: string[]): void { | CODE |
| LOW | …s/cubejs-api-gateway/src/member-expression-security.ts | 87 | export function assertSafeCompiledMemberExpression(expression: string[]): void { | CODE |
| LOW | packages/cubejs-api-gateway/src/query.ts | 412 | function parseInputMemberExpression(expression: unknown): InputMemberExpression { | CODE |
| LOW | packages/cubejs-api-gateway/src/gateway.ts | 187 | function nonEmptyUsedPreAggregations( | CODE |
| LOW | packages/cubejs-api-gateway/src/gateway.ts | 214 | function publicUsedPreAggregations( | CODE |
| LOW | packages/cubejs-api-gateway/src/gateway.ts | 244 | function mergePreAggregationDescriptions( | CODE |
| LOW | packages/cubejs-api-gateway/src/graphql.ts | 470 | export function getJsonQueryFromGraphQLQuery(query: string, metaConfig: any, variableValues: Record<string, any> = {}) { | CODE |
| LOW | …ejs-api-gateway/src/helpers/transform-meta-extended.ts | 22 | function handleDimensionCaseCondition(caseCondition: any) { | CODE |
| LOW | packages/cubejs-schema-compiler/test/unit/utils.ts | 102 | export function createCubeSchemaWithAccessPolicy(name: string, extraPolicies: string = ''): string { | CODE |
| LOW | packages/cubejs-schema-compiler/test/unit/utils.ts | 230 | export function createCubeSchemaWithCustomGranularitiesAndTimeShift(name: string): string { | CODE |
| LOW | packages/cubejs-schema-compiler/test/unit/utils.ts | 380 | export function createViewSchemaWithDefaultValueFilter(): string { | CODE |
| LOW | packages/cubejs-schema-compiler/test/unit/utils.ts | 442 | export function createSchemaYamlForGroupFilterParamsTests(cubeDefSql: string): string { | CODE |
| LOW | …kages/cubejs-schema-compiler/src/compiler/JoinGraph.ts | 398 | function findIfMultipliedRecursive(currentCube: string): boolean { | CODE |
| LOW | …s/cubejs-schema-compiler/src/compiler/CubeValidator.ts | 1356 | function formatErrorMessageFromDetails(explain: Map<string, string>, d: Joi.ValidationErrorItem) { | CODE |
| LOW | …s/cubejs-schema-compiler/src/compiler/CubeValidator.ts | 1384 | function collectFunctionFieldsPatterns(patterns: Set<string>, path: string, o: any) { | CODE |
| LOW | …-schema-compiler/src/compiler/named-numeric-formats.ts | 74 | export function resolveNamedNumericFormat(value: string): string | undefined { | CODE |
| LOW | …es/cubejs-testing/test/smoke-graceful-shutdown.test.ts | 30 | function unconnectedPostgresClient(user: string, password: string) { | CODE |
| LOW | packages/cubejs-testing/src/birdbox.ts | 250 | export async function startBirdBoxFromContainer( | CODE |
| LOW | packages/cubejs-backend-native/test/config.py | 56 | async def scheduled_refresh_time_zones(ctx): | CODE |
| LOW | packages/cubejs-backend-native/test/config.py | 62 | async def scheduled_refresh_contexts(ctx): | CODE |
| LOW | packages/cubejs-backend-native/test/old-config.py | 34 | async def scheduled_refresh_time_zones(ctx): | CODE |
| LOW | packages/cubejs-backend-native/test/old-config.py | 41 | async def scheduled_refresh_contexts(ctx): | CODE |
| LOW | packages/cubejs-backend-native/test/jinja.test.ts | 42 | function testTemplateWithPythonCtxBySnapshot(init: InitJinjaFn, templateName: string, ctx: unknown) { | CODE |
| LOW | packages/cubejs-backend-native/test/jinja.test.ts | 54 | function testTemplateErrorWithPythonCtxBySnapshot(init: InitJinjaFn, templateName: string, ctx: unknown) { | CODE |
| LOW | packages/cubejs-backend-native/test/jinja.test.ts | 71 | function testLoadBrokenTemplateBySnapshot(init: InitJinjaFn, templateName: string) { | CODE |
| LOW | packages/cubejs-backend-native/test/bridge/helpers.ts | 18 | export function invokeFilterParamsCallback( | CODE |
| LOW | …ages/cubejs-backend-native/python/cube/src/__init__.py | 397 | async def _cube_template_call_async(*args, **kwargs): | CODE |
| LOW | packages/cubejs-backend-native/js/index.ts | 234 | function wrapNativeFunctionWithChannelCallback( | CODE |
| LOW | packages/cubejs-backend-native/js/index.ts | 274 | function wrapRawNativeFunctionWithChannelCallback( | CODE |
| LOW | packages/cubejs-backend-native/js/index.ts | 315 | function wrapNativeFunctionWithStream( | CODE |
| LOW | …ubejs-cubestore-driver/codegen/http-parameter-value.ts | 23 | export function unionToHttpParameterValue( | CODE |
| LOW | …ubejs-cubestore-driver/codegen/http-parameter-value.ts | 39 | export function unionListToHttpParameterValue( | CODE |
| LOW | …ejs-cubestore-driver/codegen/http-query-result-data.ts | 13 | export function unionToHttpQueryResultData( | CODE |
| LOW | …ejs-cubestore-driver/codegen/http-query-result-data.ts | 24 | export function unionListToHttpQueryResultData( | CODE |
| LOW | packages/cubejs-clickhouse-driver/src/Transform.ts | 30 | function hasCanonicalDateTimePrefix(s: string): boolean { | CODE |
| LOW | packages/cubejs-clickhouse-driver/src/Transform.ts | 142 | function createTruncatingDateTimeConverter(width: number): ColumnConverter { | CODE |
| LOW | packages/cubejs-clickhouse-driver/src/Transform.ts | 288 | export function buildTransformFromNamesAndTypes(names: Array<string>, types: Array<string>): Transform { | CODE |
| LOW | packages/cubejs-base-driver/src/driver.interface.ts | 111 | export function isDownloadTableMemoryData(tableData: any): tableData is TableMemoryData { | CODE |
| LOW⚡ | packages/cubejs-databricks-jdbc-driver/src/helpers.ts | 9 | export function extractAndRemoveUidPwdFromJdbcUrl(jdbcUrl: string): [uid: string, pwd: string, cleanedUrl: string] { | CODE |
| LOW⚡ | packages/cubejs-databricks-jdbc-driver/src/helpers.ts | 18 | export function validateAndRemoveGeoSpatialSupportFromJdbcUrl(jdbcUrl: string): string { | CODE |
| LOW⚡ | packages/cubejs-databricks-jdbc-driver/src/helpers.ts | 18 | export function validateAndRemoveGeoSpatialSupportFromJdbcUrl(jdbcUrl: string): string { | CODE |
| LOW | …ubejs-testing-drivers/src/tests/testExternalSchemas.ts | 7 | export function redshiftExternalSchemasSuite( | CODE |
| LOW | …ting-drivers/src/tests/testIncrementalSchemaLoading.ts | 13 | export function incrementalSchemaLoadingSuite( | CODE |
| LOW | …ubejs-query-orchestrator/test/benchmarks/instrument.ts | 112 | function patchQueueDriverConnectionForTrack(connection: QueueDriverConnectionInterface, counters: BenchCounters): QueueD | CODE |
| LOW | …query-orchestrator/src/orchestrator/PreAggregations.ts | 65 | export function getLastUpdatedAtTimestamp( | CODE |
| LOW | …ery-orchestrator/src/orchestrator/QueryOrchestrator.ts | 49 | function detectQueueAndCacheDriver(options: QueryOrchestratorOptions): CacheAndQueryDriverType { | CODE |
| LOW | packages/cubejs-client-core/src/index.ts | 178 | function pickCubeSqlResultMetadata(parsed: any): CubeSqlResultMetadata { | CODE |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs-mintlify/api-reference/api.yaml | 7968 | description: 'Token authentication. Send `Authorization: Bearer <YOUR_TOKEN>`.' | CODE |
| HIGH | docs-mintlify/api-reference/chat.yaml | 400 | description: 'API key authentication. Send `Authorization: Api-Key <YOUR_API_KEY>`.' | CODE |
| HIGH | docs-mintlify/api-reference/chat.yaml | 400 | description: 'API key authentication. Send `Authorization: Api-Key <YOUR_API_KEY>`.' | CODE |
| HIGH | docs-mintlify/scripts/extract-chat.js | 160 | description: 'API key authentication. Send `Authorization: Api-Key <YOUR_API_KEY>`.', | CODE |
| HIGH | docs-mintlify/scripts/extract-chat.js | 160 | description: 'API key authentication. Send `Authorization: Api-Key <YOUR_API_KEY>`.', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rust/cubestore/cubestore-sql-tests/src/tests.rs | 2058 | // change with time, though, so test is not robust. | COMMENT |
| MEDIUM | rust/cubesql/cubesql/src/compile/rewrite/converter.rs | 1530 | // Regular join would use hash partitioning here, so it would be quicker, and utilize less CPU, | COMMENT |
| MEDIUM | packages/cubejs-cli/src/command/token.ts | 59 | console.log(` ${chalk.yellow(`Please refer to ${chalk.cyan('https://docs.cube.dev/cube-core/deployment#security')} fo | CODE |
| MEDIUM | packages/cubejs-api-gateway/src/graphql.ts | 405 | // Push down all inDateRange filters to time dimensions to leverage pre-aggregations | COMMENT |
| MEDIUM | packages/cubejs-backend-native/Cargo.toml | 58 | # harness. Off by default — never enable in production builds. | COMMENT |
| MEDIUM | packages/cubejs-backend-native/src/node_export.rs | 1035 | #[cfg(feature = "bridge-test-harness")] | COMMENT |
| MEDIUM | packages/cubejs-backend-native/src/lib.rs | 7 | #[cfg(feature = "bridge-test-harness")] | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …besqlplanner/src/planner/symbols/common/symbol_path.rs | 88 | // Step 1: If current_cube set, try resolving parts[0] as member | COMMENT |
| LOW⚡ | …besqlplanner/src/planner/symbols/common/symbol_path.rs | 97 | // Step 2: Try resolving parts[0] as cube reference | COMMENT |
| LOW | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 217 | // Step 1: add years and months with fallback logic. A quarter is three | COMMENT |
| LOW⚡ | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 247 | // Step 2: Add weeks and days | COMMENT |
| LOW⚡ | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 251 | // Step 3: Recombine with original time | COMMENT |
| LOW⚡ | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 255 | // Step 4: Add time-based parts | COMMENT |
| LOW | …/cubejs-server-core/test/unit/RefreshScheduler.test.ts | 1294 | // Step 1: Immediate retry - should skip due to backoff (10-second window) | COMMENT |
| LOW | …/cubejs-server-core/test/unit/RefreshScheduler.test.ts | 1315 | // Step 2: Verify backoff persists - pre-aggregation is still in backoff after 500ms | COMMENT |
| LOW | …ges/cubejs-schema-compiler/src/compiler/CubeSymbols.ts | 1709 | // so we need to check if such granularity exists in cube definition. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rust/cubesql/cubesql/src/compile/rewrite/analysis.rs | 1211 | "placeholder", | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 403 | regexp_substr('test@test.com', '@[^.]*') as match_dot, | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 407 | regexp_substr('test@test.com', null) as pattern_null, | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 408 | regexp_substr('test@test.com', '@[^.]*', 1) as position_default, | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 409 | regexp_substr('test@test.com', '@[^.]*', 5) as position_no_skip, | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 410 | regexp_substr('test@test.com', '@[^.]*', 6) as position_skip, | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 411 | regexp_substr('test@test.com', '@[^.]*', 0) as position_zero, | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 412 | regexp_substr('test@test.com', '@[^.]*', -1) as position_negative, | CODE |
| LOW⚡ | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 413 | regexp_substr('test@test.com', '@[^.]*', 100) as position_more_then_input | CODE |
| LOW | rust/cubesql/cubesql/src/compile/test/test_udfs.rs | 425 | SELECT 'test@test.com' as a | CODE |
| LOW | packages/cubejs-testing/test/smoke-links.test.ts | 138 | expect(data[1]['users.full_name']).toBe('John Doe'); | CODE |
| LOW | packages/cubejs-testing/test/smoke-links.test.ts | 139 | expect(data[1]['users.full_name___link_google_search_url']).toBe('John Doe'); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …besqlplanner/src/planner/symbols/common/symbol_path.rs | 88 | // Step 1: If current_cube set, try resolving parts[0] as member | COMMENT |
| LOW⚡ | …besqlplanner/src/planner/symbols/common/symbol_path.rs | 97 | // Step 2: Try resolving parts[0] as cube reference | COMMENT |
| LOW | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 217 | // Step 1: add years and months with fallback logic. A quarter is three | COMMENT |
| LOW⚡ | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 247 | // Step 2: Add weeks and days | COMMENT |
| LOW⚡ | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 251 | // Step 3: Recombine with original time | COMMENT |
| LOW⚡ | …cubesqlplanner/src/planner/time_dimension/date_time.rs | 255 | // Step 4: Add time-based parts | COMMENT |
| LOW | …/cubejs-server-core/test/unit/RefreshScheduler.test.ts | 1294 | // Step 1: Immediate retry - should skip due to backoff (10-second window) | COMMENT |
| LOW | …/cubejs-server-core/test/unit/RefreshScheduler.test.ts | 1315 | // Step 2: Verify backoff persists - pre-aggregation is still in backoff after 500ms | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs-mintlify/scripts/rewrite_links.py | 0 | process a single mdx file. returns true if changes were made. | STRING |
| HIGH | docs-mintlify/scripts/update_frontmatter.py | 0 | process a single mdx file. returns true if changes were made. | STRING |
| HIGH | docs-mintlify/scripts/transform_components.py | 0 | process a single mdx file. returns true if changes were made. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 71 | [Cube](https://cube.dev?ref=github-readme) is our commercial product — an agentic analytics platform built on Cube Core. | CODE |
| MEDIUM | README.md | 83 | <img src="https://img.youtube.com/vi/7ZQGGepDjUQ/maxresdefault.jpg" alt="Cube agentic analytics workshop on YouTube" w | CODE |
| MEDIUM | …ages/cubejs-playground/src/pages/CubeBI/CubeBiPage.tsx | 47 | <Link href="https://cube.dev?ref=github-readme" target="_blank">Cube</Link> is an agentic analytics platform b | CODE |
| MEDIUM | .github/workflows/claude-code-review.yml | 133 | # the context window. review-threads.md reads our prior threads itself, | COMMENT |
| MEDIUM | docs-mintlify/CLAUDE.md | 220 | Every [Deployment](#product-taxonomy) ships with **one agent** by default. The agent powers AI features (Analytics Chat, | CODE |
| MEDIUM | docs-mintlify/CLAUDE.md | 229 | #### In multi-agent contexts | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ages/cubejs-backend-native/python/cube/src/__init__.py | 334 | except Exception as e: | CODE |
| LOW | …ages/cubejs-backend-native/python/cube/src/__init__.py | 376 | except Exception as e: | CODE |
| MEDIUM | docs-mintlify/scripts/rewrite_links.py | 222 | print(f"Error: {target} not found", file=sys.stderr) | CODE |
| MEDIUM | docs-mintlify/scripts/check_links.py | 111 | print(f"Error: {docs_root} not found", file=sys.stderr) | CODE |
| MEDIUM | docs-mintlify/scripts/update_frontmatter.py | 220 | print(f"Error: {target} not found", file=sys.stderr) | CODE |
| MEDIUM | docs-mintlify/scripts/transform_components.py | 564 | print(f"Error: {target} not found", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ages/cubejs-backend-native/test/templates/memo_leak.py | 33 | CODE | |
| LOW | docs-mintlify/scripts/rewrite_links.py | 159 | CODE | |
| LOW | docs-mintlify/scripts/rewrite_links.py | 189 | CODE | |
| LOW | docs-mintlify/scripts/check_links.py | 64 | CODE | |
| LOW | docs-mintlify/scripts/update_frontmatter.py | 98 | CODE | |
| LOW | docs-mintlify/scripts/update_frontmatter.py | 187 | CODE | |
| LOW | docs-mintlify/scripts/transform_components.py | 488 | CODE | |
| LOW | docs-mintlify/scripts/transform_components.py | 519 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …irdbox-fixtures/postgresql/dbt-project/dbt_project.yml | 31 | # In this example config, we tell dbt to build all models in the example/ directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/workflows/rust-cubesql.yml | 134 | # package (no prebuilt binaries for Node.js 26, don't forget to uncomment excludes below!) | COMMENT |
| LOW | .github/workflows/rust-cubesql.yml | 134 | # package (no prebuilt binaries for Node.js 26, don't forget to uncomment excludes below!) | COMMENT |
| LOW | .github/workflows/push.yml | 84 | # Don't forget to update build-native-release | COMMENT |
| LOW | .github/workflows/push.yml | 285 | # Don't forget to align with PYTHON_VERSION_CURRENT | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ages/cubejs-backend-native/test/templates/memo_leak.py | 45 | except ValueError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rust/cubestore/cubezetasketch/src/sketch.rs | 190 | // TODO: implement or remove. | COMMENT |
| LOW | rust/cubestore/cubehll/src/instance.rs | 675 | // TODO: implement this for completeness. Airlift can read Dense HLL in V1 format. | COMMENT |
| LOW | packages/cubejs-client-vue3/src/QueryBuilder.js | 298 | // TODO: implement timezone | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …es/cubejs-testing/birdbox-fixtures/rbac-python/cube.py | 18 | # Check if any of the specified keys are in the dictionary | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs-mintlify/scripts/upload-asset.sh | 5 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/cubejs-backend-native/test/utils.py | 4 | def test_function(query: dict) -> dict: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ages/cubejs-backend-native/python/cube/src/__init__.py | 427 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs-mintlify/scripts/transform_components.py | 20 | CODE |