Skip to content

feat: add maturity field to tinybird project data IN-1098#4083

Merged
gaspergrom merged 2 commits intomainfrom
feat/IN-1098-project-maturity-data
May 7, 2026
Merged

feat: add maturity field to tinybird project data IN-1098#4083
gaspergrom merged 2 commits intomainfrom
feat/IN-1098-project-maturity-data

Conversation

@gaspergrom
Copy link
Copy Markdown
Contributor

@gaspergrom gaspergrom commented May 7, 2026

Summary

  • Add maturity column to segments.datasource — picks up the new maturity text field from Postgres via Sequin CDC ($.record.maturity, defaults to empty string)
  • Add maturity LowCardinality(String) to insights_projects_populated_ds.datasource output schema
  • Select any(segments.maturity) as maturity in the final node of insights_projects_populated_copy.pipe — reuses the existing segments join, no new join added

Changes

  • services/libs/tinybird/datasources/segments.datasource — new maturity column
  • services/libs/tinybird/datasources/insights_projects_populated_ds.datasource — new maturity column in schema + description
  • services/libs/tinybird/pipes/insights_projects_populated_copy.pipe — select maturity in final results node
  • frontend/.gitignore — housekeeping: add .claude / *.local.md, fix trailing newline

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 maturity field to Tinybird’s segment and project datasets so project maturity stage flows from segments.datasource into insights_projects_populated_ds.

Updates the project copy/filtered pipes to select and expose maturity in final results, and makes minor housekeeping tweaks to frontend/.gitignore (ignore .claude/*.local.md, fix cython_debug/).

Reviewed by Cursor Bugbot for commit bb06b25. Bugbot is set up for automated code reviews on this repo. Configure here.

Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Copilot AI review requested due to automatic review settings May 7, 2026 08:11
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ 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)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a7d5677. Configure here.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 maturity to the segments Tinybird datasource schema (CDC JSON path $.record.maturity, defaulting to empty string).
  • Add maturity to insights_projects_populated_ds schema and select it in the final node of insights_projects_populated_copy.pipe.
  • Minor frontend .gitignore housekeeping (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.

Comment on lines 25 to 28
- `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>
@gaspergrom gaspergrom merged commit bb918e0 into main May 7, 2026
17 checks passed
@gaspergrom gaspergrom deleted the feat/IN-1098-project-maturity-data branch May 7, 2026 08:23
epipav pushed a commit that referenced this pull request May 7, 2026
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants