Skip to content

chore(schema): add base schema for fenix_derived#9706

Merged
phil-lee70 merged 5 commits into
mainfrom
auto/schema-descriptions-fenix_derived-20260720-182747
Jul 21, 2026
Merged

chore(schema): add base schema for fenix_derived#9706
phil-lee70 merged 5 commits into
mainfrom
auto/schema-descriptions-fenix_derived-20260720-182747

Conversation

@phil-lee70

@phil-lee70 phil-lee70 commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Base Schema

Generated fenix_derived.yaml with descriptions for 84 shared fields.

@scholtzan

This comment has been minimized.

@phil-lee70
phil-lee70 marked this pull request as ready for review July 21, 2026 12:20

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This PR adds a new dataset-level base-schema file fenix_derived.yaml with names, descriptions, and (mostly) types for 84 fields shared across fenix_derived tables. These base schemas are consumed almost entirely via !include-field-description, so the description text is what actually propagates into downstream schema.yaml files. The descriptions are generally clear and detailed. Two points below: some descriptions bake in a point-in-time claim about current nullness that will go stale, and the type key is applied inconsistently across fields.

A value of 0 indicates no session starts were observed in the window.
type: INT64
- name: days_sent_metrics_ping_bits
description: An integer bitfield representing the days within a rolling window on which the client sent a metrics ping. This field is currently

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

suggestion: These descriptions encode a transient observation about the current data state ("currently fully null, indicating it is not yet populated"), which will become misleading once the field is populated. Since this base schema is reused across many fenix_derived tables via !include-field-description, a stale claim propagates everywhere. Describe what the field is meant to represent and drop the point-in-time nullness claim. The same applies to is_large_device (lines 169-170), marketing_notifications_allowed (line 193), notifications_allowed (line 233, "currently null for all observed rows"), and meta_attribution_app (line 202, "null for the vast majority of clients").

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

removed null references in descriptions

@@ -0,0 +1,331 @@
fields:
- name: activated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nitpick: activated omits type while 81 of the 84 fields include it; app_version (line 54) and first_run_date (line 145) are the other two without it. Based on their descriptions these are BOOLEAN, STRING, and DATE respectively. Add the missing type for consistency (or drop type throughout, as the sibling firefox_desktop_derived.yaml and subscription_platform_derived.yaml base schemas do).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

dropped the fields

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@phil-lee70 i'm working on the agent re-naming this to dataset_schema.yaml - should we go ahead and change it here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

sure thing! i'll change it in this PR

@scholtzan

This comment has been minimized.

@chelseyklein chelseyklein left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These look good. left one comment about possibly changing base schema name to dataset_schema.yaml - nonblocking

@scholtzan

Copy link
Copy Markdown
Collaborator

Integration report

@phil-lee70
phil-lee70 added this pull request to the merge queue Jul 21, 2026
Merged via the queue into main with commit 951a5eb Jul 21, 2026
30 checks passed
@phil-lee70
phil-lee70 deleted the auto/schema-descriptions-fenix_derived-20260720-182747 branch July 21, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants