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

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

Problem

.kilo/agents/pr-reviewer.md makes anonymous canonical git ls-remote a review prerequisite, blocking private repositories or reviewers without Git transport access.

Authorized behavior and scope

Use read-only Forgejo MCP metadata to verify owning repository identity, current open PR, head/base refs and exact commit identities. Independently verify the primary-prepared clean local checkout, exact SHA objects, merge base and complete whole-PR diff. Anonymous git ls-remote is optional additional evidence only. Keep credentials unavailable to model/shell and prevent MCP token disclosure. Use normal Git for implementation fetch/branch/commit/push; no reviewer MCP file writes or repository mutations. Preserve fresh context, frozen HEAD/base, ordinal accounting, provider/model policy, full validation and existing CI/merge authority.

Affected: .kilo/agents/pr-reviewer.md, applicable command/rule references and semantic workflow contract tests only as needed.

Acceptance

A private/no-anonymous-Git test case is reviewable only with matching canonical MCP metadata and prepared exact local objects; missing/mismatched evidence refuses approval. Preserve existing security and acceptance gates.

Non-goals

No implementation/integration, credentials, MCP writes, or relaxation of review/security/validation requirements.

## Problem `.kilo/agents/pr-reviewer.md` makes anonymous canonical `git ls-remote` a review prerequisite, blocking private repositories or reviewers without Git transport access. ## Authorized behavior and scope Use read-only Forgejo MCP metadata to verify owning repository identity, current open PR, head/base refs and exact commit identities. Independently verify the primary-prepared clean local checkout, exact SHA objects, merge base and complete whole-PR diff. Anonymous `git ls-remote` is optional additional evidence only. Keep credentials unavailable to model/shell and prevent MCP token disclosure. Use normal Git for implementation fetch/branch/commit/push; no reviewer MCP file writes or repository mutations. Preserve fresh context, frozen HEAD/base, ordinal accounting, provider/model policy, full validation and existing CI/merge authority. Affected: `.kilo/agents/pr-reviewer.md`, applicable command/rule references and semantic workflow contract tests only as needed. ## Acceptance A private/no-anonymous-Git test case is reviewable only with matching canonical MCP metadata and prepared exact local objects; missing/mismatched evidence refuses approval. Preserve existing security and acceptance gates. ## Non-goals No implementation/integration, credentials, MCP writes, or relaxation of review/security/validation requirements.
Author
Member

Implementation is on PR #27: #27 (issue-26-private-forgejo-review), based on 2b73960b56cf89a8d1b7141ac950d9887990a757, HEAD d92aa78bfa374e8fc20a078bee6710225e475ca6. The reviewer contract now requires canonical read-only Forgejo MCP metadata plus exact clean local objects/merge-base/full diff; anonymous git ls-remote is not a prerequisite. Missing or mismatched evidence yields COMMENT; reviewer remains read-only and credentials are not exposed. Focused workflow tests passed (16); make check passed (21 tests, formatting, Markdown, links, secret scan, strict TypeScript, ephemeral build/license validation). No dependencies changed. Continuing through independent review; no live private-Forgejo runtime review is claimed. Issue remains open.

Implementation is on PR #27: https://forgejo.creatidy.com/Creatidy/creatidy-console/pulls/27 (`issue-26-private-forgejo-review`), based on `2b73960b56cf89a8d1b7141ac950d9887990a757`, HEAD `d92aa78bfa374e8fc20a078bee6710225e475ca6`. The reviewer contract now requires canonical read-only Forgejo MCP metadata plus exact clean local objects/merge-base/full diff; anonymous `git ls-remote` is not a prerequisite. Missing or mismatched evidence yields COMMENT; reviewer remains read-only and credentials are not exposed. Focused workflow tests passed (16); `make check` passed (21 tests, formatting, Markdown, links, secret scan, strict TypeScript, ephemeral build/license validation). No dependencies changed. Continuing through independent review; no live private-Forgejo runtime review is claimed. Issue remains open.
Author
Member

PR #27 now has independent whole-PR review APPROVE (ordinal 2/10), no findings, on exact HEAD 7d2915843b9556e15a98d8b8533cbfa01da44904 against base/merge-base 2b73960b56cf89a8d1b7141ac950d9887990a757. Ordinal 1/10 was a COMMENT from a denied compound Git verification command; that Class A execution mismatch was addressed by documenting and testing individually allowed read-only Git checks, then revalidating and pushing the same PR. Final MCP confirms PR #27 remains open/unmerged, targets develop, and has matching head/base/repository identity; final local checkout is clean at the reviewed HEAD. make check passes (21 tests and all lint/type/build/license gates). Standalone handoff is READY_TO_MERGE; no merge or issue closure was performed, and #26 remains open.

PR #27 now has independent whole-PR review APPROVE (ordinal 2/10), no findings, on exact HEAD `7d2915843b9556e15a98d8b8533cbfa01da44904` against base/merge-base `2b73960b56cf89a8d1b7141ac950d9887990a757`. Ordinal 1/10 was a COMMENT from a denied compound Git verification command; that Class A execution mismatch was addressed by documenting and testing individually allowed read-only Git checks, then revalidating and pushing the same PR. Final MCP confirms PR #27 remains open/unmerged, targets `develop`, and has matching head/base/repository identity; final local checkout is clean at the reviewed HEAD. `make check` passes (21 tests and all lint/type/build/license gates). Standalone handoff is READY_TO_MERGE; no merge or issue closure was performed, and #26 remains open.
Sign in to join this conversation.
No labels
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-console#26
No description provided.