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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 142e9877ad9353b7f754b7817e1e85ea95eae1a5a63d41a284117f930df060d8
4
- data.tar.gz: c32ea71608b30f52ca9ae51804a0e95fe997cf7b007517049c3275a64a802e6c
3
+ metadata.gz: 9335b5b614f216f907d1d037d55e638c38f198c4b751315a5e6d72cc77a2fffb
4
+ data.tar.gz: 378fd87405123a74a699df2201a2285e457447821d64a012440309a441e708ce
5
5
  SHA512:
6
- metadata.gz: ad149c104aa6ef903841e2cd785e8f1b285a1b59ddc467ed22025e131465292d5087850dea96f81b80512c001aa7ad8d7e234e3c35201e7cbcda31e4ae868b3c
7
- data.tar.gz: 55237d5775d01887db70e4b1e403279c17edf47977ee07482a4c7aa6e69f76a9b3fec155595fc553772a9680cc0c7806790ad6709b173ecbba4e72ed632d9254
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
- #{@artifacts[:one_line_summary].strip}
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
- @artifacts[:one_line_summary].strip,
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}"
@@ -2,5 +2,5 @@ module XAeonAgents
2
2
  # @!group Global API
3
3
 
4
4
  # Gem version
5
- VERSION = '2.5.0'
5
+ VERSION = '2.5.2'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: x_aeon_agents
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Muriel Salvan