Skip to content

feat(mcp): rename tools to brand names (redstamp_check, truecopy_scan, strongroom_lease) with deprecated aliases - #43

Merged
askalf merged 1 commit into
masterfrom
rename/mcp-brand-tool-names
Aug 7, 2026
Merged

feat(mcp): rename tools to brand names (redstamp_check, truecopy_scan, strongroom_lease) with deprecated aliases#43
askalf merged 1 commit into
masterfrom
rename/mcp-brand-tool-names

Conversation

@askalf

@askalf askalf commented Aug 7, 2026

Copy link
Copy Markdown
Owner

What

Renames the MCP server's tools to their brand names, keeping the pre-rename codenames as fully working deprecated aliases:

canonical (new) deprecated alias (old) layer
redstamp_check warden_check contain — action firewall
truecopy_scan canon_scan vet — manifest poison scan
strongroom_lease keeper_lease key — opaque credential lease

How

  • mcp.mjs: canonical tools register first (so tools/list leads with them); each alias registers the same schema and handler, with description Deprecated alias of <name> — kept for existing configs. Nothing changes for existing callers — identical behavior on both names.
  • mcp-manifest.json regenerated from the live tool surface (node support/dump-tools.mjs) and re-pinned in truecopy.lock (truecopy add mcp-manifest.json — verdict clean, engine redstamp 0.7.5).
  • README tool table, demo, and bin/oys-mcp.mjs startup 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.
  • Tests: tools/list asserts 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.
  • Version: minor bump 0.1.00.2.0 (additive aliases + canonical rename; package is private/off-npm, so no publish step).

Verification

  • npm test — 18/18 pass
  • node support/dump-tools.mjs --check — manifest matches the live surface
  • truecopy verify — pinned surface clean
  • npm run demo:mcp / demo / demo:audit — all run clean

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
askalf enabled auto-merge (squash) August 7, 2026 20:14

@sprayberry-reviewer sprayberry-reviewer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 via registerCanonical, then registerAliases re-registers the pre-rename codenames (warden_check, canon_scan, keeper_lease) against the same config/handler pairs, only overriding description. This gives identical schema/behavior on both names and puts canonical names first in tools/list, matching the PR's stated intent.
  • test/mcp.test.mjs asserts: all six names present, canonical-first ordering, alias description text, schema identity between alias and canonical (a.inputSchema deepEqual canon.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.lock changes are consistent with the new tool surface (aliases carry Deprecated alias of <name> — kept for existing configs. descriptions); the truecopy gate CI check (pinned-surface verification) passed.
  • CI rollup is all green: test, CodeQL, and truecopy gate checks 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:20 changes PICKET_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 in mcp.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.

@askalf
askalf merged commit f218712 into master Aug 7, 2026
4 checks passed
@askalf
askalf deleted the rename/mcp-brand-tool-names branch August 7, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants