Speak in meaning. Think beyond syntax. Built beyond language.

Error Reference

NATIVE_EXTERNAL_VALUE_UNRESOLVED

Meaning: a qualified value or selector could not be resolved as a safe local/project value.

Examples:

u.Relations
fn.Body
m.Rows
spec.ID
p.UniversalAST
m.Data
node.Vector

Typical root causes:

  • source variable name differs from transported native binding name;
  • parameter type is unknown in the isolated unit;
  • field layout exists only in another unit;
  • selector crosses an index operation and intermediate type information was lost;
  • package-qualified constant/function needs dedicated lowering.

NATIVE_UNRESOLVED_BINDING

Meaning: an identifier was expected to resolve locally, but no safe binding slot was found.

Examples:

ID
Kind
Evidence
Passing
NodeID
StringWrap

Typical root causes:

  • a selector was flattened and only the terminal field name survived;
  • closure/captured variable identity is missing;
  • generated loop/switch transport omitted the binding edge;
  • source-span recovery is incomplete.

native member ... has no structured layout

Meaning: the base value is known, but its type does not provide a provable struct field layout.

Fix strategy:

  1. recover the base binding type;
  2. consult local/project type tables;
  3. accept a fallback only when the field offset is unambiguous;
  4. otherwise keep failing closed.

UNIMPLEMENTED_NATIVE_GAP

Meaning: the native backend intentionally recognizes but does not yet implement the semantic node.

Examples encountered during bootstrap have included switch-related transport forms.

The correct fix is to implement semantics-preserving lowering — not to skip the node.

Hard timeout

hard timeout exceeded

This is not a semantic diagnostic. It means the worker process was still running when the parent killed it.

Use a longer timeout only when the unit is genuinely progressing slowly. A deterministic resolver failure should be fixed instead.