test(moments): an install removal still drops its tool while the skill loader stays listed (milestone 458 step 5, #4923)
CI & Build / Python lint (push) Successful in 4s
CI & Build / Plugin hooks (push) Successful in 19s
CI & Build / TypeScript typecheck (push) Successful in 1m2s
CI & Build / integration (push) Successful in 1m20s
CI & Build / Python tests (push) Successful in 2m12s
CI & Build / Build & push image (push) Successful in 33s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 14:28:50 -04:00
co-authored by Claude Opus 5.5
parent f1fdc4a951
commit c489452a2d
+2 -1
View File
@@ -209,7 +209,8 @@ async def test_an_installs_own_mapping_and_removal_both_count():
own = SimpleNamespace(tool="mcp__deploy__ship", match="", moment="work.deliver", effect="add") own = SimpleNamespace(tool="mcp__deploy__ship", match="", moment="work.deliver", effect="add")
assert "ship" in await _reachable({"work.deliver"}, [own]) assert "ship" in await _reachable({"work.deliver"}, [own])
gone = SimpleNamespace(tool="AskUserQuestion", match="", moment="reply.ask", effect="remove") gone = SimpleNamespace(tool="AskUserQuestion", match="", moment="reply.ask", effect="remove")
assert await _reachable({"reply.ask"}, [gone]) == [] assert "askuserquestion" in await _reachable({"reply.ask"})
assert "askuserquestion" not in await _reachable({"reply.ask"}, [gone])
# ── the plugin routes ─────────────────────────────────────────────────── # ── the plugin routes ───────────────────────────────────────────────────