Skip to content

feat: add GitHub control-plane operations with gh-aware enforcement - #5

Merged
Zulut30 merged 5 commits into
mainfrom
feat/github-operations
Aug 17, 2026
Merged

feat: add GitHub control-plane operations with gh-aware enforcement#5
Zulut30 merged 5 commits into
mainfrom
feat/github-operations

Conversation

@Zulut30

@Zulut30 Zulut30 commented Aug 17, 2026

Copy link
Copy Markdown
Member

Summary

Makes GitHub a first-class, safely-operated control plane.

  • github-operations module (executor, catalog 0.4.0 / 22 skills): branch protection and rulesets, deployment environments and reviewer gates, Actions run and self-hosted-runner administration, releases, and token-permission scope. Ships references/github-permission-model.md, twelve verified control-plane failure modes, a change-card template, and a read-only repo-protection-audit.py (flags admin bypass, missing required checks, non-enforcing rulesets, bypass actors, ungated environments; offline --from-file mode for deterministic tests). Workflow content and pipeline trust remain with cicd-operations; secret values with secrets-access-operations.
  • PreToolUse gate learns the gh CLI: view/list/checks subcommands and body-less gh api GET calls pass as read-only; pr merge, workflow run, release create, secret set, and gh api with -X/--method, field, or --input flags stay denied and must go through the digest-bound wrapper.
  • Module allowed-tools are least-privilege: Read, Grep, Glob, Bash(gh:*), Bash(python tools/devops_exec.py:*) — no unrestricted shell.
  • Six GitHub prompt-injection scenarios added to the adversarial suite (PR-comment merge pressure, log-embedded protection rollback, bypass-list requests, fake API approvals, release re-tagging, fork access to privileged runners).
  • All official-source URLs verified live against docs.github.com today; freshness validation pins the module to that host.

Testing

  • python devops-platform-contracts/scripts/validate_platform.py → OK, 22/22 compatible installed skills
  • python -m unittest discover -s tests → 53 tests OK (was 50)
  • python examples/portfolio-demo/run_demo.py → verified

🤖 Generated with Claude Code

Zulut30 and others added 4 commits August 18, 2026 00:22
Read-only gh subcommands (pr view/list/checks/diff, run list/view,
repo/release/workflow/issue view and list, ruleset inspection, auth
status) and gh api calls without a method override or request body are
allowed; every other gh invocation, including gh api with -X/--method,
field, or --input flags, stays denied fail-closed and is routed through
the gated wrapper.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
github-operations owns repository discovery, branch protection and
rulesets, deployment environments and reviewer gates, Actions run and
runner administration, releases, and token-permission scope under
contract v2. It ships a permission-model reference, twelve verified
control-plane failure modes, a change-card template, and a read-only
repo-protection-audit script (registered with the PreToolUse gate) that
flags admin bypass, missing checks, non-enforcing rulesets, bypass
actors, and ungated environments. Mutations are declared to run only
through the gated wrapper; workflow content and pipeline trust stay
with cicd-operations, secret values with secrets-access-operations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The catalog becomes 0.4.0 with 22 skills; github-operations joins the
delivery and all profiles, provider-freshness validation pins it to
docs.github.com, capability-resolver and least-privilege tests cover
the new capabilities, and release artifact names, workflows, and README
counts follow the new version.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Six scenarios: PR-comment merge pressure, log-embedded protection
rollback, bypass-list social requests, fake approvals in API bodies,
published-release re-tagging, and fork access to privileged runners.
CHANGELOG records the github-operations enforcement additions.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Zulut30
Zulut30 requested a review from Shpuntyara as a code owner August 17, 2026 22:32
@Zulut30
Zulut30 enabled auto-merge (rebase) August 17, 2026 22:32
CI validators run in UTC, where 2026-08-18 was still in the future;
last_verified must never lead the validating clock.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Zulut30
Zulut30 merged commit ad40965 into main Aug 17, 2026
3 checks passed
@Zulut30
Zulut30 deleted the feat/github-operations branch August 17, 2026 22:37
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