keboola / php-load-type-decider
Single source of truth for Keboola workspace table load-type decisions (COPY/CLONE/VIEW)
Requires
- php: >=8.2
- keboola/common-exceptions: ^1
Requires (Dev)
- keboola/coding-standard: ^16.0
- php-parallel-lint/php-parallel-lint: ^1.3
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11|^12
- squizlabs/php_codesniffer: ^3 || ^4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- dev-claude/no-ticket/bq-iam-policy-write-no-http-retry
- dev-codex/local-provisioning-castor
- dev-codex/refresh-composer-auth-from-gh
- dev-devin/DMD-2300/refresh-alias-views-parent-first
- dev-fabro/run/01M4ZST8K9M0YK9A7C5PGF88JE
- dev-fabro/run/01M51Y965JQYSSVZ6G4067NN7A
- dev-fabro/run/01M51YAHC3Y47ASE807QKF30WC
- dev-fabro/run/01M51ZG1DQDAE60YAZNGAHSGNG
- dev-fabro/run/01M51ZGSP9GAJCJPCK3SEKNJ0D
- dev-fabro/run/01M59Y3JWXCTQ0Y4T8B9GE01C3
- dev-fabro/run/01M5A0DCPEGRS312FDR2GFV4KY
- dev-fabro/run/01M5A0DCPFD3906CH14Z7QDF65
- dev-fabro/run/01M5A0DCPNKHKHB22WXW3RSZ6S
- dev-fabro/run/01M5AB35CZT8DN8TNS685Z668P
- dev-fabro/run/01M5AB4W2GE1R3JEX2WZF7W616
- dev-fabro/run/01M5AB5J6KXSY64FZSVAP1WV0E
- dev-fabro/run/01M5AB8DFAGMRVE6CRFKPQYREB
- dev-fabro/run/01M5AB8FXVCVC9FE3Y7986SHJK
- dev-fabro/run/01M5AB8KETVC32425T6PGA547H
- dev-fabro/run/01M5ABA0QEW9PRYRA44CTKQAE7
- dev-fabro/run/01M5F6MHRF39SKJ5KCBXNXBA1P
- dev-fabro/run/01M5F6P4HD3W90P4KAA8X6PAT5
- dev-fabro/run/01M5F84KXK9FWSDZYXK7H62ZA0
- dev-fabro/run/01M5F85N4RCRPJ7E38DPE5Y5RE
- dev-fabro/run/01M5F871N8NHRE64WMNEA73KH0
- dev-feat/dev-portal-rollout-wave
- dev-fix/bigquery-iam-member-leak
- dev-jirisemmler-dmd-1983-rfc-bigquery-policy-tag-propagation
- dev-jirka/DMD-1980/branch-pull-policy-tags
- dev-jirka/DMD-2129/snowflake-export-timeout-event
- dev-jirka/DMD-2149/verify-warehouse-set-on-activation
- dev-jirka/DMD-2220/policy-tag-revoke-on-drop
- dev-jirka/DMD-2221/policy-tag-taxonomy-model
- dev-jirka/DMD-2222/bq-refresh-policy-tag-observation
- dev-jirka/DMD-2225/block-template-migrations
- dev-jirka/DMD-2225/project-templates-sync
- dev-jirka/DMD-2225/remove-template-feature-endpoints
- dev-jirka/DMD-2227/bq-create-project-cleanup
- dev-jirka/DMD-2252/enforced-taxonomy-copies
- dev-jirka/DMD-2255/bq-policy-tag-test-gaps
- dev-jirka/DMD-2261/policy-tag-enablement-guide
- dev-jirka/DMD-2262/policy-tags-enabled-detail
- dev-jirka/DMD-2278/snowflake-privilege-error-wording
- dev-jirka/DMD-2282/bucket-refresh-alias-quadratic
- dev-jirka/DMD-2290/session-crud-e2e-activated-backend
- dev-jirka/DMD-2290/storage-backend-session-tokens
- dev-jirka/DMD-2290/storage-backend-update-inactive-cert
- dev-jirka/DMD-2291/is-enabled-bigquery
- dev-jirka/DMD-2299/drop-manual-stack-url
- dev-jirka/DMD-2299/policy-tags-suite-local-guide
- dev-jirka/DMD-2302/bq-fresh-sa-key-401
- dev-jirka/DMD-2311/customer-managed-policy-tag-grants
- dev-jirka/DMD-2312/policy-tags-project-feature-gate
- dev-jirka/DMD-2411/snowflake-bucket-exposure-brainstorm
- dev-jirka/DMD-2504/manage-backend-host-update
- dev-jirka/DMD-2505/remove-keboola-managed-grant-mode
- dev-jirka/DMD-2513/enforcement-aware-enablement
- dev-jirka/DMD-2514/bq-policy-tag-access-denied
- dev-jirka/bq-manage-project-options-test
- dev-jirka/deleted-projects-not-overdue
- dev-jirka/dmd-1983-bq-policy-tags
- dev-jirka/dmd-2146-warehouse-bare-name-convention
- dev-jirka/fix-e2e-events-filtering-project-templates
- dev-jirka/generator-stack-url-in-testing-mode
- dev-jirka/manage-part-2-index-only-experiment
- dev-jirka/manage-part-2-setup-cost
- dev-jirka/rfc-declarative-project-templates
- dev-jozefbiros-dmd-2314-sharing-targets-endpoint-scoped-by-the-storage-tokens-share
- dev-jozefbiros-dmd-2315-public-claim-endpoint-get-manageprogrammatic-projectsclaim
- dev-jozefbiros-dmd-2453-admit-payg-registrants-to-bootstrap-and-bearer-sessions
- dev-jozefbiros-ut-5701-storage-openapi-derive-required-from-validation-and-fix
- dev-jozefbiros-ut-5701-storage-openapi-fix-remaining-schemas
- dev-jozefbiros-ut-5712-read-the-stripe-publishable-key-from-the-payg-billing
- dev-martinvasko-ai-4011-connection-pre-register-the-euromedia-mcp-client
- dev-martinvasko-ai-4022-connection-pre-register-the-cursor-mcp-client
- dev-martinvasko-ajda-3460-connection-governed-workspace-flag-draft
- dev-martinvasko-ajda-3525-12-connection-governed-workspace-accept-on-create
- dev-martinvasko/AI-3995/return-to-client-after-approval
- dev-martinvasko/AJDA-3460/governed-workspace-login-type
- dev-mj/DMD-2313/dev-portal-rollout-wave
- dev-ms/DMD-1789/table-delete-ghost-rfc
- dev-ms/DMD-2244/metadata-convertor-delegation
- dev-ms/DMD-2244/table-changes-diff-engine
- dev-ms/DMD-2244/table-changes-endpoint
- dev-ms/DMD-2283/bq-backfill-skip-missing-credentials
- dev-ms/DMD-2283/bq-untyped-null-backfill-command
- dev-ms/DMD-2283/bq-untyped-null-safe-comparison
- dev-ms/DMD-2323/bq-cast-branch-null-safe-comparison
- dev-ms/dmd-2144/merge-conflict-detection
- dev-mystypix-remove-business-workspace
- dev-mystypix/UT-5668/encrypt-hash-fields
- dev-mystypix/UT-5670/configuration-folder
- dev-ondra/AJDA-3069
- dev-renatmagadiev/control-crm-context
- dev-roman/DMD-1675/retention-cron-registration
- dev-roman/DMD-1816/self-heal-orphaned-snowflake-table
- dev-roman/DMD-1944/prune-tombstones-hourly
- dev-roman/DMD-1944/workspace-deletion-tombstone
- dev-roman/DMD-1944/workspace-tombstone-read-guard
- dev-roman/DMD-1954/audit-disabled-workspace-users
- dev-roman/DMD-2008/bq-region-migration-runbook-skill
- dev-roman/DMD-2130/can-reactivate-workspaces
- dev-roman/DMD-2130/grant-can-reactivate-workspaces
- dev-roman/DMD-2130/retention-support-runbook
- dev-roman/DMD-2171/bq-optimized-import-templates
- dev-roman/DMD-2171/enqueue-optimized-import-distribution
- dev-roman/DMD-2206/bq-policy-analyzer-cutoff-log
- dev-roman/DMD-2206/retention-enforce-guards
- dev-roman/DMD-2206/retention-exclusions
- dev-roman/DMD-2206/retention-grouped-notifications
- dev-roman/DMD-2206/retention-reactivation-race
- dev-roman/DMD-2206/retention-review-feedback
- dev-roman/DMD-2206/retention-safety-fixes
- dev-roman/DMD-2206/workspace-delete-at
- dev-roman/DMD-2206/workspace-retention-preview
- dev-roman/DMD-2233/project-membership-role-nullable
- dev-roman/DMD-2266/bq-partition-pruning-import
- dev-roman/DMD-2409/deactivate-under-credentials-lock
- dev-roman/DMD-2410/bigquery-retention-missing-service-account
- dev-roman/bucket-exposure-subscriptions/phase-1-2
- dev-roman/chore/sync-activity-backend-sweep
- dev-romanbracinik/AJDA-3505/bq-query-keep-workspace-keys
- dev-romanbracinik/DMD-1647/deprecate-token-share
- dev-romanbracinik/DMD-1675/sync-activity-hourly-cron
- dev-romanbracinik/DMD-1954/delete-known-in-one-pass
- dev-romanbracinik/DMD-2172/drop-bigquery-optimized-import-flag
- dev-romanbracinik/DMD-2228/remove-kbc-manage-apps-leftovers
- dev-romanbracinik/DMD-2266/partition-aware-import-event
- dev-vb/AJDA-3505/reset_password_tolerate_deleted_keys
- dev-vb/DMD-1801/agent_credential_no_durable_tokens
- dev-vb/DMD-1915/provisioning_constants_to_vault
- dev-vb/DMD-2092/bigquery_rotation_gate_without_sql
- dev-vb/DMD-2108/retention_purge_keeps_unreclaimed_claims
- dev-vb/DMD-2112/rfc_token_creator_chain_revocation
- dev-vb/DMD-2156/log_descendant_token_count
- dev-vb/DMD-2173/reclaim-retry-backoff
- dev-vb/DMD-2216/widen_sharing_voters_project_token
- dev-vb/DMD-2229/alias_auto_sync_lock_before_mutation
- dev-vb/DMD-2230/delete_table_lock_conflict_explicit_retry
- dev-vb/DMD-2234/e2e_ci_reporting
- dev-vb/DMD-2247/agent-project-confirm-name
- dev-vb/DMD-2304/commands_queue_at_most_once
- dev-vb/DMD-2306/root_key_smoke_test_via_iam
- dev-vb/DMD-2308/maintainer_detail_highway_merged
- dev-vb/DMD-2308/maintainer_detail_symfony
- dev-vb/DMD-2308/manage_token_type_constants
- dev-vb/DMD-2308/native_audit_log_dispatcher
- dev-vb/DMD-2308/native_date_formatter
- dev-vb/DMD-2310/read_only_pat_master_refresh
- dev-vb/DMD-2322/ai_review_manifest_diffs
- dev-vb/DMD-2322/ci_pipeline_speedup
- dev-vb/DMD-2322/prepull_base_image
- dev-vb/DMD-2322/tests_integration_shard
- dev-vb/DMD-2322/zstd_image_layers
- dev-vb/DMD-2335/audit_bigquery_keys
- dev-vb/DMD-2335/audit_rotation_armed_state
- dev-vb/DMD-2336/maintainer_list_symfony
- dev-vb/DMD-2342/maintainer_organizations_list_symfony
- dev-vb/DMD-2343/saml_config_list_symfony
- dev-vb/DMD-2346/configuration_folder_backfill_enqueue
- dev-vb/DMD-2346/configuration_folder_column
- dev-vb/DMD-2346/configuration_folder_columns_migration
- dev-vb/DMD-2346/configuration_row_copy_known_columns
- dev-vb/DMD-2347/configuration_folder_read_column
- dev-vb/DMD-2351/maintainer_invitations_symfony
- dev-vb/DMD-2365/maintainer_administrators_list_symfony
- dev-vb/DMD-2382/bigquery_key_rotation_deny_list
- dev-vb/DMD-2383/maintainer_metadata_list_symfony
- dev-vb/DMD-2386/metadata_request_native
- dev-vb/DMD-2387/maintainer_metadata_set_delete_symfony
- dev-vb/DMD-2411/snowflake_bucket_exposure_rfc
- dev-vb/DMD-2454/sweep_drains_unbound_rows
- dev-vb/DMD-2455/reclaim-sweep-lock
- dev-vb/DMD-2457/x402_rfc_price_cache_note
- dev-vb/DMD-2458/x402_shared_purchased_credits_condition
- dev-vb/DMD-2459/x402_config_amount_codec
- dev-vb/DMD-2460/x402_ledger_columns
- dev-vb/DMD-2461/x402_facilitator_client
- dev-vb/DMD-2462/x402_stripe_recorder
- dev-vb/DMD-2464/x402_webhook_skip
- dev-vb/DMD-2466/x402_top_up_endpoint
- dev-vb/DMD-2470/x402_audit_event_email
- dev-vb/DMD-2472/x402_reconciliation
- dev-vb/DMD-2474/x402_provisioning_discovery
- dev-vb/DMD-2475/preregister_chatgpt_oauth_client
- dev-vb/DMD-2488/snowflake_listing_proto_meta
- dev-vb/DMD-2489/snowflake_grant_listing_handlers
- dev-vb/DMD-2490/snowflake_bucket_listing_entity
- dev-vb/DMD-2491/snowflake_exposure_customer_owned_gate
- dev-vb/DMD-2492/snowflake_listing_request_response
- dev-vb/DMD-2493/snowflake_grant_mode_listing_jobs
- dev-vb/DMD-2494/snowflake_exposure_bucket_delete_revoke
- dev-vb/DMD-2495/kbdb_backend_for_exposure_e2e
- dev-vb/DMD-2497/snowflake_exposure_cross_db_alias_guard
- dev-vb/DMD-2507/bq_reconcile_before_mint
- dev-vb/DMD-2517/single_suite_build_image
- dev-vb/DMD-2552/requeue_unknown_queued_command
- dev-vb/chore/babysit_pr_human_threads
- dev-vb/chore/bq_driver_handler_return_types
- dev-vb/chore/bq_link_retry_orphan
- dev-vb/chore/bq_suite_duration
- dev-vb/chore/doctrine_entity_initialized_properties
- dev-vb/chore/e2e_all_fixes_v2
- dev-vb/chore/e2e_common_branch_reuse
- dev-vb/chore/e2e_drop_redundant_shared_bucket_check
- dev-vb/chore/e2e_fixtures_common_sox
- dev-vb/chore/e2e_fixtures_sharing_workspaces
- dev-vb/chore/e2e_manage_cleanup_keeps_live_maintainers
- dev-vb/chore/e2e_native_queue_concurrency
- dev-vb/chore/e2e_per_suite_manage_normal_admin
- dev-vb/chore/e2e_preempt_master_slot_check
- dev-vb/chore/e2e_preempt_superseded_master_pending
- dev-vb/chore/e2e_project_reviewers_keeps_stack_feature
- dev-vb/chore/e2e_queue_master_priority
- dev-vb/chore/e2e_remove_legacy_issues_queue
- dev-vb/chore/e2e_result_comment_failed_suites
- dev-vb/chore/e2e_setup_cost_instrumentation
- dev-vb/chore/e2e_test_helpers
- dev-vb/chore/e2e_triggers_test_scoped_to_own_triggers
- dev-vb/chore/e2e_workspace_trait_leak
- dev-vb/chore/export_where_filter_value_types
- dev-vb/chore/paths_filter_api_mode
- dev-vb/chore/phpstan_e2e_baseline_missing_types
- dev-vb/chore/provisioning_gcp_writer_ctor
- dev-vb/chore/queue_preempt_rerun_test
- dev-vb/chore/reduce_phpstan_e2e_baseline_2
- dev-vb/chore/slack_red_dot_promoter_labels
- dev-vb/ci/gcloud_auth_retry
- dev-vb/feat/file_storage_e2e_suite_in_ci
- dev-vb/feat/file_storage_usage
- dev-vb/fix/bq_drop_skip_linked_output_tables
- dev-vb/no-ticket/chatgpt_plugin_rfc
- dev-vb/phpstan_baseline/nullable_entity_defaults
- dev-vb/phpstan_baseline/package_missing_types
- dev-vb/reduce-phpstan-e2e-baseline
- dev-vb/x402/rfc_x402_payg_topup
- dev-zajca/DMD-1272/reconcile-memory
- dev-zajca/DMD-1272/reconcile-native-descriptions
- dev-zajca/DMD-1272/reconcile-scoped-lock
- dev-zajca/DMD-1851/lock-gc-stale-workers
- dev-zajca/DMD-1851/lock-gc-stuck-jobs
- dev-zajca/DMD-1915/migrations-provisioning-secret-prefix
- dev-zajca/DMD-1964/clone-retention-audit-per-backend
- dev-zajca/DMD-1964/line-buffer-queued-command-output
- dev-zajca/DMD-2017/manage-authorization-snapshot
- dev-zajca/DMD-2026/r1-manage-half
- dev-zajca/DMD-2026/worklist-receiver-types
- dev-zajca/DMD-2027/pilot-slice
- dev-zajca/DMD-2028/buckets-columns-a
- dev-zajca/DMD-2028/buckets-columns-b
- dev-zajca/DMD-2028/buckets-columns-c
- dev-zajca/DMD-2028/buckets-columns-d
- dev-zajca/DMD-2028/buckets-columns-e
- dev-zajca/DMD-2028/worklist-dynamic-dispatch-hardening
- dev-zajca/DMD-2028/worklist-test-only-call-sites
- dev-zajca/DMD-2029/tables-a
- dev-zajca/DMD-2029/tables-b
- dev-zajca/DMD-2029/tables-c
- dev-zajca/DMD-2029/tables-d
- dev-zajca/DMD-2030/components-configurations
- dev-zajca/DMD-2030/components-rows
- dev-zajca/DMD-2031/workspace-lifecycle
- dev-zajca/DMD-2031/workspace-objects-load
- dev-zajca/DMD-2032/p01-b5-storage-slice-files-events-trigge
- dev-zajca/DMD-2033/p01-b6-storage-slice-dev-branches-merge
- dev-zajca/DMD-2034/p01-b7-integration-payasyougo
- dev-zajca/DMD-2034/p01-b7-storage-slice-token-controllers-i
- dev-zajca/DMD-2035/projects-membership
- dev-zajca/DMD-2036/organizations-maintainers-a
- dev-zajca/DMD-2036/organizations-maintainers-b
- dev-zajca/DMD-2037/p01-b10-features
- dev-zajca/DMD-2037/p01-b10-manage-slice-users-currentuser-f
- dev-zajca/DMD-2037/p01-b10-users
- dev-zajca/DMD-2038/p01-b11-manage-slice-filestorage-storage
- dev-zajca/DMD-2038/p01-b11-storagebackend
- dev-zajca/DMD-2039/p01-b12-cross-domain-shared-services
- dev-zajca/DMD-2039/p01-b12b-configuration-services
- dev-zajca/DMD-2039/p01-b12c-shared-legacy-reads
- dev-zajca/DMD-2039/p01-b12d1-job-actor
- dev-zajca/DMD-2039/p01-b12d2-job-principal-entry
- dev-zajca/DMD-2040/p01-b13-src-jobs-shared-services
- dev-zajca/DMD-2040/p01-b13b-table-services
- dev-zajca/DMD-2040/p01-b13c-bucket-branch-services
- dev-zajca/DMD-2040/p01-b13d-workspace-services
- dev-zajca/DMD-2041/b14-endgame-parameter-resolution
- dev-zajca/DMD-2041/b14a-project-controllers
- dev-zajca/DMD-2041/b14b-templates-deleted-projects-gcp
- dev-zajca/DMD-2041/b14c-storage-token-first-controllers
- dev-zajca/DMD-2046/manage-e2e-subset
- dev-zajca/DMD-2047/deviation-row-precondition
- dev-zajca/DMD-2047/self-revoke-deviation
- dev-zajca/DMD-2051/p01-review-followups
- dev-zajca/DMD-2057/p01-d10-storageprincipal-with-a-paired-s
- dev-zajca/DMD-2057/zend-acl-removal
- dev-zajca/DMD-2105/build-an-end-to-end-authorization-poc-fo
- dev-zajca/DMD-2105/php-authz-evaluator
- dev-zajca/DMD-2238/bootstrap-teardown-race
- dev-zajca/DMD-2239/bucket-permissions-facade
- dev-zajca/DMD-2240/capabilities-token-guard
- dev-zajca/DMD-2241/trigger-run-capabilities
- dev-zajca/DMD-2248/refresh-native-column-definitions
- dev-zajca/DMD-2250/swap-non-storage-description-rows
- dev-zajca/DMD-2251/revoke-prior-fixture-tokens
- dev-zajca/DMD-2269/remove-dead-json-body-wrapper
- dev-zajca/DMD-2270/remove-zend-request-object-resolver
- dev-zajca/DMD-2272/entity-storage-capabilities
- dev-zajca/DMD-2272/raw-principal-security-context
- dev-zajca/DMD-2276/where-filter-values-limit
- dev-zajca/DMD-2283/bq-untyped-added-column-incremental-e2e
- dev-zajca/DMD-2287/storage-principal-401
- dev-zajca/DMD-2289/revoke-fixture-tokens
- dev-zajca/DMD-2325/manage-storage-backend-list-returns-500
- dev-zajca/DMD-2326/provisioning-prints-suite-secrets-to-its
- dev-zajca/DMD-2327/type-super-fixture-tokens-still-accumula
- dev-zajca/DMD-2329/local-manage-e2e-environment-gaps
- dev-zajca/DMD-2330/e2e-for-the-contracts-left-without-cover
- dev-zajca/DMD-2331/decision-table-tests-for-pure-decision-l
- dev-zajca/DMD-2332/local-e2e-stalls-finished-storage-jobs-l
- dev-zajca/DMD-2333/leftover-snowflake-object-breaks-tablede
- dev-zajca/DMD-2340/sox-suite-manage-api-fixture-tokens-accu
- dev-zajca/DMD-2341/init-suite-commands-log-suite-secrets-in
- dev-zajca/DMD-2362/saml-config-update-returns-500-instead-o
- dev-zajca/DMD-2363/sox-provisioning-fails-securitycontext-n
- dev-zajca/DMD-2367/remove-the-queue-v1-user-agent-exception
- dev-zajca/DMD-2389/snowflake-parquet-export-timestamp-utc
- dev-zajca/DMD-2390/bq-external-bucket-drop-convergent
- dev-zajca/DMD-2392/p01-e0-actor-attribution-rfc
- dev-zajca/DMD-2393/e1-actor-value-object
- dev-zajca/DMD-2418/deploy-slack-thread
- dev-zajca/DMD-2430/stacks-slack-thread
- dev-zajca/DMD-2434/description-stale-user-row
- dev-zajca/DMD-2435/bq-single-metadata-read
- dev-zajca/DMD-2435/refresh-single-read
- dev-zajca/DMD-2435/targeted-dgom-refresh
- dev-zajca/DMD-2436/revert-9011
- dev-zajca/DMD-2436/table-list-definition
- dev-zajca/DMD-2436/table-list-definition-reland
- dev-zajca/DMD-941/workspace-load-ie-lib
- dev-zajca/INC-03084/tickets-drop-stub-index
- dev-zajca/babysit-pr/review-closure
- dev-zajca/deps/phpstan-2.3
- dev-zajca/deps/update-2026-10
- dev-zajca/dmd-1353/pat-on-password-change
- dev-zajca/dmd-batch-run-manage-commands
- dev-zajca/draft-storage-token-impersonation
- dev-zajca/ducklake-aws-credential-issuer
- dev-zajca/ducklake-create-backend-endpoint
- dev-zajca/ducklake-gcs-credential-issuer
- dev-zajca/fix/definition-update-native-only
- dev-zajca/highway/current-user-maintainer-invitations-read
- dev-zajca/highway/current-user-project-invitations-read
- dev-zajca/highway/current-user-project-join-requests-read
- dev-zajca/highway/dev-branch-read
- dev-zajca/highway/feature-admins-list
- dev-zajca/highway/feature-flag-read
- dev-zajca/highway/file-storage-list
- dev-zajca/highway/manage-mfa-string-code
- dev-zajca/highway/migration-13
- dev-zajca/highway/migration-16
- dev-zajca/highway/organization-invitations-read
- dev-zajca/highway/organization-metadata-list
- dev-zajca/highway/project-invitations-read
- dev-zajca/highway/project-join-requests-read
- dev-zajca/highway/project-metadata-list
- dev-zajca/highway/skill-responses-entities
- dev-zajca/highway/ui-apps-list
- dev-zajca/highway/user-metadata-list
- dev-zajca/oauth-projectless-failfast
- dev-zajca/paratest-retry-fork
- dev-zajca/php-upload-progress-off
- dev-zajca/refactor/me-collections-cursor
- dev-zajca/rfc-pat-fine-grained-permissions
- dev-zajca/tooling/e2e-lock
- dev-zajca/unit-tests/default-no-policy
- dev-zajca/unit-tests/radical-reduction
- dev-chore/bump-league-commonmark
- dev-chore/bump-symfony-http-foundation
- dev-claude/flamboyant-kepler-98cde2
- dev-claude/maintainer-backend-ids-8f1a1c
- dev-claude/maintainer-lock-investigation-1d7829
- dev-claude/saml-mt-migration-qa-docs
- dev-deps/composer-update-2026-06-22
- dev-devin/1776359164-sentry-dsn-connection-shr
- dev-devin/1782887590-remove-delete-rows-by-reference-feature
- dev-devin/1783079704-fix-missing-definition-name
- dev-devin/1783935444-manage-api-docs-managekey-security
- dev-devin/1785918700-token-exchange-endpoint
- dev-devin/1786347275-job-response-status-union
- dev-devin/1786358538-manage-org-update-session-token
- dev-devin/1787566928-workspace-grant-ownership-copy-grants
- dev-devin/payg-replace-card-setup-intent
- dev-devin/remove-stale-apiary-refs
- dev-dmd-1355-saml-assert
- dev-dmd-1355-saml-initiate-cap
- dev-docs-saml-skill-pem-cert
- dev-docs/agent-guidance-analysis
- dev-fix/DMD-2163/row-versions-dedup-not-exists
- dev-fix/DMD-2164/close-all-open-row-version-windows
- dev-fix/UT-5613/trigger-owns-token
- dev-fix/UT-5614/unshare-refusal
- dev-fix/direct-grants-workspace-person-keypair
- dev-fix/manage-api-token-admin-owner
- dev-fix/snowflake-workspace-legacy-deprecation-audit
- dev-jirisemmler-dmd-1259-rfc-bigquery-credentials-direct-grants
- dev-jirisemmler-dmd-1665-featcli-audit-user-sandbox-workspaces-with-snowflake-last
- dev-jirisemmler-dmd-2150-snowflake-backend-session-tokens
- dev-jirisemmler-dmd-2154-snflk-keypair-bootstrap-cert-for-a-backend-we-cannot-connect
- dev-jirisemmler-fix-spc-unlock-ownership-role
- dev-jirka/DMD-1027/bigquery-key-rotation-visible-in-api
- dev-jirka/DMD-1496-external-bucket-descriptions
- dev-jirka/DMD-1722/fix-dyn-warehouse-suffix
- dev-jirka/DMD-1722/manage-e2e-keypair
- dev-jirka/DMD-1722/remove-deprecated-backend-create
- dev-jirka/DMD-1747/e2e-dyn-workspace-env
- dev-jirka/DMD-2068/drop-unreachable-native-only-snapshot-e2e
- dev-jirka/DMD-2102/purge-deleted-project-admin-feature
- dev-jirka/DMD-2161/scrub-odbc-error-message
- dev-jirka/DMD-2223/declarative-feature-rollout
- dev-jirka/audit-sandbox-logins-usage-type
- dev-jirka/ci-always-build-admin-bundle
- dev-jirka/ci-node24-actions-alignment
- dev-jirka/deleted-project-backend-id-link
- dev-jirka/deleted-project-backends-guard
- dev-jirka/deleted-project-detail-session-token
- dev-jirka/deleted-projects-redesign
- dev-jirka/dmd-1512-local-keypair-migrate
- dev-jirka/dmd-1834-block-snowflake-password-workspaces
- dev-jirka/dmd-1893-purged-projects-backend-delete
- dev-jirka/dmd-1896-soft-deleted-maintainer-backend-fk
- dev-jirka/dmd-1901-health-check-spc-backends
- dev-jirka/dmd-1902-health-check-dynamic-warehouse
- dev-jirka/dmd-1968-legacy-workspace-load-telemetry
- dev-jirka/dmd-1972-mr-approvals-unique-constraint
- dev-jirka/dmd-1973-payg-credits-read-endpoint
- dev-jirka/dmd-1983-bq-policy-tags-schema
- dev-jirka/dmd-2147-create-response-sso-configured
- dev-jirka/dmd1259-credentials-direct-grants
- dev-jirka/dmd898-external-bucket-timestamp-logging
- dev-jirka/dmd898-remove-none-external-bypass
- dev-jirka/docs-byodb-keypair-backend
- dev-jirka/docs-frankenphp-local-migration
- dev-jirka/feature-detail-session-token
- dev-jirka/maintainer-session-tokens
- dev-jirka/preview-sapi
- dev-jirka/remove-snowflake-password-connection
- dev-jirka/rfc-declarative-feature-rollout
- dev-jirka/rfc-declarative-feature-rollout-kid
- dev-jirka/stabilize-branch-storage-cleanup
- dev-jk/fix/manage-metadata-items-required
- dev-jozefbiros-ut-4775-payg-manage-api
- dev-jozefbiros-ut-4775-payg-manage-api-2
- dev-jozefbiros-ut-5693-be-snowflake-partner-connect-migrate-checkunlock-to-symfony
- dev-jozefbiros-ut-5694-be-gcp-bigquery-set-up-publish-in-the-manage-api-spec-and
- dev-js/distribute-feature-optional-creator-token
- dev-js/sandbox-login-audit-reports
- dev-martin/DMD-1874/sa-token-read-retry
- dev-martin/ST-4211/drop-corrupt-view-padak-zendesk2960
- dev-martin/worker-stop-sigterm
- dev-martinvasko-oauth-client-approval-role-gate
- dev-martinvasko-pat-ro-stepup-config-events
- dev-martinvasko-psgo-229-fix-mcp-oauth-client-registration-add-validation-endpoint
- dev-martinvasko/AI-2883/loopback-port-normalization
- dev-martinvasko/DMD-2180/mcp-consent-flow-b-loop
- dev-martinvasko/storage-workspace-create-stepup-scope
- dev-miro-AJDA-3052
- dev-miro-AJDA-3052-brief
- dev-ms/DMD-1938/e2e-tag-flaky-tests
- dev-ms/dmd-1533/rebase-endpoint
- dev-ms/dmd-1533/rebase-without-rows
- dev-ms/dmd-1533/rfc-rebase
- dev-ms/dmd-1545/diff-without-rows
- dev-ms/dmd-1694/rebase-delete
- dev-ms/dmd-1712/config-rows-diff
- dev-ms/dmd-1712/config-rows-rfc
- dev-ms/dmd-1712/rebase-config-rows
- dev-ms/dmd-1869/optimize-timeout
- dev-ms/dmd-1985/azure-download-curl-policy
- dev-ms/dmd-1985/azure-download-stream-option
- dev-ms/dmd-1985/throwaway-azure-throttle
- dev-ms/dmd-1986/gcs-stream-download-to-file
- dev-ms/dmd-1986/verify-gcs-streaming
- dev-ms/dmd-2086/merge-requests-zend-to-doctrine
- dev-ms/dmd-2087/mr-list-endpoint-doctrine
- dev-ms/dmd-2096/mr-detail-endpoint-doctrine
- dev-ms/dmd-2144/conflict-detection-fast-forward
- dev-ms/dmd-2176/limits-row-retirement
- dev-ms/dmd-2176/webauthn-row-retirement
- dev-ms/dmd-2176/zend-row-retirement-rfc
- dev-ms/dmd-2176/zend-rows-to-doctrine-entities
- dev-ms/dmd-2244/storage-changes-rfc
- dev-ms/fix-mr-useractions-list-timeout
- dev-ms/fix/session-lifetime-index
- dev-ms/orion-merge-requests
- dev-mystypix-init-loader-dark-scheme
- dev-mystypix-ut-5615-bulk-purge-restore
- dev-mystypix-webauthn-rp-display-name
- dev-mystypix/ut-5618-storage-name-rule
- dev-ondra/AJDA-2814
- dev-ondra/manage-remove-storage-api-token
- dev-ondrejhlavacek-st-4306-saml-config-reads-session-tokens
- dev-ondrejhlavacek/ST-4164/saml-domain-gate
- dev-padak/snowflake-full-load-single-insert-dedup
- dev-pepa/PAT-1847_privilegedToken
- dev-renatmagadiev-AI-3889-org-member-flag
- dev-renatmagadiev/AI-3795/organization-created
- dev-revert-7764-vb/DMD-991/drop_supabase_db_columns
- dev-revert-pr-7766
- dev-roman-hackathon-move-manage-apps
- dev-roman/DMD-1580/purge-endpoint-sha-guard
- dev-roman/DMD-1606-migrate-delete-storage-bucket
- dev-roman/DMD-1616/migrate-table-events
- dev-roman/DMD-1617/migrate-export-async-to-symfony
- dev-roman/DMD-1668/purge-config-drops-workspaces
- dev-roman/DMD-1670/e2e-config-purge-drops-workspace
- dev-roman/DMD-1670/e2e-config-purge-full-lifecycle
- dev-roman/DMD-1671/retention-foundation
- dev-roman/DMD-1671/retention-snowflake-signal
- dev-roman/DMD-1671/workspace-activity-sync
- dev-roman/DMD-1671/workspace-retention-schema
- dev-roman/DMD-1673/retention-bigquery-deactivation
- dev-roman/DMD-1673/retention-deactivation
- dev-roman/DMD-1673/retention-state-machine
- dev-roman/DMD-1675/retention-evaluator
- dev-roman/DMD-1676/retention-warning-emails
- dev-roman/DMD-1713/block-dgom-read-only-role
- dev-roman/DMD-1740/bigquery-storage-branches-project-templates
- dev-roman/DMD-1741/enable-storage-branches-bigquery
- dev-roman/DMD-1811/bq-optimized-incremental-import
- dev-roman/DMD-1926/dgim-linked-buckets
- dev-roman/DMD-1926/direct-grant-input-mapping
- dev-roman/DMD-1952/distribute-feature-backend-filter
- dev-roman/DMD-1985/azure-download-stream-middleware
- dev-roman/DMD-2008/alias-backup-restore-on-unlink
- dev-roman/DMD-2008/backup-bucket-exposure
- dev-roman/DMD-2008/bucket-exposure
- dev-roman/DMD-2008/migration-cmd-robustness
- dev-roman/DMD-2008/restore-exit-code-manual-fixup
- dev-roman/DMD-2008/trigger-backup-restore-on-unlink
- dev-roman/DMD-2014/authorized-view-recreate-test
- dev-roman/DMD-2014/bucket-exposure-alias-linked-tests
- dev-roman/DMD-2014/enable-bucket-exposure-e2e
- dev-roman/DMD-2015/bulk-schedule-pause-restore
- dev-roman/DMD-2226/saml-assertion-issuer
- dev-roman/bq-merge-external-readonly-binding
- dev-roman/bq-workspace-user-branch-read-isolation
- dev-roman/claude-md-minimal-comments
- dev-roman/control/stateful-session-route
- dev-roman/dmd-1557-gs-import-upsert-consistency
- dev-roman/dmd-1600-global-search-regex-mode
- dev-roman/dmd-1699-bq-branch-read-isolation
- dev-roman/dmd-1728-fix-manage-e2e-retention
- dev-roman/dmd-1728-followup-db-cleanup
- dev-roman/dmd-1728-global-search-cleanup
- dev-roman/dmd-1732-searchindex-consistency-idempotent
- dev-roman/dmd-1738-bq-read-isolation-fix
- dev-roman/dmd-1738-negative-control-original-isolation
- dev-roman/dmd-1755-backfill-external-bucket-tags
- dev-roman/dmd-1755-backfill-migration
- dev-roman/dmd-392-branched-storage-bq
- dev-roman/dmd-global-search-abort-project-import
- dev-roman/dmd-global-search-deleted-component-import-fix
- dev-roman/dmd-global-search-import-idempotency-guard
- dev-roman/dmd-global-search-reindex-soft-deleted-projects
- dev-roman/dmd-searchindex-stall-fix
- dev-roman/dmd-searchindex-worker-liveness
- dev-roman/file-storage-delete
- dev-roman/fix-global-search-reindex-null-hydration
- dev-roman/hackathon/delete-manage-apps-zend
- dev-roman/migrate-table-data-preview
- dev-roman/remove-elastic-events-add-alias
- dev-roman/revert-sqs-idle-rebuild-aws
- dev-roman/workspace-retention-names-and-token-fix
- dev-romanbracinik-dmd-1557-project-import-outcome-log
- dev-romanbracinik-dmd-1601-e2e-generators-search-backend-feature
- dev-romanbracinik-dmd-1601-index-column-names
- dev-romanbracinik-dmd-1602-bucketregister-and-bucketrefresh-jobs-are-missing-timeouts
- dev-romanbracinik-dmd-1656-global-search-task-a-migration
- dev-romanbracinik-dmd-1657-global-search-task-b-migration
- dev-romanbracinik-dmd-1658-global-search-rollout-status
- dev-sketch/kbagent-713-bigquery-clustering-patch
- dev-st-4141-fix-saml-metadata-inactive
- dev-tomasfejfar-ai-3573-enable-the-feature-everywhere-on-multitenant-stacks-on-all
- dev-tomaskacur-st-3891-abs-empty-container-cleanup-rfc
- dev-tomaskacur-st-4159-connection-drop-legacy-knobs
- dev-tomaskacur-st-4167-handle-connection-multi-prs-merge-ci
- dev-vaclavnosek/oauth-consent-picker-ids
- dev-vb/DMD-1027/bigquery_key_rotation_feature_doc
- dev-vb/DMD-1103/conflict_in_review_notifications
- dev-vb/DMD-1103/scheduled_merge_notifications
- dev-vb/DMD-1369/rotate_service_bigquery
- dev-vb/DMD-1370/bigquery_key_rotator
- dev-vb/DMD-1371/permission_preflight
- dev-vb/DMD-1372/bigquery_key_smoke_test
- dev-vb/DMD-1385/bound_bigquery_unauthorized_retries
- dev-vb/DMD-1385/e2e_bigquery_rotation
- dev-vb/DMD-1385/e2e_bq_manage_provisioning
- dev-vb/DMD-1504/dedup_pending_bucket_refresh
- dev-vb/DMD-1523/e2e_bigquery_project_rotation
- dev-vb/DMD-1567/overwrite_preserve_no_conflict
- dev-vb/DMD-1567/revert_overwrite_preserve
- dev-vb/DMD-1596/dgom_sqle_om_sync
- dev-vb/DMD-1597/dgom_workspace_support_sandboxes
- dev-vb/DMD-1598/refresh_dgom_metadata
- dev-vb/DMD-1614/migrate_post_primary_key
- dev-vb/DMD-1621/migrate_delete_alias_filter
- dev-vb/DMD-1645/mysql_84_local_dev_ci
- dev-vb/DMD-1685/snowflake_odbc_318
- dev-vb/DMD-1688/fix_snowflake_package_ci_failures
- dev-vb/DMD-1794/e2e_tag_no_big_e2e_fallback
- dev-vb/DMD-1806/agent_project_claim_confirm
- dev-vb/DMD-1806/agent_project_confirm_endpoint
- dev-vb/DMD-1914/analyticshub_service_disabled_retry
- dev-vb/DMD-1914/dynamic_backend_unshare_flag
- dev-vb/DMD-1914/manage_part2_authbridge_outputs
- dev-vb/DMD-1914/part2_org_admin_membership
- dev-vb/DMD-1914/provision_batch_b
- dev-vb/DMD-1914/provision_batch_c
- dev-vb/DMD-1914/provision_bigquery_external_buckets
- dev-vb/DMD-1914/provision_dynamic_backend_snowflake
- dev-vb/DMD-1914/provision_paratest_backend_bigquery
- dev-vb/DMD-1914/provision_sox_snowflake_e2e_tag
- dev-vb/DMD-1914/trim_isci_comment
- dev-vb/DMD-1914/unprovision_snowflake_suites
- dev-vb/DMD-1936/file_storage_assign_user_error
- dev-vb/DMD-1936/storage_backend_access_denied
- dev-vb/DMD-1938/flip_merge_requests_e2e_tag
- dev-vb/DMD-1938/wait_for_branch_deletion
- dev-vb/DMD-2089/bigquery_rotation_rollout_runbook
- dev-vb/DMD-2090/runbook_corrections_from_wave_0
- dev-vb/DMD-2107/bigquery_key_mint_ledger
- dev-vb/DMD-2109/check_bigquery_key_sharing
- dev-vb/DMD-2140/expose_bigquery_service_account_email
- dev-vb/DMD-2155/snapshot_project_metrics_sql
- dev-vb/DMD-2181/stale_bi_locks_row
- dev-vb/DMD-991/delete_supabase_integration
- dev-vb/DMD-991/drop_supabase_db_columns
- dev-vb/RFC/duckdb-phase1-scaffolding
- dev-vb/ai-review/gemini_3_8_flash
- dev-vb/ai-reviewer-app-identity
- dev-vb/bucket-create-split/1-config
- dev-vb/bucket-create-split/2-pdo
- dev-vb/bucket-create-split/3-errors
- dev-vb/bucket-create-split/4-encryption
- dev-vb/bucket-create-split/5-migration
- dev-vb/bucket_create_symfony
- dev-vb/bucket_detail_symfony
- dev-vb/business_highways_analysis
- dev-vb/chore/e2e_maintainers_test_scoped_assertions
- dev-vb/chore/e2e_verify_all_fixes
- dev-vb/chore/request_context_time_delta
- dev-vb/connection-architecture-map
- dev-vb/copilot_code_review_agent_skill
- dev-vb/docs/cloud_queues_nats_comparison
- dev-vb/e2e/bucket_exposure_real_subscriber
- dev-vb/e2e/saml_pem_env_newlines
- dev-vb/fabro/initial-implementation-plan
- dev-vb/fix/year_partition_calendar_bound
- dev-vb/generator_bq_service_account_direct_link
- dev-vb/migrate-highway-skill-scope
- dev-vb/null-role-deny/retire_admin_fallback
- dev-vb/odbc-verify-baseline
- dev-vb/paratest_feature_already_added
- dev-vb/purge-failed-emails-command
- dev-vb/ship-task/orchestrator
- dev-vb/tmp/repro_dmd_1938_branch_collisions
- dev-vb/tmp/verify_e2e_tag_batch_a
- dev-vb/tooling/ecs_columns_zero_pty
- dev-worktree-rfc-datasample-cache
- dev-zajca/DMD-1272/skip-already-propagated-tables
- dev-zajca/DMD-1273/metadata
- dev-zajca/DMD-1350/super-admin-mfa-enforcement
- dev-zajca/DMD-1354/oauth-login-google-microsoft
- dev-zajca/DMD-1358/organization-mfa-enforcement
- dev-zajca/DMD-1360-browser-login-mode
- dev-zajca/DMD-1360-paired-chain-teardown
- dev-zajca/DMD-1446/readonly-pat-tokens
- dev-zajca/DMD-1460/pat-cleanup-revoked-expired
- dev-zajca/DMD-1486/backfill-exclude-projects
- dev-zajca/DMD-1512/package-snowflake-keypair-ci
- dev-zajca/DMD-1570/webauthn-sudo-step-up
- dev-zajca/DMD-1579/auth-security-hardening
- dev-zajca/DMD-1589/w3-writer-flip-tables-workspace
- dev-zajca/DMD-1591/job-params-remaining-executors
- dev-zajca/DMD-1592/job-params-cleanup
- dev-zajca/DMD-1605/migrate-bucket-update
- dev-zajca/DMD-1608/migrate-bucket-events-endpoint
- dev-zajca/DMD-1610/mig-tables
- dev-zajca/DMD-1611/migrate-table-alias-create
- dev-zajca/DMD-1612/migrate-tables-post-stub
- dev-zajca/DMD-1619/migrate-table-update
- dev-zajca/DMD-1622/migrate-alias-columns-auto-sync-enable
- dev-zajca/DMD-1623/migrate-alias-columns-auto-sync-disable
- dev-zajca/DMD-1624/migrate-table-import
- dev-zajca/DMD-1680/snowflake-vector-export-serialization
- dev-zajca/DMD-1680/snowflake-vector-snapshot-roundtrip
- dev-zajca/DMD-1687/programmatic-token-bootstrap
- dev-zajca/DMD-1690/list-token-accessible-projects
- dev-zajca/DMD-1692/forwardto-typesafe-param
- dev-zajca/DMD-1695/derive-source-columns-datatype-metadata
- dev-zajca/DMD-1696/classify-not-null-import-error
- dev-zajca/DMD-1704/provision-claudai-e2e-oauth-token
- dev-zajca/DMD-1705/register-endpoint
- dev-zajca/DMD-1707/programmatic-auth-change-password
- dev-zajca/DMD-1708/mfa-enrollment-endpoints
- dev-zajca/DMD-1710-session-context-entities
- dev-zajca/DMD-1796/fix-file-delete-job-result
- dev-zajca/DMD-1831/manage-token-endpoints
- dev-zajca/DMD-1832/oauth-sessions-in-session-list
- dev-zajca/DMD-1839/kernel-programmatic-auth-gate
- dev-zajca/DMD-1846/me-preview-subresources
- dev-zajca/DMD-1846/user-scoped-access
- dev-zajca/DMD-1851/fix-local-kind-setup
- dev-zajca/DMD-1851/lock-gc-container-restart
- dev-zajca/DMD-1875/revoke-session-idor
- dev-zajca/DMD-1876/cookie-refresh-channel
- dev-zajca/DMD-1877/cookie-mode-login-response
- dev-zajca/DMD-1878/session-cookie-csrf
- dev-zajca/DMD-1879-cors-policy-consolidation
- dev-zajca/DMD-1880/per-origin-credentialed-cors
- dev-zajca/DMD-1881/type-session-inventory
- dev-zajca/DMD-1883/sudo-terminal-state
- dev-zajca/DMD-1884-session-ttl-config
- dev-zajca/DMD-1885/bootstrap-at-only-cookie-refresh
- dev-zajca/DMD-1887-disable-legacy-oauth-grants
- dev-zajca/DMD-1888-interstitial-clickjacking-headers
- dev-zajca/DMD-1897/unshare-bucket-doctrine-entities
- dev-zajca/DMD-1928/bq-external-bucket-access-denied
- dev-zajca/DMD-1991/selfmanaged-source-timestamp
- dev-zajca/DMD-2020/token-usage-worklist
- dev-zajca/DMD-2021/security-context-facade
- dev-zajca/DMD-2022/job-security-context-chokepoint
- dev-zajca/DMD-2023/test-init-trait-architecture
- dev-zajca/DMD-2024/require-manage-access-listener
- dev-zajca/DMD-2025/phpstan-token-ratchet
- dev-zajca/DMD-2026/rector-token-param-rules
- dev-zajca/DMD-2042/session-manage-access
- dev-zajca/DMD-2043/synthetic-manage-token
- dev-zajca/DMD-2044/manage-token-principal-source
- dev-zajca/DMD-2045/session-manage-token-principal-mode
- dev-zajca/DMD-2048/user-backed-principal
- dev-zajca/DMD-2049/request-context-principal-fields
- dev-zajca/DMD-2050/storage-capabilities
- dev-zajca/DMD-2051/route-guard-facade
- dev-zajca/DMD-2052/voters-bigquery
- dev-zajca/DMD-2052/voters-components
- dev-zajca/DMD-2052/voters-files
- dev-zajca/DMD-2052/voters-merge-requests
- dev-zajca/DMD-2052/voters-tokens
- dev-zajca/DMD-2052/voters-workspace
- dev-zajca/DMD-2053/legacy-voters-zend-acl-facade
- dev-zajca/DMD-2054/storage-e2e-group
- dev-zajca/DMD-2055/legacy-storage-token-materializer
- dev-zajca/DMD-2056/phpstan-master-token-materialization
- dev-zajca/DMD-2061-bq-job-wait-deadline
- dev-zajca/DMD-2065/clone-column-descriptions-source-table
- dev-zajca/DMD-2066/bigquery-column-info-description
- dev-zajca/DMD-2068/snapshot-restore-native-description
- dev-zajca/DMD-2069/branch-pull-native-descriptions
- dev-zajca/DMD-2071/refresh-keeps-column-description
- dev-zajca/DMD-2072/table-swap-descriptions
- dev-zajca/DMD-2073/refresh-register-native-description
- dev-zajca/DMD-2075/delete-metadata-recompute-description
- dev-zajca/DMD-2076-control-get-only
- dev-zajca/DMD-2077-session-strict-mode
- dev-zajca/DMD-2078-json-content-type-analysis
- dev-zajca/DMD-2078/payg-billing-csrf
- dev-zajca/DMD-2080/bearer-manage-token-expiry
- dev-zajca/DMD-2081/clamp-access-token-refresh-ceiling
- dev-zajca/DMD-2082/control-mint-origin-gate
- dev-zajca/DMD-2083/paired-session-lifetime
- dev-zajca/DMD-2084/manage-token-isactivated
- dev-zajca/DMD-2095-bq-timestamp-column-missing
- dev-zajca/DMD-2097/w4-writer-flip-remaining
- dev-zajca/DMD-2098/workspace-objects-batch-delete-job-params
- dev-zajca/DMD-2106/read-only-pat-admin-owner
- dev-zajca/DMD-2115/durable-manage-token-revoke
- dev-zajca/DMD-2115/durable-token-revoke
- dev-zajca/DMD-2116/pat-usage-propagation
- dev-zajca/DMD-2117/sudo-sso-gate
- dev-zajca/DMD-2118/workspace-output-mapping-sync-job-params-dto
- dev-zajca/DMD-2119/batch-delete-writer-flip
- dev-zajca/DMD-2128/description-preference-write-path
- dev-zajca/DMD-2133/supplementary-credentials
- dev-zajca/DMD-2141/webauthn-ceremony-type
- dev-zajca/DMD-2158/pin-session-ceiling-test
- dev-zajca/DMD-2160/optional-tristate-reader
- dev-zajca/DMD-2174/writer-flip-optional-dtos
- dev-zajca/DMD-2177/worklist-controller-taint
- dev-zajca/DMD-2184/azure-sso-unverified-email-mapping
- dev-zajca/DMD-2188/coalesce-refresh-jobs
- dev-zajca/DMD-2188/refresh-job-multi-caller-reader
- dev-zajca/DMD-2207/create-user-command
- dev-zajca/DMD-2208/alias-definition-inheritance
- dev-zajca/DMD-2209/consolidate-password-generation
- dev-zajca/DMD-2209/ducklake-password-helper
- dev-zajca/DMD-2232/gdpr-remove-revoke
- dev-zajca/add-clone-retention-audit-command
- dev-zajca/agent-output-pao
- dev-zajca/authbridge-oauth-exchange
- dev-zajca/backfill-native-column-definitions-migration
- dev-zajca/bq-bucket-refresh-batch-metadata
- dev-zajca/bq-optimized-incremental-import
- dev-zajca/bq-rollback-failed-workspace-create
- dev-zajca/claude-tooling-improvements
- dev-zajca/command-run-api
- dev-zajca/console-command-async
- dev-zajca/cpu-quickwins-301-redirects-jit
- dev-zajca/cron-log-chatter
- dev-zajca/deps-update
- dev-zajca/device-approval-confirmation-page
- dev-zajca/dgom-linked-last-import-date
- dev-zajca/dmd-1272-keep-table-descriptions
- dev-zajca/dmd-1355/sso
- dev-zajca/dmd-1586/r3
- dev-zajca/dmd-1662/description-managed-by-flag
- dev-zajca/dmd-1991-column-order-drift
- dev-zajca/dmd-1991-dgom-collateral-timestamp-assert
- dev-zajca/dmd-1991-timestamp-selfmanaged-flip
- dev-zajca/dmd-2100/bucket-listing-create-dto
- dev-zajca/docs-table-detail-response-schema
- dev-zajca/drop-table-async-default
- dev-zajca/ducklake-backend-init
- dev-zajca/ducklake-compute-placement-rfc
- dev-zajca/ducklake-import-export-correctness
- dev-zajca/e2e-chunk-balancing
- dev-zajca/e2e-failure-analysis-webhook
- dev-zajca/e2e-recreate-test-buckets
- dev-zajca/e2e-snowflake-show-tables-staleness
- dev-zajca/experiment-connection-arm64
- dev-zajca/experiment-snowflake-odbc-4
- dev-zajca/fix-bodyless-202-json-content-type
- dev-zajca/fix-bq-convergent-drop-bucket
- dev-zajca/fix-bq-create-from-source-column-table-name-collision
- dev-zajca/fix-bq-refresh-table-without-columns
- dev-zajca/fix-bucket-tables-listing-project-scope
- dev-zajca/fix-e2e-init-empty-bucket-external
- dev-zajca/fix-e2e-pr-numbers-output
- dev-zajca/fix-e2e-queue-dedup-rerun
- dev-zajca/fix-e2e-queue-runner-dispatch
- dev-zajca/fix-job-error-masking-on-rollback-failure
- dev-zajca/fix-json-extractor-scalar-payload
- dev-zajca/fix-mailpit-search-fetch-race
- dev-zajca/fix-merge-request-list-n1-queries
- dev-zajca/fix-numeric-column-name-snowflake-update
- dev-zajca/fix-overlapping-deploy-pr-batch
- dev-zajca/fix-package-bq-concurrency
- dev-zajca/fix-pat-manage-expiration
- dev-zajca/fix-token-cache-invalidate-race
- dev-zajca/fix-topup-k8s-token-auth
- dev-zajca/fix-where-filter-values-undefined-key
- dev-zajca/fix-wt-clean-safety
- dev-zajca/fix/deleted-projects-list-batch-load
- dev-zajca/fix/device-auth-deadlock-contention
- dev-zajca/frankenphp-replace-apache
- dev-zajca/mcp-oauth-exchange-impl
- dev-zajca/openapi-apiary-retirement
- dev-zajca/part01/batch2-a3-c3
- dev-zajca/part01/batch2-base
- dev-zajca/phpstan-2213
- dev-zajca/refactor/cursor-pagination-helpers
- dev-zajca/remove-exasol-wizard
- dev-zajca/rfc-mcp-oauth-exchange
- dev-zajca/snowflake-cleanup-orphaned-qs-users
- dev-zajca/snowflake-information-schema-cuts
- dev-zajca/snowflake-optimized-import
- dev-zajca/stop-trailing-slash-301-redirects
- dev-zajca/swap-driver-metadata-info
- dev-zajca/symfony-lsp-agent-check
- dev-zajca/table-cluster
- dev-zajca/test-audit-skill
- dev-zajca/test-swap-typed-flag
- dev-zajca/test/unit-test-audit
- dev-zajca/type-legacy-user-error
- dev-vb/load-alias-of-alias-view-fix
- dev-chore/bump-guzzlehttp-psr7
- dev-devin/1781555149-feat-resend-project-invitation
- dev-devin/1781598448-fix-auth-form-validation
- dev-devin/1781618414-events-sort-order
- dev-feature/dmd-1532-unify-cli-a-8sv
- dev-jirka/print-all-projects-and-backends
- dev-js/manage-distribute-feature-cli
- dev-jv-PAT-1812-rollout-job-parallelism-enforce
- dev-ms/dmd-1639/column-name-string-cast
- dev-odin/AJDA-2897
- dev-pepa/PAT-1849_topUp
- dev-roman/global-search-exact-id-match
- dev-romanbracinik-dmd-1601-backfill-column-names
- dev-romanbracinik-dmd-1601-global-search-columns-mapping
- dev-romanbracinik-dmd-1601-global-search-indexovat-nazvy-stlpcov-tabuliek-pre
- dev-romanbracinik-dmd-1601-index-and-backfill-column-names
- dev-vb/DMD-1103/mr_event_notifications
- dev-vb/DMD-1567/im_load_where_trio_unify
- dev-vb/async_email_phase_7_cleanup
- dev-vb/input-mapping-load-preview
- dev-vb/worktree_setup_envrc_mailpit
- dev-zajca/DMD-1609/migrate-tables-definition
- dev-zajca/DMD-912/force-refresh-bucket
- dev-zajca/job-params-2-6m7
- dev-zajca/mig-top-up
- dev-zajca/para-bq
- dev-zajca/snflk-cli
- dev-roman/DMD-1595/bq-view-dryrun-probe
- dev-roman/global-search-project-rollout
- dev-vb/DMD-1368/bq_root_cert_columns
- dev-vb/DMD-1567/im_load_empty_where_clone_downgrade
- dev-vb/ci/remove_preempt_superseded_master
- dev-vb/fix-preempt-deploy-gate
- dev-zajca/DMD-1280/desc-api
- dev-zajca/DMD-1409/audit-events
- dev-zajca/DMD-1409/reuse-login-event-constants
- dev-zajca/dmd-1584/r1-table-job-params
- dev-zajca/e2e-cache-miss-ghcr-fallback
- dev-zajca/workspace-credentials-stepup-routeguard
- dev-vb/DMD-1567/bq_clone_drop_timestamp_column
- dev-codex/dmd-1274-double-update-codex
- dev-jirka/dmd-873-add-command-to-unlink
- dev-md/dmd-1202/new-config-in-default-fix
- dev-ms/dmd-1545/diff-endpoints
- dev-ms/email-queue-aws-azure-fix
- dev-roman/DMD-1555/search-quality-index-mapping
- dev-roman/global-search-reindex-docs
- dev-roman/global-search-search-quality-query
- dev-vb/DMD-1517/bq_taxonomy_analysis
- dev-vb/DMD-1518/bq_key_project_entity
- dev-vb/DMD-1567/add-load-type
- dev-vb/DMD-1567/remove-source-search
- dev-vb/DMD-1567/restore-use-view
- dev-vb/DMD-336/re-enable-network-policy-qs
- dev-vb/async_email_phase_5_subscriber_migration
- dev-vb/async_email_phase_6_share_token
- dev-vb/bi_metadata_table_scope_index
- dev-vb/ci-preempt-superseded-master-pipelines
- dev-vb/e2e-idempotent-bucket-init
- dev-vb/reduce-phpstan-baseline
- dev-vb/review-changes-skill-parity-check
- dev-vb/snowflake-network-policy-owner-role-docs
- dev-zajca/DMD-1394/enable-all
- dev-zajca/DMD-1409/audit-log-refactor
- dev-zajca/add-direnv-support
- dev-zajca/bi-metadata-table-scope-index-plan
- dev-zajca/dmd-1356/cli-auth-e2e-tooling
- dev-zajca/fix-tables-source-metadata-project-scope
- dev-zajca/passkey-registration-1password
This package is auto-updated.
Last update: 2026-10-22 20:19:59 UTC
README
Single source of truth for Keboola's workspace table load-type decision — which mechanism the server uses to load a Storage table into a workspace:
COPY— always available fallback.CLONE— zero-copy, identical row semantics (Snowflake / BigQuery).VIEW— live view over the source table.
The library is intentionally dependency-free of the platform: it never reads
features from a database or talks to any backend. The caller resolves project
features one level up and passes them in as plain booleans via
LoadTypeDeciderFeatures. This keeps the decision logic centralized, pure, and
trivially testable.
Installation
composer require keboola/php-load-type-decider
Usage
use Keboola\LoadTypeDecider\LoadTypeDecider; use Keboola\LoadTypeDecider\LoadTypeDeciderFeatures; $decision = LoadTypeDecider::decide( $tableInfo, // Storage API table detail $workspaceType, // 'snowflake' | 'bigquery' $exportOptions, // options about to be passed to the workspace load new LoadTypeDeciderFeatures( bigqueryDefaultImView: false, snowflakeReadOnlyStorage: true, ), ); $decision->preferred; // LoadType the server picks when none is pinned $decision->possible; // full set the caller may choose from (always contains COPY)
Call LoadTypeDecider::checkViableLoadMethod() before deciding to reject loads
that no method can satisfy (throws Exception\InvalidInputException).
Development
This package is developed inside the keboola/connection monorepo and mirrored read-only to keboola/php-load-type-decider. Open pull requests against the monorepo.
composer install
composer ci # lint + phpcs + phpstan + tests
License
MIT — see LICENSE.