Consolidate plugin dependency maintenance and update Pydantic and UUID - #184
Conversation
Signed-off-by: Luca <luca.carlig@ibm.com>
msureshkumar88
left a comment
There was a problem hiding this comment.
The workspace consolidation direction is correct, but please address these before merge:\n\n1. Strengthen the regression coverage. test_all_plugins_share_the_root_uv_workspace_lock only checks static membership, root-lock existence, and local-lock absence. It does not prove that the committed root uv.lock resolves every declared workspace package—precisely the invariant this PR changes. Add an isolated fixture/CI assertion using uv lock --check and a locked workspace sync (or equivalent) that fails when a new workspace member is omitted from the shared lock.\n\n2. Keep this issue-focused. The output_length_guard workspace repair requires its workspace membership, shared lock regeneration, local lock removal, maintenance inclusion, and regression coverage. The Pydantic/pydantic-core and UUID updates, five package version bumps, and their documentation are separate Dependabot work (#183/#182). Please split them into separate PRs, or explicitly document and obtain approval for the combined release/compatibility scope. Raising the Pydantic lower bound also prevents consumers pinned to 2.13.4 from installing the affected packages.\n\nAlso add a formal Fixes #… reference to the workspace/lock-drift issue; this PR currently has no closing issue link.
msureshkumar88
left a comment
There was a problem hiding this comment.
The workspace consolidation direction is correct, but please address these before merge:
-
Strengthen the regression coverage.
test_all_plugins_share_the_root_uv_workspace_lockonly checks static membership, root-lock existence, and local-lock absence. It does not prove that the committed rootuv.lockresolves every declared workspace package—precisely the invariant this PR changes. Add an isolated fixture/CI assertion usinguv lock --checkand a locked workspace sync (or equivalent) that fails when a new workspace member is omitted from the shared lock. -
Keep this issue-focused. The
output_length_guardworkspace repair requires its workspace membership, shared lock regeneration, local lock removal, maintenance inclusion, and regression coverage. The Pydantic/pydantic-core and UUID updates, five package version bumps, and their documentation are separate Dependabot work (#183/#182). Please split them into separate PRs, or explicitly document and obtain approval for the combined release/compatibility scope. Raising the Pydantic lower bound also prevents consumers pinned to 2.13.4 from installing the affected packages.
Also add a formal Fixes #… reference to the workspace/lock-drift issue; this PR currently has no closing issue link.
gandhipratik203
left a comment
There was a problem hiding this comment.
The plugins mentioned have the dependency updates. LGTM once the existing comemnts are resolved.
i think the regression test is not needed for just updates |
regression test not needed, 1 singple pr to fix all issues under vuln
output_length_guardwas outside the root uv workspace, so root Dependabot updates and monthly maintenance missed its separate dependency lock. Join it to the workspace, remove its local lockfile, and include it in monthly plugin validation.This also incorporates the pending Pydantic and UUID updates from #183 and #182 into one change.
Changes
uv.lock; add a catalog regression check for workspace membership and absence of plugin-local locks, with CI triggers covering Python manifests and locks.Advisories and resolution
The 140 alerts below represented 23 advisories against seven plugin-local lockfiles deleted in #121 and #159. The active dependencies were already patched on
main; these were stale alerts, not 140 outstanding code fixes. Both lockfiles present at inspected commit213611aaaf64e67b042e4cef9b14dcd4f02a0786were outside every reported vulnerable range.Grouped by dependency, the 23 advisories were resolved as follows. The patched versions were already present on
main; this PR retains them in one shared lockfile. All associated stale alerts were dismissed as inaccurate, with evidence recorded in each dismissal.After reconciliation, GitHub showed zero open alerts, with 140 dismissed and the 18 previously fixed alerts unchanged. This PR prevents further lockfile drift by placing all nine plugins under the root workspace and rejecting plugin-local lockfiles in the catalog checks. The Pydantic and UUID bumps are routine updates, separate from these advisory resolutions.
GitHub still retains the obsolete manifest entries in its dependency graph. A graph refresh remains an administrative follow-up because this account did not expose the documented refresh action. No advisory ignore rules were added and Dependabot remains enabled.