Back to Dify

Dify Invariants

.agents/skills/frontend-code-review/references/dify-invariants.md

1.16.01.3 KB
Original Source

Dify Invariants

Use these stable Dify-specific runtime rules in addition to the generic review packs.

This file is not a place for active feature notes. Do not add rules for one branch, one PR, or a short-lived product decision such as a specific agent-v2, plugin, model-provider, or onboarding task. Keep a rule here only when all of these are true:

  • It is a stable Dify runtime invariant.
  • Generic React, TypeScript, accessibility, dify-ui, query, or performance rules would not catch it.
  • The failure mode is concrete enough to produce a file-line review finding.
  • The rule is likely to remain valid across normal feature work.

Workflow Nodes And RAG Pipe

Flag:

  • Node components under web/app/components/workflow/nodes/[nodeName]/node.tsx importing workflow store hooks that are unavailable in RAG Pipe template rendering.
  • Node UI relying on provider context that is not mounted in every rendering surface.
  • Store reads in render where React Flow useNodes / useEdges provide the actual node/edge source.

Known failure mode: workflow node components can also render while creating a RAG Pipe from a template. In that context there may be no workflowStore provider, causing a blank screen.

Prefer React Flow hooks for node/edge UI consumption. Use store APIs only where the provider is guaranteed and the code path is workflow-only.