fix: keep load-path plugins after managed plugin installs#99192
fix: keep load-path plugins after managed plugin installs#99192harjothkhara wants to merge 1 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 2, 2026, 2:24 PM ET / 18:24 UTC. Summary PR surface: Source +86, Tests +137. Total +223 across 4 files. Reproducibility: unclear. the PR body describes a focused repro and tests, but I could not inspect current source or run read-only verification in this response context. Review metrics: none identified. Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Keep the PR open for a full maintainer review against current plugin discovery and installed-index behavior. Do we have a high-confidence way to reproduce the issue? Unclear: the PR body describes a focused repro and tests, but I could not inspect current source or run read-only verification in this response context. Is this the best way to solve the issue? Unclear: the proposed path may be appropriate, but it needs review against current installed-index discovery, configured load paths, and sibling registry refresh fixes. AGENTS.md: unclear because the file could not be read completely. Codex review notes: model internal, reasoning high; reviewed against 36361fc2a0f5. Label changesLabel justifications:
Evidence reviewedPR surface: Source +86, Tests +137. Total +223 across 4 files. View PR surface stats
Acceptance criteria:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Closing in favor of #99196, which fixes the same #99185 root cause and is further along. Both PRs land the fix in the same place — I left a note on #99196 offering my |
Fixes #99185
AI-assisted: yes (Codex).
What Problem This Solves
Fixes an issue where users with workspace plugins configured through
plugins.load.pathswould see those plugins dropped as stale after installing and enabling a managed npm plugin.With a persisted installed-plugin index present, config validation could rebuild manifest metadata only from the installed index rows. That left load-path workspace plugins out of
knownIds, producing warnings such asplugin not found: <id> (stale config entry ignored; remove it from plugins config)even though the configured plugin files still existed on disk.Why This Change Was Made
The installed-index manifest reconstruction path now includes the same configured-scope discovery candidates used by normal plugin discovery. This keeps explicit
plugins.load.pathsand workspace-scoped plugins visible while preserving the persisted-index fast path for installed/shared plugin metadata.This does not change shared/global root scanning for the installed-index fast path, and scoped metadata requests still filter configured candidates to the requested plugin ids.
Duplicate-work check: exact PR searches for #99185 found no active fix PR. Related PR #96080 handles configured plugins under the global extensions root for #96046, and PR #89882 handles recovered install records for #89606; neither covers the
plugins.load.pathsworkspace-plugin path reported here.User Impact
Operators can install and enable managed npm plugins without causing existing load-path workspace plugins to disappear from gateway startup or CLI validation. Existing workspace plugin entries and allowlist entries remain valid when their manifests are still present.
Evidence
Focused proof run on this branch:
Autoreview note: attempted
.agents/skills/autoreview/scripts/autoreview --mode local, but this environment's approval policy rejected the external Codex review-engine run because it would export the local patch. Keeping this PR draft so maintainers can run or trigger the normal review path.