Conversation
Contributor
🧪 Test Selection✅ Tests that will run
⏭️ Tests skipped (no relevant file changes detected)
|
🛡️ Upgrade safety for self-hosted customers
What we looked at
Technical details (raw JSON){
"schemaVersion": "1",
"version": "pr-26615",
"previousVersion": "c6f9ba024d",
"releaseDate": "2026-07-31T11:47:18.016Z",
"capabilities": [
"migrations",
"sql-lint",
"ai-review",
"rest",
"mcp",
"upgrade"
],
"migrations": {
"present": true,
"count": 1,
"files": [
"20260731120000_add_deep_research_run_metrics.ts"
],
"ee": true
},
"compatibility": {
"rollingUpdateSafe": true,
"recommendedStrategy": "RollingUpdate",
"notes": "AI rolling-update review: The single migration adds thirteen nullable metric columns to ai_deep_research_runs with no defaults, constraints, or backfill. The previous release's running code continues to insert/read without issue, and the new columns are only referenced by new-release code. Fully additive and rolling-update safe. This marker only reflects the checks listed in `capabilities`. It does NOT detect code-only or config-only breaking changes (env defaults, removed Helm values, serialization/protocol changes), which can also break old pods during a rolling update."
},
"api": {
"rest": {
"checked": true,
"breaking": false,
"changes": []
},
"mcp": {
"checked": true,
"breaking": false,
"changes": []
}
},
"upgrade": {
"minPreviousVersion": null,
"requiredStop": false,
"note": null,
"sourceVersion": null,
"kind": null,
"requiredStops": []
}
}Automated upgrade-safety check. Once merged, it ships a small |
|
Your preview environment pr-26615 has been deployed. Preview environment endpoints are available at: |
Preview Environment🌐 URL: https://lightdash-preview-pr-26615.lightdash.okteto.dev 📋 Logs: View in GCP Console 🔧 SSH: |
lightdash-bot
pushed a commit
that referenced
this pull request
Jul 31, 2026
# [1.55.0](1.54.0...1.55.0) (2026-07-31) ### Bug Fixes * **ai:** disable deep research during active runs ([#26636](#26636)) ([b553988](b553988)) * **ai:** keep deep research charts out of artifact sidebar ([#26638](#26638)) ([c02af96](c02af96)) * autofocus the global search input when the omnibar opens ([#26629](#26629)) ([0e9fa7a](0e9fa7a)) * **deps:** bump data app Vite to 8.0.16 ([#26628](#26628)) ([d1b1ed1](d1b1ed1)) ### Features * **ai:** persist Deep Research run metrics ([#26615](#26615)) ([4eb2bd5](4eb2bd5)) * **apps:** build a data app viz from the chart config ([#26338](#26338)) ([7e04541](7e04541)) * **cli:** download the data apps a dashboard references ([#26573](#26573)) ([d520559](d520559)) * **cli:** upload a dashboard's data apps before the dashboard ([#26584](#26584)) ([9c5f5fb](9c5f5fb)) * **content-as-code:** portable data app references in dashboard YAML ([#26566](#26566)) ([4ebf202](4ebf202)) * **data-apps:** add fullscreen presentation mode to the app viewer ([#26633](#26633)) ([d1aa90a](d1aa90a))
Collaborator
|
🎉 This PR is included in version 1.55.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes: https://linear.app/lightdash/issue/PROD-9376/persist-and-emit-complete-deep-research-run-metrics
Summary
Persists an authoritative operational-metrics snapshot for every terminal Deep Research run, exposes it through the API, and emits completion analytics from the same stored values.
Token classes now accumulate after every model step, so failed, cancelled, and pre-judge runs retain usage instead of depending on a final in-memory total.
How it works
Backend
agentV2emits oneai.usageevent per model step and attaches Deep Research run and phase provenance.AiDeepResearchRunModelatomically accumulates nullable token classes and permanently marks incomplete provider telemetry.Regression analysis
ai.usage, now once per completed model step instead of one aggregate event.No authorization, tenant-scoping, report-generation, or retention behavior changes.
Migration
Adds 13 nullable columns to
ai_deep_research_runs; the additive schema keeps existing rows backward-compatible.Test plan
AiDeepResearchRunModelPostgres integration — 12 tests pass against an isolated cloned database.pnpm generate-apiis stable andgit diff --checkpasses.Example payloads
AiDeepResearchRun.metricsafter completion:{ "durationMs": 42000, "inputTokens": 1200, "outputTokens": 480, "cacheReadTokens": 600, "cacheWriteTokens": 0, "reasoningTokens": 140, "totalTokens": 2420, "tokenUsageComplete": true, "toolCallCount": 8, "toolErrorCount": 1, "warehouseQueryCount": 3, "findingsCount": 4, "chartCount": 2 }