feat: add maturity field to tinybird project data IN-1098#4083
feat: add maturity field to tinybird project data IN-1098#4083gaspergrom merged 2 commits intomainfrom
Conversation
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
|
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a7d5677. Configure here.
| `status` String, | ||
| `lastVulnerabilityScanStatus` LowCardinality(Nullable(String)) | ||
| `maturity` LowCardinality(String), | ||
| `lastVulnerabilityScanStatus` Nullable(String) |
There was a problem hiding this comment.
Accidentally removed LowCardinality from lastVulnerabilityScanStatus type
Low Severity
The lastVulnerabilityScanStatus column type was changed from LowCardinality(Nullable(String)) to Nullable(String), accidentally dropping the LowCardinality wrapper. The documentation on line 27 still references the original type LowCardinality(Nullable(String)), confirming this was unintentional. This column has only ~5 distinct values, making LowCardinality an appropriate and meaningful optimization that was lost during the maturity field addition.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit a7d5677. Configure here.
There was a problem hiding this comment.
Pull request overview
This PR adds a new maturity attribute to Tinybird’s project-related datasets by ingesting it from Postgres-backed segments and surfacing it in the populated insights projects datasource.
Changes:
- Add
maturityto thesegmentsTinybird datasource schema (CDC JSON path$.record.maturity, defaulting to empty string). - Add
maturitytoinsights_projects_populated_dsschema and select it in the final node ofinsights_projects_populated_copy.pipe. - Minor frontend
.gitignorehousekeeping (ignore.claude,*.local.md, fix formatting).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| services/libs/tinybird/pipes/insights_projects_populated_copy.pipe | Includes maturity in the final aggregated SELECT (reusing the existing segments join). |
| services/libs/tinybird/datasources/segments.datasource | Adds maturity column sourced from Sequin CDC JSON record. |
| services/libs/tinybird/datasources/insights_projects_populated_ds.datasource | Adds maturity to output schema and documents it; also changes lastVulnerabilityScanStatus type. |
| frontend/.gitignore | Adds ignore rules for .claude and *.local.md, fixes trailing/formatting. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - `status` is the status of the project ex: active or archived | ||
| - `maturity` is the project maturity stage (e.g. Sandbox, Incubating, Graduated). Empty string when not set. | ||
| - `lastVulnerabilityScanStatus` is the aggregated vulnerability scan status across all project repositories (`LowCardinality(Nullable(String))`). Possible values: `'success'` (all scans passed), `'no_packages_found'` (no dependency packages detected), `'failure'` (at least one scan failed), `'running'` (scan in progress). NULL when no scan records exist for the project's repositories. | ||
|
|
| `communityLanguages` Array(String), | ||
| `status` String, | ||
| `lastVulnerabilityScanStatus` LowCardinality(Nullable(String)) | ||
| `maturity` LowCardinality(String), |
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>


Summary
Changes
Ticket: https://linuxfoundation.atlassian.net/browse/IN-1098
Note
Medium Risk
Moderate risk because it changes Tinybird datasource schemas and pipe outputs, which can break downstream queries or consumers if not deployed/migrated in sync; logic changes are additive and straightforward.
Overview
Adds a new
maturityfield to Tinybird’s segment and project datasets so project maturity stage flows fromsegments.datasourceintoinsights_projects_populated_ds.Updates the project copy/filtered pipes to select and expose
maturityin final results, and makes minor housekeeping tweaks tofrontend/.gitignore(ignore.claude/*.local.md, fixcython_debug/).Reviewed by Cursor Bugbot for commit bb06b25. Bugbot is set up for automated code reviews on this repo. Configure here.