Skip to content

fix(variables): resolve hyphenated node references - #340

Merged
zyssyz123 merged 1 commit into
mainfrom
fix/hyphenated-template-node-ids
Oct 15, 2026
Merged

zyssyz123 merged 1 commit into
mainfrom
fix/hyphenated-template-node-ids

Conversation

@zyssyz123

@zyssyz123 zyssyz123 commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Important

  1. Contribution guidelines and development review workflow followed.
  2. Existing issues and pull requests searched. Dify #43838 prevents new snippet IDs from containing hyphens; it does not repair runtime parsing of existing/imported graphs.
  3. Related issue identified below.
  4. Conventional Commits title used; no breaking change intended.
  5. The PR title is suitable for the squash merge commit.
  6. CLA Assistant has requested the contributor's signature; it is pending.

Related Issue

Refs langgenius/dify#43830

Summary

Existing or imported workflows can contain a node such as input-check. Its output is available through a selector, but {{#input-check.validated_input#}} is skipped by template discovery and survives unchanged into the LLM prompt. Accept ASCII hyphens in the node-ID portion of the runtime, variable-parser, and Answer-template patterns. Preserve the IDs themselves and all existing variable-name, path-depth, and length restrictions.

Regression tests cover exact ID preservation, UUID/edge-position hyphens, nested values, unsupported syntax, Answer segments, and the real LLM node calling its model adapter with red / blue instead of the placeholder. Dify-side Prompt, reference-warning, and RAG parsers have a companion change in langgenius/dify#44036.

Validation:

  • Before the change, the focused regression run had 9 intended failures and 3 passing syntax controls.
  • Full Graphon suite: 994 passed. Focused rendering/node/response-stream suite: 139 passed.
  • Lockfile, Ruff formatting/lint, type checking, and import-layer checks passed. Repository documentation tests: 29 passed.
  • Independent test, code, knowledge, and final naming reviews completed.
  • Tested the same four regex edits against the dev environment's installed Graphon 0.7.0: real LLMNode.run() calls an in-process capture adapter with resolved inputs. No external model or media-provider calls were made.
  • After deployment, the same checks passed in the API, both workflow workers, and the priority worker; API health and the public console endpoint were healthy.

Rollout: Dify currently pins Graphon 0.7.0. The dev verification applies only these regex edits to that version; it does not upgrade the host to Graphon 0.8.0. A compatible release/backport and Dify dependency update are required for normal release rollout.

Checklist

  • This pull request links the issue it resolves or advances
  • This pull request title follows Conventional Commits, and any breaking change is marked with !
  • If CLA Assistant prompted me, I signed CLA.md in the pull request conversation

From Codex

@github-actions

github-actions Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

All contributors on this pull request have signed the CLA.
Posted by the CLA Assistant Lite bot.

@zyssyz123

Copy link
Copy Markdown
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@zyssyz123
zyssyz123 requested a review from laipz8200 October 14, 2026 07:01
@zyssyz123
zyssyz123 enabled auto-merge (squash) October 14, 2026 07:02
@laipz8200
laipz8200 disabled auto-merge October 15, 2026 04:09
@zyssyz123
zyssyz123 merged commit 946adb2 into main Oct 15, 2026
16 of 17 checks passed
@zyssyz123
zyssyz123 deleted the fix/hyphenated-template-node-ids branch October 15, 2026 04:09
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.

2 participants