From d02a55da44782d53e9c6ee2cbc6ab367f277c006 Mon Sep 17 00:00:00 2001 From: Dai Ha Date: Sat, 12 Sep 2026 12:37:55 +0700 Subject: [PATCH] =?UTF-8?q?7-Use-Cases:=20sync=20the=20portable=20CLAUDE.m?= =?UTF-8?q?d=20block=20=E2=80=94=20forge=20MCP=20server=20vs=20the=20worki?= =?UTF-8?q?ng=20GITEA=5FTOKEN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Propagated from claude-bridge CLAUDE.md (commit be07ed2). The block must stay byte-identical with the template here; the sync check in CLAUDE.md reports "in sync: True" after this change. Two sentences changed. Both now name the forge MCP server specifically, and say that the repo-scoped GITEA_TOKEN the daemon injects is a separate route that does work, so a worker never skips opening its own PR because an MCP forge tool failed. --- 7-Use-Cases.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/7-Use-Cases.md b/7-Use-Cases.md index 0bd1330..37a3804 100644 --- a/7-Use-Cases.md +++ b/7-Use-Cases.md @@ -401,8 +401,10 @@ below are the procedure — run them in order, every task, not only the big ones that answers it. **A worker's ask waits ~55 seconds, and no nudge makes that longer** — so never brief a worker to "ask me". Decide before you delegate, or give it an explicit default. 6. **Verify yourself.** Re-run the build and the checks. A worker cannot run your IDE tooling, any - forge tools it appears to have hold a blocked credential and fail, and a piped command - (`… | tail`) hides failures behind a zero exit — never promote a worker's "clean" to a fact. + forge MCP server it appears to have holds a blocked credential and fails every call, and a piped + command (`… | tail`) hides failures behind a zero exit — never promote a worker's "clean" to a + fact. Its injected repo-scoped `GITEA_TOKEN` is a different credential and does work, so a worker + reporting that it opened its own PR is reporting something it really can do. 7. **Review — fan out.** Spawn reviewers against the diff, one per dimension or per file, with `wait:false`. Never the implementer of the scope it reviews, and brief them from the diff — not from the implementer's rationale, which carries its own blind spot. Dispatch each PR's reviewers @@ -505,8 +507,11 @@ simply complies has thrown away the reason there are two of you. assume them.** What you mount depends on your backend: an opencode member gets the bridge and nothing else, while a Claude Code member also inherits the operator's user-scope MCP servers, which the bridge never chose for you. Two rules follow. The primary's IDE tooling is still not - yours, whatever you see. And **a mounted tool is not a working tool** — the forge server you may - find there holds a deliberately blocked credential and fails every call, by design. + yours, whatever you see. And **a mounted tool is not a working tool** — the forge MCP server you + may find there holds a deliberately blocked credential and fails every call, by design. That is + not your only forge route, and the two must not be confused: the repo-scoped `GITEA_TOKEN` the + daemon injects into your environment does work, and using it to open your own PR is part of the + job. A blocked MCP tool is never a reason to skip that step. 6. **Never merge.** Stage files explicitly — never `git add -A` — and leave alone anything the project marks as not-yours-to-commit.