Repository navigation
fix: stop masked values from landing on new nodes and edges - #639
Merged
Merged
Conversation
The AI chat and MCP see condition literals and other redacted config as "***". When that value is copied onto a node or edge with a new id, there is no stored original to restore it from, and "***" used to be saved as a literal. A condition like status == "***" then never matches. The chat merge now adds a note for every such mask so the user sees it in the review. The MCP patcher rejects the whole operation with the key and item id, because MCP saves without a review step. A mask on a named secret key keeps the existing "set it manually" handling. The assistant prompt now says that "***" only stands for the value under the same id. Fixes #582 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Fixes #582
The AI chat and MCP see condition literals and other redacted values as
***. When the model copied such a value onto a node or edge with a new id (for example when replacing one edge with two), the merge had no original to restore from and saved the literal***. A conditionstatus == "***"then never matches.create_workflow,update/publishandapply_workflow_patchall surface it as an MCP error.password,apiKey, …) keep the existing "set it manually" handling with a note in both paths.***only stands for the value under the same id.docs/mcp-server.mdand the docs site (DE/EN) mention the rejection.Tests run locally:
NodePilot.Ai.Tests: full project, 832 passed (new: masked literal on new edges, masked array item, named secret)NodePilot.Mcp.Tests: full project, 227 passed (new: MergeFull and Apply rejection cases, named secret note)🤖 Generated with Claude Code