chore(ci): escalate substantial query-engine changes to review tier 4 - #2871
Conversation
The SQL rendering + execution pipeline in common-utils (renderChartConfig, builderToRawSql, clickhouse/) was absent from every critical-path band, so PRs like #2859 — 664 prod lines rewriting how multi-series metric merges are computed — tiered on generic size/cross-layer rules as Tier 3. Add a fourth critical band with the same total-churn mechanism as the infra band but a 150-line bar: calibrated against 20 recent merged PRs, infra's 30-line bar would have escalated half of them (including routine Tier 2 chart fixes), while 150 catches only engine-level rewrites (#2246, #2634, #2859). Also fixes a stale fixture path (renderChartConfig.ts moved to core/).
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🟢 Tier 1 — TrivialDocs, images, lock files, a dependency bump, or an automated release. No functional code changes detected. Why this tier:
Review process: Auto-merge once CI passes. No human review required. Stats
|
Greptile SummaryThe PR adds a dedicated query-engine critical-path band that escalates at 150 lines of aggregate production churn.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| .github/scripts/pr-triage-classify.js | Adds query-engine path detection, aggregate churn escalation, exported signals, and corresponding Tier 4 comment text without an eligible blocking issue. |
| .github/scripts/tests/pr-triage-classify.test.js | Extends classifier coverage for path matching, threshold boundaries, aggregation, exclusions, and generated explanations. |
Reviews (2): Last reviewed commit: "Merge branch 'main' into warren/revisit-..." | Re-trigger Greptile
Deep ReviewDeep ReviewScope: Single commit touching Intent: Add a fourth ✅ No critical issues found. The new band reuses the proven infra-band mechanism, is additive-only (it can push PRs up to Tier 4 but never down-tiers, since 🟡 P2 -- recommended
🔵 P3 nitpicks (3)
Reviewers (7): correctness, adversarial, testing, maintainability, project-standards, agent-native, learnings-researcher. Testing gaps: New-behavior coverage is thorough; the only untested matched paths are the non- |
E2E Test Results✅ All tests passed • 280 passed • 1 skipped • 939s
Tests ran across 4 shards in parallel. |
Why
The PR triage classifier has no critical-path coverage for
packages/common-utils— the SQL rendering + execution engine that every chart, search, and alert query flows through. A substantial change there can silently alter query semantics product-wide, yet #2859 (664 prod lines moving multi-series metric merge computation into ClickHouse) tiered on generic size/cross-layer rules as Tier 3.What
Adds a fourth critical band,
QUERY_ENGINE_CRITICAL_PATTERNS:packages/common-utils/src/core/renderChartConfig.*packages/common-utils/src/core/builderToRawSql.*packages/common-utils/src/clickhouse/using the same total-churn escalation mechanism as the infra band, but with a 150-line bar (
QUERY_ENGINE_CRITICAL_MIN_LINES).Why 150 and not infra's 30
Calibrated against 20 recent merged PRs touching these files (prod-only churn):
These files are among the hottest in the repo — routine chart fixes graze them weekly — so the bar is set high enough that only changes warranting a domain expert escalate.
Also
src/renderChartConfig.ts→src/core/renderChartConfig.ts; the file moved after the test was written)Verification
node --test .github/scripts/__tests__/pr-triage-classify.test.js— 112 tests pass (10 new)No changeset: CI/internal tooling only.