Fix ARIEL enhancement pipeline & semantic search (#193)#194
Open
Fix ARIEL enhancement pipeline & semantic search (#193)#194
Conversation
The enhancement factory relied on registry.list_ariel_enhancement_modules(), which requires registry.initialize() — but CLI commands like `osprey ariel enhance` and `osprey ariel quickstart` never call initialize(). This caused create_enhancers_from_config() to return [], silently skipping all enhancement work including text embedding generation. Fix: read module registrations directly from registry.config (populated at construction) and import classes inline via importlib, bypassing the need for full registry initialization. Also: improve "no modules enabled" error message with actionable guidance, harden ARIEL E2E tests against transient API rate limits, and add regression tests using a real (non-mock) registry.
Collaborator
|
I confirm that this fixes the problem, thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #193 —
osprey ariel enhance --module text_embeddingreturns "No enhancement modules enabled or selected" and semantic search returns no results.Root cause: The enhancement factory called
registry.list_ariel_enhancement_modules(), which requiresregistry.initialize()to populate the internal_registriesdict. But CLI commands (enhance,quickstart) never callinitialize(), so the factory always returned an empty list — no embeddings were ever generated.Fix: The factory now reads module registrations directly from
registry.config.ariel_enhancement_modules(populated at construction time, noinitialize()needed) and imports classes inline viaimportlib. This affects all three CLI code paths:enhance,quickstart, andstatus.Changes
factory.py— Useregistry.configregistrations + inline imports instead of_registriesdictariel.py— Improved error message with actionable config.yml guidancetest_enhancement_factory_real_registry.py— New regression tests using a real (non-mock) registry to prevent this class of bugpytest.skip)Test plan