Commit 0c7cab1

mo khan <mo@mokhan.ca>
2026-09-12 04:27:00
fix: wrap Agent in Session in specs
elelem core moved #commands off Agent onto the new Session; setup blocks now receive a Session in production, so tests should build one.
1 parent 6a66dd9
Changed files (1)
spec
elelem
spec/elelem/skills/setup_spec.rb
@@ -2,7 +2,7 @@
 
 RSpec.describe "elelem-skills setup" do
   let(:fixtures) { File.expand_path("../../fixtures/skills", __dir__) }
-  let(:agent) { Elelem::Agent.new(Elelem::StubProvider.new) }
+  let(:agent) { Elelem::Session.new(Elelem::Agent.new(Elelem::StubProvider.new)) }
 
   around do |example|
     original = Elelem::Skills::Catalog::LOAD_PATHS
@@ -45,7 +45,7 @@ RSpec.describe "elelem-skills setup" do
   describe "/skills command" do
     it "lists the catalog" do
       output = instance_double(Elelem::Output)
-      agent = Elelem::Agent.new(Elelem::StubProvider.new, output: output)
+      agent = Elelem::Session.new(Elelem::Agent.new(Elelem::StubProvider.new, output: output))
       Elelem::Config.default.instance_variable_get(:@registration).setups.fetch("skills").call(agent)
 
       expect(output).to receive(:say).with("- **tdd**: Test-driven development. Use when the user wants tests written first.", as: :markdown)
@@ -55,7 +55,7 @@ RSpec.describe "elelem-skills setup" do
 
     it "shows a single skill's body" do
       output = instance_double(Elelem::Output)
-      agent = Elelem::Agent.new(Elelem::StubProvider.new, output: output)
+      agent = Elelem::Session.new(Elelem::Agent.new(Elelem::StubProvider.new, output: output))
       Elelem::Config.default.instance_variable_get(:@registration).setups.fetch("skills").call(agent)
 
       expect(output).to receive(:say).with("# TDD\n\nRed, green, refactor.")
@@ -76,7 +76,7 @@ RSpec.describe "elelem-skills setup" do
     end
 
     it "still registers the skill tool and /skills command so remote skills can be fetched" do
-      agent = Elelem::Agent.new(Elelem::StubProvider.new)
+      agent = Elelem::Session.new(Elelem::Agent.new(Elelem::StubProvider.new))
       Elelem::Config.default.instance_variable_get(:@registration).setups.fetch("skills").call(agent)
 
       expect(agent.toolbox.tool_for("skill")).not_to be_nil
@@ -92,7 +92,7 @@ RSpec.describe "elelem-skills setup" do
 
         output = instance_double(Elelem::Output)
         allow(output).to receive(:say)
-        agent = Elelem::Agent.new(Elelem::StubProvider.new, output: output)
+        agent = Elelem::Session.new(Elelem::Agent.new(Elelem::StubProvider.new, output: output))
         Elelem::Config.default.instance_variable_get(:@registration).setups.fetch("skills").call(agent)
 
         fetcher = instance_double(Elelem::Skills::Fetcher, fetch: ["wrangler"])