legion-apollo 0.5.3 → 0.5.4

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: a45052ee6c52f3642d1247538a691ace760e67bb5ec35f59fab03f42f95e8768
4
- data.tar.gz: 7adc4eba3d571ef523c0588be61179e27b519b4f0f5ec620e06b9253004468a5
3
+ metadata.gz: 95c943936a3a2ac751b688b26c676197142ae6c2aa48aa3427a3dc0709cd86bd
4
+ data.tar.gz: d76f10cc2a7a4984f419489a1df52de501de6878f218f7374575e7b8893e0ad6
5
5
  SHA512:
6
- metadata.gz: 37c9de5b076d469c36f43a3cb55e608a053c146e97e9da63b5b4009772943adecff5f56ce6e416d105c52664c2616346a25cf6f2857c42b561ef84b5a95a007c
7
- data.tar.gz: d4e73cf548045b9fce1b6713aaeb0e0abaca29757534feaf484f62300ec2c80eed16a2a514d9388fa80fde9ada1d5321f97dad8904d4fc9864f81c6d0efe2a31
6
+ metadata.gz: 586271450e0c15b6b493f702b23feeec27020ab37a34ed790246e13215f501b771da84c1c49b475da148aa448791f9eb247cf1722c664ba55ba4b3082c454fea
7
+ data.tar.gz: be2de9a03d9292ce01293363285ba83bfa0eeb45de922c36fcad298576d9a5ea0c3c6c24ed519c98c4f9707e1b645516fab0ff7ca1630fa061ee294b94747b15
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.5.4] - 2026-05-07
4
+
5
+ ### Fixed
6
+ - Preserve distinct merged query results when local or global Apollo entries arrive without a `content_hash`.
7
+ - Detect co-located Apollo reader and writer runners by module presence so in-process routing is not skipped.
8
+
3
9
  ## [0.5.3] - 2026-04-27
4
10
 
5
11
  ### Fixed
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Legion
4
4
  module Apollo
5
- VERSION = '0.5.3'
5
+ VERSION = '0.5.4'
6
6
  end
7
7
  end
data/lib/legion/apollo.rb CHANGED
@@ -224,8 +224,7 @@ module Legion
224
224
  def co_located_reader?
225
225
  return false unless data_available?
226
226
 
227
- defined?(Legion::Extensions::Apollo::Runners::Knowledge) &&
228
- Legion::Extensions::Apollo::Runners::Knowledge.respond_to?(:handle_query)
227
+ defined?(Legion::Extensions::Apollo::Runners::Knowledge) ? true : false
229
228
  rescue StandardError => e
230
229
  handle_exception(e, level: :debug, operation: 'apollo.co_located_reader')
231
230
  false
@@ -234,8 +233,7 @@ module Legion
234
233
  def co_located_writer?
235
234
  return false unless data_available?
236
235
 
237
- defined?(Legion::Extensions::Apollo::Runners::Knowledge) &&
238
- Legion::Extensions::Apollo::Runners::Knowledge.respond_to?(:handle_ingest)
236
+ defined?(Legion::Extensions::Apollo::Runners::Knowledge) ? true : false
239
237
  rescue StandardError => e
240
238
  handle_exception(e, level: :debug, operation: 'apollo.co_located_writer')
241
239
  false
@@ -407,7 +405,13 @@ module Legion
407
405
  end
408
406
 
409
407
  def dedup_and_rank(entries, limit:)
410
- sorted = entries
408
+ entries_with_hashes = entries.map do |e|
409
+ next e if e[:content_hash]
410
+
411
+ e.merge(content_hash: Digest::MD5.hexdigest(e[:content].to_s.strip.downcase.gsub(/\s+/, ' ')))
412
+ end
413
+
414
+ sorted = entries_with_hashes
411
415
  .sort_by { |e| -(e[:confidence] || 0) }
412
416
  .uniq { |e| e[:content_hash] }
413
417
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-apollo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity