feat(mcp): rename tools to brand names (redstamp_check, truecopy_scan, strongroom_lease) with deprecated aliases - #43
Merged
Conversation
warden_check -> redstamp_check, canon_scan -> truecopy_scan, keeper_lease -> strongroom_lease become the canonical tool names; the pre-rename codenames stay registered as deprecated aliases of the same handlers (identical schemas and behavior), so existing configs keep working. tools/list leads with the canonical names. Manifest regenerated (support/dump-tools.mjs) and re-pinned in truecopy.lock; README/demo/bin lead with the new names with a 'Renamed August 2026' note; tests cover both surfaces. Minor bump 0.1.0 -> 0.2.0.
askalf
enabled auto-merge (squash)
August 7, 2026 20:14
sprayberry-reviewer
approved these changes
Aug 7, 2026
sprayberry-reviewer
left a comment
Collaborator
There was a problem hiding this comment.
Automated review from the Sprayberry Labs fleet code reviewer.
Verdict: No blocking issues found — clean rename with working deprecated aliases and matching test coverage.
What I checked
mcp.mjs: canonical tools (redstamp_check,truecopy_scan,strongroom_lease) register first viaregisterCanonical, thenregisterAliasesre-registers the pre-rename codenames (warden_check,canon_scan,keeper_lease) against the sameconfig/handlerpairs, only overridingdescription. This gives identical schema/behavior on both names and puts canonical names first intools/list, matching the PR's stated intent.test/mcp.test.mjsasserts: all six names present, canonical-first ordering, aliasdescriptiontext, schema identity between alias and canonical (a.inputSchemadeepEqualcanon.inputSchema), and an end-to-end call through each alias producing the same verdict/behavior as the canonical tool (SSRF block, manifest scan, lease handle with no secret leak). This is solid coverage for the new aliasing behavior.mcp-manifest.json/truecopy.lockchanges are consistent with the new tool surface (aliases carryDeprecated alias of <name> — kept for existing configs.descriptions); thetruecopy gateCI check (pinned-surface verification) passed.- CI rollup is all green:
test,CodeQL, andtruecopy gatechecks completed with SUCCESS. - Doc/comment updates (
README.md,bin/oys-mcp.mjs,demo/mcp-demo.mjs) consistently reflect the new names and note the aliases.
Minor (non-blocking)
bin/oys-mcp.mjs:20changesPICKET_TASK/PICKET_JUDGE (picket_observe)to(fieldpass)— this doc line refers to a component (fieldpass) that isn't part of this MCP server's tool set at all (only the three trilogy tools are registered inmcp.mjs). It reads as a drive-by doc correction unrelated to the rename; worth double-checking it's accurate but not something this PR needs to block on.
No correctness, security, or test-coverage gaps found in the changed lines.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Renames the MCP server's tools to their brand names, keeping the pre-rename codenames as fully working deprecated aliases:
redstamp_checkwarden_checktruecopy_scancanon_scanstrongroom_leasekeeper_leaseHow
mcp.mjs: canonical tools register first (sotools/listleads with them); each alias registers the same schema and handler, with descriptionDeprecated alias of <name> — kept for existing configs.Nothing changes for existing callers — identical behavior on both names.mcp-manifest.jsonregenerated from the live tool surface (node support/dump-tools.mjs) and re-pinned intruecopy.lock(truecopy add mcp-manifest.json— verdict clean, engine redstamp 0.7.5).bin/oys-mcp.mjsstartup log lead with the new names; a "Renamed August 2026" note lists the aliases. The startup log now prints the server's actual tool surface.tools/listasserts all six names, canonical-first ordering, alias descriptions, and schema identity between alias and canonical; each canonical tool keeps its behavior tests; a new test invokes every alias end-to-end.0.1.0→0.2.0(additive aliases + canonical rename; package is private/off-npm, so no publish step).Verification
npm test— 18/18 passnode support/dump-tools.mjs --check— manifest matches the live surfacetruecopy verify— pinned surface cleannpm run demo:mcp/demo/demo:audit— all run clean