fix(llm, bootloader, embeddings): declare wippy/security and surface embedding errors - #116
Open
wolfy-j wants to merge 2 commits into
Open
fix(llm, bootloader, embeddings): declare wippy/security and surface embedding errors#116wolfy-j wants to merge 2 commits into
wolfy-j wants to merge 2 commits into
Conversation
…embedding errors wippy.llm's bedrock credential refresher and google oauth2 token refresher, and wippy.bootloader's service, run under the wippy.security:process policy group but neither module depended on wippy/security, so any application that did not add it itself failed at boot with "resolve security policy group wippy.security:process: policy group not found". Both modules now declare the dependency. embeddings.generate_embedding and generate_batch_embeddings ignored the error value llm.embed returns and reported every failure as "Unknown error". They now pass the provider error through; a test covers the failure path. Claude-Session: https://claude.ai/code/session_015FzmGSofbqiLD5HA6yZWDY
0.3.8 already provides the wippy.security:process group; the tighter bound would break applications that pin security below 0.4. Claude-Session: https://claude.ai/code/session_015FzmGSofbqiLD5HA6yZWDY
This was referenced Sep 5, 2026
skhaz
approved these changes
Sep 11, 2026
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.
Found while running the docs tutorials against a runtime v0.3.40a build (strict security on by default).
wippy/llm and wippy/bootloader reference a policy group they never depend on.
wippy.llm.bedrock:credential_refresher.service,wippy.llm.google.oauth2:token_refresher.serviceandwippy.bootloader:bootloader.servicedeclarelifecycle.security.groups: [wippy.security:process], but neither module declared anns.dependencyonwippy/security. Any application that does not addwippy/securityitself fails at boot withresolve security policy group wippy.security:process: policy group not foundfollowed byfailed to execute commit protocol. Both modules now declaredep.wippy.security(>=v0.3.0; 0.3.8 already provides the group, verified by booting a service under it).wippy/embeddings hid the real error.
generate_embeddingandgenerate_batch_embeddingsignored the error valuellm.embedreturns and reported every failure asFailed to generate embedding: Unknown error(EmbedResponsehas noerrorfield, so that branch was dead). They now pass the provider message through. Newwippy.embeddings:embeddings_testcovers the failure path: red on the old code (Unknown error), green after.Verification on v0.3.40a (module tests run with
--set security.strict_mode=false, which thewippy.testrunner needs on this runtime to discover entries):wippy/securitythe bootloader failed and migrations never ran) → 12/12 after.wippy/llm:wippy/securityis pulled transitively, both refresher services start. With an explicit root dependency onwippy/securityas well: resolves once, no conflict. Same forwippy/bootloader.wippy lint --level errorclean for llm, bootloader, embeddings;scripts/check_module_manifests.pypasses.Applications whose lock predates this change gain
wippy/securityon the nextwippy run(online) orwippy update.https://claude.ai/code/session_015FzmGSofbqiLD5HA6yZWDY