Skip to content

Commit 68ae09d

Browse files
chore(schemas): phase 3 quality sweep — enums, cron/column widgets, human descriptions
Automated sweep across 925 schema.json files → 583 changed: Enum inference (660 fields): - Canonical enum applied to known field names: default_status (STOPPED/RUNNING), retry_policy_backoff (exponential/linear/fixed), if_exists (fail/replace/append), on_conflict, write_mode, write_disposition, sort_order (asc/desc), join_type (inner/left/right/outer/cross), partition_type (daily/hourly/weekly/monthly/static/multi/dynamic), how, mode - Choice-list descriptions parsed for enum values (X | Y | Z form, "X, Y, or Z" form) — verified fallback so the Designer renders a dropdown even when the field name isn't in the canonical map - ui:widget: select added when adding an enum so smooth rendering happens even for form builders that don't understand raw enum Human-facing descriptions (62 fields): - preview_rows rewritten from dev-speak ("For long DataFrames (>10x…), a random sample is used; otherwise head()") to "How many rows to include in the preview. Large tables (>10× this number) are sampled randomly." Cron widget hints (386 fields): - x-dagster-widget: cron added to schedule, cron_schedule, freshness_cron, cron fields (string-typed) — enables the Designer's cron preset buttons + explain link Column widget hints (1588 fields): - x-dagster-widget: column (or columns for arrays) added to fields matching *_column / *_col / *_field / _dim / partition_date_* / partition_static_* / group_by / sort_by / dedup_keys / join_key / time_field / event_day_field / watermark_column / etc. — enables the Designer's upstream-DataFrame column picker Also fixed 4 retry_policy_backoff outliers that had pre-existing ["linear", "exponential"] enums (missing "fixed") — force-updated to the canonical ["exponential", "linear", "fixed"]. Bumps version to 0.10.35.
1 parent 692a875 commit 68ae09d

584 files changed

Lines changed: 18800 additions & 4717 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

