fix(agent-permissions-and-tools): give architect context7/codegraph/webfetch; make code-implementer a pure file editor; harden deploy.sh MCP merging #2
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/agent-permissions-and-tools"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
fix(agent-permissions-and-tools): give architect context7/codegraph/webfetch; make code-implementer a pure file editor; harden deploy.sh MCP merging
Summary
Three commits on top of feat/cleanup-pass-1:
302c463fix(tools): enable MCP and missing agent permissions — adds mcp.codegraph, drops the Context7 "api key" placeholder, gives architect webfetch: allow + Research mode, gives security-auditor a git allowlist, gives orchestrator an external_directory allowlist.b972ec5refactor(roles): code-implementer becomes pure file editor — implementer gets read/edit/glob/grep/list: allow and bash/task/external_directory/webfetch: deny; orchestrator learns a shell_requests execution protocol.55a16d1fix(review): address double-blind review findings — security-auditor + arch-quality-reviewer findings: invert external_directory rule order (was a no-op), rewrite stale Constraints section, harden deploy.sh to merge the bundled mcp: block, document a growing URL allowlist, add schema_version: 1 to shell_requests, add pre-check that refuses git operations from shell_requests, tighten git log*/git diff*/git show* patterns, etc.Notes for reviewers
50fb796of that branch).bash workspace/opencode/deploy.sh --checkexits 0 on the final state.Verification
Tech-debt items closed
Follow-up to the review fixes commit. The previous commit removed the Context7
"api key"placeholder entirely; per maintainer feedback, the placeholder served as documentation showing where and how to add a real key. Restored as a//commented example inworkspace/opencode/opencode.jsonc(using the correctCONTEXT7_API_KEYheader — notAuthorization, which is the REST API format). The line is not active, so unauthenticated mode still works at default rate limits. README §Quick start updated to point at the example.