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 +4 -4
- data/.ace-defaults/e2e-runner/config.yml +2 -2
- data/CHANGELOG.md +21 -0
- data/lib/ace/test/end_to_end_runner/atoms/skill_prompt_builder.rb +22 -3
- data/lib/ace/test/end_to_end_runner/molecules/pipeline_executor.rb +13 -12
- data/lib/ace/test/end_to_end_runner/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4175ed580aa89e48e44da80f69a528dce356d694ea98a9f7a37f3ca1df6795ab
|
|
4
|
+
data.tar.gz: 1400f526eecf489e0dbbcf018a4ca54cb45266bae8832a358fe24be7774d5fa3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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: "
|
|
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: "
|
|
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
|
-
#
|
|
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
|
-
|
|
40
|
-
@cli_providers.include?(
|
|
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
|
-
|
|
103
|
+
sandbox_dir = env_vars["PROJECT_ROOT_PATH"] || env_vars[:PROJECT_ROOT_PATH]
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
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.
|
|
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-
|
|
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
|