Skip to content

feat(mcp)!: split bm_schema into one tool per operation - #2069

Open
phernandez wants to merge 2 commits into
split-bm-projectfrom
split-bm-schema
Open

phernandez wants to merge 2 commits into
split-bm-projectfrom
split-bm-schema

Conversation

@phernandez

Copy link
Copy Markdown
Member

Why

Second core piece of #2030 (one MCP tool per operation). Stacked on #2068.

What

bm_schema becomes three read-only tools:

1.0 1.1 required
bm_schema(command="validate", ...) bm_schema_validate project (note_type or identifier optional)
bm_schema(command="infer", note_type=...) bm_schema_infer note_type, project
bm_schema(command="diff", note_type=...) bm_schema_diff note_type, project
  • The old name is removed with no alias. infer/diff no longer take identifier, and their "needs note_type" refusals are gone; the schema requires it. bm_schema_validate still refuses note_type and identifier together.
  • NOT_FOUND guidance names the new tools (bm_schema_infer(note_type=...)).
  • bm tool schema-validate|schema-infer|schema-diff; bm schema validate|infer|diff (the human CLI) keeps its shape and calls the matching tool.
  • Man pages: bm-schema(3) replaced by bm-schema-validate(3), bm-schema-infer(3), bm-schema-diff(3); tools-migration(7) 1.1 table extended.
  • OpenClaw client calls the three tools; REQUIRED_TOOLS updated.
  • docs/ai-assistant-guide-extended.md: dropped a stale line saying recent without project falls back to the default project.

Cloud follow-up

Cloud re-exports core tools; when it pins this stack it picks up the new names. Cloud's own docs, skills and agent prompts that say bm_schema need the same rename.

Verification

  • just fast-check clean, just man-regen reports no drift
  • just fast-test on tests/mcp, tests/cli, man page and consumer tests, test-int/mcp, test-int/cli, test-int/bughunt_fixes
  • OpenClaw bun test, typecheck, lint; package-check-skills, package-check-claude-code; benchmarks just test

🤖 Generated with Claude Code

https://claude.ai/code/session_01CMYVL4TcbWdXhdvAzxfqjo

…and bm_schema_diff

One tool per operation (#2030). infer and diff require note_type in the
schema; validate keeps its note_type/identifier refusal. bm tool mirrors
them as schema-validate, schema-infer and schema-diff; bm schema keeps its
shape. Man pages, OpenClaw, skills and guides follow the new names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CMYVL4TcbWdXhdvAzxfqjo
Signed-off-by: phernandez <paul@basicmachines.co>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-06T19:01:35.812289Z c783a8c New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@phernandez
phernandez added this pull request to stack #2070 November 6, 2026 18:52
The bulk rename left a mangled tool list in skills/README.md and the root
README, and prose calls that passed only `project` to bm_schema_infer and
bm_schema_diff, which now require note_type. Pi references regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CMYVL4TcbWdXhdvAzxfqjo
Signed-off-by: phernandez <paul@basicmachines.co>
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.

1 participant