项目文件夹

文件
tommylauren 7e1aa0f977 feat: add review-agent-governance plugin (closes review-bot failure class)
Second inhabitant of the `governance` category. Addresses the failure mode
where an AI agent posts PR reviews, comments, merges, or edits CI config
without a human gate. Directly inspired by the Hermes-style incident
pattern where review-bot hallucinations produce account-linked damage.

Components
──────────
- plugin.json, README.md, skills/review-agent-setup/SKILL.md
- agents/review-policy-author.md (sonnet) — Cedar author specialized in
  review-surface gating across GitHub / GitLab / protected branches /
  CI paths / notification surfaces
- commands/approve-review.md — opens an approval window via ./.review-approved
  flag file, records the reason in ./review-receipts/approvals/
- commands/list-pending.md — walks the receipt chain to show recent denials
  (the set of actions the agent tried that were blocked)
- hooks/hooks.json — PreToolUse gate + PostToolUse sign
- policies/review-agent-governance.cedar — default Cedar policy with five
  forbid rules covering gh/glab review actions, protected-branch pushes,
  CI config paths, and WebFetch POSTs to hooks.slack.com / api.github.com

Behavior
────────
By default, the plugin forbids:
  - gh pr review|comment|merge|close|edit, gh issue comment|close|edit,
    gh release create|edit, gh api repos
  - GitLab and Bitbucket equivalents
  - git push to main|master|release|production
  - Writes to .github/workflows/, .gitlab-ci.yml, .circleci/config.yml,
    .github/CODEOWNERS
  - WebFetch POSTs to api.github.com / api.gitlab.com / hooks.slack.com /
    discord.com

Non-review actions pass through unchanged. Composes with protect-mcp for
general policy enforcement; configure separate receipt directories to
keep the chains distinct.

Approval pattern
────────────────
Human opens an approval window by creating ./.review-approved (or via
/approve-review "<reason>"). The PreToolUse hook short-circuits to
permit while the flag is present. Every action, approved or denied,
still produces an Ed25519 receipt, so the chain records exactly what
happened and under what approval.

Marketplace entry
─────────────────
Added under category: "governance" with seven discovery keywords. The
governance category now has two inhabitants (protect-mcp + this one),
which turns it from a vanity category into a real shelf.

Standards
─────────
- Ed25519 (RFC 8032), JCS (RFC 8785), Cedar (AWS)
- IETF draft-farley-acta-signed-receipts
- Uses protect-mcp as its evaluation/signing runtime
2026-04-26 19:52:50 -04:00
..