Skip to main content
A Spec Key names a set of nodes in the compute graph of one model at one spec version:

Layer selectors

Per-layer nodes take a layer selector. Top-level nodes (embed, final_norm, lm_head) take none. When a selector covers layers whose node has different constants (for example, sliding-window and global attention layers in Gemma 4), the kernel is verified against each variant separately.

Common forms

A kernel used in several places lists several keys. Each one is verified separately:

Versions

  • You may omit @version. The locked version is used.
  • If you give a version, it must match the lock: @1.0 with a lock at 1.0.4 is fine; @1.1 is reported as UNKNOWN with “annotation asks for … but the lock pins …”.
  • Spec versions follow semantic versioning. Patch releases change only docs and metadata, never definitions. Minor releases add nodes or optional domains. Major releases change semantics.

Reserved forms

Finding node names

The nodes of each model are listed on its Spec Hub page, or from the CLI:
A typo in a node name is reported with the list of nodes that do exist: