[P1][workflow] Allow private Forgejo MCP reads in independent PR review #86

Closed
opened 2026-10-11 15:37:50 +00:00 by kilo · 1 comment
Member

Problem

.kilo/agents/pr-reviewer.md makes anonymous canonical git ls-remote mandatory, blocking review of private repositories or where the reviewer has no Git transport credentials.

Authorized behavior and scope

Use read-only Forgejo MCP metadata to verify the owning canonical repository, current open PR, head/base refs and exact commit identities. Independently inspect the primary-prepared clean local checkout, exact SHA objects, merge base and complete whole-PR diff. Treat anonymous git ls-remote as optional corroboration, never a prerequisite. Keep reviewer credentials unavailable to model/shell and prevent MCP token disclosure. Normal Git remains implementation fetch/branch/commit/push path; reviewer MCP has no file writes or repository mutation. Preserve fresh independent context, frozen HEAD/base, review ordinal accounting, provider/model policy, validation, CI and merge authority.

Affected: .kilo/agents/pr-reviewer.md, applicable commands/rules and workflow contract tests only as needed.

Acceptance

A private-repository/no-anonymous-Git fixture permits review only with matching canonical MCP metadata and prepared exact local objects; absent/mismatched evidence refuses approval. Retain all existing security and review gates.

Non-goals

No implementation or integration, credential access, MCP writes, or relaxation of independence/security/acceptance requirements.

Note: after eventual integration, reconcile active PR #85 / issue #53 against current develop; preserve its existing review history (9/13) and do not restart its review.

## Problem `.kilo/agents/pr-reviewer.md` makes anonymous canonical `git ls-remote` mandatory, blocking review of private repositories or where the reviewer has no Git transport credentials. ## Authorized behavior and scope Use read-only Forgejo MCP metadata to verify the owning canonical repository, current open PR, head/base refs and exact commit identities. Independently inspect the primary-prepared clean local checkout, exact SHA objects, merge base and complete whole-PR diff. Treat anonymous `git ls-remote` as optional corroboration, never a prerequisite. Keep reviewer credentials unavailable to model/shell and prevent MCP token disclosure. Normal Git remains implementation fetch/branch/commit/push path; reviewer MCP has no file writes or repository mutation. Preserve fresh independent context, frozen HEAD/base, review ordinal accounting, provider/model policy, validation, CI and merge authority. Affected: `.kilo/agents/pr-reviewer.md`, applicable commands/rules and workflow contract tests only as needed. ## Acceptance A private-repository/no-anonymous-Git fixture permits review only with matching canonical MCP metadata and prepared exact local objects; absent/mismatched evidence refuses approval. Retain all existing security and review gates. ## Non-goals No implementation or integration, credential access, MCP writes, or relaxation of independence/security/acceptance requirements. Note: after eventual integration, reconcile active PR #85 / issue #53 against current `develop`; preserve its existing review history (9/13) and do not restart its review.
Author
Member

Implemented and handed off in PR #87, targeting develop.

The independent reviewer now verifies canonical repository/PR/head/base refs and exact commit IDs through read-only Forgejo MCP, then matches them to the primary-prepared clean local objects and reviews the complete merge-base diff. No anonymous Git transport is required; reviewer MCP/Git mutation remains denied.

  • Base: fa157fb3890f29cc36e48677c45a588d3b29b4d0
  • Head: 40f3b5254069056c76e0a9bc5e3052d0f1e71b9d
  • Validation: sanitized make check passed (1429 passed, 85 optional skips, 103 subtests); sanitized make package-check passed; focused contract tests passed (17 tests, 103 subtests).
  • Exact-head canonical CI run #2529: success.
  • Independent review: APPROVE, no findings, exact HEAD/base. The first native reviewer dispatch was incomplete due to sandbox access denial (COMMENT, no findings); a fresh equivalent read-only reviewer then verified MCP currentness, the clean local checkout, full diff and both validation gates.
  • PR #85 / issue #53 were not modified: its active checkout and HEAD 7e8d82bc0ba806e480db4470de1e216c47a9fb97 remain unchanged; its 9/13 review history remains unchanged and no #85 review ordinal was consumed.

PR #87 remains open/unmerged. No issue closure or merge was performed.

Implemented and handed off in [PR #87](https://forgejo.creatidy.com/Creatidy/creatidy-kernel/pulls/87), targeting `develop`. The independent reviewer now verifies canonical repository/PR/head/base refs and exact commit IDs through read-only Forgejo MCP, then matches them to the primary-prepared clean local objects and reviews the complete merge-base diff. No anonymous Git transport is required; reviewer MCP/Git mutation remains denied. - Base: `fa157fb3890f29cc36e48677c45a588d3b29b4d0` - Head: `40f3b5254069056c76e0a9bc5e3052d0f1e71b9d` - Validation: sanitized `make check` passed (1429 passed, 85 optional skips, 103 subtests); sanitized `make package-check` passed; focused contract tests passed (17 tests, 103 subtests). - Exact-head canonical CI run #2529: success. - Independent review: APPROVE, no findings, exact HEAD/base. The first native reviewer dispatch was incomplete due to sandbox access denial (COMMENT, no findings); a fresh equivalent read-only reviewer then verified MCP currentness, the clean local checkout, full diff and both validation gates. - PR #85 / issue #53 were not modified: its active checkout and HEAD `7e8d82bc0ba806e480db4470de1e216c47a9fb97` remain unchanged; its 9/13 review history remains unchanged and no #85 review ordinal was consumed. PR #87 remains open/unmerged. No issue closure or merge was performed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Creatidy/creatidy-kernel#86
No description provided.