open-coder-ai/protect-ci-workflows
Guard against an agent weakening the automated checks that review its own work. CI/CD workflow files (.github/workflows/), the composite actions they call (.github/actions/) and the dependency-update automation (.github/dependabot.yml) define what must pass before a change lands -- so a shell command that rewrites or deletes them is the agent removing the gate that would catch it. The guard refuses shell write-commands targeting those paths; reads pass, and tool-driven regeneration (chock sync) passes because it writes through the tool, not shell editing. Best-effort and deliberately coarse: a compound command that both reads a protected file and writes elsewhere may be refused -- rewrite it in two steps. The 'chock: approved-config-change' escape marker is friction plus an audit trail, not authentication -- the agent can write it too; the check an agent cannot self-approve is branch protection and required-status-checks enforced server-side.
What this package declares
The file a client reads when it loads this plugin, exactly as this revision carries it.
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "protect-ci-workflows",
"version": "0.0.1",
"description": "Guard against an agent weakening the automated checks that review its own work. CI/CD workflow files (.github/workflows/), the composite actions they call (.github/actions/) and the dependency-update automation (.github/dependabot.yml) define what must pass before a change lands -- so a shell command that rewrites or deletes them is the agent removing the gate that would catch it. The guard refuses shell write-commands targeting those paths; reads pass, and tool-driven regeneration (chock sync) passes because it writes through the tool, not shell editing. Best-effort and deliberately coarse: a compound command that both reads a protected file and writes elsewhere may be refused -- rewrite it in two steps. The 'chock: approved-config-change' escape marker is friction plus an audit trail, not authentication -- the agent can write it too; the check an agent cannot self-approve is branch protection and required-status-checks enforced server-side.",
"author": {
"name": "chock-core"
},
"repository": "https://github.com/open-coder-ai/chock",
"license": "Apache-2.0",
"keywords": [
"chock",
"policy-as-code",
"rule",
"advise",
"{'control': 'asi02', 'coverage': 'partial', 'note': 'blocks shell self-modification of ci workflow, action and dependency-automation files; server-side branch protection and required-status-checks remain the backstop an agent cannot self-approve'}"
],
"extensions": {
"io.github.open-coder-ai": {
"manifest": "manifest.yaml",
"artifact": "rule",
"enforcement": "advise",
"coverage_without_chock": "advisory"
}
}
}
What else this package ships
These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.
- LICENSE
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- io.github.open-coder-ai