diff --git a/CLAUDE.md b/CLAUDE.md index f2372db..69f77b4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -81,9 +81,9 @@ below are the procedure — run them in order, every task, not only the big ones 5. **Collect** — `bridge_poll{ticket}` → `bridge_ack{ticket, msgId}`. Answer a worker's `bridge_ask` with `bridge_send{turnId, content}` — **not** `sessionId`. A worker gone quiet is diagnosed with `bridge_status`, never by reading its terminal. -6. **Verify yourself.** Re-run the build and the checks. A worker mounts only the bridge MCP and - cannot run your other tooling, and a piped command (`… | tail`) hides failures behind a zero - exit — never promote a worker's "clean" to a fact. +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. 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 @@ -155,9 +155,13 @@ you. without replying, the bridge scrapes your pane, and it can return only the last 4000 characters. A clipped scrape is marked as partial, but the missing text is gone — your report reaches the lead with its end cut off. -5. **Report honestly.** State only what you actually ran and its real output, including failures. - You mount **only** the bridge MCP — the primary's other servers (IDE, forge, docs) are not yours, - so never claim the result of a check you had no way to run. +5. **Report honestly.** State only what you actually ran and its real output, including failures, + and never claim the result of a check you had no way to run. **Measure your own tools; do not + 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. 6. **Never merge.** Stage files explicitly — never `git add -A` — and leave alone anything the project marks as not-yours-to-commit.