Skip to content

feat(vendors): record whether each agent loads Claude Code plugins (CC-2) - #209

Merged
jothimani-rajendran merged 2 commits into
mainfrom
cc-2-loads-claude-plugins
Oct 17, 2026
Merged

jothimani-rajendran merged 2 commits into
mainfrom
cc-2-loads-claude-plugins

Conversation

@jothimani-rajendran

Copy link
Copy Markdown
Collaborator

What this changes

Adds a vendor field, loads_claude_plugins, to every data/vendors/<agent>.json entry (17), plus its schema and an evidence.loads_claude_plugins record. Each entry copies that agent's row from org-plan discovery/2026-10-17-claude-plugin-compat.md (CC-1). The field holds:

  • loads (yes/partial/no/unknown);
  • how (the install route);
  • hooks (yes/no/unknown/n/a);
  • payload;
  • deny_reply (yes/partial/no/unknown/n/a, for HSO deny or exit 2);
  • notes and source;
  • witnessed, on Grok only: guard and gate refused, from org-plan witness/results/witness-grok-claude-plugin-2026-10-17.md at 25b9d9d.

Unknown stays unknown and partial stays partial. The evidence basis is vendor-docs or vendor-source, dated 2026-10-17.

  • The data is in tools/recount/claude_plugins.json. tools/recount/sourced.py folds it in, and the vendor JSON is regenerated with tools/recount_vendor_config.py --write.
  • You read it through one new accessor, agentseam.vendor_config.loads_claude_plugins(agent). The adapter-attribute pattern (ALSO_READS) did not fit: vscode_copilot.py is a module already at the 300-line limit.
  • No adapter reads the field. A test pins this.

Claim check

  • No capability claim is widened. This is a recorded fact; no matrix grade or enforcement level reads it.
  • No MATRIX row changed.
  • Primary sources: each row's source names the vendor doc or commit, as recorded in CC-1.

Checks

  • pytest -q passes (2624 passed, 6 skipped, locally)
  • ruff check . and ruff format --check . pass
  • Runtime path is still stdlib-only
  • Commits are signed off

Notes for the reviewer

  • cursor: CC-1 records "no" for its documented plugin formats but "unknown" via the Third-Party Plugins toggle. I recorded loads: unknown, with hooks and deny_reply also unknown, and put the documented "no" in notes.
  • Agents with no vendor entry: the 10 matrix rows without one (copilot CLI, replit, zed, aider, opencode, kilo_code, roo_code, amp, kiro, deepseek_harness) are not recorded. The accessor returns None for them.

Generated by Claude Code

jothimani-rajendran and others added 2 commits October 17, 2026 19:13
…C-2)

A new vendor field, loads_claude_plugins, transcribes each agent's row of
org-plan discovery/2026-10-17-claude-plugin-compat.md: loads, how (install
route), hooks, payload, deny_reply, notes, source. Unknown stays unknown,
partial stays partial. Grok alone carries the 2026-10-17 witness (guard and
gate refused; org-plan witness/results/witness-grok-claude-plugin-2026-10-17.md
at 25b9d9d). Each entry travels with an evidence record.

The data lives in tools/recount/claude_plugins.json and is folded in by
tools/recount/sourced.py; the vendor JSON is regenerated with
tools/recount_vendor_config.py --write. Read through
agentseam.vendor_config.loads_claude_plugins(agent). No adapter reads it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
… Copilot CLI row on vscode_copilot

Orchestrator review of CC-2: deny_reply describes a Claude plugin deny, so it is
n/a where loads is no and unknown where loads is unknown; CC-1 own-hook notes move
to notes. vscode_copilot notes now carry the CC-1 Copilot CLI row and its source.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Jothi Mani Rajendran <250249270+jothimani-rajendran@users.noreply.github.com>
@jothimani-rajendran
jothimani-rajendran marked this pull request as ready for review October 17, 2026 19:20
@jothimani-rajendran
jothimani-rajendran merged commit 72a02c2 into main Oct 17, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant