Skip to content

Conversation

@scholtzan
Copy link
Collaborator

@scholtzan scholtzan commented Jan 7, 2026

Description

This is a follow-up to the discussion in https://mozilla.slack.com/archives/C01E8GDG80N/p1767740035519219 and the failing run in https://workflow.telemetry.mozilla.org/dags/bqetl_artifact_deployment/grid?dag_run_id=manual__2026-01-06T22%3A28%3A57.835425%2B00%3A00&task_id=publish_new_tables&tab=logs

This PR updates schemas that were marked as out-of-date by the Airflow run and adds a new metadata option:

schema:
  allow_field_addition: true|false

This option indicates whether the query schema can change over, which is for example the case when doing a SELECT * on a different table that might add more fields over time. This option will trigger a schema re-generation in the schema update step (e.g. before deploying artifacts) and ensures that schemas are up-to-date.

Another option that was discussed was adding syndicate configs for Google Ads tables and authorizing the fxa datasets (https://github.com/mozilla/webservices-infra/pull/9025) and have the stage deploy step generate the most recent schemas. One issue I came to realize with that is removing the schema.yaml files for these types of queries also removes a way to add column descriptions. Since that metadata can be quite valuable having the allow_field_addition preserves these descriptions but also updates the schemas.

I added the allow_field_addition to the relevant FxA queries and Google Ads queries that showed up. There might be more popping up in the future when running artifact deploys. Adding the metadata option should be an easy enough fix though and also serves as an explicit indicator that the schemas can evolve over time.

Related Tickets & Documents

Reviewer, please follow this checklist

@scholtzan scholtzan force-pushed the update-schemas-2 branch 2 times, most recently from c6692a6 to d916e20 Compare January 7, 2026 22:38
@dataops-ci-bot

This comment has been minimized.

@scholtzan scholtzan force-pushed the update-schemas-2 branch 2 times, most recently from 0f2cb97 to 19a8f59 Compare January 7, 2026 22:58
@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@dataops-ci-bot

This comment has been minimized.

@scholtzan scholtzan changed the title Update schemas and create syndicates for firefox_accounts and google_ads Update schemas and add schema.allow_field_addition metadata Jan 8, 2026
@scholtzan scholtzan marked this pull request as ready for review January 8, 2026 20:52
@scholtzan scholtzan requested a review from a team as a code owner January 8, 2026 20:52
@scholtzan scholtzan requested a review from sean-rose January 8, 2026 20:52
@dataops-ci-bot
Copy link

Integration report for "Remove google ads syndication"

sql.diff

Click to expand!
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/accounts_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - accounts_cirrus_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/apple_ads_external/search_term_report_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/apple_ads_external/search_term_report_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/apple_ads_external/search_term_report_v1/schema.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/apple_ads_external/search_term_report_v1/schema.yaml	2026-01-08 20:51:52.000000000 +0000
@@ -80,3 +80,9 @@
   mode: NULLABLE
   name: spend
   type: BIGNUMERIC
+- mode: NULLABLE
+  name: keyword_text
+  type: STRING
+- mode: NULLABLE
+  name: keyword_id
+  type: INTEGER
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - burnham_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/burnham_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - burnham
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/experimenter_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - experimenter_cirrus_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:08.000000000 +0000
@@ -36,6 +36,7 @@
     - fenix
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -22,6 +22,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v2/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v2/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v2/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_admin_server_sanitized_v2/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -26,6 +26,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -22,6 +22,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v2/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v2/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v2/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/docker_fxa_customs_sanitized_v2/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -25,6 +25,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_bounce_events_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_bounce_events_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_bounce_events_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_bounce_events_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -17,6 +17,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_events_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_events_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_events_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_auth_events_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -17,6 +17,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_content_events_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_content_events_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_content_events_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_content_events_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -17,6 +17,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_oauth_events_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_oauth_events_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_oauth_events_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_oauth_events_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -14,6 +14,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_stdout_events_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_stdout_events_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_stdout_events_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_accounts_derived/fxa_stdout_events_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -22,6 +22,9 @@
     expiration_days: null
   range_partitioning: null
   clustering: null
+schema:
+  derived_from: []
+  allow_field_addition: true
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_crashreporter_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_defaultagent_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_desktop_background_defaultagent_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_tasks_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_desktop_background_tasks_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_desktop_background_update_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_background_update_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_desktop_background_update
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_desktop_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_desktop
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_echo_show_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_echo_show_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_echo_show_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_echo_show_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_echo_show
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_fire_tv_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -31,6 +31,7 @@
     - firefox_fire_tv
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access: []
 references:
   query.sql:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - firefox_ios
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -31,6 +31,7 @@
     - firefox_reality
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access: []
 references:
   query.sql:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_pc_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_pc_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_pc_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:32.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_reality_pc_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -31,6 +31,7 @@
     - firefox_reality_pc
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access: []
 references:
   query.sql:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_android_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_android_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_android_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - focus_android
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/focus_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/focus_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - focus_ios
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_beta_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_beta_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_beta_v1/schema.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_beta_v1/schema.yaml	2026-01-08 20:51:52.000000000 +0000
@@ -35,3 +35,19 @@
 - name: non_norm_histogram
   type: STRING
   mode: NULLABLE
+- name: aggregates
+  type: RECORD
+  mode: REPEATED
+  fields:
+  - name: key
+    type: STRING
+    mode: NULLABLE
+  - name: value
+    type: FLOAT
+    mode: NULLABLE
+- name: percentiles
+  type: STRING
+  mode: NULLABLE
+- name: non_norm_percentiles
+  type: STRING
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_nightly_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_nightly_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_nightly_v1/schema.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/glam_derived/client_probe_counts_firefox_desktop_nightly_v1/schema.yaml	2026-01-08 20:51:52.000000000 +0000
@@ -35,3 +35,22 @@
 - name: non_norm_histogram
   type: STRING
   mode: NULLABLE
+- name: agg_type
+  type: STRING
+  mode: NULLABLE
+- name: aggregates
+  type: RECORD
+  mode: REPEATED
+  fields:
+  - name: key
+    type: STRING
+    mode: NULLABLE
+  - name: value
+    type: FLOAT
+    mode: NULLABLE
+- name: percentiles
+  type: STRING
+  mode: NULLABLE
+- name: non_norm_percentiles
+  type: STRING
+  mode: NULLABLE
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_android_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_android_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_android_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_android_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - klar_android
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_ios_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_ios_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/klar_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/klar_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - klar_ios
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/lockwise_android_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/lockwise_android_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/lockwise_android_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:32.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/lockwise_android_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - lockwise_android
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/lockwise_ios_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/lockwise_ios_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/lockwise_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:32.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/lockwise_ios_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - lockwise_ios
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mach_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mach_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mach_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:32.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mach_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - mach
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitor_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - monitor_cirrus_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/airflow_trigger_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/airflow_trigger_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/airflow_trigger_v1/schema.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/monitoring_derived/airflow_trigger_v1/schema.yaml	2026-01-08 20:51:52.000000000 +0000
@@ -19,3 +19,7 @@
   mode: NULLABLE
   name: classpath
   type: STRING
+- description:
+  mode: NULLABLE
+  name: created_date
+  type: TIMESTAMP
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozilla_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozilla_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:08.000000000 +0000
@@ -36,6 +36,7 @@
     - mozilla_lockbox_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_mach_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozilla_mach_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozilla_mach_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozilla_mach_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - mozilla_mach_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_backend_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_backend_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_backend_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_backend_cirrus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - mozillavpn_backend_cirrus_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozillavpn_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - mozillavpn_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:32.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:08.000000000 +0000
@@ -36,6 +36,7 @@
     - mozphab_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:32.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozphab_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:08.000000000 +0000
@@ -36,6 +36,7 @@
     - mozphab
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozregression_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozregression_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/mozregression_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/mozregression_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - mozregression
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_beta_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_beta_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_beta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:32.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_beta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - net_thunderbird_android_beta_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_daily_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_daily_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_daily_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_daily_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - net_thunderbird_android_daily_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/net_thunderbird_android_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - net_thunderbird_android_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_connect_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_connect_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_connect_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_connect_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_connect_firefox_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:08.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_fenix_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_fenix_nightly_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_fennec_aurora_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_firefox_beta_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_firefox_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefoxreality_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefoxreality_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefoxreality_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefoxreality_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -31,6 +31,7 @@
     - org_mozilla_firefoxreality_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access: []
 references:
   query.sql:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_vpn_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_vpn_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_vpn_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_vpn_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_firefox_vpn_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_beta_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_beta_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_beta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_beta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_focus_beta_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_focus_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_focus_nightly_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_focus_nightly_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_fennec_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_fennec_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_fennec_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_fennec_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_ios_fennec_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxbeta_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxbeta_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxbeta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxbeta_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_ios_firefoxbeta_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:09.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_ios_firefox_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_ios_firefoxvpn_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_network_extension_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_network_extension_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_network_extension_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_firefoxvpn_network_extension_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:08.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_ios_firefoxvpn_network_extension_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_focus_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_focus_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_focus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_focus_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -35,6 +35,7 @@
     - org_mozilla_ios_focus_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_klar_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_klar_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_klar_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_klar_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_ios_klar_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_ios_lockbox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_ios_lockbox_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_klar_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_klar_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_klar_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_klar_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:08.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_klar_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_mozregression_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_mozregression_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_mozregression_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_mozregression_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_mozregression_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_reference_browser_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_reference_browser_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_reference_browser_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_reference_browser_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - org_mozilla_reference_browser_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_tv_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_tv_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_tv_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_tv_firefox_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -31,6 +31,7 @@
     - org_mozilla_tv_firefox_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access: []
 references:
   query.sql:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_vrbrowser_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_vrbrowser_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_vrbrowser_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_vrbrowser_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -31,6 +31,7 @@
     - org_mozilla_vrbrowser_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access: []
 references:
   query.sql:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/pine_derived/baseline_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/pine_derived/baseline_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/pine_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/pine_derived/baseline_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:10.000000000 +0000
@@ -36,6 +36,7 @@
     - pine_derived
     - baseline_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/reference_browser_derived/metrics_clients_last_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/reference_browser_derived/metrics_clients_last_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/reference_browser_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/reference_browser_derived/metrics_clients_last_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -36,6 +36,7 @@
     - reference_browser
     - metrics_clients_daily_v1
     exclude: null
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_daily_v6/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_daily_v6/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_daily_v6/schema.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_daily_v6/schema.yaml	2026-01-08 20:51:52.000000000 +0000
@@ -2373,4 +2373,5 @@
 - name: browser_backup_archive_enabled
   type: BOOLEAN
   mode: NULLABLE
-  description: True if the user can create backups, i.e. it has not been disabled by a pref or otherwise deemed incompatible.
+  description: True if the user can create backups, i.e. it has not been disabled
+    by a pref or otherwise deemed incompatible.
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/metadata.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/metadata.yaml	2026-01-08 20:53:11.000000000 +0000
@@ -40,6 +40,7 @@
     - clients_daily_v6
     exclude:
     - submission_date
+  allow_field_addition: false
 workgroup_access:
 - role: roles/bigquery.dataViewer
   members:
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/schema.yaml	2026-01-08 20:53:31.000000000 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/telemetry_derived/clients_first_seen_v1/schema.yaml	2026-01-08 20:51:52.000000000 +0000
@@ -2335,6 +2335,8 @@
 - name: apple_model_id
   type: STRING
   mode: NULLABLE
+  description: The hw.model of the hardware running this software. Mac only. e.g.
+    "MacBookPro14,1"
 - name: max_subsession_counter
   type: INTEGER
   mode: NULLABLE
@@ -2349,3 +2351,18 @@
   mode: NULLABLE
   description: A UUID identifying the profile's group on a single device and allowing
     user-oriented correlation of data
+- name: 

⚠️ Only part of the diff is displayed.

Link to full diff

Copy link
Contributor

@sean-rose sean-rose left a comment

Choose a reason for hiding this comment

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

  • issue (blocking): The firefox_accounts_derived.recent_fxa_gcp_*_events_v1 ETLs also need the allow_field_addition metadata added.
  • question: The following ETLs had publishing errors when all schema updates for existing schema.yaml files were being skipped, so do they also need to be updated in some way?
    • Various active_users_aggregates_v3 ETLs.
    • Various new_profile_activations_v1 ETLs.
    • google_ads_derived.daily_ad_group_stats_v1
    • google_ads_derived.daily_campaign_stats_v1
    • telemetry_derived.ech_adoption_rate_v1

)

# Check if query metadata has ALLOW_FIELD_ADDITION
# Check if query metadata has allow_field_addition flag or ALLOW_FIELD_ADDITION argument
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion (non-blocking): Maybe it would make sense to automatically add the --schema_update_option=ALLOW_FIELD_ADDITION argument for incremental SQL ETLs with allow_field_addition: true in their metadata.yaml?

"--schema_update_option=ALLOW_FIELD_ADDITION" in arg
for arg in arguments
)
if metadata:
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion (non-blocking): If the Metadata.of_query_file() succeeds then the return value won't be None, so I don't think the if metadata: check is needed.

Comment on lines +136 to +138
derived_from: List[SchemaDerivedMetadata] = attr.ib([])
# indicates that the schema might change over time and should be updated even with --skip-existing
allow_field_addition: bool = attr.ib(False)
Copy link
Contributor

Choose a reason for hiding this comment

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

note: Setting default values like this without additional logic controlling what values get written to metadata.yaml files means that when certain bqetl commands rewrite metadata.yaml files these default values will get added.

For example, running bqetl query schema update on any of the ETLs where you've added the allow_field_addition metadata will now result in derived_from: [] being added to their metadata.yaml. And similarly, running bqetl query schema update on any ETLs that have actual derived_from metadata will now result in allow_field_addition: false being added to their metadata.yaml.

This isn't a huge deal, but I think it could be nice if we more consistently omitted fields from metadata.yaml when they're set to the default value.

Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion (non-blocking): I'd suggest reverting the unrelated changes to this metadata.yaml file, which I'm guessing were a result of running bqetl query schema update for this ETL.

(ditto for glam_derived/client_probe_counts_firefox_desktop_nightly_v1/metadata.yaml and telemetry_derived/clients_first_seen_v1/metadata.yaml)

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.

5 participants