Conversation
…gurable (#40) Add `max_agent_iterations` and `max_session_seconds` as configurable parameters at both the workflow runtime level and per-agent level, giving users control over tool-use loop limits and wall-clock timeouts for both Claude and Copilot providers. - Add `max_agent_iterations` to RuntimeConfig and AgentDef schemas (range 1–500, default None → provider default: Claude 50, Copilot unlimited) - Update `max_session_seconds` to apply to both providers (was Copilot-only) - Claude provider: raise default from 10 → 50 iterations, add wall-clock session timeout via time.monotonic() - Copilot provider: add tool iteration counting on tool.execution_start events, enforce limit in _wait_with_idle_detection polling loop - Thread both params through factory and registry to both providers - Raise copilot SDK floor pin from >=0.1.0 to >=0.1.28 (on_permission_request) and lock to 0.1.30 - Add CI step to remove bundled copilot binary (prevents auth hang in tests) - Add 10-minute timeout on CI test step - Add 34 new tests covering schema, factory, and both provider behaviors Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
83a57d1 to
9f96cf6
Compare
Performance tests use timing-sensitive assertions (e.g., for-each must complete within 1.5x of static parallel) that fail intermittently on shared CI runners. The test file is already marked with @pytest.mark.performance — just add it to the CI exclusion filter alongside real_api tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #40.
max_agent_iterations(1–500) andmax_session_secondsas configurable parameters at both workflowruntimelevel and per-agent leveltime.monotonic()tool.execution_startevents, enforce limit in_wait_with_idle_detectionmax_session_secondsto apply to both providers (previously Copilot-only)>=0.1.0to>=0.1.28(required foron_permission_request)Example YAML:
Test plan
make lintpassesmake check(lint + typecheck) passesuv run pytest— 1734 passed, 9 skipped🤖 Generated with Claude Code