NodeId: string

Stable identifier for a node within a single graph instance.

Caller-supplied; uniqueness is enforced by the engine (DuplicateNodeError). The identifier namespace belongs to the user's information model — names like cell:wb1:Sheet1:A1 or asset:property-1:HVAC-3 — and must not be mixed with editor- controller identifiers like controller:gridSelection:wb1. That separation is non-negotiable: keeping selected ranges and asset locations in different identifier namespaces is what makes the engine teachable.