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
unknownin 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:
- recover the base binding type;
- consult local/project type tables;
- accept a fallback only when the field offset is unambiguous;
- 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.