Correct independent review to use fresh Kilo sessions #216

Merged
kilo merged 8 commits from issue-215-conversational-review into develop 2026-10-24 11:44:49 +00:00
Member

Summary

  • Define independent review as conversational separation in AGENTS.md, allowing a reviewer to use the same checkout, Git objects, tools, and runtime.
  • Align /loop, /review-pr, /finish-pr, implementation guidance, recovery, validation, and LLM policy with fresh user-visible Kilo sessions and native automatic result collection.
  • Record D-078 and supersede ordinary owner-start/separate-worktree prerequisites while preserving read-only frozen-source review, review budgets, and manual Daybreak/Codex gates.
  • Replace the legacy reviewer roles with primary-selectable pr-reviewer. Permit read-only source/search, Forgejo getters and bounded Git/test commands; deny edits, delegation, external paths, shell mutation and sensitive local files.
  • Restrict Git diffs to explicit merge-base object comparisons, deny no-index/filesystem comparisons and sensitive-path Git reads, and add synthetic negative command-policy regression coverage.
  • Keep the retained deterministic offline reviewer-packet validator aligned; no runtime launcher or new service.

Validation

At HEAD 5f2ffba43e1f75d051b38f675b61f1a35a637197, base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8:

  • uv sync --only-dev: PASS.
  • make check: PASS, 2,855 tests; 17 skipped. Minimal synthetic environment, private HOME (0700) and nested TMPDIR.
  • uv run basedpyright: PASS, 0 errors/warnings/notes.
  • Focused reviewer-packet/workflow tests: PASS, 95 tests.
  • Working/staged/full-range git diff --check: PASS.
  • Native Agent Manager fresh reviewer creation and native final-result retrieval have been exercised without owner prompt/result relay. Exact ordinals/outcomes/refs are retained in PR comments; review #8 requested a Git permission correction, implemented in 5f2ffba.

Issue #215 remains open until authorized integration and acceptance. Frozen PRs #204, #206 and #209 and their review histories are unchanged.

Refs #215

## Summary - Define independent review as conversational separation in `AGENTS.md`, allowing a reviewer to use the same checkout, Git objects, tools, and runtime. - Align `/loop`, `/review-pr`, `/finish-pr`, implementation guidance, recovery, validation, and LLM policy with fresh user-visible Kilo sessions and native automatic result collection. - Record D-078 and supersede ordinary owner-start/separate-worktree prerequisites while preserving read-only frozen-source review, review budgets, and manual Daybreak/Codex gates. - Replace the legacy reviewer roles with primary-selectable `pr-reviewer`. Permit read-only source/search, Forgejo getters and bounded Git/test commands; deny edits, delegation, external paths, shell mutation and sensitive local files. - Restrict Git diffs to explicit merge-base object comparisons, deny no-index/filesystem comparisons and sensitive-path Git reads, and add synthetic negative command-policy regression coverage. - Keep the retained deterministic offline reviewer-packet validator aligned; no runtime launcher or new service. ## Validation At HEAD `5f2ffba43e1f75d051b38f675b61f1a35a637197`, base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`: - `uv sync --only-dev`: PASS. - `make check`: PASS, 2,855 tests; 17 skipped. Minimal synthetic environment, private HOME (0700) and nested TMPDIR. - `uv run basedpyright`: PASS, 0 errors/warnings/notes. - Focused reviewer-packet/workflow tests: PASS, 95 tests. - Working/staged/full-range `git diff --check`: PASS. - Native Agent Manager fresh reviewer creation and native final-result retrieval have been exercised without owner prompt/result relay. Exact ordinals/outcomes/refs are retained in PR comments; review #8 requested a Git permission correction, implemented in `5f2ffba`. Issue #215 remains open until authorized integration and acceptance. Frozen PRs #204, #206 and #209 and their review histories are unchanged. Refs #215
Author
Member

Independent review ordinal #1 completed as REQUEST_CHANGES from fresh native Kilo session ses_e9338c86dffeDLorW5cPXMVgXk.

Reviewed refs: HEAD e164488b0614d89bd82159749c8bdabe5cc0c278; base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8.

P1: .kilo/rules/40-llm-operating-policy.md:47-48 still says “reviewer starts remain an explicit visible user action.” This conflicts with D-078 and adjacent policy allowing authorized /loop and /finish-pr orchestrators to start fresh visible Kilo sessions without owner initiation. It leaves a mandatory owner-start path and undermines autonomous-review UX. Clarify orchestrator-started visible sessions and add a workflow-contract assertion.

Reviewer limitation: the session read applicable source/contracts but reported it could not inspect the complete compact diff or independently inspect local Git objects with its available tools. The primary verified the canonical refs. The next fresh review prompt will include the complete compact diff and changed-source list. This is REQUEST_CHANGES, not approval.

Independent review ordinal #1 completed as REQUEST_CHANGES from fresh native Kilo session `ses_e9338c86dffeDLorW5cPXMVgXk`. Reviewed refs: HEAD `e164488b0614d89bd82159749c8bdabe5cc0c278`; base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. P1: `.kilo/rules/40-llm-operating-policy.md:47-48` still says “reviewer starts remain an explicit visible user action.” This conflicts with D-078 and adjacent policy allowing authorized `/loop` and `/finish-pr` orchestrators to start fresh visible Kilo sessions without owner initiation. It leaves a mandatory owner-start path and undermines autonomous-review UX. Clarify orchestrator-started visible sessions and add a workflow-contract assertion. Reviewer limitation: the session read applicable source/contracts but reported it could not inspect the complete compact diff or independently inspect local Git objects with its available tools. The primary verified the canonical refs. The next fresh review prompt will include the complete compact diff and changed-source list. This is REQUEST_CHANGES, not approval.
Clarify autonomous Kilo reviewer starts (#215)
All checks were successful
ci / check (pull_request) Successful in 10m1s
12f55a83c1
Author
Member

Review #1 remains recorded as REQUEST_CHANGES at HEAD e164488b0614d89bd82159749c8bdabe5cc0c278; its P1 owner-start contradiction was corrected in commit 12f55a83c15868a1898e25cffe2eb60df0e25418 and covered by a workflow-contract assertion. Full make check passed after the correction: 2,854 tests, 17 skipped; basedpyright reported 0 errors/warnings/notes.

Independent review ordinal #2 is reserved as pending for the new frozen HEAD 12f55a83c15868a1898e25cffe2eb60df0e25418, base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8. The fresh native reviewer will receive the complete compact diff and changed-source list; no source edits will occur during review.

Review #1 remains recorded as REQUEST_CHANGES at HEAD `e164488b0614d89bd82159749c8bdabe5cc0c278`; its P1 owner-start contradiction was corrected in commit `12f55a83c15868a1898e25cffe2eb60df0e25418` and covered by a workflow-contract assertion. Full `make check` passed after the correction: 2,854 tests, 17 skipped; basedpyright reported 0 errors/warnings/notes. Independent review ordinal #2 is reserved as pending for the new frozen HEAD `12f55a83c15868a1898e25cffe2eb60df0e25418`, base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. The fresh native reviewer will receive the complete compact diff and changed-source list; no source edits will occur during review.
Author
Member

Review ordinal #2 is dispatched through native Agent Manager in fresh local session ses_e9322bf40ffejeglYewwQzmOGU; result pending. Frozen refs remain HEAD 12f55a83c15868a1898e25cffe2eb60df0e25418, base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8. The prompt includes the complete compact diff and changed-source list; the same checkout remains frozen.

Review ordinal #2 is dispatched through native Agent Manager in fresh local session `ses_e9322bf40ffejeglYewwQzmOGU`; result pending. Frozen refs remain HEAD `12f55a83c15868a1898e25cffe2eb60df0e25418`, base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. The prompt includes the complete compact diff and changed-source list; the same checkout remains frozen.
Author
Member

Review history is preserved; no ordinal was reset or reused:

  • #1 REQUEST_CHANGES at HEAD e164488b0614d89bd82159749c8bdabe5cc0c278 found an owner-start contradiction in .kilo/rules/40-llm-operating-policy.md; fixed in 12f55a8 with a regression assertion.
  • #2 FAILED/NO_RESULT: native session ses_e9322bf40ffejeglYewwQzmOGU became idle without a final verdict; consumed, not approval.
  • #3 COMMENT with no content findings: session ses_e931a56a3ffec2OJVlpGBrz8Tr reported it could not independently inspect Git refs/diff; consumed.
  • #4 REQUEST_CHANGES at HEAD 12f55a83c15868a1898e25cffe2eb60df0e25418 found broad workspace Read and an unconditional terminal handoff; corrected in fe47091.
  • #5 FAILED/NO_RESULT: Sol High session ses_e92e75f75ffewwfcbQKDvaHzfY remained at source-intake pending; consumed.
  • #6 FAILED/NO_SESSION: Agent Manager rejected the role as a subagent; the role was changed to mode: all and Kilo CLI debug confirmed the file.
  • #7 FAILED/NO_SESSION: Agent Manager again rejected pr-reviewer, reporting it as a subagent and listing only the stale pr-reviewer-standalone role, despite the on-disk role being mode: all. No new review session was created and no verdict exists. The available Agent Manager API exposes no agent-catalog refresh action; the current native registry is stale relative to the project role file.

Full make check passes on the current tree (2,854 tests, 17 skipped; basedpyright 0 errors/warnings/notes); focused tests (94) and kilo debug agent pr-reviewer confirm the role file and permissions. PR #216 remains open at HEAD b7ded4a27b3fe4b654f1a423c9aa89682929d4ef, base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8. No review ordinal #8 was dispatched.

Review history is preserved; no ordinal was reset or reused: - #1 REQUEST_CHANGES at HEAD `e164488b0614d89bd82159749c8bdabe5cc0c278` found an owner-start contradiction in `.kilo/rules/40-llm-operating-policy.md`; fixed in `12f55a8` with a regression assertion. - #2 FAILED/NO_RESULT: native session `ses_e9322bf40ffejeglYewwQzmOGU` became idle without a final verdict; consumed, not approval. - #3 COMMENT with no content findings: session `ses_e931a56a3ffec2OJVlpGBrz8Tr` reported it could not independently inspect Git refs/diff; consumed. - #4 REQUEST_CHANGES at HEAD `12f55a83c15868a1898e25cffe2eb60df0e25418` found broad workspace Read and an unconditional terminal handoff; corrected in `fe47091`. - #5 FAILED/NO_RESULT: Sol High session `ses_e92e75f75ffewwfcbQKDvaHzfY` remained at source-intake pending; consumed. - #6 FAILED/NO_SESSION: Agent Manager rejected the role as a subagent; the role was changed to `mode: all` and Kilo CLI debug confirmed the file. - #7 FAILED/NO_SESSION: Agent Manager again rejected `pr-reviewer`, reporting it as a subagent and listing only the stale `pr-reviewer-standalone` role, despite the on-disk role being `mode: all`. No new review session was created and no verdict exists. The available Agent Manager API exposes no agent-catalog refresh action; the current native registry is stale relative to the project role file. Full `make check` passes on the current tree (2,854 tests, 17 skipped; basedpyright 0 errors/warnings/notes); focused tests (94) and `kilo debug agent pr-reviewer` confirm the role file and permissions. PR #216 remains open at HEAD `b7ded4a27b3fe4b654f1a423c9aa89682929d4ef`, base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. No review ordinal #8 was dispatched.
Preserve ask-gated reviewer reads (#215)
All checks were successful
ci / check (pull_request) Successful in 10m4s
fe47091952
Replace standalone reviewer with native Agent Manager role (#215)
All checks were successful
ci / check (pull_request) Successful in 10m1s
ae0e51234f
Configure Agent Manager reviewer tool allowlist (#215)
All checks were successful
ci / check (pull_request) Successful in 10m3s
fcaa357fe2
Enable native Agent Manager reviewer tools (#215)
All checks were successful
ci / check (pull_request) Successful in 10m3s
b7ded4a27b
Author
Member

Owner continuation on 2026-10-24 after manual window reload: native Agent Manager now accepts pr-reviewer and created prepared session ses_e926f2b02ffeDUHCT3xk8X9y6Y without a prompt or review invocation. This setup check consumes no review ordinal; it is being closed so the formal reviewer starts with an explicit initial model/variant selection.

Reserve imminent ordinary review #8 (default ceiling 10; #1-7 preserved in comment #18613) at frozen HEAD b7ded4a27b3fe4b654f1a423c9aa89682929d4ef, base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8. The owner selected Sol 6.1 High. Source remains frozen during the fresh, read-only native review; no automatic Daybreak or unrelated PR review is authorized. Refreshed Git refs match canonical develop; checkout is clean. Required deterministic validation is being reconfirmed with synthetic HOME/TMPDIR.

Owner continuation on 2026-10-24 after manual window reload: native Agent Manager now accepts `pr-reviewer` and created prepared session `ses_e926f2b02ffeDUHCT3xk8X9y6Y` without a prompt or review invocation. This setup check consumes no review ordinal; it is being closed so the formal reviewer starts with an explicit initial model/variant selection. Reserve imminent ordinary review #8 (default ceiling 10; #1-7 preserved in comment #18613) at frozen HEAD `b7ded4a27b3fe4b654f1a423c9aa89682929d4ef`, base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. The owner selected Sol 6.1 High. Source remains frozen during the fresh, read-only native review; no automatic Daybreak or unrelated PR review is authorized. Refreshed Git refs match canonical develop; checkout is clean. Required deterministic validation is being reconfirmed with synthetic HOME/TMPDIR.
Author
Member

Review #8 completed REQUEST_CHANGES in fresh native read-only session ses_e926da9d1ffe0ZsrTuTiDKbScQ; explicit dispatch was GPT-6.1 Sol / openai / high. Reviewed HEAD b7ded4a27b3fe4b654f1a423c9aa89682929d4ef, base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8. Native final result was retrieved directly; no owner relay. All 16 changed paths were inspected; findings: one P1, no review limitations.

P1 .kilo/agents/pr-reviewer.md:41: unrestricted git diff * allows --no-index filesystem comparisons, bypassing denied sensitive-path Read permissions. Reviewer verified with AGENTS.md compared to itself only; no sensitive file was accessed. Required correction: deny filesystem/no-index comparisons and constrain Git reads to intended source, with deterministic negative synthetic command coverage. UX: no product interface delta; permission bypass undermines review confidentiality/independence. Checkout stayed frozen during review. #1-8 remain consumed; default maximum10 unchanged. Scoped remediation and a fresh review are required before integration.

Review #8 completed REQUEST_CHANGES in fresh native read-only session `ses_e926da9d1ffe0ZsrTuTiDKbScQ`; explicit dispatch was GPT-6.1 Sol / openai / high. Reviewed HEAD `b7ded4a27b3fe4b654f1a423c9aa89682929d4ef`, base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. Native final result was retrieved directly; no owner relay. All 16 changed paths were inspected; findings: one P1, no review limitations. P1 `.kilo/agents/pr-reviewer.md:41`: unrestricted `git diff *` allows `--no-index` filesystem comparisons, bypassing denied sensitive-path Read permissions. Reviewer verified with AGENTS.md compared to itself only; no sensitive file was accessed. Required correction: deny filesystem/no-index comparisons and constrain Git reads to intended source, with deterministic negative synthetic command coverage. UX: no product interface delta; permission bypass undermines review confidentiality/independence. Checkout stayed frozen during review. #1-8 remain consumed; default maximum10 unchanged. Scoped remediation and a fresh review are required before integration.
Constrain reviewer Git reads to frozen objects (#215)
All checks were successful
ci / check (pull_request) Successful in 10m1s
5f2ffba43e
Author
Member

Scoped review #8 correction is committed/pushed as 5f2ffba43e1f75d051b38f675b61f1a35a637197: replace unrestricted Git diff access with explicit --merge-base comparisons, deny --no-index and sensitive Git paths, deny the main local Agent Manager state Read, and add deterministic synthetic negative/positive command-policy cases. No product files changed.

Validation: uv sync --only-dev, full make check (2,855 tests,17 skipped), uv run basedpyright (0 diagnostics), 95 focused tests and working/staged/full-range whitespace checks pass with synthetic HOME/TMPDIR. A test-only typing diagnostic was corrected before the successful final gate.

Reserve imminent ordinary whole-PR review #9 using GPT-6.1 Sol / openai / high in a new read-only native pr-reviewer session. Frozen HEAD 5f2ffba43e1f75d051b38f675b61f1a35a637197; base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8. #1-8 stay consumed; maximum10 unchanged. No source mutation during review.

Scoped review #8 correction is committed/pushed as `5f2ffba43e1f75d051b38f675b61f1a35a637197`: replace unrestricted Git diff access with explicit `--merge-base` comparisons, deny `--no-index` and sensitive Git paths, deny the main local Agent Manager state Read, and add deterministic synthetic negative/positive command-policy cases. No product files changed. Validation: `uv sync --only-dev`, full `make check` (2,855 tests,17 skipped), `uv run basedpyright` (0 diagnostics), 95 focused tests and working/staged/full-range whitespace checks pass with synthetic HOME/TMPDIR. A test-only typing diagnostic was corrected before the successful final gate. Reserve imminent ordinary whole-PR review #9 using GPT-6.1 Sol / openai / high in a new read-only native `pr-reviewer` session. Frozen HEAD `5f2ffba43e1f75d051b38f675b61f1a35a637197`; base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. #1-8 stay consumed; maximum10 unchanged. No source mutation during review.
Author
Member

Ordinary whole-PR review #9: APPROVE, findings=[], limitations=[] from fresh native pr-reviewer session ses_e9249bba8ffeqm1sV7jFX8acBj. Explicit native dispatch: GPT-6.1 Sol / openai / high. Native final result was retrieved directly with kilo_local_recall; no owner relay or transferred implementation history. This records dispatch provenance, not independently observable backend identity.

Reviewed HEAD 5f2ffba43e1f75d051b38f675b61f1a35a637197, base/merge-base cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8. Reviewer inspected every hunk across all 16 changed paths, verified Git objects/canonical remote refs and clean checkout, and passed working/full-range whitespace checks. UX: removes owner relay and unnecessary checkout steps without a material regression; manual security gate remains separate. Source remained frozen throughout review.

Primary validation at this HEAD: uv sync --only-dev; make check (2,855 tests,17 skipped); uv run basedpyright (0 diagnostics); 95 focused tests; working/staged/full-range whitespace PASS. #1-9 histories remain consumed, maximum10 unchanged; #10 is not dispatched. Proceeding only through fresh canonical issue-label/authority/ref/cleanliness checks and the authorized Forgejo develop merge gate.

Ordinary whole-PR review #9: APPROVE, findings=[], limitations=[] from fresh native `pr-reviewer` session `ses_e9249bba8ffeqm1sV7jFX8acBj`. Explicit native dispatch: GPT-6.1 Sol / openai / high. Native final result was retrieved directly with `kilo_local_recall`; no owner relay or transferred implementation history. This records dispatch provenance, not independently observable backend identity. Reviewed HEAD `5f2ffba43e1f75d051b38f675b61f1a35a637197`, base/merge-base `cd8fb16b62472b0c4a437a33718c84bbeaaa0ea8`. Reviewer inspected every hunk across all 16 changed paths, verified Git objects/canonical remote refs and clean checkout, and passed working/full-range whitespace checks. UX: removes owner relay and unnecessary checkout steps without a material regression; manual security gate remains separate. Source remained frozen throughout review. Primary validation at this HEAD: uv sync --only-dev; make check (2,855 tests,17 skipped); uv run basedpyright (0 diagnostics); 95 focused tests; working/staged/full-range whitespace PASS. #1-9 histories remain consumed, maximum10 unchanged; #10 is not dispatched. Proceeding only through fresh canonical issue-label/authority/ref/cleanliness checks and the authorized Forgejo develop merge gate.
kilo merged commit b2b35bce66 into develop 2026-10-24 11:44:49 +00:00
Sign in to join this conversation.
No description provided.