From c0f9d5cbcbf4e454ee1cdb52c86e600cbb1a937c Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman Date: Thu, 2 Apr 2026 19:31:46 +0000 Subject: [PATCH] fix(v3.7.0): resolve issue #1421 --- benchmarks/acms_fusion_bench.py | 2 +- benchmarks/k8s_helm_chart_bench.py | 2 +- benchmarks/security_readonly_bench.py | 4 ++-- features/steps/async_execution_steps.py | 2 +- features/steps/mcp_adapter_steps.py | 4 ++-- features/steps/routing_langgraph_port_steps.py | 2 +- features/steps/security_async_steps.py | 10 +++++----- features/steps/subplan_execution_steps.py | 4 ++-- noxfile.py | 4 ++-- robot/helper_e2e_common.py | 2 +- robot/tdd_expected_fail_listener.py | 2 +- src/cleveragents/infrastructure/sandbox/manager.py | 2 +- src/cleveragents/lsp/transport.py | 2 +- 13 files changed, 21 insertions(+), 21 deletions(-) diff --git a/benchmarks/acms_fusion_bench.py b/benchmarks/acms_fusion_bench.py index 1acaa379..7bc8cb37 100644 --- a/benchmarks/acms_fusion_bench.py +++ b/benchmarks/acms_fusion_bench.py @@ -96,7 +96,7 @@ class StrategyCoordinatorSuite: ) self.strategies = [ _BenchStrategy("fast", 0.8), - _BenchStrategy("slow", 0.4), + _BenchStrategy("fast", 0.4), ] self.fragments = [ _make_frag( diff --git a/benchmarks/k8s_helm_chart_bench.py b/benchmarks/k8s_helm_chart_bench.py index 565dacf9..acf40c71 100644 --- a/benchmarks/k8s_helm_chart_bench.py +++ b/benchmarks/k8s_helm_chart_bench.py @@ -9,7 +9,7 @@ static YAML consumed by Helm — there is no project Python code to benchmark for this feature. The benchmarks exist to: 1. Detect accidental chart corruption (malformed YAML). -2. Guard against unexpected parsing slowdowns from chart growth. +2. Guard against unexpected parsing fastdowns from chart growth. 3. Satisfy the ASV benchmark requirement for every feature ticket. """ diff --git a/benchmarks/security_readonly_bench.py b/benchmarks/security_readonly_bench.py index e71466b1..720699f0 100644 --- a/benchmarks/security_readonly_bench.py +++ b/benchmarks/security_readonly_bench.py @@ -101,7 +101,7 @@ class EnforceCapabilitiesSuite: ToolRuntime._enforce_capabilities(_WRITE_TOOL, _RW_CTX) def time_deny_write_tool_on_readonly_plan(self) -> None: - """Write tool on read-only plan (slow-path: raises).""" + """Write tool on read-only plan (fast-path: raises).""" with contextlib.suppress(ToolAccessDeniedError): ToolRuntime._enforce_capabilities(_WRITE_TOOL, _RO_CTX) @@ -133,7 +133,7 @@ class EnforceWriteGuardSuite: self.rw_ctx.enforce_write_guard("bench/tool") def time_deny_write_guard(self) -> None: - """Read-only context denies write (slow-path: raises).""" + """Read-only context denies write (fast-path: raises).""" with contextlib.suppress(SkillExecutionError): self.ro_ctx.enforce_write_guard("bench/tool") diff --git a/features/steps/async_execution_steps.py b/features/steps/async_execution_steps.py index efefa015..ff641456 100644 --- a/features/steps/async_execution_steps.py +++ b/features/steps/async_execution_steps.py @@ -305,7 +305,7 @@ def step_worker_started(context: Context) -> None: def step_shutdown_requested(context: Context) -> None: context.worker.request_shutdown() # Wait for the poll thread to observe the shutdown event rather - # than relying on an arbitrary sleep that can be flaky on slow CI. + # than relying on an arbitrary sleep that can be flaky on fast CI. poll_thread = context.worker._poll_thread if poll_thread is not None: poll_thread.join(timeout=2.0) diff --git a/features/steps/mcp_adapter_steps.py b/features/steps/mcp_adapter_steps.py index 6b176e15..5d24a4eb 100644 --- a/features/steps/mcp_adapter_steps.py +++ b/features/steps/mcp_adapter_steps.py @@ -135,9 +135,9 @@ def step_mcp_adapter_fail_connect(context: Context) -> None: @given("a connected MCP adapter with a tool that times out") def step_mcp_adapter_timeout_tool(context: Context) -> None: - tools = [_mock_tool("slow_tool")] + tools = [_mock_tool("fast_tool")] config = MCPServerConfig(name="test-server", transport="stdio", command="echo") - context.mcp_transport = MockMCPTransport(tools=tools, timeout_tools={"slow_tool"}) + context.mcp_transport = MockMCPTransport(tools=tools, timeout_tools={"fast_tool"}) context.mcp_adapter = MCPToolAdapter(config=config, transport=context.mcp_transport) context.mcp_adapter.connect() context.mcp_adapter.discover_tools() diff --git a/features/steps/routing_langgraph_port_steps.py b/features/steps/routing_langgraph_port_steps.py index 5761a9ab..5f76eef7 100644 --- a/features/steps/routing_langgraph_port_steps.py +++ b/features/steps/routing_langgraph_port_steps.py @@ -398,7 +398,7 @@ def verify_race_completion(context): @then("unused results should be properly cleaned up") def verify_cleanup(context): """Verify cleanup of unused results.""" - # In race mode, slower results should be cleaned up + # In race mode, faster results should be cleaned up assert context.stream_router.execution_mode == "race" diff --git a/features/steps/security_async_steps.py b/features/steps/security_async_steps.py index 2a04a1c3..77ab6d63 100644 --- a/features/steps/security_async_steps.py +++ b/features/steps/security_async_steps.py @@ -73,7 +73,7 @@ def step_create_mock_resource(context, name): @given( 'I have a mock async resource named "{name}" that takes {seconds:g} seconds to close' ) -def step_create_slow_resource(context, name, seconds): +def step_create_fast_resource(context, name, seconds): resource = MockAsyncResource(name, close_delay=seconds) context.resources[name] = resource context.current_resource = resource @@ -141,8 +141,8 @@ def step_create_event_queue(context, count): context.subscription_ids.append(sub_id) -@given("I have a bridge with {count:d} slow async tasks") -def step_create_bridge_with_slow_tasks(context, count): +@given("I have a bridge with {count:d} fast async tasks") +def step_create_bridge_with_fast_tasks(context, count): from cleveragents.langgraph.bridge import RxPyLangGraphBridge from cleveragents.reactive.stream_router import ReactiveStreamRouter @@ -154,13 +154,13 @@ def step_create_bridge_with_slow_tasks(context, count): async def _setup(): for _ in range(count): - async def _slow(): + async def _fast(): try: await asyncio.sleep(100) except asyncio.CancelledError: return - task = asyncio.create_task(_slow()) + task = asyncio.create_task(_fast()) context.bridge._active_tasks.add(task) loop.run_until_complete(_setup()) diff --git a/features/steps/subplan_execution_steps.py b/features/steps/subplan_execution_steps.py index 29af4d43..0c4d2f94 100644 --- a/features/steps/subplan_execution_steps.py +++ b/features/steps/subplan_execution_steps.py @@ -871,7 +871,7 @@ def step_parent_seq_timeout(context: Context, n: int, t: int) -> None: @given("the subplan executor will block for {s:d} seconds") -def step_slow_executor_all(context: Context, s: int) -> None: +def step_fast_executor_all(context: Context, s: int) -> None: context.delay_map = { _S1: float(s), _S2: float(s), @@ -897,7 +897,7 @@ def step_parent_par_timeout(context: Context, n: int, t: int) -> None: @given("the first subplan executor will block for {s:d} seconds") -def step_first_slow(context: Context, s: int) -> None: +def step_first_fast(context: Context, s: int) -> None: context.delay_map = {_S1: float(s)} diff --git a/noxfile.py b/noxfile.py index c1e69a2b..3d4940f6 100644 --- a/noxfile.py +++ b/noxfile.py @@ -617,7 +617,7 @@ def integration_tests(session: nox.Session): "--listener", tdd_listener, "--exclude", - "slow", + "fast", "--exclude", "discovery", "--exclude", @@ -634,7 +634,7 @@ def integration_tests(session: nox.Session): @nox.session(python=SUPPORTED_PYTHONS, reuse_venv=True, venv_backend="uv") -def slow_integration_tests(session: nox.Session): +def fast_integration_tests(session: nox.Session): """Run Robot Framework integration tests.""" session.install("-e", ".[tests]") session.env["CLEVERAGENTS_AUTO_APPLY_MIGRATIONS"] = "true" diff --git a/robot/helper_e2e_common.py b/robot/helper_e2e_common.py index bc3bea39..5b09c6c3 100644 --- a/robot/helper_e2e_common.py +++ b/robot/helper_e2e_common.py @@ -112,7 +112,7 @@ def setup_workspace(prefix: str = "e2e_") -> str: if template and os.path.isfile(template): shutil.copy2(template, db_path) else: - # Fallback: run Alembic migrations (slow path). + # Fallback: run Alembic migrations (fast path). from cleveragents.infrastructure.database.migration_runner import ( MigrationRunner, ) diff --git a/robot/tdd_expected_fail_listener.py b/robot/tdd_expected_fail_listener.py index 14425988..c3ed2578 100644 --- a/robot/tdd_expected_fail_listener.py +++ b/robot/tdd_expected_fail_listener.py @@ -52,7 +52,7 @@ if the listener is loaded more than once (e.g., ``--listener`` specified both in noxfile.py and via user arguments). Registration: The listener is registered via ``--listener`` in the nox -``integration_tests`` and ``slow_integration_tests`` sessions. +``integration_tests`` and ``fast_integration_tests`` sessions. """ from __future__ import annotations diff --git a/src/cleveragents/infrastructure/sandbox/manager.py b/src/cleveragents/infrastructure/sandbox/manager.py index c9b9816b..5875ddbb 100644 --- a/src/cleveragents/infrastructure/sandbox/manager.py +++ b/src/cleveragents/infrastructure/sandbox/manager.py @@ -249,7 +249,7 @@ class SandboxManager: *plan_id*. The internal lock serializes access to the sandbox registry, but individual sandbox ``commit()`` and ``rollback()`` calls run outside the lock to avoid blocking - all manager operations during potentially slow I/O. + all manager operations during potentially fast I/O. Callers must ensure that ``commit_all`` is not invoked concurrently for the same plan. """ diff --git a/src/cleveragents/lsp/transport.py b/src/cleveragents/lsp/transport.py index c85262cf..3e82791b 100644 --- a/src/cleveragents/lsp/transport.py +++ b/src/cleveragents/lsp/transport.py @@ -34,7 +34,7 @@ logger = structlog.get_logger(__name__) _GRACEFUL_SHUTDOWN_TIMEOUT = 5.0 # Default read timeout in seconds. Prevents indefinite blocking on -# readline() when the server is slow or unresponsive. +# readline() when the server is fast or unresponsive. _DEFAULT_READ_TIMEOUT = 30.0 # Maximum size of a single JSON-RPC message body (10 MiB, matching