Skip to content

feat: add target execution limits - #742

Merged
kvlonge merged 2 commits into
mainfrom
feat/chi-310-configurable-execution-limits
Sep 18, 2026
Merged

kvlonge merged 2 commits into
mainfrom
feat/chi-310-configurable-execution-limits

Conversation

@kvlonge

@kvlonge kvlonge commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Why

A broad selector can expand into an unexpectedly large development build, and a long-running local command can continue consuming warehouse compute without a configured stop condition. Projects need target-specific guardrails without changing unrestricted targets.

Changes

  • add optional target execution_limits with max_models, max_duration, and custom remediation
  • merge local target overrides field by field
  • block oversized direct and virtual builds before warehouse mutation, including defer-clone preflight
  • enforce Snowflake deadlines through scheduler checks and per-statement warehouse timeouts
  • document configuration, validation, adapter support, and local overrides
  • add unit and E2E regression coverage

Verification

  • uv run pytest tests/unit/src/sqlbuild/adapters/snowflake/classes/snowflake_connection/test_snowflake_connection.py tests/unit/src/sqlbuild/cli/commands/_helpers/build_planning/test_execution_limits.py tests/unit/src/sqlbuild/compiler/discovery/_helpers/test_yml_project.py tests/unit/src/sqlbuild/spec/contracts/main/test_targets.py tests/unit/src/sqlbuild/executor/pipeline/_helpers/test_connections.py -n auto --dist loadfile
  • uv run pytest tests/integration/src/sqlbuild/executor/build/test_build_execution.py tests/integration/src/sqlbuild/executor/build/concurrent/test_concurrent_build.py -n auto --dist loadfile
  • make check-ci
  • public repository hygiene scan

@kvlonge
kvlonge enabled auto-merge (squash) September 18, 2026 17:28
@kvlonge
kvlonge merged commit 02f0e18 into main Sep 18, 2026
18 checks passed
@kvlonge
kvlonge deleted the feat/chi-310-configurable-execution-limits branch September 18, 2026 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant