Skill to construct configuration JSON files powering the lemonade router - #105 - #110
Skill to construct configuration JSON files powering the lemonade router - #105#110sdevinenamd wants to merge 16 commits into
Conversation
|
Some comments:
|
|
@ramkrishna2910 Thanks for the feedback! Addressed them in the latest commit |
eddierichter-amd
left a comment
There was a problem hiding this comment.
High @meghsat thanks for putting this together. Just a couple small changes:
-
Unknown keys pass validation. The reference says the server rejects unknown keys at every level, but scripts/validate.py does not reject them at the root, routing, classifier, or nested metadata levels. I reproduced this by adding "typo": true at each level; every policy still returned ready: true. This could allow a policy to pass offline
validation and then fail during /pull. -
Regex validation uses the wrong dialect. Policies use ECMAScript regex, but the validator checks patterns with Python re. For example, (?Pcode) is valid Python regex but invalid ECMAScript, yet the validator returns ready: true.
Non-blocking: the new skill is published in the plugin manifests but is missing from the main README catalog.
Validation performed:
- ./.github/scripts/check.sh passed.
- Python compilation passed.
- All seven example policies passed the bundled validator.
- git diff --check passed.
- Behavioral tests were not run because they require an authenticated Claude CLI.
|
@eddierichter-amd Thanks for the review! Fixed the bugs. |
Thanks for the updates. Root, routing, and classifier typos are now rejected, and the original Python named-group regex case is handled. Two blocking gaps remain:
Non-blocking: the skill is still missing from the main README catalog. ./.github/scripts/check.sh, Python compilation, git diff --check, and all seven example policies passed. |
|
@eddierichter-amd fixed the issues. For the 2nd gap, the only remaining issue is exotic patterns that are valid ES5.1 syntax but where std::regex's specific implementation diverges from Node on edge cases. That's a much smaller and less predictable class than the ES2018 gap we already closed. |
Adds a new skill that converts plain-English routing intent into a valid Lemonade collection.router policy JSON, ready for the user to register via POST /api/v1/pull.
Router reference: https://lemonade-server.ai/docs/dev/router-policy/
What the skill does
Files
Example Prompts: