Probe upstream releases in CI and guard the domain import boundary - #98
Merged
Conversation
We depend on toolregistry, toolregistry-server, mcp, and uxarray, all of which release independently, but CI only ever exercised one pinned resolution of those ranges. Add a weekly upstream-compat workflow that upgrades each package on its own so a break names the culprit, plus a lowest-direct job covering the floor of every declared range. Add an AST guard asserting domain/ imports no server or protocol package, since that would otherwise surface as a worker-side ModuleNotFoundError at job runtime.
The eight files under docs/issues-from-escience-study/ were never referenced from a toctree, so every docs build emitted toc.not_included warnings and the docs job failed under -W. Link the README from the Project toctree and give it a hidden nested toctree over its seven issue notes.
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.
We sit downstream of toolregistry, toolregistry-server, mcp, and uxarray, all of which release independently, but CI only ever exercised one pinned resolution of those declared ranges — the same class of gap that produced Oaklight/toolregistry-server#54. This adds a weekly upstream-compat workflow that upgrades each package separately so a failure names the culprit rather than forcing a bisect, a lowest-direct job that covers the floor of every range, and an AST guard asserting domain/ imports no server or protocol package since that break would otherwise only appear as a worker-side ModuleNotFoundError at job runtime. Verified locally: 502 passed, 4 skipped, pre-commit all green including zizmor, and the guard was confirmed to fail when a toolregistry import is planted in domain/area.py.