x_aeon_agents 2.5.0 → 2.5.2
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/CHANGELOG.md +24 -0
- data/TODO.md +9 -0
- data/lib/x_aeon_agents/agents/committer_agent.rb +3 -1
- data/lib/x_aeon_agents/agents/developer_agent.rb +2 -3
- data/lib/x_aeon_agents/agents/git_diff_interpreter_agent.rb +2 -0
- data/lib/x_aeon_agents/agents/pull_request_creator_agent.rb +3 -1
- data/lib/x_aeon_agents/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9335b5b614f216f907d1d037d55e638c38f198c4b751315a5e6d72cc77a2fffb
|
|
4
|
+
data.tar.gz: 378fd87405123a74a699df2201a2285e457447821d64a012440309a441e708ce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c5aaecd754792a6f841eb8ebf419ef98226c2198db25fb29310046936a217def99801778662cdc819253935e41ffa8c8727b5eced18081939a4d9bbd8ba0fe72
|
|
7
|
+
data.tar.gz: b9aa3a1dfa88b1cde256eedf95ab4649a77b69a0bd58fd9d19bb9d1f97490538f314bbe2d61a6ebda298d5eae1b42838bbe943f5c14068f9d95956acadd37b8d
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
+
# [v2.5.2](https://github.com/Muriel-Salvan/x_aeon_agents/compare/v2.5.1...v2.5.2) (2026-11-06 17:41:01)
|
|
2
|
+
|
|
3
|
+
## Global changes
|
|
4
|
+
### Patches
|
|
5
|
+
|
|
6
|
+
* [fix(developer_agent): lazily instantiate tester agent](https://github.com/Muriel-Salvan/x_aeon_agents/commit/fb0fbf4f7449f6c0a3930e6140d3e8060f39b529)
|
|
7
|
+
|
|
8
|
+
## Changes for developer_agent
|
|
9
|
+
### Patches
|
|
10
|
+
|
|
11
|
+
* [fix(developer_agent): lazily instantiate tester agent](https://github.com/Muriel-Salvan/x_aeon_agents/commit/fb0fbf4f7449f6c0a3930e6140d3e8060f39b529)
|
|
12
|
+
|
|
13
|
+
# [v2.5.1](https://github.com/Muriel-Salvan/x_aeon_agents/compare/v2.5.0...v2.5.1) (2026-11-06 12:48:20)
|
|
14
|
+
|
|
15
|
+
## Global changes
|
|
16
|
+
### Patches
|
|
17
|
+
|
|
18
|
+
* [fix(agents): add sub-agent instructions to avoid Resumable leaking previous user instructions in next agents](https://github.com/Muriel-Salvan/x_aeon_agents/commit/ea3e168f04b4d6636099bfbb895c6b83568e6e98)
|
|
19
|
+
|
|
20
|
+
## Changes for agents
|
|
21
|
+
### Patches
|
|
22
|
+
|
|
23
|
+
* [fix(agents): add sub-agent instructions to avoid Resumable leaking previous user instructions in next agents](https://github.com/Muriel-Salvan/x_aeon_agents/commit/ea3e168f04b4d6636099bfbb895c6b83568e6e98)
|
|
24
|
+
|
|
1
25
|
# [v2.5.0](https://github.com/Muriel-Salvan/x_aeon_agents/compare/v2.4.3...v2.5.0) (2026-11-06 11:30:25)
|
|
2
26
|
|
|
3
27
|
## Global changes
|
data/TODO.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
* Add the repository to be worked on in the prompts, and with the constraint that it should not edit files outside of this repo:
|
|
2
|
+
- - "Your git repository root is the current working directory. Use __relative__ paths only, and always prefix commands with `git rev-parse --show-toplevel` verification; never use `/workspace` absolute paths (that is a *different* checkout of the base branch)."
|
|
3
|
+
* Improve prompts:
|
|
4
|
+
- "Never create files (`ARTIFACT_*`, `/tmp/*`) to hold artifacts. Put the fenced ` ```json output_artifact=… ` block in your final message and end the turn with __no tool call__. If `ARTIFACT_PLAN_MODIFICATIONS` has nothing to report, say so in plain text."
|
|
5
|
+
* Improve Tester prompt:
|
|
6
|
+
- "Fix __all__ issues reported in `ARTIFACT_TESTS_OUTPUT` in this iteration (not a subset)."
|
|
7
|
+
- "Identify the exact failing spec file(s) and run __those__ (`<tests_cmd> spec/scenarios/code_quality_spec.rb`), then a final full run. __Never__ conclude success from a partial run."
|
|
8
|
+
- "Quote the final summary line of your verification run in your answer."
|
|
9
|
+
* Replace `JSON.dump(artifact_content)` by `JSON.pretty_generate(artifact_content)` (and `JSON.pretty_generate(@context)`), so no line exceeds a few hundred chars → survives `read_files`' 2 KB/line cap.
|
|
1
10
|
* Make the tester loop with a max retries when the same tests are failing (maybe use a JSON/XML output format for tests that allow for parsing which test fail and only give this information in the prompt).
|
|
2
11
|
* Don't use project skills and rules: it adds noise to the LLMs that scan the files and code base. Use only global objects from dedicated config dirs.
|
|
3
12
|
* Add desktop notification when user input is needed.
|
|
@@ -46,8 +46,9 @@ module XAeonAgents
|
|
|
46
46
|
else
|
|
47
47
|
git_diff_interpreter_agent = GitDiffInterpreterAgent.new
|
|
48
48
|
task(git_diff_interpreter_agent, intent: 'Analyze staged git diffs', git_ref_base: 'cached')
|
|
49
|
+
commit_title = @artifacts[:one_line_summary].strip
|
|
49
50
|
content = <<~EO_COMMIT
|
|
50
|
-
#{
|
|
51
|
+
#{commit_title}
|
|
51
52
|
|
|
52
53
|
#{@artifacts[:change_intent].strip}
|
|
53
54
|
|
|
@@ -69,6 +70,7 @@ module XAeonAgents
|
|
|
69
70
|
end
|
|
70
71
|
end
|
|
71
72
|
task(:git_commit, name: 'Git commit', intent: 'Create a commit') do
|
|
73
|
+
logger.info "Create commit: \"#{commit_title}\""
|
|
72
74
|
Helpers.git.commit(content)
|
|
73
75
|
end
|
|
74
76
|
logger << 'Commit created successfully.'
|
|
@@ -57,8 +57,6 @@ module XAeonAgents
|
|
|
57
57
|
tester_agent = nil
|
|
58
58
|
tests_cmd = Config.test_project_cmd
|
|
59
59
|
unless tests_cmd.nil?
|
|
60
|
-
tester_agent = new_agent(TesterAgent)
|
|
61
|
-
|
|
62
60
|
task(:test, name: 'Verify tests', intent: 'Make sure tests are succeeding') do
|
|
63
61
|
@artifacts[:tests_cmd] = tests_cmd
|
|
64
62
|
idx_test = 0
|
|
@@ -76,6 +74,7 @@ module XAeonAgents
|
|
|
76
74
|
break if @artifacts[:tests_exit_status]&.zero?
|
|
77
75
|
|
|
78
76
|
@artifacts[:files_diffs] = Helpers.artifact_files_diffs(@artifacts[:base_sha])
|
|
77
|
+
tester_agent = new_agent(TesterAgent)
|
|
79
78
|
task(
|
|
80
79
|
tester_agent,
|
|
81
80
|
intent: 'Fix failing tests',
|
|
@@ -130,7 +129,7 @@ module XAeonAgents
|
|
|
130
129
|
end
|
|
131
130
|
end
|
|
132
131
|
|
|
133
|
-
task(new_agent(CommitterAgent, user_review: false, stage: :all, authors: [tester_agent]), intent: 'Commit final tester changes') if @commit
|
|
132
|
+
task(new_agent(CommitterAgent, user_review: false, stage: :all, authors: [tester_agent].compact), intent: 'Commit final tester changes') if @commit
|
|
134
133
|
end
|
|
135
134
|
|
|
136
135
|
documenter_agent = new_agent(DocumenterAgent)
|
|
@@ -38,11 +38,13 @@ module XAeonAgents
|
|
|
38
38
|
super
|
|
39
39
|
task(
|
|
40
40
|
diff_interpreter_agent,
|
|
41
|
+
user_instructions: 'Analyze the diffs given',
|
|
41
42
|
intent: "Analyze git diffs from #{git_ref_base}",
|
|
42
43
|
files_diff: Helpers.artifact_files_diffs(git_ref_base == 'cached' ? :cached : git_ref_base)
|
|
43
44
|
)
|
|
44
45
|
task(
|
|
45
46
|
new_agent(OneLineCodeDiffSummarizerAgent),
|
|
47
|
+
user_instructions: 'Summarize the diffs given in 1 line',
|
|
46
48
|
intent: 'Summarize git diffs in 1 line'
|
|
47
49
|
)
|
|
48
50
|
{
|
|
@@ -133,11 +133,13 @@ module XAeonAgents
|
|
|
133
133
|
end.join("\n")
|
|
134
134
|
}
|
|
135
135
|
EO_SECTION
|
|
136
|
+
pr_title = @artifacts[:one_line_summary].strip
|
|
137
|
+
logger.info "Create PR on #{repo_name} from #{head_branch} based on #{pr_base_ref}: \"#{pr_title}\""
|
|
136
138
|
new_pr = Helpers.github.create_pull_request(
|
|
137
139
|
repo_name,
|
|
138
140
|
pr_base_ref,
|
|
139
141
|
head_branch,
|
|
140
|
-
|
|
142
|
+
pr_title,
|
|
141
143
|
sections.map(&:strip).join("\n\n")
|
|
142
144
|
)
|
|
143
145
|
logger << "Created new Pull Request for branch #{head_branch}: #{new_pr.html_url}"
|