lex-agentic-inference 0.1.5 → 0.1.6

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: 6f60b099cc68c40ff1b348266a4b7cff3f463c5686cfcc78ef89c56ea6cb0690
4
- data.tar.gz: 86d00a0875769c0d19a107f3d84b1c570fa90ba94392d3800d01f0d340a81ae7
3
+ metadata.gz: 38c9c211a959db08d213260c1fc227c569fff0d29605e75a16df70358e88f804
4
+ data.tar.gz: d534c51b3876207e980897ab036b6a6732adf82f4b6fd2cc71c1b24356083e86
5
5
  SHA512:
6
- metadata.gz: c21bea7329d9e4ebbeaf69a4000a031209ba88228ee1c2e306f6a719ecbe149007cff82317a581cb675b7a789492832986d1491192a6c509369b935fbcd75365
7
- data.tar.gz: 248568052ad69bc39c54c0208d3c7410c5d7bc24ac0b766475696f784282b7c83c40976cfe81bbb8781cc2d00e2e70ff6e27c59533a4e11bb877849dbd3e615f
6
+ metadata.gz: 3d7a4635346ccf5f7d8dbee814514ca1ac6776ece7ee5192b3d8944f61a988f118d3632f64366977fb34ba1712b87d7b9b067f55900acf68fe01de1f5939e2cc
7
+ data.tar.gz: 71b6339e87a599a1956c50a73a8aa7e74a61037d4cb98d8a11c702b7a27392ade2ad6ed5d8217b74169157040220ff57d75c2b743da1d541930dae03fb44a7da
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [Unreleased]
4
+
5
+ ### Fixed
6
+ - add rolling_accuracy, error_rate, and resolved keys to predict return hash
7
+ - wire schema outcome-learning loop by providing resolved predictions array
8
+
3
9
  ## [0.1.5] - 2026-03-30
4
10
 
5
11
  ### Changed
data/Gemfile CHANGED
@@ -3,3 +3,5 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
+
7
+ gem 'rubocop-legion'
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
33
33
  spec.add_dependency 'legion-transport', '>= 1.3.9'
34
34
 
35
35
  spec.add_development_dependency 'rspec', '~> 3.13'
36
- spec.add_development_dependency 'rubocop', '~> 1.60'
37
- spec.add_development_dependency 'rubocop-legion', '~> 0.1'
38
- spec.add_development_dependency 'rubocop-rspec', '~> 2.26'
36
+ spec.add_development_dependency 'rubocop'
37
+ spec.add_development_dependency 'rubocop-legion'
38
+ spec.add_development_dependency 'rubocop-rspec'
39
39
  end
@@ -57,6 +57,27 @@ module Legion
57
57
  def count
58
58
  @predictions.size
59
59
  end
60
+
61
+ def resolved_count
62
+ @predictions.values.count { |p| p[:status] != :pending }
63
+ end
64
+
65
+ def recently_resolved(limit: 20)
66
+ @outcomes.last(limit).filter_map do |entry|
67
+ pred = @predictions[entry[:prediction_id]]
68
+ next unless pred
69
+
70
+ {
71
+ prediction_id: entry[:prediction_id],
72
+ domain: pred[:mode],
73
+ outcome_domain: pred.dig(:context, :outcome_domain) || pred[:mode],
74
+ outcome: entry[:outcome],
75
+ accurate: entry[:outcome] == :correct,
76
+ confidence: pred[:confidence],
77
+ resolved_at: entry[:at]
78
+ }
79
+ end
80
+ end
60
81
  end
61
82
  end
62
83
  end
@@ -29,14 +29,18 @@ module Legion
29
29
  prediction_store.store(prediction)
30
30
 
31
31
  actionable = prediction[:confidence] >= Helpers::Modes::PREDICTION_CONFIDENCE_MIN
32
+ rolling_accuracy = prediction_store.accuracy
32
33
  log.debug "[prediction] new: mode=#{mode} confidence=#{prediction[:confidence].round(2)} " \
33
- "actionable=#{actionable} id=#{prediction[:prediction_id][0..7]}"
34
+ "actionable=#{actionable} accuracy=#{rolling_accuracy.round(2)} id=#{prediction[:prediction_id][0..7]}"
34
35
 
35
36
  {
36
- prediction_id: prediction[:prediction_id],
37
- mode: mode,
38
- confidence: prediction[:confidence],
39
- actionable: actionable
37
+ prediction_id: prediction[:prediction_id],
38
+ mode: mode,
39
+ confidence: prediction[:confidence],
40
+ actionable: actionable,
41
+ rolling_accuracy: rolling_accuracy,
42
+ error_rate: (1.0 - rolling_accuracy).round(4),
43
+ resolved: prediction_store.recently_resolved
40
44
  }
41
45
  end
42
46
 
@@ -4,7 +4,7 @@ module Legion
4
4
  module Extensions
5
5
  module Agentic
6
6
  module Inference
7
- VERSION = '0.1.5'
7
+ VERSION = '0.1.6'
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-agentic-inference
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -125,44 +125,44 @@ dependencies:
125
125
  name: rubocop
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - "~>"
128
+ - - ">="
129
129
  - !ruby/object:Gem::Version
130
- version: '1.60'
130
+ version: '0'
131
131
  type: :development
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
135
+ - - ">="
136
136
  - !ruby/object:Gem::Version
137
- version: '1.60'
137
+ version: '0'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: rubocop-legion
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - "~>"
142
+ - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: '0.1'
144
+ version: '0'
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
- - - "~>"
149
+ - - ">="
150
150
  - !ruby/object:Gem::Version
151
- version: '0.1'
151
+ version: '0'
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: rubocop-rspec
154
154
  requirement: !ruby/object:Gem::Requirement
155
155
  requirements:
156
- - - "~>"
156
+ - - ">="
157
157
  - !ruby/object:Gem::Version
158
- version: '2.26'
158
+ version: '0'
159
159
  type: :development
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - "~>"
163
+ - - ">="
164
164
  - !ruby/object:Gem::Version
165
- version: '2.26'
165
+ version: '0'
166
166
  description: 'LEX agentic inference domain: causal reasoning, prediction, belief updating'
167
167
  email:
168
168
  - matthewdiverson@gmail.com