Repository navigation
Support levels for every tool, and progress bars for tools and COM coverage - #214
Merged
Merged
Conversation
… and results Every registered tool now has one level in tools/support_levels.py: stable (checked live, no known fault), beta (a known fault or partial COM coverage), experimental (never checked live) or planned (not implemented). The registrar adds a level:<level> tag, opens a beta or experimental tool's description with "Beta: <reason>" and adds the same sentence as `warning` to its successful results. A check keeps the table honest: every tool listed, planned exactly when "Not available yet", stable only with a live test. tutorial_simple_hole is now planned; its cut step fails on SolidWorks. Also archives the circuit-breaker-recovery plan (#208).
…progress page A committed snapshot of the SolidWorks type library (418 interfaces, 5,985 method names) and a text scan of the adapters give the COM coverage: 208 of 2,838 methods of the twelve core interfaces, 232 of 5,985 across the API. `python -m solidworks_mcp.progress.generate` draws the progress SVG (tools by level, core COM coverage) and writes its data and the docs page's tables; a test fails when they're stale. The new Progress page lists every tool with its level and reason, filterable by level and family, and works without scripts.
… levels in the skill and standard The README opens with the progress image, linking to the Progress page, and says what the project is: a Python interface for scripting SolidWorks and an MCP server on top of it. The agent skill and the description standard explain the levels and the `warning`; the queue says a fixed fault moves its tool up a level. CHANGELOG updated.
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 this does
Support levels. Every tool now has one level, kept in
src/solidworks_mcp/tools/support_levels.py:level:<level>. A beta or experimental tool's description opens with "Beta: " (added by the server from the table, so it can't go stale), and its successful results carry the same sentence aswarning. A tool's own warning, such as a cut that removed nothing, comes first.tests/integration/test_support_levels.pyfails when the table and the code disagree:create_part,create_extrusion, theexport_*file tools and others) are beta.tutorial_simple_holeis planned, because its cut step always fails on SolidWorks.Progress image and page.
python -m solidworks_mcp.progress.generatedraws the README image (tools by level; core COM coverage, red to green) and writes the data and tables for the new docs Progress page.tests/integration/test_progress_up_to_date.pyfails when the committed files are stale, and names the command to run.python -m solidworks_mcp.progress.snapshot(Windows) refreshes the snapshot.README. The progress image at the top, linking to the page, and a "Two tools in one" section: a Python interface for scripting SolidWorks, and an MCP server on top of it.
Also:
No SolidWorks behaviour changes. Tool results only gain the
warningkey, so no live run is needed.Checks
ruff checkandruff format --checkare clean.mkdocs build --strictis clean.Addresses the coverage half of #79. The licence-tier half stays in the queue.