fix(plugins): resolve handoff issues found in live hosts

This commit is contained in:
kartik-mem0
2026-09-10 19:50:21 +05:30
parent 2e784b76d2
commit d33b6604a4
23 changed files with 53 additions and 17 deletions
@@ -2,6 +2,7 @@ from __future__ import annotations
import json
import sys
from fnmatch import fnmatchcase
from pathlib import Path
import pytest
@@ -139,3 +140,14 @@ def test_handoff_is_bundled_with_host_appropriate_invocation(host: str, tmp_path
assert "!`" not in skill
assert "NATIVE_TRANSCRIPT_PATH" in skill
assert "Never guess the latest session" in skill
def test_handoff_preprocessor_matches_its_declared_permission(tmp_path: Path) -> None:
root = build("claude-code", "native", tmp_path / "plugin with spaces")
skill = (root / "skills" / "handoff" / "SKILL.md").read_text()
rule = next(line for line in skill.splitlines() if line.startswith("allowed-tools: Bash("))
pattern = rule.removeprefix("allowed-tools: Bash(").removesuffix(")")
command = next(line for line in skill.splitlines() if line.startswith("!`")).removeprefix("!`").removesuffix("`")
assert fnmatchcase(command, pattern), (
"Claude's preprocessor command must match its permission rule, including quotes"
)
@@ -103,6 +103,8 @@ def test_codex_native_rollout_keeps_response_items_and_excludes_harness(tmp_path
# openai/codex: codex-rs/protocol/src/protocol.rs and persisted response_item payloads.
records = [
{"type": "session_meta", "payload": {"id": "codex-session", "cwd": str(tmp_path)}},
{"type": "world_state", "payload": {"full": True, "state": {"agents_md": {"text": "harness config"}}}},
{"type": "token_usage_record", "payload": {"input_tokens": 123, "output_tokens": 45}},
{"type": "response_item", "payload": message("developer", "harness config")},
{"type": "response_item", "payload": {"type": "reasoning", "encrypted_content": "opaque"}},
{"type": "response_item", "payload": message("user", "Keep user")},