asset_checks/cloud_dlp_pii_check/schema.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
"description": "Columns whose string values are inspected. Each row's columns are joined with newlines.",
3939
"items": {
4040
"type": "string"
41-
}
41+
},
42+
"x-dagster-widget": "columns"
4243
},
4344
"forbidden_info_types": {
4445
"type": "array",

asset_checks/enhanced_data_quality_checks/schema.json

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"label": "Group By",
1616
"description": "Column to group by for analysis",
1717
"required": false,
18-
"default": null
18+
"default": null,
19+
"x-dagster-widget": "columns"
1920
},
2021
"allowed_failures": {
2122
"type": "integer",
@@ -68,7 +69,8 @@
6869
"label": "Columns",
6970
"description": "Columns to check for null values",
7071
"required": true,
71-
"ui:widget": "list"
72+
"ui:widget": "list",
73+
"x-dagster-widget": "columns"
7274
},
7375
"metric": {
7476
"type": "string",
@@ -250,7 +252,8 @@
250252
"label": "Join Columns",
251253
"description": "Columns to join on between source and destination",
252254
"required": true,
253-
"ui:widget": "list"
255+
"ui:widget": "list",
256+
"x-dagster-widget": "columns"
254257
},
255258
"validation_type": {
256259
"type": "string",
@@ -263,7 +266,8 @@
263266
"label": "Aggregate Column",
264267
"description": "Aggregate Column",
265268
"required": false,
266-
"default": null
269+
"default": null,
270+
"x-dagster-widget": "column"
267271
},
268272
"aggregate_function": {
269273
"type": "string",
@@ -376,7 +380,8 @@
376380
"label": "Time Filter Column",
377381
"description": "Time Filter Column",
378382
"required": false,
379-
"default": null
383+
"default": null,
384+
"x-dagster-widget": "column"
380385
},
381386
"hours_back": {
382387
"type": "integer",
Lines changed: 105 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,113 @@
11
{
22
"component_type": "dagster_component_templates.ODataCheckComponent",
3-
"description": "Asset check smoke-test that an OData service URL + entity set is reachable, returns N rows, and contains expected columns.",
3+
"description": "Asset check \u2014 smoke-test that an OData service URL + entity set is reachable, returns N rows, and contains expected columns.",
44
"category": "check",
55
"icon": "si:odata",
66
"attributes": {
7-
"asset_key": {"type": "string", "label": "Asset Key", "required": true},
8-
"check_name": {"type": "string", "label": "Check Name", "required": false},
9-
"service_url": {"type": "string", "label": "Service URL", "required": true},
10-
"entity_set": {"type": "string", "label": "Entity Set", "required": true},
11-
"odata_version": {"type": "string", "label": "OData Version", "required": false, "default": "v2"},
12-
"filter": {"type": "string", "label": "$filter", "required": false},
13-
"min_rows": {"type": "integer", "label": "Min Rows", "required": false, "default": 1},
14-
"max_rows": {"type": "integer", "label": "Max Rows", "required": false},
15-
"expect_columns": {"type": "array", "items": {"type": "string"}, "label": "Expected Columns", "required": false, "ui:widget": "list"},
16-
"auth_type": {"type": "string", "label": "Auth Type", "required": false, "default": "basic"},
17-
"auth_username_env_var": {"type": "string", "label": "Auth Username Env Var", "required": false},
18-
"auth_password_env_var": {"type": "string", "label": "Auth Password Env Var", "required": false},
19-
"auth_token_env_var": {"type": "string", "label": "Auth Token Env Var", "required": false},
20-
"extra_headers": {"type": "object", "label": "Extra Headers", "required": false, "ui:widget": "key-value"},
21-
"verify_ssl": {"type": "boolean", "label": "Verify SSL", "required": false, "default": true, "ui:widget": "checkbox"},
22-
"timeout_seconds": {"type": "integer", "label": "Timeout (s)", "required": false, "default": 60},
23-
"severity": {"type": "string", "label": "Severity", "required": false, "default": "ERROR"}
7+
"asset_key": {
8+
"type": "string",
9+
"label": "Asset Key",
10+
"required": true
11+
},
12+
"check_name": {
13+
"type": "string",
14+
"label": "Check Name",
15+
"required": false
16+
},
17+
"service_url": {
18+
"type": "string",
19+
"label": "Service URL",
20+
"required": true
21+
},
22+
"entity_set": {
23+
"type": "string",
24+
"label": "Entity Set",
25+
"required": true
26+
},
27+
"odata_version": {
28+
"type": "string",
29+
"label": "OData Version",
30+
"required": false,
31+
"default": "v2"
32+
},
33+
"filter": {
34+
"type": "string",
35+
"label": "$filter",
36+
"required": false
37+
},
38+
"min_rows": {
39+
"type": "integer",
40+
"label": "Min Rows",
41+
"required": false,
42+
"default": 1
43+
},
44+
"max_rows": {
45+
"type": "integer",
46+
"label": "Max Rows",
47+
"required": false
48+
},
49+
"expect_columns": {
50+
"type": "array",
51+
"items": {
52+
"type": "string"
53+
},
54+
"label": "Expected Columns",
55+
"required": false,
56+
"ui:widget": "list",
57+
"x-dagster-widget": "columns"
58+
},
59+
"auth_type": {
60+
"type": "string",
61+
"label": "Auth Type",
62+
"required": false,
63+
"default": "basic"
64+
},
65+
"auth_username_env_var": {
66+
"type": "string",
67+
"label": "Auth Username Env Var",
68+
"required": false
69+
},
70+
"auth_password_env_var": {
71+
"type": "string",
72+
"label": "Auth Password Env Var",
73+
"required": false
74+
},
75+
"auth_token_env_var": {
76+
"type": "string",
77+
"label": "Auth Token Env Var",
78+
"required": false
79+
},
80+
"extra_headers": {
81+
"type": "object",
82+
"label": "Extra Headers",
83+
"required": false,
84+
"ui:widget": "key-value"
85+
},
86+
"verify_ssl": {
87+
"type": "boolean",
88+
"label": "Verify SSL",
89+
"required": false,
90+
"default": true,
91+
"ui:widget": "checkbox"
92+
},
93+
"timeout_seconds": {
94+
"type": "integer",
95+
"label": "Timeout (s)",
96+
"required": false,
97+
"default": 60
98+
},
99+
"severity": {
100+
"type": "string",
101+
"label": "Severity",
102+
"required": false,
103+
"default": "ERROR"
104+
}
24105
},
25-
"tags": ["check", "odata", "sap", "data-quality"],
106+
"tags": [
107+
"check",
108+
"odata",
109+
"sap",
110+
"data-quality"
111+
],
26112
"name": "OData Check"
27113
}

asset_checks/pandas_dataframe_check/schema.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
"required": true,
2222
"items": {
2323
"type": "string"
24-
}
24+
},
25+
"x-dagster-widget": "columns"
2526
},
2627
"column_types": {
2728
"type": "object",

assets/ai/anthropic_llm/schema.json

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,16 @@
5555
"label": "Input Column",
5656
"description": "Input Column",
5757
"required": false,
58-
"default": null
58+
"default": null,
59+
"x-dagster-widget": "column"
5960
},
6061
"output_column": {
6162
"type": "string",
6263
"label": "Output Column",
6364
"description": "Column name for Claude responses",
6465
"required": false,
65-
"default": "claude_response"
66+
"default": "claude_response",
67+
"x-dagster-widget": "column"
6668
},
6769
"max_tokens": {
6870
"type": "integer",
@@ -209,7 +211,8 @@
209211
"label": "Partition Date Column",
210212
"description": "Column used to filter rows to the current date partition key (e.g. 'event_date', 'created_at').",
211213
"required": false,
212-
"default": null
214+
"default": null,
215+
"x-dagster-widget": "column"
213216
},
214217
"partition_values": {
215218
"type": "string",
@@ -223,14 +226,16 @@
223226
"label": "Static Dimension Name",
224227
"description": "Name for the static partition dimension in multi-partitioning, e.g. 'customer' or 'region'. Defaults to 'segment'.",
225228
"required": false,
226-
"default": null
229+
"default": null,
230+
"x-dagster-widget": "column"
227231
},
228232
"partition_static_column": {
229233
"type": "string",
230234
"label": "Static Partition Column",
231235
"description": "Column used to filter rows to the current static partition value (e.g. 'customer_id', 'region').",
232236
"required": false,
233-
"default": null
237+
"default": null,
238+
"x-dagster-widget": "column"
234239
},
235240
"owners": {
236241
"type": "array",
@@ -271,7 +276,8 @@
271276
"label": "Freshness Cron Schedule",
272277
"description": "Cron schedule for the freshness policy, e.g. '0 9 * * 1-5' (weekdays 9am).",
273278
"required": false,
274-
"default": null
279+
"default": null,
280+
"x-dagster-widget": "cron"
275281
},
276282
"column_lineage": {
277283
"type": "object",
@@ -291,7 +297,7 @@
291297
"preview_rows": {
292298
"type": "integer",
293299
"label": "Preview Rows",
294-
"description": "Rows to include in the preview metadata. For long DataFrames (>10x preview_rows), a random sample is used; otherwise head().",
300+
"description": "How many rows to include in the preview. Large tables (>10\u00d7 this number) are sampled randomly.",
295301
"required": false,
296302
"default": 25
297303
},
@@ -315,7 +321,13 @@
315321
"type": "string",
316322
"label": "Retry Policy Backoff",
317323
"required": false,
318-
"default": "exponential"
324+
"default": "exponential",
325+
"enum": [
326+
"exponential",
327+
"linear",
328+
"fixed"
329+
],
330+
"ui:widget": "select"
319331
},
320332
"deps": {
321333
"type": "array",
@@ -349,4 +361,4 @@
349361
"llm"
350362
],
351363
"name": "Anthropic Claude LLM"
352-
}
364+
}

