ace-test-runner-e2e 0.29.2 → 0.29.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dde42f8b80c7e0a73e15b49c75c855de309a131e85e563e11229649b58ecbe80
4
- data.tar.gz: 705e034b6dff3495dc2c442ddc85ebc186165d9c09160e78e2dc324c42afe526
3
+ metadata.gz: 4175ed580aa89e48e44da80f69a528dce356d694ea98a9f7a37f3ca1df6795ab
4
+ data.tar.gz: 1400f526eecf489e0dbbcf018a4ca54cb45266bae8832a358fe24be7774d5fa3
5
5
  SHA512:
6
- metadata.gz: b935805e2fc496cf7b79526d29995ada1cf06cb03f9dbbda409a5f35b2f58492419a8f4b70b50b4224a09dec7452b5bb71cc8406b55c8c49f5566a60659506db
7
- data.tar.gz: 89abb75c2dabb819e7068e0654bb5da1dc2a2319bbca78d0b8e1114ccb6776c3f3f79748596479da188820ddc60bb9481611fca64575d1f1638fd949a678e6e8
6
+ metadata.gz: ec6ae0219f17b02f9a8613e063a4214b1b71f8668845a90a34f57662e0a580cdd0bd1264b6f86a12fba4dced58b6e56e1ceb3e0a77beef895a23369f5c1c0a93
7
+ data.tar.gz: 7031095393272358f64d89460af7c93b8585012227bbaba0ca1c512c07a9f40da7d2f9ef1fba491ab63626e07ebf38b6eb40a9304e47cdb4b6b9f1a42c8ec14f
@@ -32,14 +32,14 @@ cleanup:
32
32
  # Reporting defaults (suite final report LLM synthesis)
33
33
  reporting:
34
34
  # LLM model alias for suite report generation
35
- model: "glite"
35
+ model: "role:e2e-reporter"
36
36
  # Timeout in seconds for report generation
37
37
  timeout: 60
38
38
 
39
39
  # Execution defaults
40
40
  execution:
41
41
  # Default LLM provider:model for test execution
42
- provider: "claude:sonnet@yolo"
42
+ provider: "role:e2e-executor"
43
43
  # Timeout per test in seconds
44
44
  timeout: 600
45
45
  # Number of tests to run in parallel (1 = sequential)
data/CHANGELOG.md CHANGED
@@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.29.6] - 2026-04-01
11
+
12
+ ### Fixed
13
+ - Resolved `role:` provider references in CLI provider detection so sandbox isolation and pipeline execution apply when using role-based model selectors like `role:e2e-executor`.
14
+
15
+ ## [0.29.5] - 2026-04-01
16
+
17
+ ### Fixed
18
+ - Changed pipeline executor to `Dir.chdir` into sandbox before launching the LLM agent, preventing artifact leaks to the repo root.
19
+
20
+ ## [0.29.4] - 2026-03-31
21
+
22
+ ### Changed
23
+ - Role-based E2E runner model defaults.
24
+
25
+ ## [0.29.3] - 2026-03-29
26
+
27
+ ### Changed
28
+ - Role-based e2e execution and reporting defaults.
29
+
30
+
10
31
  ## [0.29.2] - 2026-03-29
11
32
 
12
33
  ### Technical
@@ -33,11 +33,13 @@ module Ace
33
33
 
34
34
  # Instance method: check if a provider string refers to a CLI provider
35
35
  #
36
- # @param provider_string [String] Provider:model string
36
+ # Resolves role: references to their concrete provider before checking.
37
+ #
38
+ # @param provider_string [String] Provider:model string (e.g., "claude:sonnet", "role:e2e-executor")
37
39
  # @return [Boolean]
38
40
  def cli_provider?(provider_string)
39
- name = self.class.provider_name(provider_string)
40
- @cli_providers.include?(name)
41
+ resolved = resolve_provider_name(provider_string)
42
+ @cli_providers.include?(resolved)
41
43
  end
42
44
 
43
45
  def build_execution_prompt(command:, tc_mode:)
@@ -139,6 +141,23 @@ module Ace
139
141
  PROMPT
140
142
  end
141
143
 
144
+ private
145
+
146
+ # Resolve the bare provider name from a provider string.
147
+ # For role: references, resolves via ProviderModelParser to find the
148
+ # concrete provider (e.g. "role:e2e-executor" → "claude").
149
+ def resolve_provider_name(provider_string)
150
+ name = self.class.provider_name(provider_string)
151
+ return name unless name == "role"
152
+
153
+ parse_result = Ace::LLM::Molecules::ProviderModelParser.new.parse(provider_string)
154
+ parse_result.valid? ? parse_result.provider : name
155
+ rescue
156
+ name
157
+ end
158
+
159
+ public
160
+
142
161
  # Lazily-loaded default instance backed by ConfigLoader
143
162
  # @return [CliProviderAdapter]
144
163
  def self.default_instance
@@ -100,19 +100,20 @@ module Ace
100
100
  def run_llm(prompt_path:, system_path:, output_path:, cli_args:, env_vars:)
101
101
  prompt = File.read(prompt_path)
102
102
  system = File.read(system_path)
103
- working_dir = env_vars["PROJECT_ROOT_PATH"] || env_vars[:PROJECT_ROOT_PATH]
103
+ sandbox_dir = env_vars["PROJECT_ROOT_PATH"] || env_vars[:PROJECT_ROOT_PATH]
104
104
 
105
- Ace::LLM::QueryInterface.query(
106
- @provider,
107
- prompt,
108
- system: system,
109
- cli_args: cli_args,
110
- timeout: @timeout,
111
- fallback: false,
112
- output: output_path,
113
- working_dir: working_dir,
114
- subprocess_env: env_vars
115
- )
105
+ Dir.chdir(sandbox_dir) do
106
+ Ace::LLM::QueryInterface.query(
107
+ @provider,
108
+ prompt,
109
+ system: system,
110
+ cli_args: cli_args,
111
+ timeout: @timeout,
112
+ fallback: false,
113
+ output: output_path,
114
+ subprocess_env: env_vars
115
+ )
116
+ end
116
117
  end
117
118
  end
118
119
  end
@@ -3,7 +3,7 @@
3
3
  module Ace
4
4
  module Test
5
5
  module EndToEndRunner
6
- VERSION = '0.29.2'
6
+ VERSION = '0.29.6'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-test-runner-e2e
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.2
4
+ version: 0.29.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-03-29 00:00:00.000000000 Z
10
+ date: 2026-04-01 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-cli