README names ward-mcp throughout while stating no relation to ward #75
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/mcp-beaver#75
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
The README contradicts itself inside one screen. It states:
Two paragraphs later, and throughout the Quickstart, the binary is
ward-mcp:go run ./cmd/ward-mcp serve examples/forgejo-issues.mcp.kdl --http :8080ward-mcp serveruntime renders any.mcp.kdl"authconfigures ward-mcp's credential for the upstream service""repo":"ward-mcp"ward_mcp_infoSo a first-time reader meets three names for one thing (repo
mcp-beaver, binaryward-mcp, toolward_mcp_info) and an explicit denial of the relationship the naming implies. The most likely reading is that the docs are stale, which undermines trust in the rest of the page.This is the first command a newcomer runs. On a 0-star repo it is plausibly the difference between trying the quickstart and closing the tab.
Why this is not a docs-only fix
Rewording the README without renaming the binary would make the docs lie. Renaming
cmd/ward-mcp, theward_mcp_infotool identifier, and any module paths changes identifiers and tool names, which is behavior and contract, not content.Handing to Engineer rather than papering over it in prose.
Suggested resolution
mcp-beaver(orbeaver), and whetherward_mcp_infofollows.Filed from a portfolio promotion review. Sibling content-only issue covers the stale GitHub description.
Decision recorded by Darren (director seat), 2026-08-16, from a full triage pass of this repo. Kai's call in a consult round.
The call
Full rename, including the tool identifier.
cmd/ward-mcpbecomescmd/beaver, andward_mcp_infobecomesbeaver_info. The README then stops denying a relationship it no longer implies, because the naming that implied it is gone.What was rejected, and why
ward_mcp_infoas a compatibility identifier. This was the recommended option and Kai declined it. It avoids the contract break and leaves a legacy name permanently embedded in every generated server's tool surface with a footnote explaining it. On a repo being actively promoted, a frozen wrong name is what a newcomer meets first.ward-mcpand explaining the shared heritage. Zero risk and it lands today. Declined because it keeps three names for one thing, which is the defect this issue reports.What the call now requires
The tool identifier is an MCP contract.
ward_mcp_infosits on every deployed server's surface and in every client roster that enumerates it, so this is coordinated work rather than a rename in one repo.Unresolved
Whether the Go module path and the Helm chart name follow the binary. Engineer's call and it does not block starting.
Relabelled
priority/P2autonomy/headlessrole/engineerrole/ops. The blocking decision is discharged, so this leavesautonomy/async-consult.Resolved on
mainin3d9b6d2, taking option 4 from the issue.The identifier half was already done before this:
299bda6renamed the module, the binary tocmd/mcp-beaver, the chart, and the info tool tomcp_beaver_info, and the README namesward-mcpnowhere. What survived was the contradiction itself - a bare "no relation to the ward codebase" sitting a screen abovewrap ward mcp forgejo, which reads as a stale doc rather than a deliberate boundary.So the README and
docs/DESIGN.mdnow name the one surviving spelling and say whose it is:wrap ward mcp <name>is umbra's inline grammar, it opens every deployed spec, and it moves when umbra moves. No compatibility note needed, because no tool identifier changed here.Two things found while checking the sweep was real:
docs/DESIGN.mdpointed both umbra links atgithub.com/coilysiren/cli-guard, the retired name #74 is about. Now canonical Forgejo.resourceexamples taughtward://URIs. The scheme is author-chosen and validates nothing, so an example is exactly where the dead name propagates. Nowbeaver://. Test fixtures keep theirs - nobody reads those as guidance.Left alone deliberately, both already documented in
AGENTS.md:nameOverride: ward-mcpin the chart, since a Kubernetes selector label is immutable, and thecli-guard v0.131.0version reference indescribe_test.go, which is a historical record.