Skip to content

Make launch stage the single preview source of truth in schema codegen - #5611

Merged
janniklasrose merged 4 commits into
mainfrom
janniklasrose/5443-follow-up
Jun 16, 2026
Merged

Make launch stage the single preview source of truth in schema codegen#5611
janniklasrose merged 4 commits into
mainfrom
janniklasrose/5443-follow-up

Conversation

@janniklasrose

@janniklasrosejanniklasrose commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Changes

Two follow-ups requested in the review of #5443:

  1. LaunchStage type + enforcement (comment). Add a LaunchStage type in internal/clijson (the cli.json contract package) with the known stages (GA, PUBLIC_PREVIEW, PUBLIC_BETA, PRIVATE_PREVIEW) as constants and a closed-set ParseLaunchStage. Schema generation validates every launch_stage read from .codegen/cli.json and fails with an actionable error on any unrecognized stage, so a stage introduced upstream can't silently render as GA. bundle/internal/annotation keeps only the presentation mapping (PreviewTag), keyed by clijson.LaunchStage.

  2. Drop the x-databricks-preview remnant (comment). x-databricks-preview existed only as a remnant of previous codegen. The published schema now carries x-databricks-launch-stage instead, and the Python (pydabs) codegen reads the launch stage exclusively (its LaunchStage class mirrors clijson.LaunchStage).

Behavior

