chorus-llm 0.2.0 → 0.2.1
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 +4 -4
- data/README.md +12 -0
- data/lib/chorus/router.rb +11 -6
- data/lib/chorus/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 330e292060dd4fe53ef0688cb0a3d757176727287f2f72b43a9c3a8e0b9634f6
|
|
4
|
+
data.tar.gz: ffff3fda91880555a6e20a8be66fbf72b5e928cd9caccfb2a098feca78771b27
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0d0fdf51324967fd47b5bc76e9842a2d477fddcef26224c95c43d5be53119b40e738cbbd0c2a40158bf16f224479bf6a60530f3f5621c8e6d4fd19e11e1aee6d
|
|
7
|
+
data.tar.gz: '039574260bd44a49778e11e9a1ea077eaa04b05181c9170414ce98042abea78ff02ffc9e289614aee038ecd3b27ef466a0c623710229a003f70d14df429c3eae'
|
data/README.md
CHANGED
|
@@ -171,3 +171,15 @@ intentionally does not include:
|
|
|
171
171
|
- **LLM-generated summaries** — the other-agents summary in `slice_for` is a
|
|
172
172
|
simple concatenation of truncated subjects, not an API call.
|
|
173
173
|
- **Advanced error handling** (retries, backoff, etc.) on API calls.
|
|
174
|
+
|
|
175
|
+
See [open issues](https://github.com/Amayyas/Chorus/issues) for the full,
|
|
176
|
+
up-to-date backlog — the list above is the original MVP scope, not a
|
|
177
|
+
snapshot of everything planned.
|
|
178
|
+
|
|
179
|
+
## Contributing
|
|
180
|
+
|
|
181
|
+
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for dev
|
|
182
|
+
setup, how to run checks locally, and the commit/PR conventions this project
|
|
183
|
+
follows. Participation is governed by the
|
|
184
|
+
[Code of Conduct](CODE_OF_CONDUCT.md). Found a security issue? See
|
|
185
|
+
[SECURITY.md](SECURITY.md) instead of opening a public issue.
|
data/lib/chorus/router.rb
CHANGED
|
@@ -21,13 +21,18 @@ module Chorus
|
|
|
21
21
|
|
|
22
22
|
private
|
|
23
23
|
|
|
24
|
+
# Whole-word matching, not substring: a naive `include?` check would
|
|
25
|
+
# match "class" inside "classical" or "error" inside "errors", routing
|
|
26
|
+
# unrelated messages to :coder. Splitting into words first avoids that
|
|
27
|
+
# class of false positive.
|
|
28
|
+
#
|
|
29
|
+
# This doesn't make keyword matching perfect — a word like "function" is
|
|
30
|
+
# genuinely ambiguous ("a function" vs. "how it functions") and will
|
|
31
|
+
# still misroute some messages either way. That's an inherent limitation
|
|
32
|
+
# of keyword matching, not a bug; see the LLM-based router follow-up.
|
|
24
33
|
def coding_task?(message)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
# an Array; Array#intersect? would raise a TypeError here. This is a
|
|
28
|
-
# substring check on each keyword, not an array-element intersection.
|
|
29
|
-
CODER_KEYWORDS.any? { |keyword| normalized.include?(keyword) }
|
|
30
|
-
# rubocop:enable Style/ArrayIntersect
|
|
34
|
+
words = message.downcase.scan(/\w+/)
|
|
35
|
+
CODER_KEYWORDS.intersect?(words)
|
|
31
36
|
end
|
|
32
37
|
end
|
|
33
38
|
end
|
data/lib/chorus/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chorus-llm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Amayyas
|
|
@@ -53,7 +53,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '0'
|
|
55
55
|
requirements: []
|
|
56
|
-
rubygems_version: 4.0.
|
|
56
|
+
rubygems_version: 4.0.16
|
|
57
57
|
specification_version: 4
|
|
58
58
|
summary: Ruby framework for multi-agent LLM orchestration with contextual routing.
|
|
59
59
|
test_files: []
|