From 9bf42f5af9b6692fd082d8046b905bbf477d133f Mon Sep 17 00:00:00 2001
From: Jothi Mani Rajendran
<250249270+jothimani-rajendran@users.noreply.github.com>
Date: Sun, 18 Oct 2026 00:01:36 +0000
Subject: [PATCH] feat(vendors): Codex witness on codex_cli's
loads_claude_plugins (CC-2c)
codex_cli's loads_claude_plugins row gains `witnessed`: codex-cli 0.163.0 on
Windows 11, 2026-10-17, plugin installed with `codex plugin marketplace add
` then `codex plugin add chock-witness@chock-local`; guard (shell) and
gate (file write) refused by PreToolUse deny with its reason (org-plan
witness/results/witness-codex-claude-plugin-2026-10-17.md at eb303f4).
The witnessed-agents test table gains codex_cli; the vendor JSON is
regenerated with tools/recount_vendor_config.py --write.
Co-Authored-By: Claude Opus 5.5
Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
---
src/agentseam/data/vendors/codex_cli.json | 5 +++--
tests/test_claude_plugins.py | 12 ++++++++++++
tools/recount/claude_plugins.json | 3 ++-
tools/recount/sourced.py | 4 ++--
4 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/src/agentseam/data/vendors/codex_cli.json b/src/agentseam/data/vendors/codex_cli.json
index e2f91ce..e22caa7 100644
--- a/src/agentseam/data/vendors/codex_cli.json
+++ b/src/agentseam/data/vendors/codex_cli.json
@@ -68,7 +68,7 @@
"loads_claude_plugins": {
"basis": "vendor-source",
"date": "2026-10-17",
- "test": "tests/test_claude_plugins.py::test_each_entry_records_the_discovery_row"
+ "test": "tests/test_claude_plugins.py::test_only_the_witnessed_agents_carry_a_witness"
},
"tools": {
"basis": "live-run-partial",
@@ -131,7 +131,8 @@
"loads": "yes",
"notes": "hooks from the manifest's hooks, else hooks/hooks.json; per-hook trust state unmeasured; an HSO deny needs a non-empty permissionDecisionReason and exit 2 needs non-empty stderr; Sync handlers only",
"payload": "Claude Code snake_case, Codex tool names",
- "source": "openai/codex@ce0323f codex-rs/exec-server-protocol/src/protocol.rs, codex-rs/core-plugins/src/loader.rs (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
+ "source": "openai/codex@ce0323f codex-rs/exec-server-protocol/src/protocol.rs, codex-rs/core-plugins/src/loader.rs (org-plan discovery/2026-10-17-claude-plugin-compat.md)",
+ "witnessed": "guard (shell command) and gate (file write) refused by PreToolUse deny with its reason; codex-cli 0.163.0 on Windows 11, 2026-10-17; plugin installed by codex plugin marketplace add then codex plugin add chock-witness@chock-local (org-plan witness/results/witness-codex-claude-plugin-2026-10-17.md at eb303f4)"
},
"needs_trust": true,
"tools": {
diff --git a/tests/test_claude_plugins.py b/tests/test_claude_plugins.py
index 4a797db..87b8a49 100644
--- a/tests/test_claude_plugins.py
+++ b/tests/test_claude_plugins.py
@@ -38,6 +38,18 @@
"witness/results/witness-copilot-cli-claude-plugin-2026-10-17.md",
"6516f57",
),
+ "codex_cli": (
+ "guard",
+ "gate",
+ "refused by PreToolUse deny with its reason",
+ "codex-cli 0.163.0",
+ "Windows 11",
+ "2026-10-17",
+ "codex plugin marketplace add ",
+ "codex plugin add chock-witness@chock-local",
+ "witness/results/witness-codex-claude-plugin-2026-10-17.md",
+ "eb303f4",
+ ),
}
#: (loads, hooks, deny_reply) per agent, as org-plan discovery/2026-10-17-claude-plugin-compat.md records them.
diff --git a/tools/recount/claude_plugins.json b/tools/recount/claude_plugins.json
index 1b86a31..4914648 100644
--- a/tools/recount/claude_plugins.json
+++ b/tools/recount/claude_plugins.json
@@ -43,7 +43,8 @@
"loads": "yes",
"notes": "hooks from the manifest's hooks, else hooks/hooks.json; per-hook trust state unmeasured; an HSO deny needs a non-empty permissionDecisionReason and exit 2 needs non-empty stderr; Sync handlers only",
"payload": "Claude Code snake_case, Codex tool names",
- "source": "openai/codex@ce0323f codex-rs/exec-server-protocol/src/protocol.rs, codex-rs/core-plugins/src/loader.rs (org-plan discovery/2026-10-17-claude-plugin-compat.md)"
+ "source": "openai/codex@ce0323f codex-rs/exec-server-protocol/src/protocol.rs, codex-rs/core-plugins/src/loader.rs (org-plan discovery/2026-10-17-claude-plugin-compat.md)",
+ "witnessed": "guard (shell command) and gate (file write) refused by PreToolUse deny with its reason; codex-cli 0.163.0 on Windows 11, 2026-10-17; plugin installed by codex plugin marketplace add then codex plugin add chock-witness@chock-local (org-plan witness/results/witness-codex-claude-plugin-2026-10-17.md at eb303f4)"
}
},
"cursor": {
diff --git a/tools/recount/sourced.py b/tools/recount/sourced.py
index 96116b6..ce841e0 100644
--- a/tools/recount/sourced.py
+++ b/tools/recount/sourced.py
@@ -26,8 +26,8 @@
#: Whether each agent loads a Claude Code plugin, transcribed from org-plan
#: discovery/2026-10-17-claude-plugin-compat.md (CC-1, read 2026-10-17); unknown and partial
-#: rows stay so. Grok (org-plan 25b9d9d) and vscode_copilot's Copilot CLI (org-plan 6516f57) add
-#: the owner's witness runs, from witness/results.
+#: rows stay so. Grok (org-plan 25b9d9d), vscode_copilot's Copilot CLI (org-plan 6516f57) and
+#: codex_cli (org-plan eb303f4) add the owner's witness runs, from witness/results.
with open(os.path.join(os.path.dirname(__file__), "claude_plugins.json"), encoding="utf-8") as _fh:
LOADS_CLAUDE_PLUGINS = json.load(_fh)
_CLAUDE_PLUGINS_READ = "2026-10-17"