Roadmap¶
Last updated: 2026-09-06
This page tracks the order the open backlog gets worked in. It replaces the
old docs/planning/ROADMAP_2026_2027.md, which described a GUI-dashboard-first,
PydanticAI-agent-first strategy that was superseded on 2026-05-17 when the
project pivoted to SolidWorks-as-Code
and deleted along with the rest of docs/planning/. That plan's dated,
quarter-by-quarter phases (Phase 1A, Phase 2C, etc.) no longer describe
where this project is headed, so this page doesn't reuse them — issues are
grouped by what actually blocks what, not by calendar quarter.
For per-tool SolidWorks COM API coverage (what's implemented vs. missing at the interface/method level), see SolidWorks API Coverage.
In progress¶
close-tool-surface-gaps-and-housekeeping
— 12 small issues bundled into one OpenSpec change: #6, #28, #46, #58, #59,
60, #61, #62, #63, #64, #79, #81. Full ordering, task breakdown, and¶
rationale live in that change's tasks.md — not duplicated here to avoid
the two going out of sync.
Backlog: what's ready to start now¶
No blockers. Can be picked up in any order, based on priority:
| Issue | What | Why it's unblocked |
|---|---|---|
| #29 | SoC: wire rewind's DB revert + feature suppression | revert_tool_call_records() already exists, just unwired |
| #30 | SoC: pickup reads live dimension values | Extends existing pickup_changes() diffing, no new deps |
| #75 | Portable, installable MCP server setup | Prerequisite #74 already merged |
| #57 | Sheet metal feature support | Fully uncovered area, no dependency on other backlog items |
| #77 | sketch_from_face_loop + thin_extrude |
Standalone tools; see note on #76 synergy below |
| #42 | CAD-generation skill-routing layer | Foundational — gates #43 and #44, itself has no blocker |
| #78 | SolidWorks Simulation COM API wrapper | Foundational for #76's paid-Simulation path, no blocker itself |
| #22 | Context and glossary injection engine (TAG-style domain context) | Confirmed direction (2026-08-27) — #12, the overlapping alternative, was closed in favor of this. Gates #13, see below |
Backlog: gated, in dependency order¶
Each arrow means "must land first." Citations are to the dependent issue's own text, not inferred.
#29 ─┐
├─→ #31 (SoC tutorial/docs) ─→ #80 (prompt-to-SW tutorials)
#30 ─┘
"Builds on #31" — #80's own body
#42 (routing layer) ─→ #43 (text-to-cad integration)
└─→ #44 (CADAM live-render UI)
#43: "connective-tissue piece for #43 ... and #44" — #42's own body
#44: "visualization layer for the mesh-concept/general chat path
in #42's router" — #44's own body
#22 (context/glossary injection engine) ─→ #13 (end-to-end agent test)
#13 tests "prompt construction, context assembly, RAG retrieval,
planning output, MCP tool awareness" together — the deliverable
of #22 — per #13's own body. (#12 described the same
context-assembly problem from a different angle; closed 2026-08-27
in favor of #22 as the confirmed direction — see note below.)
#76 (cheapo topology-optimization loop) has two real dependencies, both
stated in its own issue body, plus one unresolved contradiction with #78
— see Open scoping questions
below before treating it as sequenced.
Open scoping questions before scheduling¶
These aren't mine to resolve — each needs a maintainer decision that would change scope, approach, or order if answered differently.
#23 — awaiting a response, and the fork is much bigger than the issue says¶
#23 is a
community contributor's (@pedropaulovc) proposal for ~31 new tools across
8 phases (assembly mates, reference geometry, parametric variants, BOM,
measurement), with a plan doc linked in their fork. The issue asks the
maintainer three direct questions (does the plan look reasonable, what PR
cadence, thoughts on the plan's own "open questions" section) that haven't
been answered yet.
2026-08-27 investigation (git fetch from
github.com/pedropaulovc/SolidworksMCP-python, all 8 branches inspected):
the fork has diverged far past what #23's text describes. pedro/personal
alone has 434 commits vs. this repo's 367 at their shared ancestor, with
its own independent PR numbering (their PR #92-94 range, unrelated to this
repo's issue numbers) covering things #23 never mentions: DXF/DWG import,
motion-study video export, a 3DEXPERIENCE-connector start/stop/recover
path, SolidWorks crash/hung-window health probes, and — directly relevant
to this repo's current batch — a rename_feature adapter method
(commit bde0ff1, their PR #73) already implementing what this repo's #59
task 2 is about to build from scratch (see that task's prior-art note).
Their fork's own README claims 156 tools, well past this repo's 122.
This changes the recommended next step: a re-audit of #23 as originally scoped (the same pattern used for #6/#58/#59) would miss most of what's actually available.
2026-08-30 review findings (real diff, not commit-message skimming —
_generated/sldworks_2026.py, a 102,444-line auto-generated COM typelib
wrapper, was inflating the raw diff stats; excluding it, pedro/personal's
real diff is ~38k lines across 80 files):
| Finding | Action taken |
|---|---|
rename_feature (commit bde0ff1) already implements #59's task 2 |
Done — implemented fresh on the same IFeature.Name setter approach, wired through every adapter layer with mock + live tests, verified against real SW; shipped with #60/#61 in the Wave 2 PR |
create_reference_plane negative-offset bug (commit 3c091fd) — InsertRefPlane's Distance constraint clamps a negative value to 0 instead of erroring, silently collapsing the plane onto its base |
Fixed directly — filed as #84, ported the sign-resolution fix (credited to @pedropaulovc) into features.py, added direct unit coverage, dev-test-verified |
Motion Study support (motion.py, assembly.py extensions, ~1200 lines, live-demo-verified) — matches this repo's own "Motion Study ❌ Missing" finding from the #79 audit |
Confirmed we have zero existing Motion Study code to conflict with. Substantial enough (tested adapter + tools + mock parity + a working live demo) that it's a real candidate for its own future OpenSpec change, not a quick port |
DXF/DWG import, 3DEXPERIENCE-connector start/stop/recover, SolidWorks crash/hung-window health probes, swdimxpert auxiliary-typelib plumbing, add_fillet propagate option, a SetEntitiesToMate COM-typing fix |
Catalogued, not yet reviewed for convention-fit or mergeability |
Recommended next step: the two small, self-contained, already-verified
items (rename_feature, the offset fix) are actioned or ready to action
without needing a whole new OpenSpec change. The larger items (Motion
Study especially) still warrant their own scoped OpenSpec change before
touching Pedro's cadence/scope questions on #23 itself.
#12 vs. #22 — resolved 2026-08-27¶
#12 ("simple context layer so UI RAG actually drives agent context") and #22 ("context and glossary injection engine — TAG-style domain context") both described a layer between retrieval and prompt construction that decides what the model actually sees — #12 framed around the UI/RAG path, #22 framed around a structured glossary/domain-knowledge injection pattern. Maintainer decision: #12 isn't the direction the project is headed — closed, with #22 confirmed as the actual scope for this work (now listed in "ready to start now" above). #13 tests #22's deliverable specifically.
#76 vs. #78 — confirmed, not a contradiction: Option B needs re-scoping¶
Update 2026-08-27, confirmed against SolidWorks's own API docs:
SimulationXpress genuinely has no COM API of its own — this is settled, not
in dispute between #76 and #78. What #78 found (and SolidWorks's docs
confirm) is the actual automatable path: "To automate tasks that mimic
SimulationXpress functionality (such as setting up fixtures, applying
loads, meshing, and running a static analysis on a single part), you must
use the SldWorks and CosmosWorks interfaces within a VBA Macro, C#, or
C++ environment." CosmosWorks is the paid Simulation add-in's COM
interface (matches #78's own finding: CWAddincallback → CWModelDoc →
CWStudyManager → CWStudy → CWMesh/CWLoads/CWFixt...) — it can
reproduce SimulationXpress-equivalent results, but only through the paid
add-in, not through free SimulationXpress itself.
Net effect on #76 Option B ("native SW only... SimulationXpress COM
automation... no paid add-in required"): the automation half is
achievable via CosmosWorks, but the no paid add-in half isn't — those
two goals can't both hold. #76 needs Option B re-scoped as "paid Simulation
add-in via CosmosWorks" (drops the free-tier promise) before it's
schedulable, or the issue commits to Option A (FreeCAD + CalculiX,
genuinely free, external to SolidWorks) as the only free-tier path.
76 also has an explicit, undisputed dependency: *"Phase 2 and 3 require¶
global variable read/write via MCP"* — tracked in #23, not yet built (see
above). #77 (sketch_from_face_loop/thin_extrude) isn't a stated
dependency of #76, but both describe "topology-robust" cutting/sketching
against face geometry — worth building #77 first as a foundation even
though nothing requires it.
Not yet triaged into this roadmap¶
Everything above accounts for every open issue except the 12 already in
close-tool-surface-gaps-and-housekeeping. If a new issue is filed, add it
to one of the three sections above (ready now / gated / needs a decision)
rather than leaving it off this page — an untracked issue is exactly the
kind of drift this page exists to prevent.