forked from molecule-ai/molecule-core
molecule_runtime's _deep_merge_hooks() uses unconditional list.extend() when merging plugin settings-fragment.json files. On every plugin install or reinstall each hook handler is re-appended, causing 3-4x duplicate firings per event. scripts/dedup_settings_hooks.py — idempotent live fix (reads via /proc/*/root, no docker CLI required). Safe to re-run. scripts/verify_settings_hooks.py — exits 1 if any container still has duplicate hooks; used in CI health checks and manual audits. Upstream fix needed in molecule_runtime._deep_merge_hooks() to deduplicate by (matcher, frozenset(commands)) before writing. Track separately. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| bridge | ||
| build-images.sh | ||
| bundle-compile.sh | ||
| claude-code-bridge.py | ||
| cleanup-rogue-workspaces.sh | ||
| clone-manifest.sh | ||
| dedup_settings_hooks.py | ||
| dev-start.sh | ||
| import-agent.sh | ||
| test-a2a-cross-runtime.sh | ||
| test-all-adapters.sh | ||
| test-all.sh | ||
| test-cross-agent-chat.sh | ||
| test-team-e2e.sh | ||
| verify_settings_hooks.py | ||