Add Agent Plugins and Codex package adapters - #2161
Aaronontheweb wants to merge 3 commits into
Conversation
e5b38b9 to
6b1e35b
Compare
6b1e35b to
54ff52e
Compare
54ff52e to
fb17e75
Compare
Aaronontheweb
left a comment
There was a problem hiding this comment.
Adversarial review complete.
I found and fixed three candidate rejection defects:
- Windows-unsafe archive paths.
- Invalid UTF-8 skill files.
- Overlapping declared skill roots.
Each case now produces a durable candidate rejection. The focused acquisition tests pass. I found no remaining defect in this slice.
62128a8 to
d2cc7b4
Compare
abf1c86 to
5799503
Compare
Aaronontheweb
left a comment
There was a problem hiding this comment.
I found no acquisition defect in the Codex compatibility scope. The archive checks, resource bounds, and immutable paths match #2134. One merge gate remains. This PR changes the skill-authoring system skill. AGENTS.md requires ./evals/run-evals.sh for that change. The PR states that the suite did not start. Run the behavioral suite before merge, or revise the approved acceptance contract.
5799503 to
a697ea0
Compare
| var token = linked.Token; | ||
| try | ||
| { | ||
| var archivePath = Path.Combine(_paths.CacheDirectory, "git-skill-archives", $"{Guid.NewGuid():N}.tar.gz"); |
a697ea0 to
9295022
Compare
Aaronontheweb
left a comment
There was a problem hiding this comment.
The adapter direction is correct. This slice shares Git transport checks and isolates Agent Plugins from Codex compatibility.
One blocking format-selection defect remains in the inline thread.
I reviewed commit 9295022. Local checks passed with 8,588 tests, strict OpenSpec validation, Slopwatch, headers, and diff checks.
Local evals lacked provider credentials. Chromium lacked a usable sandbox for native tapes. GitHub checks are still active.
| bool hasMcpConfig, | ||
| string commit) | ||
| { | ||
| if (HasRecognizedAgentPluginSchema(agentPluginManifest)) |
There was a problem hiding this comment.
[P1] Reject a present portable manifest before Codex fallback.
This test returns false for malformed JSON or an unsupported schema. Line 63 then selects the Codex compatibility manifest.
The approved issue allows Codex fallback only when the root plugin.json is absent. The design also prohibits a malformed portable manifest from selecting a weaker contract.
Select the Agent Plugins adapter whenever the root manifest exists. Let that adapter reject malformed or unsupported content. Add a mixed-manifest regression test.
There was a problem hiding this comment.
Fixed at fa456e6. Auto selects the portable root when it exists. Three mixed-manifest tests reject invalid JSON, a missing schema, and an unsupported schema. The Codex manifest no longer hides these errors.
There was a problem hiding this comment.
One planning conflict remains. The current OpenSpec delta says auto prefers a recognized root manifest. The issue and PRD require portable selection whenever root plugin.json exists. The code and SPEC-004 now match the issue. Update the OpenSpec delta through /opsx before merge.
9295022 to
fa456e6
Compare
Netclaw needs one secure Git transport with separate package rules.
This change adds an Agent Plugins 1.0.0 adapter and a Codex compatibility adapter.
The Agent Plugins adapter reads root
plugin.json. It discovers immediate skill children underskills/.The Codex adapter reads
.codex-plugin/plugin.json. It preserves the prior declared-path behavior.Auto selection prefers a recognized Agent Plugins manifest. It does not fall through after that manifest fails validation.
The Git acquirer retains archive limits, path checks, selected extraction, content scans, and immutable candidate creation.
Validation:
Depends on #2160.
Part of #2134 and #2135.
Pull request stack
Review and merge these pull requests in this order:
This pull request is step 2.