Repository navigation
feat(#6966): make the review role's repo read-only in agent new - #7915
Conversation
The fleet's review harness sets readonly_repo, so the checked-out repository is read-only in the sandbox and a reviewer cannot modify the code it reviews. A review agent generated by `fullsend agent new` did not set it. Add ReadonlyRepo to the role table, set it for review only, and carry it into the generated harness. Tests pin the role table and the emitted harness YAML; docs/cli/agent.md notes it under the role table. The triage and validation-loop goldens are unaffected. Assisted-by: Claude (fix), Claude (review) Signed-off-by: Wayne Sun <gsun@redhat.com>
PR Summary by QodoGenerate read-only repositories for review agents
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
Code Review by Qodo
1.
|
|
🤖 Finished Review · ✅ Success · Started 2:51 PM UTC · Completed 3:31 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $2.74 |
Site previewPreview: https://9d82e5c0-site.fullsend-ai.workers.dev Commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
ReviewFindingsHigh
Low
Next steps:
|
ggallen
left a comment
There was a problem hiding this comment.
Reviewed the changes and found no actionable issues.
Use RoleNames() for a deterministic order and %q for the role name, like the other role-table tests. Assisted-by: Claude (fix), Claude (review) Signed-off-by: Wayne Sun <gsun@redhat.com>
|
🤖 Finished Review · ✅ Success · Started 3:44 PM UTC · Completed 4:21 PM UTC Commit: Runtime: pi · Model: sonnet → claude-sonnet-5 · Effort: high · Cost: $1.99 |
|
Review skipped — this PR is already merged. The Posted by fullsend post-review check |
Regenerated from fullsend main (which has fullsend-ai/fullsend#7915) with #7914 (c057eb8f4) and #7917 (2863b89d8, which includes #7916) merged in. Only post-link-check.sh changed: the dry-run findings preview prints model output, and under GitHub Actions a line starting with "::" is a workflow command, so the preview now sits inside a stop-commands block opened and closed by a random 32-hex token. A new test feeds a comment carrying a "::warning::" line and requires the preview to open with ::stop-commands::<32 hex>, close with the same token, and keep the model's line inside. The truncation-cap test now measures the comment without that framing. Assisted-by: Claude (fix), Claude (review) Signed-off-by: Wayne Sun <gsun@redhat.com>
Regenerated from fullsend main (which has fullsend-ai/fullsend#7915) with #7914 (c057eb8f4) and #7917 (2863b89d8, which includes #7916) merged in. Only post-link-check.sh changed: the dry-run findings preview prints model output, and under GitHub Actions a line starting with "::" is a workflow command, so the preview now sits inside a stop-commands block opened and closed by a random 32-hex token. A new test feeds a comment carrying a "::warning::" line and requires the preview to open with ::stop-commands::<32 hex>, close with the same token, and keep the model's line inside. The truncation-cap test now measures the comment without that framing. Assisted-by: Claude (fix), Claude (review) Signed-off-by: Wayne Sun <gsun@redhat.com>
What
fullsend agent new --role reviewnow generatesreadonly_repo: true, so the checked-out repository is read-only in the sandbox and the reviewer cannot modify the code it reviews.Why
The fleet's review harness in fullsend-ai/agents (
harness/review.yaml) setsreadonly_repo; a generated review agent did not.Changes
Role.ReadonlyRepois added to the role table and set forreviewonly.buildHarnesscarries it into the emitted harness.docs/cli/agent.md.Tests
TestReviewRoleMountsTheRepositoryReadOnlypins the role table.TestRoleImageReachesTheHarnessnow also checks thatreadonly_reporeaches the emitted harness.ReadonlyRepo: true, and dropping the render wiring.Split out of #7243. Part of #6966.
🤖 Generated with Claude Code