agentf 0.5.0 → 0.6.0

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.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Agentf
4
- VERSION = "0.5.0"
4
+ VERSION = "0.6.0"
5
5
  end
@@ -293,18 +293,15 @@ module Agentf
293
293
  def persist_feature_intent(task:, workflow_type:, context:)
294
294
  acceptance_criteria = Array(context["acceptance_criteria"])
295
295
  non_goals = Array(context["non_goals"])
296
- tags = [workflow_type, @provider.name.downcase]
297
-
298
296
  @memory.store_feature_intent(
299
297
  title: task,
300
298
  description: "Workflow intent captured by workflow engine",
301
299
  acceptance_criteria: acceptance_criteria,
302
300
  non_goals: non_goals,
303
- tags: tags,
304
301
  agent: @name
305
302
  )
306
303
  rescue Agentf::Memory::RedisMemory::ConfirmationRequired => e
307
- handle_memory_confirmation(e, attempted: { action: "store_feature_intent", title: task, tags: tags })
304
+ handle_memory_confirmation(e, attempted: { action: "store_feature_intent", title: task })
308
305
  rescue StandardError => e
309
306
  log "Intent capture skipped: #{e.message}"
310
307
  end
@@ -314,48 +311,51 @@ module Agentf
314
311
 
315
312
  if result["error"]
316
313
  begin
317
- @memory.store_pitfall(
314
+ @memory.store_episode(
315
+ type: "episode",
318
316
  title: "#{agent_name} execution failure",
319
317
  description: result["error"],
320
318
  context: @workflow_state["task"],
321
- tags: [@workflow_state["workflow_type"], "workflow_error"],
322
319
  agent: agent_name,
320
+ outcome: "negative",
323
321
  code_snippet: ""
324
322
  )
325
323
  rescue Agentf::Memory::RedisMemory::ConfirmationRequired => e
326
- handle_memory_confirmation(e, attempted: { action: "store_pitfall", agent: agent_name, error: result["error"] })
324
+ handle_memory_confirmation(e, attempted: { action: "store_episode", agent: agent_name, error: result["error"], outcome: "negative" })
327
325
  end
328
326
  return
329
327
  end
330
328
 
331
329
  if agent_name == Agentf::AgentRoles::QA_TESTER && result["tdd_phase"] == "red" && result["passed"] == false
332
330
  begin
333
- @memory.store_pitfall(
331
+ @memory.store_episode(
332
+ type: "episode",
334
333
  title: "TDD red phase captured",
335
334
  description: result["failure_signature"] || "Intentional failing test captured",
336
335
  context: @workflow_state["task"],
337
- tags: [@workflow_state["workflow_type"], "tdd_red"],
338
336
  agent: agent_name,
337
+ outcome: "negative",
339
338
  code_snippet: ""
340
339
  )
341
340
  rescue Agentf::Memory::RedisMemory::ConfirmationRequired => e
342
- handle_memory_confirmation(e, attempted: { action: "store_pitfall", agent: agent_name, tdd: true })
341
+ handle_memory_confirmation(e, attempted: { action: "store_episode", agent: agent_name, tdd: true, outcome: "negative" })
343
342
  end
344
343
  return
345
344
  end
346
345
 
347
346
  if agent_name == Agentf::AgentRoles::QA_TESTER && result["tdd_phase"] == "green" && result["passed"] == true
348
347
  begin
349
- @memory.store_success(
348
+ @memory.store_episode(
349
+ type: "episode",
350
350
  title: "TDD green phase passed",
351
351
  description: "Resolved failing test signature: #{result['failure_signature']}",
352
352
  context: @workflow_state["task"],
353
- tags: [@workflow_state["workflow_type"], "tdd_green"],
354
353
  agent: agent_name,
354
+ outcome: "positive",
355
355
  code_snippet: ""
356
356
  )
357
357
  rescue Agentf::Memory::RedisMemory::ConfirmationRequired => e
358
- handle_memory_confirmation(e, attempted: { action: "store_success", agent: agent_name, tdd: true })
358
+ handle_memory_confirmation(e, attempted: { action: "store_episode", agent: agent_name, tdd: true, outcome: "positive" })
359
359
  end
360
360
  return
361
361
  end
@@ -365,7 +365,6 @@ module Agentf
365
365
  title: "#{agent_name} completed workflow step",
366
366
  description: "Agent step completed for #{@workflow_state['workflow_type']} workflow",
367
367
  context: @workflow_state["task"],
368
- tags: [@workflow_state["workflow_type"], "workflow_step"],
369
368
  agent: agent_name,
370
369
  code_snippet: ""
371
370
  )
@@ -469,7 +468,6 @@ module Agentf
469
468
  title: "Architecture review completed",
470
469
  description: "Layer violations: #{Array(result['violations']).length}",
471
470
  context: @workflow_state["task"],
472
- tags: [@workflow_state["workflow_type"], "architecture_review"],
473
471
  agent: @name
474
472
  )
475
473
  rescue Agentf::Memory::RedisMemory::ConfirmationRequired => e
@@ -501,7 +499,6 @@ module Agentf
501
499
  title: "Workflow contract #{evaluation['stage']} #{evaluation['ok'] ? 'passed' : 'violated'}",
502
500
  description: "mode=#{evaluation['mode']} blocked=#{evaluation['blocked']}",
503
501
  context: JSON.generate(evaluation),
504
- tags: ["workflow_contract", evaluation["stage"], evaluation["ok"] ? "pass" : "violation"],
505
502
  agent: @name,
506
503
  metadata: { "workflow_contract_event" => true }
507
504
  )
@@ -519,12 +516,12 @@ module Agentf
519
516
  policy_violations.each do |violation|
520
517
  begin
521
518
  @memory.store_episode(
522
- type: "pitfall",
519
+ type: "episode",
523
520
  title: "Agent policy violation: #{violation['code']}",
524
521
  description: violation["message"],
525
522
  context: @workflow_state["task"],
526
- tags: ["agent_policy", violation["agent"].to_s.downcase],
527
523
  agent: @name,
524
+ outcome: "negative",
528
525
  metadata: { "policy_violation" => true, "severity" => violation["severity"] }
529
526
  )
530
527
  rescue Agentf::Memory::RedisMemory::ConfirmationRequired => e
data/lib/agentf.rb CHANGED
@@ -87,6 +87,7 @@ require_relative "agentf/tools"
87
87
  require_relative "agentf/commands"
88
88
  require_relative "agentf/commands/registry"
89
89
  require_relative "agentf/service/providers"
90
+ require_relative "agentf/embedding_provider"
90
91
  require_relative "agentf/context_builder"
91
92
  require_relative "agentf/evals/scenario"
92
93
  require_relative "agentf/evals/runner"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agentf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neal Deters
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-16 00:00:00.000000000 Z
11
+ date: 2026-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -129,6 +129,7 @@ files:
129
129
  - lib/agentf/commands/security_scanner.rb
130
130
  - lib/agentf/commands/tester.rb
131
131
  - lib/agentf/context_builder.rb
132
+ - lib/agentf/embedding_provider.rb
132
133
  - lib/agentf/evals/report.rb
133
134
  - lib/agentf/evals/runner.rb
134
135
  - lib/agentf/evals/scenario.rb