Your AI on rails, on your terms — an open-source Claude Code plugin that enforces every process as it happens, so your AI can't fake the work. Free, on the subscriptions you already pay for.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio counts 42 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
code_review
-
config_code_review_enforcement
-
config_get
-
config_issue_tracking_status
-
config_update
-
daic_mode_switch_discussion
-
daic_mode_switch_documentation
-
daic_mode_switch_implementation
-
fetch_mr_review
-
git_commit
-
git_push
-
issue_api
-
issue_comment
-
issue_create
-
issue_dependency
-
issue_link
-
issue_push
-
issue_read
-
issue_set_status
-
issue_status
-
issue_sync
-
issue_unlink
-
issue_update
-
merge_request_comment
-
merge_request_create
-
merge_request_update
-
notification_discover_telegram_chats
-
notification_status
-
notify_user
-
protocol_abort
-
protocol_advance
-
protocol_available_funcs
-
protocol_check_drift
-
protocol_current
-
protocol_customize
-
protocol_goto
-
protocol_list
-
protocol_log
-
protocol_save_note
-
protocol_start
-
pull_request_comment
-
release_create
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 4a8be13 · analyzer v33 · 3d ago
skills & prompt files 8
- agent-rules TeamManagementPlugin-claude-plugin-4a8be13/CLAUDE.md
- agent-rules TeamManagementPlugin-claude-plugin-4a8be13/plugin/CLAUDE.md
- agent-rules TeamManagementPlugin-claude-plugin-4a8be13/plugin/agents/CLAUDE.md
- agent-rules TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/CLAUDE.md
- agent-rules TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/CLAUDE.md
- skill TeamManagementPlugin-claude-plugin-4a8be13/skills/team-management-debugging/SKILL.md
- skill TeamManagementPlugin-claude-plugin-4a8be13/skills/team-management-receiving-feedback/SKILL.md
- skill TeamManagementPlugin-claude-plugin-4a8be13/skills/team-management-tdd-discipline/SKILL.md
danger signals7
- dynamic code execution __import__ sink TeamManagementPlugin-claude-plugin-4a8be13/test/test_optional_imports.py :137
"PATH": __import__("os").environ.get("PATH", "")}, - dynamic code execution __import__ sink TeamManagementPlugin-claude-plugin-4a8be13/test/test_shim.py :100
env = {**__import__("os").environ} - dynamic code execution __import__ sink TeamManagementPlugin-claude-plugin-4a8be13/test/test_task_transcript_link_depth.py :88
env = {"CLAUDE_PROJECT_DIR": str(self.temp_dir), "PATH": __import__("os").environ["PATH"]} - dynamic code execution __import__ sink TeamManagementPlugin-claude-plugin-4a8be13/test/test_transcript_stage_cap.py :88
"PATH": __import__("os").environ["PATH"]} - suspicious endpoint api.telegram.org TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/notification_utils.py :231
url = f"https://api.telegram.org/bot{self._bot_token}/sendMessage" - suspicious endpoint api.telegram.org TeamManagementPlugin-claude-plugin-4a8be13/test/test_telegram_discover.py :72
url="https://api.telegram.org/botX/getUpdates", - committed secret GitHub fine-grained PAT TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine_funcs.py :2386
github…(33 chars, redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 154
filesystem 130
- fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/.github/scripts/check_release_integrity.py :27
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/_shim.py :16
import shutil - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/ai_providers.py :532
with open(config_file, "r", encoding="utf-8") as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/boot_detector.py :16
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/git_operations.py :11
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/github/pr_manager.py :52
with open(task_file, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/github/releases.py :13
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/github/task_sync.py :124
with open(task_file, 'w', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/github_utils.py :15
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/mr_manager.py :55
with open(task_file, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/releases.py :12
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/task_sync.py :119
with open(task_file, 'w', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab_utils.py :15
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/issue_provider_base.py :15
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/jira_utils.py :509
with open(task_file, 'w', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/notification_utils.py :19
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/optimize_completion.py :15
import shutil - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/post-tool-use.py :4
import shutil - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/protocol_engine.py :23
import shutil - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/protocol_utils.py :36
with open(config_file, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/session-start.py :38
with open(CONFIG_FILE, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/sessions-enforce.py :26
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/shared_state.py :10
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/task-transcript-link.py :174
with file_path.open('w', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/task_state_manager.py :21
import shutil - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/user-messages.py :39
with open(CONFIG_FILE, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/workflow_command.py :22
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/bootstrap_mcp.py :18
import shutil - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/core/config.py :86
with open(config_file, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/core/project.py :10
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/code_review.py :354
with open(task_file, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/config.py :394
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :482
with open(task_file, 'r', encoding='utf-8') as f: - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :23
with open(config_file, 'r', encoding='utf-8') as f: - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/plugin/scripts/recover_tsv.py :23
from pathlib import Path - fs TeamManagementPlugin-claude-plugin-4a8be13/plugin/templates/statusline.py :5
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/_plugin_runtime_probe.py :30
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_agent_banner_drift.py :22
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_agy_gate_deploy.py :14
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_agy_readonly_gate.py :12
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_agy_watchdog.py :13
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_ai_providers_config_drift.py :18
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_ai_providers_fencing.py :14
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_boot_detector.py :13
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_boot_detector_companion.py :19
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_bootstrap_mcp.py :17
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_branch_validation_shared.py :20
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_code_review_heading_gates.py :24
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_codex_watchdog.py :18
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_command_namespace.py :16
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_completion_discard_preserves_framework.py :25
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_completion_evidence.py :8
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_completion_workflow.py :13
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_config_commands.py :10
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_config_intent_gate.py :17
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_config_mcp.py :12
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_default_branch_detection.py :15
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_docs_windows_requirement.py :17
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_emergency_stop.py :11
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_engine_split_patch_invariant.py :22
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_ensure_tag_created_and_pushed.py :22
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_frozen_paths_enforcement.py :16
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_git_operations_hardening.py :15
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_github_pr_without_issue.py :10
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_gitlab_mr_without_issue.py :18
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_hook_no_legacy_protocol_pointers.py :17
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_hook_stdin_guards.py :19
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_hook_utils.py :12
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_hooks_git_operations.py :24
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_hooks_matcher_drift.py :19
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_init_windows_bootstrap.py :20
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_issue_status_mr_only.py :22
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_issue_tracking_enabled_flag.py :3
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_issue_tracking_integration_robustness.py :24
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_mappings_lock_free_rmw.py :21
(atomic create-only `open(path, 'x')`). - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_mcp_core.py :33
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_mcp_git_review_tooling.py :32
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_mcp_manager_split.py :27
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_mcp_tool_inventory.py :39
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_mcp_tool_namespace.py :32
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_notification_mode.py :14
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_optimize_json_drift_guard.py :15
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_optional_imports.py :34
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_path_resolution.py :16
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_plugin_api_regression.py :34
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_plugin_manifest_json.py :14
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_plugin_runtime_e2e.py :34
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_post_tool_use_lock_resilience.py :22
`.claude/state/current_task.lock` so `open(lock, 'a+')` raises OSError (no - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_post_tool_use_throttle.py :16
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_post_tool_use_worklog.py :22
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_precompact_robustness.py :15
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_customization.py :17
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_end_checklist.py :13
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine.py :10
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine_completion_optimize.py :8
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine_funcs.py :9
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine_loop.py :9
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine_spike.py :33
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_intent.py :10
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_optimize_e2e.py :25
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_optimize_unattended_e2e.py :20
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_provider_base_url_warning.py :20
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_provider_bugfixes.py :21
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_provider_crash_pagination.py :17
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_provider_make_request.py :19
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_provider_mappings.py :17
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_provider_root_resolution.py :39
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_recover_tsv.py :12
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_refactoring_gates_drift.py :18
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_claude_gitignore.py :17
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_deprecation_warning.py :16
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_guidance.py :26
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_hardening.py :19
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_statusline.py :29
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_task_template.py :28
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_sessions_enforce_daic.py :32
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_shim.py :14
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_spec_review_gate.py :8
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_statusline_plugin.py :34
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_subagent_depth.py :16
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_subagent_transcript_isolation.py :22
import shutil - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_task_state_manager.py :15
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_task_transcript_link_depth.py :8
transcript chunking + write. The raw `.open('w')` writes (lines ~143,153) lacked - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_telegram_discover.py :23
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_token_resolution.py :27
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_transcript_stage_cap.py :29
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_transcript_tail_read.py :26
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_user_messages_hook.py :29
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_workflow_command.py :24
from pathlib import Path - fs (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_wrappers.py :23
from pathlib import Path
shell / exec 55
- shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/_shim.py :17
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/git_operations.py :10
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/api.py :8
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/task_sync.py :308
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/optimize_completion.py :16
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/protocol_engine.py :22
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/sessions-enforce.py :25
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/user-messages.py :181
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/bootstrap_mcp.py :19
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/helpers/code_review_utils.py :9
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/code_review.py :8
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/config.py :21
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/git_operations.py :8
import subprocess - shell TeamManagementPlugin-claude-plugin-4a8be13/plugin/templates/statusline.py :353
branch = subprocess.check_output(branch_cmd, stderr=subprocess.PIPE, encoding='utf-8', errors='replace', timeout=5).strip() - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_agy_readonly_gate.py :10
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_boot_detector_companion.py :17
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_bootstrap_mcp.py :14
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_completion_discard_preserves_framework.py :23
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_completion_workflow.py :14
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_config_intent_gate.py :15
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_config_mcp.py :359
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_default_branch_detection.py :16
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_engine_split_patch_invariant.py :6
INV1: protocol_engine.py keeps `import subprocess` / `import os`, so the - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_ensure_tag_created_and_pushed.py :20
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_frozen_paths_enforcement.py :13
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_git_operations_hardening.py :6
subprocess.run(shell=False). Only a NUL byte is now rejected. - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_hook_stdin_guards.py :17
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_hooks_git_operations.py :22
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_mcp_git_review_tooling.py :30
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_optional_imports.py :32
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_plugin_api_regression.py :32
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_plugin_runtime_e2e.py :32
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_post_tool_use_lock_resilience.py :29
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_post_tool_use_throttle.py :17
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_post_tool_use_worklog.py :23
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_precompact_robustness.py :13
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine_funcs.py :10
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_protocol_engine_spike.py :31
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_recover_tsv.py :10
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_claude_gitignore.py :15
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_deprecation_warning.py :17
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_guidance.py :24
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_hardening.py :17
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_statusline.py :27
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_session_start_task_template.py :26
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_sessions_enforce_daic.py :30
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_shim.py :12
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_statusline_plugin.py :32
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_subagent_depth.py :17
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_subagent_transcript_isolation.py :19
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_task_transcript_link_depth.py :27
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_transcript_stage_cap.py :26
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_user_messages_hook.py :27
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_workflow_command.py :22
import subprocess - shell (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_wrappers.py :21
import subprocess
network 11
- net TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/github/pr_manager.py :7
import urllib.parse - net TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/github/releases.py :9
import requests - net TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/api.py :7
import urllib.parse - net TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/mr_manager.py :7
import urllib.parse - net TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/gitlab/releases.py :9
import requests - net TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/issue_provider_base.py :22
import requests - net TeamManagementPlugin-claude-plugin-4a8be13/plugin/hooks/notification_utils.py :15
import urllib.request - net TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/config.py :23
from urllib.parse import urlparse - net (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_optional_imports.py :7
`import requests` (jira_utils, gitlab/api, gitlab/releases, github/api, - net (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_provider_make_request.py :23
import requests as real_requests - net (weak) TeamManagementPlugin-claude-plugin-4a8be13/test/test_telegram_discover.py :10
`urllib.request.urlopen` is mocked, and `resolve_provider_token` is patched in
tool registrations 42
- merge_request_comment TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/code_review.py :27
- pull_request_comment TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/code_review.py :94
- code_review TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/code_review.py :161
- fetch_mr_review TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/code_review.py :563
- config_get TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/config.py :427
- config_update TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/config.py :453
- daic_mode_switch_discussion TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/daic.py :16
- daic_mode_switch_implementation TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/daic.py :59
- daic_mode_switch_documentation TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/daic.py :107
- git_commit TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/git_operations.py :53
- git_push TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/git_operations.py :138
- merge_request_create TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/git_operations.py :208
- merge_request_update TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/git_operations.py :300
- issue_status TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :17
- config_issue_tracking_status TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :116
- config_code_review_enforcement TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :214
- issue_read TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :267
- issue_create TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :346
- issue_update TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :397
- issue_sync TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :458
- issue_push TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :520
- issue_link TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :579
- issue_unlink TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :650
- issue_comment TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :681
- issue_set_status TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :729
- issue_api TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :820
- issue_dependency TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/issue_tracking.py :891
- notify_user TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/notifications.py :15
- notification_status TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/notifications.py :74
- notification_discover_telegram_chats TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/notifications.py :106
- protocol_list TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :38
- protocol_start TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :50
- protocol_current TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :80
- protocol_advance TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :92
- protocol_goto TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :104
- protocol_log TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :116
- protocol_abort TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :128
- protocol_save_note TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :140
- protocol_available_funcs TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :152
- protocol_customize TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :169
- protocol_check_drift TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/protocol.py :195
- release_create TeamManagementPlugin-claude-plugin-4a8be13/plugin/mcp/tools/release.py :16