Repository navigation
Conversation
Phase 5, first step: the product-specific agent surface leaves the core. DiagramOperationModule.configureMcpTools is the seam; the diagram MCP module binds what the profile's modules offer instead of naming create-task-type itself, and the sidecar toolkit's module brings that tool with the handler that serves it. A library-mode consumer without the handler no longer advertises a tool it cannot run. The chat's fallback "skill" (wfpy's tool list and nouns, sent to the agent of any product whose profile named no skill) is gone: such a profile gets the framing alone. The diagram-tool hint and two comments no longer speak of task types and `.py` files as the platform's own. Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
The scaffold tool lives in the toolkit beside the handler that serves it; the platform package ships no product tool. The seam is add-only and typed, the MCP module narrows the edit strategy once, and a read-only diagram offers no mutating tool at all, since nothing handles one there. The diagram-tool hint names the platform's tools and "whatever further diagram tools are listed", promising no scaffold the product may not have; the chat's two context builders append the skill through one helper. Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
The MCP DI test counted create-task-type among a bare server module's tools; it now comes with the product's operation module. Claude-Session: https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv
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.
Phase 5 of the declutter plan, first step: the pieces of the agent surface that are a product's, not the platform's, and need no product repo change. Cut from main; independent of the other open PRs (only
CHANGELOG.mdcan conflict).The seam
DiagramOperationModule(diagram-serveroperation-modules.ts) gains an optional, add-onlyconfigureMcpTools(binding: McpToolBinding).DiagramMcpModuletakes the profile'sEditStrategy(server-module.tshands itoptions.edits) and narrows it once: on'read-only'it drops the platform's mutating tools (create-nodes, create-edges, modify-nodes, modify-edges, delete-elements, save-model), since no writing operation handler exists to serve them; otherwise, after the platform's own tools, each operation module adds the MCP tools of the operations it handles. The hardcodedbinding.add(CreateTaskTypeMcpToolHandler)is gone from the platform, and so is the handler:create-task-type-mcp-tool-handler.tsand its test now live in the sidecar toolkit besidecreate-task-type-handler.ts(the toolkit already imports@eclipse-glsp/serverandinversifythe same hoisted way). Every sidecar product therefore offerscreate-task-typeexactly as before; a library-mode consumer that registers no such handler, and a read-only profile, no longer advertise a tool that could only fail.The prose
acp-client.tssent, to any product whose profile named nochat.skill, a fallback that listed wfpy's tools (list_task_types,validate_workflow, "edit the generated@taskclass"). Every in-tree consumer names a skill, so this was dead for them and wrong for anyone else. A profile without a skill now gets the framing sentence alone.chat-runtime.tssaid "scaffolding a brand-new task type ... create-task-type"; it now names the platform's tools and "whatever further diagram tools are listed", promising no tool a product may not have (the review's point). The two context builders append the skill through onewithSkill..pyfile" say "the source file".Tests
create-task-type-mcp-tool.test.ts(now in the toolkit): a bareDiagramMcpModuleoffers nocreate-task-type; one given the sidecar operation modules does; a read-only one offers neither it nor any mutating platform tool, and still offersquery-elements.operation-modules.test.ts: the toolkit's module brings exactly that tool. extension-core suite green (no test pinned the fallback prose).Typecheck 5/5, neutrality 5/5, the extension build (CI's
npm run build) green locally.Next steps of phase 5 need the products first and are listed in the plan: wfpy and streamblocks declaring their palette rows and navigation explicitly before the platform drops its defaults; a
runblock on the profile before the run driver becomes opt-in; the agent-node stack behind a property-section seam.https://claude.ai/code/session_01EToj6RJRMSSHQiqGNMU9wv