Commit 1049922

mo khan <mo@mokhan.ca>
2025-12-01 23:42:30
chore: release v0.4.2 tag: v0.4.2
1 parent 6e32ec8
lib/elelem/version.rb
@@ -1,5 +1,5 @@
 # frozen_string_literal: true
 
 module Elelem
-  VERSION = "0.4.1"
+  VERSION = "0.4.2"
 end
spec/elelem/agent_spec.rb
@@ -28,8 +28,8 @@ RSpec.describe Elelem::Agent do
       read_history = conversation.history_for([:read])
       write_history = conversation.history_for([:write])
 
-      expect(read_history[0][:content]).to include("Focus on EXPLORE and UNDERSTAND")
-      expect(write_history[0][:content]).to include("Write clean code")
+      expect(read_history[0][:content]).to include("You may read files on the system")
+      expect(write_history[0][:content]).to include("You may write files on the system")
       expect(read_history[0][:content]).not_to eq(write_history[0][:content])
     end
   end
spec/elelem/conversation_spec.rb
@@ -10,43 +10,43 @@ RSpec.describe Elelem::Conversation do
 
         expect(history.length).to eq(1)
         expect(history[0][:role]).to eq("system")
-        expect(history[0][:content]).to include("Focus on EXPLORE and UNDERSTAND")
+        expect(history[0][:content]).to include("You may read files on the system")
       end
 
       it "returns history with mode-specific system prompt for write mode" do
         history = conversation.history_for([:write])
 
-        expect(history[0][:content]).to include("Write clean code")
+        expect(history[0][:content]).to include("You may write files on the system")
       end
 
       it "returns history with mode-specific system prompt for execute mode" do
         history = conversation.history_for([:execute])
 
-        expect(history[0][:content]).to include("Use shell commands creatively")
+        expect(history[0][:content]).to include("You may execute shell commands on the system")
       end
 
       it "returns history with mode-specific system prompt for read+write mode" do
         history = conversation.history_for([:read, :write])
 
-        expect(history[0][:content]).to include("Follow full workflow: EXPLORE → PLAN → EXECUTE")
+        expect(history[0][:content]).to include("You may read and write files on the system")
       end
 
       it "returns history with mode-specific system prompt for read+execute mode" do
         history = conversation.history_for([:read, :execute])
 
-        expect(history[0][:content]).to include("Use commands to deeply understand")
+        expect(history[0][:content]).to include("You may execute shell commands and read files on the system")
       end
 
       it "returns history with mode-specific system prompt for write+execute mode" do
         history = conversation.history_for([:write, :execute])
 
-        expect(history[0][:content]).to include("Create and execute freely")
+        expect(history[0][:content]).to include("You may execute shell commands and write files on the system")
       end
 
       it "returns history with mode-specific system prompt for all tools mode" do
         history = conversation.history_for([:read, :write, :execute])
 
-        expect(history[0][:content]).to include("You have all tools")
+        expect(history[0][:content]).to include("You may read files, write files and execute shell commands on the system")
       end
 
       it "returns base system prompt for unknown mode" do
@@ -182,7 +182,7 @@ RSpec.describe Elelem::Conversation do
       parsed = JSON.parse(json)
       expect(parsed).to be_an(Array)
       expect(parsed.length).to eq(2)
-      expect(parsed[0]["content"]).to include("Focus on EXPLORE and UNDERSTAND")
+      expect(parsed[0]["content"]).to include("You may read files on the system")
     end
   end
 end
CHANGELOG.md
@@ -1,9 +1,25 @@
 ## [Unreleased]
 
+## [0.4.2] - 2025-12-01
+
+### Changed
+- Renamed `exec` tool to `bash` for clarity
+- Improved system prompt with iterative refinements
+- Added environment context variables to system prompt
+
 ## [0.4.1] - 2025-11-26
 
 ### Added
-- Updated version to 0.4.1
+- `elelem files` subcommand: generates Claude‑compatible XML file listings.
+- Rake task `files:prompt` to output a ready‑to‑copy list of files for prompts.
+
+### Changed
+- Refactor tool‑call formatting to a more compact JSON payload for better LLM parsing.
+- Updated CI and documentation to use GitHub instead of previous hosting.
+- Runtime validation of command‑line parameters against a JSON schema.
+
+### Fixed
+- Minor documentation and CI workflow adjustments.
 
 ## [0.4.0] - 2025-11-10
 
@@ -122,16 +138,3 @@
 
 - Initial release
 
-## [0.4.2] - 2025-11-27
-
-### Added
-- `elelem files` subcommand: generates Claude‑compatible XML file listings.
-- Rake task `files:prompt` to output a ready‑to‑copy list of files for prompts.
-
-### Changed
-- Refactor tool‑call formatting to a more compact JSON payload for better LLM parsing.
-- Updated CI and documentation to use GitHub instead of previous hosting.
-- Runtime validation of command‑line parameters against a JSON schema.
-
-### Fixed
-- Minor documentation and CI workflow adjustments.
Gemfile.lock
@@ -1,7 +1,7 @@
 PATH
   remote: .
   specs:
-    elelem (0.4.1)
+    elelem (0.4.2)
       erb
       fileutils
       json