charter: separate the blocked forge MCP server from the working GITEA_TOKEN
Two worker reports said they had working forge access, which looked like it contradicted the charter's "any forge tools it appears to have hold a blocked credential and fail". Measured: the charter is correct and the reports are correct. They are about two different credentials. A worker opens its own PR with curl and a repo-scoped GITEA_TOKEN that the daemon injects (.claude/skills/implementer/SKILL.md step 5, lines 96-117). That route works — it is how every worker PR this week was opened. The blocked credential belongs to the forge MCP server that leaks in from the operator's user-scope ~/.claude.json, which is a separate thing and does fail every call. The wording did not distinguish them. A worker reading "any forge tools it appears to have hold a blocked credential and fail" could reasonably conclude it cannot reach the forge at all, and skip opening its PR — the one step the lead depends on. So this is an ambiguity with a cost, not a stale line. Both sentences now name the MCP server specifically and say plainly that the injected token is a different, working route. The canonical block and the wiki template must stay byte-identical. The wiki submodule is updated in its own tree and the official sync check reports "in sync: True". The submodule pointer stays unstaged, per the repo rules.
This commit is contained in:
@@ -96,8 +96,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
|
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.
|
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
|
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
|
forge MCP server it appears to have holds a blocked credential and fails every call, and a piped
|
||||||
(`… | tail`) hides failures behind a zero exit — never promote a worker's "clean" to a fact.
|
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
|
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
|
`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
|
from the implementer's rationale, which carries its own blind spot. Dispatch each PR's reviewers
|
||||||
@@ -200,8 +202,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
|
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,
|
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
|
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
|
yours, whatever you see. And **a mounted tool is not a working tool** — the forge MCP server you
|
||||||
find there holds a deliberately blocked credential and fails every call, by design.
|
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
|
6. **Never merge.** Stage files explicitly — never `git add -A` — and leave alone anything the
|
||||||
project marks as not-yours-to-commit.
|
project marks as not-yours-to-commit.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user