Behavior-preserving refactor — the set of hidden/experimental fields is unchanged:

  • jsonschema.json / jsonschema_for_docs.json: each x-databricks-preview: PRIVATE entry becomes x-databricks-launch-stage: PRIVATE_PREVIEW; doNotSuggest is unchanged.
  • annotations_openapi.yml: the derived x-databricks-preview entries are dropped (x-databricks-launch-stage was already present).
  • Generated pydabs models under python/databricks/bundles/** are byte-identical.

Design notes

  • x-databricks-launch-stage is emitted into the published schema only for the private-preview stage — the only stage any consumer acts on (doNotSuggest and pydabs experimental). Other stages still surface as the description prefix and the per-value enumDescriptions labels, matching the original rationale in Expose stage/release status in schema #5443 for keeping the published schema lean.
  • The contract still types launch_stage as a plain string (the clijson wire types are generated by genkit). Fully guaranteeing that no value outside the closed set can be produced requires upstreaming the producer to emit the LaunchStage enum directly; until then clijson.ParseLaunchStage enforces the set where the contract is consumed.

Testing

  • go test ./internal/clijson/... ./bundle/internal/... ./bundle/schema/... ./libs/jsonschema/...
  • go test ./acceptance -run TestAccept/bundle/refschema
  • Python codegen unit tests (python/codegen/codegen_tests/)
  • Re-ran ./task generate-schema, generate-schema-docs, and pydabs-codegen; verified the only schema change is the x-databricks-previewx-databricks-launch-stage swap and that the generated pydabs models are unchanged.

Follow-up to #5443.

This pull request and its description were written by Isaac, an AI coding agent.

Two follow-ups from #5443:
Introduce an annotation.LaunchStage type with the known stages as named constants and a single source-of-truth tag map. The annotation parser now validates every launch_stage read from cli.json and fails codegen on an unrecognized stage, so a stage added upstream can't slip through unmapped.
Drop the x-databricks-preview remnant. The published schema now carries x-databricks-launch-stage, emitted only for private-preview fields (where it sets doNotSuggest and the Python codegen reads it to mark fields experimental). Generated pydabs models are byte-identical; only the schema key and value change.
Co-authored-by: Isaac
@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: d4e7e90

Run: 27642929366

Env💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
💚​aws linux7152649946:11
💚​aws windows7152669929:03
💚​aws-ucws linux7153609086:51
💚​aws-ucws windows71536290610:11
💚​azure linux1172679926:02
💚​azure windows1172699907:17
💚​azure-ucws linux1173659047:46
💚​azure-ucws windows1173679028:18
💚​gcp linux1172639956:08
💚​gcp windows1172659939:40
22 interesting tests: 15 SKIP, 7 RECOVERED
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
💚​TestAccept💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/invariant/no_drift🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/permissions🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions💚​R💚​R💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/with_permissions/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions💚​R💚​R💚​R💚​R🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=direct💚​R💚​R💚​R💚​R
💚​TestAccept/bundle/resources/permissions/jobs/destroy_without_mgmtperms/without_permissions/DATABRICKS_BUNDLE_ENGINE=terraform💚​R💚​R💚​R💚​R
🙈​TestAccept/bundle/resources/postgres_branches/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/recreate🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/replace_existing🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/update_protected🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_branches/without_branch_id🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_endpoints/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_endpoints/recreate🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/postgres_projects/update_display_name🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/synced_database_tables/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/vector_search_indexes/basic🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/bundle/resources/vector_search_indexes/grants/select🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
🙈​TestAccept/ssh/connection🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S🙈​S
Top 25 slowest tests (at least 2 minutes):
durationenvtestname
6:02gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
4:25gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
4:07gcp windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
4:00aws-ucws windowsTestAccept
3:42azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:39gcp linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:29aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:20azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:18aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:13azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:10aws windowsTestAccept
3:10aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
3:04aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
3:01aws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:59aws-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:59aws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:53azure windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:49azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:45azure-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:39azure windowsTestAccept
2:39gcp windowsTestAccept
2:34azure-ucws windowsTestAccept
2:34azure linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct
2:30azure-ucws linuxTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=terraform
2:25aws-ucws windowsTestAccept/bundle/resources/apps/inline_config/DATABRICKS_BUNDLE_ENGINE=direct

Comment threadpython/codegen/codegen/jsonschema.py
Comment threadbundle/internal/annotation/preview.go Outdated
…llow-up
# Conflicts:
#	bundle/schema/jsonschema.json
#	bundle/schema/jsonschema_for_docs.json
Per review of #5611: the launch stage is a contract concept, so its type, constants, and closed-set validation now live in internal/clijson (the cli.json contract package) instead of bundle/internal/annotation. The annotation package keeps only the presentation mapping (PreviewTag), now keyed by clijson.LaunchStage.
Fully guaranteeing that no other value can be produced by the contract requires the upstream producer to emit this enum for launch_stage; until then clijson.ParseLaunchStage enforces the closed set where the contract is consumed.
Co-authored-by: Isaac
Per review of #5611: the launch-stage holder in the Python (pydabs) codegen is renamed from Stage to LaunchStage to match clijson.LaunchStage in the Go code, and all four stages are mirrored as constants for completeness even though jsonschema.json only carries the private-preview stage today.
No change to the generated bundle models.
Co-authored-by: Isaac
@janniklasrose
janniklasrose added this pull request to the merge queueJun 16, 2026
Merged via the queue into main with commit 30daa1cJun 16, 2026
31 checks passed
@janniklasrose
janniklasrose deleted the janniklasrose/5443-follow-up branch June 16, 2026 20:30
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 30daa1c

Run: 27646193215

Env💥​PANIC❌​FAIL🟨​KNOWN🤯​MISS🔄​flaky💚​RECOVERED🙈​SKIP✅​pass🙈​skipTime
🟨​aws linux71554592761:39
🟨​aws windows71551193778:17
💥​aws-ucws linux15189102775747120:00
💥​aws-ucws windows1322822695762120:06
❌​azure linux1811753692398:35
❌​azure windows41417512933257:09
💥​azure-ucws linux1141821012703759120:00
💥​azure-ucws windows119207812626774120:05
❌​gcp linux4117532931257:06
❌​gcp windows4117498941264:31
487 interesting tests: 446 MISS, 28 FAIL, 7 KNOWN, 4 PANIC, 2 SKIP
Test Nameaws linuxaws windowsaws-ucws linuxaws-ucws windowsazure linuxazure windowsazure-ucws linuxazure-ucws windowsgcp linuxgcp windows
🟨​TestAccept🟨​K🟨​K🤯​M🤯​M🟨​K🟨​K🤯​M🤯​M🟨​K🟨​K
🤯​TestAccept/bundle/apps/job_permissions🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/apps/job_permissions/DATABRICKS_BUNDLE_ENGINE=direct🤯​M🤯​M🤯​M🤯​M
🤯​TestAccept/bundle/apps/job_permissions/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M🤯​M🤯​M🤯​M
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DATABRICKS_BUNDLE_ENGINE=direct🤯​M🤯​M🤯​M🤯​M
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M🤯​M🤯​M
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
💥​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DATABRICKS_BUNDLE_ENGINE=direct💥​P🤯​M🤯​M🤯​M
🤯​TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M🤯​M🤯​M
🤯​TestAccept/bundle/config-remote-sync/cli_defaults✅​p🙈​s🤯​M🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/cli_defaults/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/cli_defaults/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/config_edits✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/config_edits/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/config_edits/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/dashboard_etag✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/dashboard_etag/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/dashboard_etag/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/flushed_cache✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/flushed_cache/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/flushed_cache/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/formatting_preserved✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/formatting_preserved/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/formatting_preserved/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_fields🙈​s🙈​s✅​p🙈​s🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_fields/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/job_fields/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/job_multiple_tasks✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_multiple_tasks/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_multiple_tasks/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_params_variables🙈​s🙈​s✅​p🙈​s🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_params_variables/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/job_params_variables/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/job_pipeline_task✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/job_pipeline_task/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/job_pipeline_task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/multiple_files✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/multiple_files/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/multiple_files/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/multiple_resources🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=direct🤯​M🤯​M
🤯​TestAccept/bundle/config-remote-sync/multiple_resources/DATABRICKS_BUNDLE_ENGINE=terraform🤯​M🤯​M
🤯​TestAccept/bundle/config-remote-sync/output_json✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/output_json/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/output_json/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/output_no_changes✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/output_no_changes/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/output_no_changes/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/pipeline_fields🙈​s🙈​s✅​p🙈​s🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/pipeline_fields/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/pipeline_fields/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/resolve_variables🙈​s🙈​s✅​p🙈​s🙈​s🙈​s🤯​M🙈​s🙈​s🙈​s
🤯​TestAccept/bundle/config-remote-sync/resolve_variables/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/resolve_variables/DATABRICKS_BUNDLE_ENGINE=terraform✅​p🤯​M
🤯​TestAccept/bundle/config-remote-sync/target_override✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/target_override/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/target_override/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/task_rename_revert✅​p🙈​s✅​p🙈​s✅​p🙈​s🤯​M🙈​s✅​p🙈​s
🤯​TestAccept/bundle/config-remote-sync/task_rename_revert/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/config-remote-sync/task_rename_revert/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p
🤯​TestAccept/bundle/deploy/empty-bundle✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=true/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/empty-bundle/DATABRICKS_BUNDLE_ENABLE_EXPERIMENTAL_YAML_SYNC=true/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/files/no-snapshot-sync✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/files/no-snapshot-sync/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/files/no-snapshot-sync/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/mlops-stacks✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/mlops-stacks/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/mlops-stacks/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/snapshot-comparison✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/snapshot-comparison/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/spark-jar-task✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/spark-jar-task/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deploy/spark-jar-task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/alert🙈​s🙈​s🙈​s🙈​s✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/alert/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/alert/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/catalog🙈​s🙈​s✅​p🤯​M🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/catalog/DATABRICKS_BUNDLE_ENGINE=direct✅​p🤯​M🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/cluster✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/cluster/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/cluster/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p🤯​M✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/recreation✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/recreation/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/dashboard/recreation/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/experiment✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/experiment/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/experiment/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/generate-and-bind✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/generate-and-bind/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/generate-and-bind/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-abort-bind✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-abort-bind/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-abort-bind/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-spark-python-task✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-spark-python-task/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/job/job-spark-python-task/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/model-serving-endpoint✅​p✅​p✅​p✅​p✅​p✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/model-serving-endpoint/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/model-serving-endpoint/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M✅​p✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/pipelines/recreate✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/pipelines/recreate/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/pipelines/recreate/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/bind/registered-model🙈​s🙈​s✅​p✅​p🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/registered-model/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/registered-model/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/schema🙈​s🙈​s✅​p✅​p🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/schema/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/schema/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/secret-scope🙈​s🙈​s✅​p✅​p🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/secret-scope/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/secret-scope/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/vector_search_endpoint🙈​s🙈​s✅​p✅​p🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/vector_search_endpoint/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/vector_search_index🙈​s🙈​s✅​p✅​p🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/vector_search_index/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/volume🙈​s🙈​s✅​p✅​p🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/bind/volume/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/bind/volume/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/unbind/grants🙈​s🙈​s✅​p✅​p🙈​s🙈​s🤯​M🤯​M🙈​s🙈​s
🤯​TestAccept/bundle/deployment/unbind/grants/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/unbind/grants/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p🤯​M🤯​M
🤯​TestAccept/bundle/deployment/unbind/permissions✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/unbind/permissions/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/deployment/unbind/permissions/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/destroy/jobs-and-pipeline✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/destroy/jobs-and-pipeline/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/destroy/jobs-and-pipeline/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/generate/alert✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=direct✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/generate/alert/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/generate/auto-bind✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/generate/auto-bind/DATABRICKS_BUNDLE_ENGINE=terraform✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
🤯​TestAccept/bundle/generate/pipeline_and_deploy✅​p✅​p✅​p✅​p✅​p✅​p🤯​M🤯​M✅​p✅​p
Top 50 slowest tests (at least 2 minutes):
durationenvtestname
30:07aws-ucws linuxTestAccept/bundle/resources/vector_search_indexes/grants/select/DATABRICKS_BUNDLE_ENGINE=direct
29:19azure-ucws linuxTestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension/DATABRICKS_BUNDLE_ENGINE=direct
28:32azure-ucws linuxTestAccept/bundle/resources/vector_search_indexes/grants/select/DATABRICKS_BUNDLE_ENGINE=direct
27:20aws-ucws linuxTestAccept/bundle/invariant/continue_293/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
27:04aws-ucws linuxTestAccept/bundle/resources/vector_search_indexes/basic/DATABRICKS_BUNDLE_ENGINE=direct
26:49aws-ucws linuxTestAccept/bundle/invariant/no_drift/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
26:29aws-ucws windowsTestAccept/bundle/invariant/no_drift/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
25:40aws-ucws linuxTestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension/DATABRICKS_BUNDLE_ENGINE=direct
25:26azure-ucws windowsTestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension/DATABRICKS_BUNDLE_ENGINE=direct
23:44aws-ucws windowsTestAccept/bundle/invariant/continue_293/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
22:44aws-ucws windowsTestAccept/bundle/resources/clusters/lifecycle-started-toggle/DATABRICKS_BUNDLE_ENGINE=direct
20:21azure-ucws linuxTestAccept/bundle/resources/vector_search_indexes/basic/DATABRICKS_BUNDLE_ENGINE=direct
19:03aws windowsTestAccept/bundle/resources/sql_warehouses/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
18:36azure-ucws windowsTestAccept/bundle/resources/vector_search_indexes/grants/select/DATABRICKS_BUNDLE_ENGINE=direct
16:41azure-ucws linuxTestAccept/bundle/invariant/no_drift/DATABRICKS_BUNDLE_ENGINE=direct/INPUT_CONFIG=vector_search_index.yml.tmpl
16:21gcp linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
15:04azure-ucws windowsTestAccept/bundle/resources/vector_search_indexes/basic/DATABRICKS_BUNDLE_ENGINE=direct
14:05azure-ucws windowsTestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
12:59azure-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
12:57aws-ucws windowsTestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
12:53gcp windowsTestAccept/bundle/resources/clusters/deploy/local_ssd_count/DATABRICKS_BUNDLE_ENGINE=direct
12:21gcp windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
12:20azure windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=direct
11:58aws-ucws windowsTestAccept/bundle/resources/clusters/deploy/data_security_mode/DATABRICKS_BUNDLE_ENGINE=direct
11:54gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
11:52gcp linuxTestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
11:50gcp windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=SINGLE_USER
11:39gcp windowsTestAccept/bundle/resources/apps/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
11:10gcp linuxTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
10:39aws windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
10:31azure windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
10:01aws-ucws windowsTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=terraform
9:57gcp linuxTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
9:48aws-ucws windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=terraform
9:45azure windowsTestAccept/bundle/resources/permissions/factcheck/DATABRICKS_BUNDLE_ENGINE=terraform
9:39gcp windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
9:31gcp linuxTestAccept/bundle/resources/clusters/deploy/local_ssd_count/DATABRICKS_BUNDLE_ENGINE=direct
9:15azure-ucws windowsTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=terraform
9:05gcp linuxTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=direct
9:05azure windowsTestAccept/bundle/integration_whl/interactive_single_user/DATABRICKS_BUNDLE_ENGINE=direct
9:04aws-ucws windowsTestAccept/bundle/resources/clusters/run/spark_python_task/DATABRICKS_BUNDLE_ENGINE=direct
8:49gcp windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=terraform
8:42aws windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=direct
8:39gcp windowsTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
8:37aws windowsTestAccept/bundle/integration_whl/interactive_cluster/DATABRICKS_BUNDLE_ENGINE=terraform
8:28aws-ucws linuxTestAccept/bundle/resources/clusters/lifecycle-started/DATABRICKS_BUNDLE_ENGINE=direct
8:27gcp linuxTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=terraform
8:21gcp windowsTestAccept/bundle/run/app-with-job/DATABRICKS_BUNDLE_ENGINE=direct
8:19azure-ucws windowsTestAccept/bundle/integration_whl/interactive_cluster_dynamic_version/DATABRICKS_BUNDLE_ENGINE=terraform/DATA_SECURITY_MODE=USER_ISOLATION
8:18gcp windowsTestAccept/bundle/integration_whl/base/DATABRICKS_BUNDLE_ENGINE=direct
(347 table rows omitted to keep the report under 60000 bytes)

pietern added a commit that referenced this pull request Jun 17, 2026
Conflicts came from two origin/main changes landing on top of the
annotation-storage overhaul:
- #5611 (launch stage as the single preview source of truth) refactored
the same codegen the branch rewrote. Resolved parser.go to keep the
branch's in-memory annotation.File (SetSelf/SetField, no overrides
file I/O) while adopting #5611's typed clijson.LaunchStage,
ParseLaunchStage validation, and stageErr accumulation; dropped the
now-removed Preview field and previewFromLaunchStage. annotations.go,
descriptor.go, preview.go and extension.go auto-merged into the same
shape.
- #5467 (postgres_roles resource) added entries to the old multi-file
annotations. Reproduced its manual descriptions for the PostgresRole
fields in the new tree-format annotations.yml (the embedded RoleRoleSpec
is flattened inline, so these can't be derived from cli.json); the
RoleAttributes/RoleAuthMethod/etc. openapi docs regenerate in memory.
The deleted annotations_openapi*.yml stay deleted.
Verified: jsonschema.json and jsonschema_for_docs.json regenerate
byte-identical to origin/main, annotations.yml is byte-idempotent, and
go test ./bundle/internal/schema/... ./internal/clijson/... plus the
refschema acceptance test pass.
Co-authored-by: Isaac
pietern added a commit that referenced this pull request Jun 17, 2026
Only NEXT_CHANGELOG.md conflicted (kept the postgres_databases entry alongside
main's #5599 entry). main's #5599 added provided_id_fields/updatable_id_fields
for name-based IDs to schemas/volumes only — postgres resources keep
recreate_on_changes, so no realignment was needed. Generated schema artifacts
(#5611 codegen change) are consistent; regeneration produced no drift.
Co-authored-by: Isaac
Sign up for freeto 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

@janniklasrose@eng-dev-ecosystem-bot@pietern