{"repo":"NousResearch/hermes-agent","public_id":"119340","display_label":"Plugin catalog cache staleness and fix","summary":"A bug where newly added plugins appear missing for up to 6 hours due to a stale live cache overriding the in-tree catalog, along with fixes to retain newer in-tree entries and drop the stale cache on update.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":122081,"merged_at":"2026-09-27T11:26:53+00:00"},"resolution":{"state":"resolved","by":"pr-122081"},"freshness":{"state":"verified","last_verified_at":"2026-09-27T11:26:53+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":119340,"pr_number":122081,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T11:26:53+00:00"},{"issue_number":119801,"pr_number":122081,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T11:26:53+00:00"},{"issue_number":119975,"pr_number":122081,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T11:26:53+00:00"},{"issue_number":120252,"pr_number":122081,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T11:26:53+00:00"},{"issue_number":120852,"pr_number":122081,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-27T11:26:53+00:00"}],"members":[{"kind":"issue","number":119340,"title":"[Bug]: a plugin added to plugin-catalog/ is \"not in the plugin catalog\" for up to 6h after hermes update (stale live cache out-votes the newer in-tree catalog)","url":null,"state":"closed"},{"kind":"pr","number":119345,"title":"fix(plugin-catalog): retain newer in-tree entries","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#122081","number":122081},{"kind":"pr","value":"#119340","number":119340}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":119596,"title":"fix(plugins): preserve newer in-tree catalog additions","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":122081,"title":"fix: backend update-check errors surface, managed-Cloud Screen copy, bundle-skew covers apps/shared, catalog cache drops on update, MCP liveness says what's wrong","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/electron/bundle-skew.test.ts","apps/desktop/electron/bundle-skew.ts","apps/desktop/src/app/capabilities/plugins/plugins-tab.tsx","apps/desktop/src/i18n/de.ts","apps/desktop/src/i18n/en.ts","apps/desktop/src/i18n/es.ts","apps/desktop/src/i18n/fr.ts","apps/desktop/src/i18n/types.ts","apps/desktop/src/plugins/hermes-bots/i18n.ts","apps/desktop/src/plugins/hermes-bots/screen-connection.ts","apps/desktop/src/plugins/hermes-bots/screen-hero.tsx","apps/desktop/src/plugins/hermes-bots/screen-managed-copy.test.tsx","apps/desktop/src/plugins/hermes-bots/screen-pane.tsx","apps/desktop/src/plugins/hermes-bots/screen-portal.tsx","apps/desktop/src/store/agent-plugins.ts","apps/desktop/src/store/updates-backend-check.test.ts","apps/desktop/src/store/updates.test.ts","apps/desktop/src/store/updates.ts","apps/shared/src/gateway-contract.generated.ts","apps/shared/src/gateway-contract.openrpc.json","hermes_cli/plugin_catalog.py","hermes_cli/plugins_cmd_catalog.py","hermes_cli/post_update.py","hermes_cli/update_cmd_maint.py","tests/hermes_cli/test_plugins_hub_live_catalog.py","tests/hermes_cli/test_post_update.py","tests/tools/test_mcp_liveness.py","tests/tui_gateway/test_plugins_manage_install.py","tools/mcp_liveness.py","tui_gateway/contracts/tools_mcp_plugins.py","tui_gateway/methods_tools.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}