assets/ai/audio_transcriber/schema.json

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@
6262
"label": "Partition Date Column",
6363
"description": "Column used to filter rows to the current date partition key (e.g. 'event_date', 'created_at').",
6464
"required": false,
65-
"default": null
65+
"default": null,
66+
"x-dagster-widget": "column"
6667
},
6768
"partition_values": {
6869
"type": "string",
@@ -76,14 +77,16 @@
7677
"label": "Static Dimension Name",
7778
"description": "Name for the static partition dimension in multi-partitioning, e.g. 'customer' or 'region'. Defaults to 'segment'.",
7879
"required": false,
79-
"default": null
80+
"default": null,
81+
"x-dagster-widget": "column"
8082
},
8183
"partition_static_column": {
8284
"type": "string",
8385
"label": "Static Partition Column",
8486
"description": "Column used to filter rows to the current static partition value (e.g. 'customer_id', 'region').",
8587
"required": false,
86-
"default": null
88+
"default": null,
89+
"x-dagster-widget": "column"
8790
},
8891
"owners": {
8992
"type": "array",
@@ -124,7 +127,8 @@
124127
"label": "Freshness Cron Schedule",
125128
"description": "Cron schedule for the freshness policy, e.g. '0 9 * * 1-5' (weekdays 9am).",
126129
"required": false,
127-
"default": null
130+
"default": null,
131+
"x-dagster-widget": "cron"
128132
},
129133
"column_lineage": {
130134
"type": "object",
@@ -137,21 +141,24 @@
137141
"type": "string",
138142
"label": "Audio Path Column",
139143
"description": "Column containing local audio file paths",
140-
"required": true
144+
"required": true,
145+
"x-dagster-widget": "column"
141146
},
142147
"output_column": {
143148
"type": "string",
144149
"label": "Output Column",
145150
"description": "Column to write transcribed text",
146151
"required": false,
147-
"default": "transcription"
152+
"default": "transcription",
153+
"x-dagster-widget": "column"
148154
},
149155
"language_column": {
150156
"type": "string",
151157
"label": "Language Column",
152158
"description": "Column to write detected language code (optional)",
153159
"required": false,
154-
"default": null
160+
"default": null,
161+
"x-dagster-widget": "column"
155162
},
156163
"model_size": {
157164
"type": "string",
@@ -201,7 +208,13 @@
201208
"type": "string",
202209
"label": "Retry Policy Backoff",
203210
"required": false,
204-
"default": "exponential"
211+
"default": "exponential",
212+
"enum": [
213+
"exponential",
214+
"linear",
215+
"fixed"
216+
],
217+
"ui:widget": "select"
205218
},
206219
"description": {
207220
"type": "string",
@@ -242,4 +255,4 @@
242255
"transcription"
243256
],
244257
"name": "Audio Transcriber"
245-
}
258+
}

0 commit comments

Comments
 (0)