diff --git a/cue/testdata/basicrewrite/001_regexp.txtar b/cue/testdata/basicrewrite/001_regexp.txtar
index 99b3e0f..489ed68 100644
--- a/cue/testdata/basicrewrite/001_regexp.txtar
+++ b/cue/testdata/basicrewrite/001_regexp.txtar
@@ -62,11 +62,12 @@
 }
 -- out/eval --
 Errors:
-invalid value "foo" (out of bound =~"[a-z]{4}")
-invalid value <5 (mismatched types number and string)
-cannot use 1 (type int) as type (string|bytes):
+e3: invalid value <5 (mismatched types number and string)
+b3: invalid value "foo" (out of bound =~"[a-z]{4}"):
+    ./in.cue:10:5
+e1: cannot use 1 (type int) as type (string|bytes):
     ./in.cue:18:5
-cannot use true (type bool) as type (string|bytes):
+e2: cannot use true (type bool) as type (string|bytes):
     ./in.cue:19:5
 
 Result:
@@ -79,20 +80,21 @@
   b1: (string){ "a" }
   b2: (string){ "foo" }
   b3: (_|_){
-    // [eval] invalid value "foo" (out of bound =~"[a-z]{4}")
+    // [eval] b3: invalid value "foo" (out of bound =~"[a-z]{4}"):
+    //     ./in.cue:10:5
   }
   b4: (string){ "foo" }
   s1: (string){ &(!="b", =~"c") }
   s2: (string){ &(!="b", =~"[a-z]") }
   e1: (_|_){
-    // [eval] cannot use 1 (type int) as type (string|bytes):
+    // [eval] e1: cannot use 1 (type int) as type (string|bytes):
     //     ./in.cue:18:5
   }
   e2: (_|_){
-    // [eval] cannot use true (type bool) as type (string|bytes):
+    // [eval] e2: cannot use true (type bool) as type (string|bytes):
     //     ./in.cue:19:5
   }
   e3: (_|_){
-    // [eval] invalid value <5 (mismatched types number and string)
+    // [eval] e3: invalid value <5 (mismatched types number and string)
   }
 }
diff --git a/cue/testdata/basicrewrite/002_arithmetic.txtar b/cue/testdata/basicrewrite/002_arithmetic.txtar
index b2f1914..21d4cfb 100644
--- a/cue/testdata/basicrewrite/002_arithmetic.txtar
+++ b/cue/testdata/basicrewrite/002_arithmetic.txtar
@@ -95,27 +95,27 @@
 }
 -- out/eval --
 Errors:
-failed arithmetic: division by zero:
+divZero: failed arithmetic: division by zero:
     ./in.cue:8:10
-failed arithmetic: division undefined:
+div00: failed arithmetic: division undefined:
     ./in.cue:9:10
-division by zero:
+idiv00: division by zero:
     ./in.cue:13:9
-division by zero:
+imod00: division by zero:
     ./in.cue:14:9
-division by zero:
+iquo00: division by zero:
     ./in.cue:15:9
-division by zero:
+irem00: division by zero:
     ./in.cue:16:9
-invalid operands 2 and "a" to '+' (type int and string):
+e0: invalid operands 2 and "a" to '+' (type int and string):
     ./in.cue:23:5
-invalid operands 1.0 and 2 to 'div' (type float and int):
+e5: invalid operands 1.0 and 2 to 'div' (type float and int):
     ./in.cue:29:5
-invalid operands 2 and 2.0 to 'rem' (type int and float):
+e6: invalid operands 2 and 2.0 to 'rem' (type int and float):
     ./in.cue:30:5
-invalid operands 2 and 2.0 to 'quo' (type int and float):
+e7: invalid operands 2 and 2.0 to 'quo' (type int and float):
     ./in.cue:31:5
-invalid operands 1.0 and 1 to 'mod' (type float and int):
+e8: invalid operands 1.0 and 1 to 'mod' (type float and int):
     ./in.cue:32:5
 
 Result:
@@ -128,29 +128,29 @@
   div2: (float){ 4.00000000000000000000000 }
   div3: (float){ 1 }
   divZero: (_|_){
-    // [eval] failed arithmetic: division by zero:
+    // [eval] divZero: failed arithmetic: division by zero:
     //     ./in.cue:8:10
   }
   div00: (_|_){
-    // [eval] failed arithmetic: division undefined:
+    // [eval] div00: failed arithmetic: division undefined:
     //     ./in.cue:9:10
   }
   b: (bool){ true }
   add: (float){ 5.00000000000000000000000 }
   idiv00: (_|_){
-    // [eval] division by zero:
+    // [eval] idiv00: division by zero:
     //     ./in.cue:13:9
   }
   imod00: (_|_){
-    // [eval] division by zero:
+    // [eval] imod00: division by zero:
     //     ./in.cue:14:9
   }
   iquo00: (_|_){
-    // [eval] division by zero:
+    // [eval] iquo00: division by zero:
     //     ./in.cue:15:9
   }
   irem00: (_|_){
-    // [eval] division by zero:
+    // [eval] irem00: division by zero:
     //     ./in.cue:16:9
   }
   v1: (float){ 5.0000000000E+11 }
@@ -158,23 +158,23 @@
   v3: (float){ 0.666666666666666666666667 }
   v5: (int){ 0 }
   e0: (_|_){
-    // [eval] invalid operands 2 and "a" to '+' (type int and string):
+    // [eval] e0: invalid operands 2 and "a" to '+' (type int and string):
     //     ./in.cue:23:5
   }
   e5: (_|_){
-    // [eval] invalid operands 1.0 and 2 to 'div' (type float and int):
+    // [eval] e5: invalid operands 1.0 and 2 to 'div' (type float and int):
     //     ./in.cue:29:5
   }
   e6: (_|_){
-    // [eval] invalid operands 2 and 2.0 to 'rem' (type int and float):
+    // [eval] e6: invalid operands 2 and 2.0 to 'rem' (type int and float):
     //     ./in.cue:30:5
   }
   e7: (_|_){
-    // [eval] invalid operands 2 and 2.0 to 'quo' (type int and float):
+    // [eval] e7: invalid operands 2 and 2.0 to 'quo' (type int and float):
     //     ./in.cue:31:5
   }
   e8: (_|_){
-    // [eval] invalid operands 1.0 and 1 to 'mod' (type float and int):
+    // [eval] e8: invalid operands 1.0 and 1 to 'mod' (type float and int):
     //     ./in.cue:32:5
   }
 }
diff --git a/cue/testdata/basicrewrite/003_integer-specific_arithmetic.txtar b/cue/testdata/basicrewrite/003_integer-specific_arithmetic.txtar
index f5f5245..742b92a 100644
--- a/cue/testdata/basicrewrite/003_integer-specific_arithmetic.txtar
+++ b/cue/testdata/basicrewrite/003_integer-specific_arithmetic.txtar
@@ -87,21 +87,21 @@
 }
 -- out/eval --
 Errors:
-invalid operands 2.0 and 1 to 'quo' (type float and int):
+qe1: invalid operands 2.0 and 1 to 'quo' (type float and int):
     ./in.cue:5:6
-invalid operands 2 and 1.0 to 'quo' (type int and float):
+qe2: invalid operands 2 and 1.0 to 'quo' (type int and float):
     ./in.cue:6:6
-invalid operands 2.0 and 1 to 'rem' (type float and int):
+re1: invalid operands 2.0 and 1 to 'rem' (type float and int):
     ./in.cue:12:6
-invalid operands 2 and 1.0 to 'rem' (type int and float):
+re2: invalid operands 2 and 1.0 to 'rem' (type int and float):
     ./in.cue:13:6
-invalid operands 2.0 and 1 to 'div' (type float and int):
+de1: invalid operands 2.0 and 1 to 'div' (type float and int):
     ./in.cue:19:6
-invalid operands 2 and 1.0 to 'div' (type int and float):
+de2: invalid operands 2 and 1.0 to 'div' (type int and float):
     ./in.cue:20:6
-invalid operands 2.0 and 1 to 'mod' (type float and int):
+me1: invalid operands 2.0 and 1 to 'mod' (type float and int):
     ./in.cue:26:6
-invalid operands 2 and 1.0 to 'mod' (type int and float):
+me2: invalid operands 2 and 1.0 to 'mod' (type int and float):
     ./in.cue:27:6
 
 Result:
@@ -112,11 +112,11 @@
   q3: (int){ -2 }
   q4: (int){ 2 }
   qe1: (_|_){
-    // [eval] invalid operands 2.0 and 1 to 'quo' (type float and int):
+    // [eval] qe1: invalid operands 2.0 and 1 to 'quo' (type float and int):
     //     ./in.cue:5:6
   }
   qe2: (_|_){
-    // [eval] invalid operands 2 and 1.0 to 'quo' (type int and float):
+    // [eval] qe2: invalid operands 2 and 1.0 to 'quo' (type int and float):
     //     ./in.cue:6:6
   }
   r1: (int){ 1 }
@@ -124,11 +124,11 @@
   r3: (int){ -1 }
   r4: (int){ -1 }
   re1: (_|_){
-    // [eval] invalid operands 2.0 and 1 to 'rem' (type float and int):
+    // [eval] re1: invalid operands 2.0 and 1 to 'rem' (type float and int):
     //     ./in.cue:12:6
   }
   re2: (_|_){
-    // [eval] invalid operands 2 and 1.0 to 'rem' (type int and float):
+    // [eval] re2: invalid operands 2 and 1.0 to 'rem' (type int and float):
     //     ./in.cue:13:6
   }
   d1: (int){ 2 }
@@ -136,11 +136,11 @@
   d3: (int){ -3 }
   d4: (int){ 3 }
   de1: (_|_){
-    // [eval] invalid operands 2.0 and 1 to 'div' (type float and int):
+    // [eval] de1: invalid operands 2.0 and 1 to 'div' (type float and int):
     //     ./in.cue:19:6
   }
   de2: (_|_){
-    // [eval] invalid operands 2 and 1.0 to 'div' (type int and float):
+    // [eval] de2: invalid operands 2 and 1.0 to 'div' (type int and float):
     //     ./in.cue:20:6
   }
   m1: (int){ 1 }
@@ -148,11 +148,11 @@
   m3: (int){ 1 }
   m4: (int){ 1 }
   me1: (_|_){
-    // [eval] invalid operands 2.0 and 1 to 'mod' (type float and int):
+    // [eval] me1: invalid operands 2.0 and 1 to 'mod' (type float and int):
     //     ./in.cue:26:6
   }
   me2: (_|_){
-    // [eval] invalid operands 2 and 1.0 to 'mod' (type int and float):
+    // [eval] me2: invalid operands 2 and 1.0 to 'mod' (type int and float):
     //     ./in.cue:27:6
   }
 }
diff --git a/cue/testdata/basicrewrite/004_booleans.txtar b/cue/testdata/basicrewrite/004_booleans.txtar
index 3fcd416..c27259b 100644
--- a/cue/testdata/basicrewrite/004_booleans.txtar
+++ b/cue/testdata/basicrewrite/004_booleans.txtar
@@ -27,7 +27,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values false and true
+e: incompatible values false and true
 
 Result:
 (_|_){
@@ -35,6 +35,6 @@
   t: (bool){ true }
   f: (bool){ false }
   e: (_|_){
-    // [eval] incompatible values false and true
+    // [eval] e: incompatible values false and true
   }
 }
diff --git a/cue/testdata/basicrewrite/005_boolean_arithmetic.txtar b/cue/testdata/basicrewrite/005_boolean_arithmetic.txtar
index 51ec726..c96c492 100644
--- a/cue/testdata/basicrewrite/005_boolean_arithmetic.txtar
+++ b/cue/testdata/basicrewrite/005_boolean_arithmetic.txtar
@@ -30,7 +30,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values false and true
+f: incompatible values false and true
 
 Result:
 (_|_){
@@ -41,6 +41,6 @@
   d: (bool){ true }
   e: (bool){ true }
   f: (_|_){
-    // [eval] incompatible values false and true
+    // [eval] f: incompatible values false and true
   }
 }
diff --git a/cue/testdata/basicrewrite/006_basic_type.txtar b/cue/testdata/basicrewrite/006_basic_type.txtar
index d352f6c..ed33d28 100644
--- a/cue/testdata/basicrewrite/006_basic_type.txtar
+++ b/cue/testdata/basicrewrite/006_basic_type.txtar
@@ -34,7 +34,7 @@
 }
 -- out/eval --
 Errors:
-invalid value float (mismatched types float and int)
+d: invalid value float (mismatched types float and int)
 
 Result:
 (_|_){
@@ -43,7 +43,7 @@
   b: (int){ 1 }
   c: (float){ 1.0 }
   d: (_|_){
-    // [eval] invalid value float (mismatched types float and int)
+    // [eval] d: invalid value float (mismatched types float and int)
   }
   e: (string){ "4" }
   f: (bool){ true }
diff --git a/cue/testdata/basicrewrite/007_strings_and_bytes.txtar b/cue/testdata/basicrewrite/007_strings_and_bytes.txtar
index c416314..27383f7 100644
--- a/cue/testdata/basicrewrite/007_strings_and_bytes.txtar
+++ b/cue/testdata/basicrewrite/007_strings_and_bytes.txtar
@@ -41,9 +41,9 @@
 }
 -- out/eval --
 Errors:
-invalid operands "a" and '' to '+' (type string and bytes):
+e0: invalid operands "a" and '' to '+' (type string and bytes):
     ./in.cue:10:5
-invalid operands 'b' and "c" to '+' (type bytes and string):
+e1: invalid operands 'b' and "c" to '+' (type bytes and string):
     ./in.cue:11:5
 
 Result:
@@ -56,11 +56,11 @@
   b1: (bytes){ 'abcabcabc' }
   b2: (bytes){ 'abcabc' }
   e0: (_|_){
-    // [eval] invalid operands "a" and '' to '+' (type string and bytes):
+    // [eval] e0: invalid operands "a" and '' to '+' (type string and bytes):
     //     ./in.cue:10:5
   }
   e1: (_|_){
-    // [eval] invalid operands 'b' and "c" to '+' (type bytes and string):
+    // [eval] e1: invalid operands 'b' and "c" to '+' (type bytes and string):
     //     ./in.cue:11:5
   }
 }
diff --git a/cue/testdata/basicrewrite/010_lists.txtar b/cue/testdata/basicrewrite/010_lists.txtar
index 9de56c6..4f777fd 100644
--- a/cue/testdata/basicrewrite/010_lists.txtar
+++ b/cue/testdata/basicrewrite/010_lists.txtar
@@ -76,12 +76,15 @@
 }
 -- out/eval --
 Errors:
-conflicting types
-invalid value 8 (out of bound <=5)
-invalid list index d (type string):
+e: conflicting types list and int
+e2: invalid list index d (type string):
     ./in.cue:5:12
-invalid negative index -1:
+e3: invalid negative index -1:
     ./in.cue:6:8
+e4.3: invalid value 8 (out of bound <=5):
+    ./in.cue:7:24
+e5.3: invalid value 8 (out of bound <=5):
+    ./in.cue:8:39
 
 Result:
 (_|_){
@@ -98,14 +101,14 @@
     2: (int){ 3 }
   }
   e: (_|_){
-    // [eval] conflicting types
+    // [eval] e: conflicting types list and int
   }
   e2: (_|_){
-    // [eval] invalid list index d (type string):
+    // [eval] e2: invalid list index d (type string):
     //     ./in.cue:5:12
   }
   e3: (_|_){
-    // [eval] invalid negative index -1:
+    // [eval] e3: invalid negative index -1:
     //     ./in.cue:6:8
   }
   e4: (_|_){
@@ -114,7 +117,8 @@
     1: (int){ 2 }
     2: (int){ 4 }
     3: (_|_){
-      // [eval] invalid value 8 (out of bound <=5)
+      // [eval] e4.3: invalid value 8 (out of bound <=5):
+      //     ./in.cue:7:24
     }
   }
   e5: (_|_){
@@ -123,7 +127,8 @@
     1: (int){ 2 }
     2: (int){ 4 }
     3: (_|_){
-      // [eval] invalid value 8 (out of bound <=5)
+      // [eval] e5.3: invalid value 8 (out of bound <=5):
+      //     ./in.cue:8:39
     }
   }
 }
diff --git a/cue/testdata/basicrewrite/011_list_arithmetic.txtar b/cue/testdata/basicrewrite/011_list_arithmetic.txtar
index 23636f1..cae99ed 100644
--- a/cue/testdata/basicrewrite/011_list_arithmetic.txtar
+++ b/cue/testdata/basicrewrite/011_list_arithmetic.txtar
@@ -47,7 +47,7 @@
 }
 -- out/eval --
 Errors:
-cannot convert negative number to uint64:
+e: cannot convert negative number to uint64:
     ./in.cue:10:9
 
 Result:
@@ -92,7 +92,7 @@
     3: (int){ 1 }
   }
   e: (_|_){
-    // [eval] cannot convert negative number to uint64:
+    // [eval] e: cannot convert negative number to uint64:
     //     ./in.cue:10:9
   }
 }
diff --git a/cue/testdata/basicrewrite/012_selecting.txtar b/cue/testdata/basicrewrite/012_selecting.txtar
index 59ca51e..dc81d1a 100644
--- a/cue/testdata/basicrewrite/012_selecting.txtar
+++ b/cue/testdata/basicrewrite/012_selecting.txtar
@@ -60,9 +60,9 @@
 }
 -- out/eval --
 Errors:
-invalid struct selector 4 (type int):
+e: invalid struct selector 4 (type int):
     ./in.cue:4:16
-invalid list index b (type string):
+h: invalid list index b (type string):
     ./in.cue:7:13
 
 Result:
@@ -75,19 +75,19 @@
   index: (int){ 2 }
   mulidx: (int){ 3 }
   e: (_|_){
-    // [eval] invalid struct selector 4 (type int):
+    // [eval] e: invalid struct selector 4 (type int):
     //     ./in.cue:4:16
   }
   f: (_|_){
-    // [incomplete] undefined field b:
+    // [incomplete] f: undefined field b:
     //     ./in.cue:5:16
   }
   g: (_|_){
-    // [incomplete] undefined field b:
+    // [incomplete] g: undefined field b:
     //     ./in.cue:6:16
   }
   h: (_|_){
-    // [eval] invalid list index b (type string):
+    // [eval] h: invalid list index b (type string):
     //     ./in.cue:7:13
   }
 }
diff --git a/cue/testdata/basicrewrite/013_obj_unify.txtar b/cue/testdata/basicrewrite/013_obj_unify.txtar
index ee5a69a..15eb6f7 100644
--- a/cue/testdata/basicrewrite/013_obj_unify.txtar
+++ b/cue/testdata/basicrewrite/013_obj_unify.txtar
@@ -75,7 +75,7 @@
 }
 -- out/eval --
 Errors:
-conflicting values struct and int
+e: conflicting values struct and int
 
 Result:
 (_|_){
@@ -97,7 +97,7 @@
     b: (int){ 2 }
   }
   e: (_|_){
-    // [eval] conflicting values struct and int
+    // [eval] e: conflicting values struct and int
     a: (int){ 3 }
   }
 }
diff --git a/cue/testdata/basicrewrite/015_types.txtar b/cue/testdata/basicrewrite/015_types.txtar
index ea817a0..c9b218b 100644
--- a/cue/testdata/basicrewrite/015_types.txtar
+++ b/cue/testdata/basicrewrite/015_types.txtar
@@ -39,12 +39,13 @@
 }
 -- out/eval --
 Errors:
-invalid value string (mismatched types string and int)
-value can never become concrete:
+e: invalid value string (mismatched types string and int)
+e2: invalid value string (mismatched types string and int)
+b: value can never become concrete:
     ./in.cue:7:5
-invalid operation ++true (+ bool):
+p: invalid operation ++true (+ bool):
     ./in.cue:8:5
-invalid operation --false (- bool):
+m: invalid operation --false (- bool):
     ./in.cue:9:5
 
 Result:
@@ -55,21 +56,21 @@
   s: (string){ string }
   t: (string){ "s" }
   e: (_|_){
-    // [eval] invalid value string (mismatched types string and int)
+    // [eval] e: invalid value string (mismatched types string and int)
   }
   e2: (_|_){
-    // [eval] invalid value string (mismatched types string and int)
+    // [eval] e2: invalid value string (mismatched types string and int)
   }
   b: (_|_){
-    // [eval] value can never become concrete:
+    // [eval] b: value can never become concrete:
     //     ./in.cue:7:5
   }
   p: (_|_){
-    // [eval] invalid operation ++true (+ bool):
+    // [eval] p: invalid operation ++true (+ bool):
     //     ./in.cue:8:5
   }
   m: (_|_){
-    // [eval] invalid operation --false (- bool):
+    // [eval] m: invalid operation --false (- bool):
     //     ./in.cue:9:5
   }
 }
diff --git a/cue/testdata/basicrewrite/016_comparison.txtar b/cue/testdata/basicrewrite/016_comparison.txtar
index 6e204b1..11ef3b3 100644
--- a/cue/testdata/basicrewrite/016_comparison.txtar
+++ b/cue/testdata/basicrewrite/016_comparison.txtar
@@ -38,7 +38,7 @@
 }
 -- out/eval --
 Errors:
-invalid operands 2 and "s" to '==' (type int and string):
+err: invalid operands 2 and "s" to '==' (type int and string):
     ./in.cue:9:6
 
 Result:
@@ -52,7 +52,7 @@
   geq: (bool){ true }
   seq: (bool){ true }
   err: (_|_){
-    // [eval] invalid operands 2 and "s" to '==' (type int and string):
+    // [eval] err: invalid operands 2 and "s" to '==' (type int and string):
     //     ./in.cue:9:6
   }
 }
diff --git a/cue/testdata/basicrewrite/017_null.txtar b/cue/testdata/basicrewrite/017_null.txtar
index e04c50a..9390a53 100644
--- a/cue/testdata/basicrewrite/017_null.txtar
+++ b/cue/testdata/basicrewrite/017_null.txtar
@@ -37,7 +37,7 @@
 }
 -- out/eval --
 Errors:
-cannot call non-function null (type null):
+call: cannot call non-function null (type null):
     ./in.cue:9:7
 
 Result:
@@ -50,7 +50,7 @@
   eq2: (bool){ false }
   ne1: (bool){ true }
   call: (_|_){
-    // [eval] cannot call non-function null (type null):
+    // [eval] call: cannot call non-function null (type null):
     //     ./in.cue:9:7
   }
 }
diff --git a/cue/testdata/compile/scope.txtar b/cue/testdata/compile/scope.txtar
index 42a032e..1b69449 100644
--- a/cue/testdata/compile/scope.txtar
+++ b/cue/testdata/compile/scope.txtar
@@ -76,7 +76,7 @@
 }
 -- out/eval --
 Errors:
-structural cycle
+schema.next: structural cycle
 
 Result:
 (_|_){
@@ -103,7 +103,7 @@
   schema: (_|_){
     // [structural cycle]
     next: (_|_){
-      // [structural cycle] structural cycle
+      // [structural cycle] schema.next: structural cycle
       next: (_|_){// 〈1;let _schema_1〉
       }
     }
diff --git a/cue/testdata/comprehensions/for.txtar b/cue/testdata/comprehensions/for.txtar
index 909b818..44e7836 100644
--- a/cue/testdata/comprehensions/for.txtar
+++ b/cue/testdata/comprehensions/for.txtar
@@ -9,7 +9,7 @@
 e: int
 -- out/eval --
 Errors:
-invalid operand e (found int, want list or struct):
+k: invalid operand e (found int, want list or struct):
     ./in.cue:7:15
 
 Result:
@@ -28,7 +28,7 @@
   y: (struct){
   }
   k: (_|_){
-    // [eval] invalid operand e (found int, want list or struct):
+    // [eval] k: invalid operand e (found int, want list or struct):
     //     ./in.cue:7:15
   }
   e: (int){ int }
diff --git a/cue/testdata/cycle/021_delayed_constraint_failure.txtar b/cue/testdata/cycle/021_delayed_constraint_failure.txtar
index 9fb2ce2..ca71e0f 100644
--- a/cue/testdata/cycle/021_delayed_constraint_failure.txtar
+++ b/cue/testdata/cycle/021_delayed_constraint_failure.txtar
@@ -26,17 +26,17 @@
 }
 -- out/eval --
 Errors:
-incompatible values 101 and 100
-incompatible values 200 and 210
+b: incompatible values 200 and 210
+x: incompatible values 101 and 100
 
 Result:
 (_|_){
   // [eval]
   a: (int){ 100 }
   b: (_|_){
-    // [eval] incompatible values 200 and 210
+    // [eval] b: incompatible values 200 and 210
   }
   x: (_|_){
-    // [eval] incompatible values 101 and 100
+    // [eval] x: incompatible values 101 and 100
   }
 }
diff --git a/cue/testdata/cycle/023_reentrance.txtar b/cue/testdata/cycle/023_reentrance.txtar
index 57913b6..b60f9eb 100644
--- a/cue/testdata/cycle/023_reentrance.txtar
+++ b/cue/testdata/cycle/023_reentrance.txtar
@@ -85,7 +85,7 @@
     nn: (int){ int }
     out: (_|_){
       // [incomplete] incomplete
-      // undefined field out:
+      // fibRec.out: undefined field out:
       //     ./in.cue:3:40
     }
   }
diff --git a/cue/testdata/cycle/025_cannot_resolve_references_that_would_be_ambiguous.txtar b/cue/testdata/cycle/025_cannot_resolve_references_that_would_be_ambiguous.txtar
index 412f416..885c159 100644
--- a/cue/testdata/cycle/025_cannot_resolve_references_that_would_be_ambiguous.txtar
+++ b/cue/testdata/cycle/025_cannot_resolve_references_that_would_be_ambiguous.txtar
@@ -56,10 +56,10 @@
 -- out/eval --
 (struct){
   a1: (_|_){
-    // [incomplete] incomplete cause disjunction
+    // [incomplete] a1: incomplete cause disjunction
   }
   a2: (_|_){
-    // [incomplete] incomplete cause disjunction
+    // [incomplete] a2: incomplete cause disjunction
   }
   a3: (int){ 1 }
   b1: (int){ |((int){ 0 }, (int){ 1 }) }
diff --git a/cue/testdata/cycle/049_self-reference_cycles_conflicts_with_strings.txtar b/cue/testdata/cycle/049_self-reference_cycles_conflicts_with_strings.txtar
index 8a13a29..42cb241 100644
--- a/cue/testdata/cycle/049_self-reference_cycles_conflicts_with_strings.txtar
+++ b/cue/testdata/cycle/049_self-reference_cycles_conflicts_with_strings.txtar
@@ -28,7 +28,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values "hey!?" and "hey"
+a.x: incompatible values "hey!?" and "hey"
 
 Result:
 (_|_){
@@ -36,10 +36,10 @@
   a: (_|_){
     // [eval]
     x: (_|_){
-      // [eval] incompatible values "hey!?" and "hey"
+      // [eval] a.x: incompatible values "hey!?" and "hey"
     }
     y: (_|_){
-      // [eval] incompatible values "hey!?" and "hey"
+      // [eval] a.x: incompatible values "hey!?" and "hey"
     }
   }
 }
diff --git a/cue/testdata/cycle/051_resolved_self-reference_cycles_with_disjunction.txtar b/cue/testdata/cycle/051_resolved_self-reference_cycles_with_disjunction.txtar
index e346530..ee95f65 100644
--- a/cue/testdata/cycle/051_resolved_self-reference_cycles_with_disjunction.txtar
+++ b/cue/testdata/cycle/051_resolved_self-reference_cycles_with_disjunction.txtar
@@ -159,7 +159,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values 7 and 6:
+xe3: incompatible values 7 and 6:
     ./in.cue:44:6
 
 Result:
@@ -188,22 +188,22 @@
   xd4: (int){ 9 }
   xd5: (int){ 10 }
   xe1: (_|_){
-    // [incomplete] empty disjunction
+    // [incomplete] xe1: empty disjunction
   }
   xe2: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:44:6
   }
   xe3: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:44:6
   }
   xe4: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:44:6
   }
   xe5: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:44:6
   }
   xf1: (int){ |((int){ 8 }, (int){ 9 }) }
diff --git a/cue/testdata/cycle/052_resolved_self-reference_cycles_with_disjunction_with_defaults.txtar b/cue/testdata/cycle/052_resolved_self-reference_cycles_with_disjunction_with_defaults.txtar
index 6295a4f..de11972 100644
--- a/cue/testdata/cycle/052_resolved_self-reference_cycles_with_disjunction_with_defaults.txtar
+++ b/cue/testdata/cycle/052_resolved_self-reference_cycles_with_disjunction_with_defaults.txtar
@@ -129,7 +129,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values 7 and 6:
+xe3: incompatible values 7 and 6:
     ./in.cue:37:6
 
 Result:
@@ -158,22 +158,22 @@
   xd4: (int){ 9 }
   xd5: (int){ 10 }
   xe1: (_|_){
-    // [incomplete] empty disjunction
+    // [incomplete] xe1: empty disjunction
   }
   xe2: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:37:6
   }
   xe3: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:37:6
   }
   xe4: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:37:6
   }
   xe5: (_|_){
-    // [eval] incompatible values 7 and 6:
+    // [eval] xe3: incompatible values 7 and 6:
     //     ./in.cue:37:6
   }
   z1: (int){ |(*(int){ 11 }, (int){ 13 }) }
diff --git a/cue/testdata/cycle/disjunction.txtar b/cue/testdata/cycle/disjunction.txtar
index accdcfe..b6e6af1 100644
--- a/cue/testdata/cycle/disjunction.txtar
+++ b/cue/testdata/cycle/disjunction.txtar
@@ -39,7 +39,7 @@
 
 -- out/eval --
 Errors:
-structural cycle
+cycle.a: structural cycle
 
 Result:
 (_|_){
@@ -47,7 +47,7 @@
   cycle: (_|_){
     // [structural cycle]
     a: (_|_){
-      // [structural cycle] structural cycle
+      // [structural cycle] cycle.a: structural cycle
       a: (_|_){// 〈1;cycle〉
       }
     }
diff --git a/cue/testdata/cycle/issue241.txtar b/cue/testdata/cycle/issue241.txtar
index 833dab2..62f2574 100644
--- a/cue/testdata/cycle/issue241.txtar
+++ b/cue/testdata/cycle/issue241.txtar
@@ -28,10 +28,10 @@
 (struct){
   #Value: (int){ |((int){ 0 }, (int){ 1 }) }
   foo: (_|_){
-    // [incomplete] incomplete cause disjunction
+    // [incomplete] foo: incomplete cause disjunction
   }
   bar: (_|_){
-    // [incomplete] incomplete cause disjunction
+    // [incomplete] bar: incomplete cause disjunction
   }
   Foo: (int){ 1 }
   Bar: (int){ 0 }
diff --git a/cue/testdata/cycle/issue429.txtar b/cue/testdata/cycle/issue429.txtar
index 6e487d1..84a4484 100644
--- a/cue/testdata/cycle/issue429.txtar
+++ b/cue/testdata/cycle/issue429.txtar
@@ -52,8 +52,10 @@
 
 -- out/eval --
 Errors:
-invalid value 5 (out of bound <5)
-invalid value 5 (out of bound >10)
+es3.max: invalid value 5 (out of bound >10):
+    ./in.cue:5:10
+er3.min: invalid value 5 (out of bound <5):
+    ./in.cue:29:10
 
 Result:
 (_|_){
@@ -88,15 +90,16 @@
     res: (int){ |(*(int){ 0 }, (int){ &(>=0, int) }) }
     min: (int){ 10 }
     max: (_|_){
-      // [eval] invalid value 5 (out of bound >10)
+      // [eval] es3.max: invalid value 5 (out of bound >10):
+      //     ./in.cue:5:10
     }
   }
   #nonEmptyRange: (#struct){
     min: (_|_){
-      // [incomplete] incomplete cause disjunction
+      // [incomplete] #nonEmptyRange.min: incomplete cause disjunction
     }
     max: (_|_){
-      // [incomplete] incomplete cause disjunction
+      // [incomplete] #nonEmptyRange.min: incomplete cause disjunction
     }
   }
   r1: (#struct){
@@ -114,10 +117,12 @@
   er3: (_|_){
     // [eval]
     min: (_|_){
-      // [eval] invalid value 5 (out of bound <5)
+      // [eval] er3.min: invalid value 5 (out of bound <5):
+      //     ./in.cue:29:10
     }
     max: (_|_){
-      // [eval] invalid value 5 (out of bound <5)
+      // [eval] er3.min: invalid value 5 (out of bound <5):
+      //     ./in.cue:29:10
     }
   }
 }
diff --git a/cue/testdata/cycle/structural.txtar b/cue/testdata/cycle/structural.txtar
index 32b4d51..66e04ae 100644
--- a/cue/testdata/cycle/structural.txtar
+++ b/cue/testdata/cycle/structural.txtar
@@ -217,9 +217,37 @@
 
 -- out/eval --
 Errors:
-conflicting types
-conflicting types list and struct
-structural cycle
+a1.f.0: structural cycle
+a3.f.g: structural cycle
+b4.x.y.0: structural cycle
+b6.b.a.0: conflicting types list and int
+b6.b.a.0.0: structural cycle
+b6.x.a.0: structural cycle
+b7.a.0: structural cycle
+c1.a.c.c: structural cycle
+d1.a.b.c.d.t: structural cycle
+d1.r: structural cycle
+d2.a.b.c.d.t: structural cycle
+d3.x.a.b.c: structural cycle
+d3.x.indirect: structural cycle
+e1.a.c: structural cycle
+e1.b.c: structural cycle
+e2.a.c: structural cycle
+e2.b.c: structural cycle
+e3.a: conflicting types list and struct
+e3.a.0: conflicting types list and struct
+e3.a.0: structural cycle
+e3.a.c: conflicting types list and struct
+e3.a.c: structural cycle
+e3.b: conflicting types list and struct
+e3.b.0: conflicting types list and struct
+e3.b.0: structural cycle
+e3.b.c: conflicting types list and struct
+e3.b.c: structural cycle
+z1.z.f.h.h: structural cycle
+z1.z.g.h: structural cycle
+d2.r: structural cycle:
+    ./in.cue:79:8
 
 Result:
 (_|_){
@@ -229,7 +257,7 @@
     f: (_|_){
       // [structural cycle]
       0: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] a1.f.0: structural cycle
         0: (_|_){// 〈0;f〉
         }
       }
@@ -243,7 +271,7 @@
     f: (_|_){
       // [structural cycle]
       g: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] a3.f.g: structural cycle
         g: (_|_){// 〈1;f〉
         }
       }
@@ -301,7 +329,7 @@
       y: (_|_){
         // [structural cycle]
         0: (_|_){
-          // [structural cycle] structural cycle
+          // [structural cycle] b4.x.y.0: structural cycle
           0: (_|_){// 〈0;y〉
           }
         }
@@ -329,9 +357,9 @@
       a: (_|_){
         // [eval]
         0: (_|_){
-          // [eval] conflicting types
+          // [eval] b6.b.a.0: conflicting types list and int
           0: (_|_){
-            // [structural cycle] structural cycle
+            // [structural cycle] b6.b.a.0.0: structural cycle
           }
         }
       }
@@ -341,7 +369,7 @@
       a: (_|_){
         // [structural cycle]
         0: (_|_){
-          // [structural cycle] structural cycle
+          // [structural cycle] b6.x.a.0: structural cycle
           0: (_|_){// 〈0;a〉
           }
         }
@@ -358,7 +386,7 @@
     a: (_|_){
       // [structural cycle]
       0: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] b7.a.0: structural cycle
         0: (_|_){// 〈0;a〉
         }
       }
@@ -375,7 +403,7 @@
         b: (struct){
         }
         c: (_|_){
-          // [structural cycle] structural cycle
+          // [structural cycle] c1.a.c.c: structural cycle
           b: (_|_){// {}
           }
           c: (_|_){// (〈1;a〉 & 〈0;b〉)
@@ -396,7 +424,7 @@
             // [structural cycle]
             h: (int){ int }
             t: (_|_){
-              // [structural cycle] structural cycle
+              // [structural cycle] d1.a.b.c.d.t: structural cycle
               c: (_|_){// {
                 //   d: {
                 //     h: int
@@ -410,7 +438,7 @@
       }
     }
     r: (_|_){
-      // [structural cycle] structural cycle
+      // [structural cycle] d1.r: structural cycle
       c: (_|_){// {
         //   d: {
         //     h: int
@@ -429,7 +457,8 @@
       // [structural cycle]
     }
     r: (_|_){
-      // [structural cycle] structural cycle
+      // [structural cycle] d2.r: structural cycle:
+      //     ./in.cue:79:8
       c: (_|_){// {
         //   d: {
         //     h: int
@@ -448,7 +477,7 @@
             // [structural cycle]
             h: (int){ int }
             t: (_|_){
-              // [structural cycle] structural cycle
+              // [structural cycle] d2.a.b.c.d.t: structural cycle
               c: (_|_){// {
                 //   d: {
                 //     h: int
@@ -480,14 +509,14 @@
         b: (_|_){
           // [structural cycle]
           c: (_|_){
-            // [structural cycle] structural cycle
+            // [structural cycle] d3.x.a.b.c: structural cycle
             c: (_|_){// 〈2;indirect〉
             }
           }
         }
       }
       indirect: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] d3.x.indirect: structural cycle
         c: (_|_){// 〈2;indirect〉
         }
       }
@@ -499,7 +528,7 @@
     a: (_|_){
       // [structural cycle]
       c: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] e1.a.c: structural cycle
         c: (_|_){// 〈1;a〉
         }
       }
@@ -507,7 +536,7 @@
     b: (_|_){
       // [structural cycle]
       c: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] e1.b.c: structural cycle
         c: (_|_){// 〈1;b〉
         }
       }
@@ -518,7 +547,7 @@
     a: (_|_){
       // [structural cycle]
       c: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] e2.a.c: structural cycle
         c: (_|_){// 〈1;a〉
         }
       }
@@ -526,7 +555,7 @@
     b: (_|_){
       // [structural cycle]
       c: (_|_){
-        // [structural cycle] structural cycle
+        // [structural cycle] e2.b.c: structural cycle
         c: (_|_){// 〈1;b〉
         }
       }
@@ -535,18 +564,18 @@
   e3: (_|_){
     // [eval]
     a: (_|_){
-      // [eval] conflicting types list and struct
+      // [eval] e3.a: conflicting types list and struct
       c: (_|_){
-        // [eval] conflicting types list and struct
-        // structural cycle
+        // [eval] e3.a.c: conflicting types list and struct
+        // e3.a.c: structural cycle
         c: (_|_){// 〈1;a〉
         }
         0: (_|_){// 〈0;a〉
         }
       }
       0: (_|_){
-        // [eval] conflicting types list and struct
-        // structural cycle
+        // [eval] e3.a.0: conflicting types list and struct
+        // e3.a.0: structural cycle
         c: (_|_){// 〈1;a〉
         }
         0: (_|_){// 〈0;a〉
@@ -554,18 +583,18 @@
       }
     }
     b: (_|_){
-      // [eval] conflicting types list and struct
+      // [eval] e3.b: conflicting types list and struct
       c: (_|_){
-        // [eval] conflicting types list and struct
-        // structural cycle
+        // [eval] e3.b.c: conflicting types list and struct
+        // e3.b.c: structural cycle
         c: (_|_){// 〈1;b〉
         }
         0: (_|_){// 〈0;b〉
         }
       }
       0: (_|_){
-        // [eval] conflicting types list and struct
-        // structural cycle
+        // [eval] e3.b.0: conflicting types list and struct
+        // e3.b.0: structural cycle
         c: (_|_){// 〈1;b〉
         }
         0: (_|_){// 〈0;b〉
@@ -692,7 +721,7 @@
         h: (_|_){
           // [structural cycle]
           h: (_|_){
-            // [structural cycle] structural cycle
+            // [structural cycle] z1.z.f.h.h: structural cycle
             h: (_|_){// 〈1;g〉
             }
           }
@@ -701,7 +730,7 @@
       g: (_|_){
         // [structural cycle]
         h: (_|_){
-          // [structural cycle] structural cycle
+          // [structural cycle] z1.z.g.h: structural cycle
           h: (_|_){// 〈1;g〉
           }
         }
diff --git a/cue/testdata/definitions/026_combined_definitions.txtar b/cue/testdata/definitions/026_combined_definitions.txtar
index ee3b170..3cea8a6 100644
--- a/cue/testdata/definitions/026_combined_definitions.txtar
+++ b/cue/testdata/definitions/026_combined_definitions.txtar
@@ -118,8 +118,8 @@
 }
 -- out/eval --
 Errors:
-field `b` not allowed
-field `c` not allowed
+#D4.env: field `b` not allowed
+d1.env: field `c` not allowed
 
 Result:
 (_|_){
@@ -137,7 +137,7 @@
   d1: (_|_){
     // [eval]
     env: (_|_){
-      // [eval] field `c` not allowed
+      // [eval] d1.env: field `c` not allowed
       a: (string){ "A" }
       b: (string){ "B" }
       c: (string){ "C" }
@@ -160,7 +160,7 @@
   #D4: (_|_){
     // [eval]
     env: (_|_){
-      // [eval] field `b` not allowed
+      // [eval] #D4.env: field `b` not allowed
       a: (int){ int }
       b: (int){ int }
     }
diff --git a/cue/testdata/definitions/032_definitions_with_embedding.txtar b/cue/testdata/definitions/032_definitions_with_embedding.txtar
index b7a19c5..a60d57a 100644
--- a/cue/testdata/definitions/032_definitions_with_embedding.txtar
+++ b/cue/testdata/definitions/032_definitions_with_embedding.txtar
@@ -81,7 +81,7 @@
 }
 -- out/eval --
 Errors:
-field `d` not allowed
+#e1.a: field `d` not allowed
 
 Result:
 (_|_){
@@ -101,7 +101,7 @@
   #e1: (_|_){
     // [eval]
     a: (_|_){
-      // [eval] field `d` not allowed
+      // [eval] #e1.a: field `d` not allowed
       b: (int){ int }
       c: (int){ int }
       d: (int){ 4 }
diff --git "a/cue/testdata/definitions/033_Issue_\043153.txtar" "b/cue/testdata/definitions/033_Issue_\043153.txtar"
index ddb37ff..3b99002 100644
--- "a/cue/testdata/definitions/033_Issue_\043153.txtar"
+++ "b/cue/testdata/definitions/033_Issue_\043153.txtar"
@@ -62,7 +62,7 @@
 }
 -- out/eval --
 Errors:
-field `b` not allowed
+listOfCloseds.0: field `b` not allowed
 
 Result:
 (_|_){
@@ -70,7 +70,7 @@
   listOfCloseds: (_|_){
     // [eval]
     0: (_|_){
-      // [eval] field `b` not allowed
+      // [eval] listOfCloseds.0: field `b` not allowed
       a: (int){ |(*(int){ 0 }, (int){ int }) }
       b: (int){ 2 }
     }
diff --git a/cue/testdata/definitions/037_closing_with_comprehensions.txtar b/cue/testdata/definitions/037_closing_with_comprehensions.txtar
index e7db8de..25fc9b3 100644
--- a/cue/testdata/definitions/037_closing_with_comprehensions.txtar
+++ b/cue/testdata/definitions/037_closing_with_comprehensions.txtar
@@ -104,8 +104,9 @@
 }
 -- out/eval --
 Errors:
-cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct
-field `f3` not allowed
+#D: cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct
+#E: field `f3` not allowed
+a: field `f3` not allowed
 
 Result:
 (_|_){
@@ -121,17 +122,17 @@
     f1: (int){ int }
   }
   #D: (_|_){
-    // [eval] cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct
+    // [eval] #D: cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct
     f1: (int){ int }
   }
   #E: (_|_){
-    // [eval] field `f3` not allowed
+    // [eval] #E: field `f3` not allowed
     f1: (int){ int }
     f2: (int){ int }
     f3: (int){ int }
   }
   a: (_|_){
-    // [eval] field `f3` not allowed
+    // [eval] a: field `f3` not allowed
     f1: (int){ int }
     f2: (int){ int }
     f3: (int){ int }
diff --git a/cue/testdata/definitions/037_conjunction_of_optional_sets.txtar b/cue/testdata/definitions/037_conjunction_of_optional_sets.txtar
index 9847e4e..d3a9543 100644
--- a/cue/testdata/definitions/037_conjunction_of_optional_sets.txtar
+++ b/cue/testdata/definitions/037_conjunction_of_optional_sets.txtar
@@ -52,7 +52,8 @@
 }
 -- out/eval --
 Errors:
-field `aaa` not allowed
+c: field `aaa` not allowed
+d: field `aaa` not allowed
 
 Result:
 (_|_){
@@ -64,13 +65,13 @@
   #C: (#struct){
   }
   c: (_|_){
-    // [eval] field `aaa` not allowed
+    // [eval] c: field `aaa` not allowed
     aaa: (int){ 3 }
   }
   #D: (#struct){
   }
   d: (_|_){
-    // [eval] field `aaa` not allowed
+    // [eval] d: field `aaa` not allowed
     aaa: (int){ 3 }
   }
 }
diff --git a/cue/testdata/definitions/038_continue_recursive_closing_for_optionals.txtar b/cue/testdata/definitions/038_continue_recursive_closing_for_optionals.txtar
index 8132c7d..9c16b91 100644
--- a/cue/testdata/definitions/038_continue_recursive_closing_for_optionals.txtar
+++ b/cue/testdata/definitions/038_continue_recursive_closing_for_optionals.txtar
@@ -38,7 +38,7 @@
 }
 -- out/eval --
 Errors:
-field `b` not allowed
+a.v: field `b` not allowed
 
 Result:
 (_|_){
@@ -48,7 +48,7 @@
   a: (_|_){
     // [eval]
     v: (_|_){
-      // [eval] field `b` not allowed
+      // [eval] a.v: field `b` not allowed
       b: (int){ int }
       a: (int){ int }
     }
diff --git a/cue/testdata/eval/closed_disjunction.txtar b/cue/testdata/eval/closed_disjunction.txtar
index c2e142a..3691706 100644
--- a/cue/testdata/eval/closed_disjunction.txtar
+++ b/cue/testdata/eval/closed_disjunction.txtar
@@ -15,7 +15,7 @@
 }
 -- out/eval --
 Errors:
-field `d` not allowed
+b: field `d` not allowed
 
 Result:
 (_|_){
@@ -27,7 +27,7 @@
     c: (int){ 3 }
   }
   b: (_|_){
-    // [eval] field `d` not allowed
+    // [eval] b: field `d` not allowed
     c: (int){ 3 }
     d: (int){ 4 }
   }
diff --git a/cue/testdata/eval/closedness.txtar b/cue/testdata/eval/closedness.txtar
index 99e05de..8371eca 100644
--- a/cue/testdata/eval/closedness.txtar
+++ b/cue/testdata/eval/closedness.txtar
@@ -18,7 +18,7 @@
 }
 -- out/eval --
 Errors:
-field `e` not allowed
+a.q: field `e` not allowed
 
 Result:
 (_|_){
@@ -37,7 +37,7 @@
     // [eval]
     b: (int){ 3 }
     q: (_|_){
-      // [eval] field `e` not allowed
+      // [eval] a.q: field `e` not allowed
       c: (int){ 2 }
       d: (int){ int }
       e: (int){ 43 }
diff --git a/cue/testdata/eval/disjunctions.txtar b/cue/testdata/eval/disjunctions.txtar
index 608a0f9..fc6e002 100644
--- a/cue/testdata/eval/disjunctions.txtar
+++ b/cue/testdata/eval/disjunctions.txtar
@@ -17,7 +17,7 @@
 
 -- out/eval --
 Errors:
-invalid value string (mismatched types string and int)
+f.val: invalid value string (mismatched types string and int)
 
 Result:
 (_|_){
@@ -47,7 +47,7 @@
     // [eval]
     name: (string){ "str" }
     val: (_|_){
-      // [eval] invalid value string (mismatched types string and int)
+      // [eval] f.val: invalid value string (mismatched types string and int)
     }
   }
 }
diff --git a/cue/testdata/eval/incomplete.txtar b/cue/testdata/eval/incomplete.txtar
index f302464..057693d 100644
--- a/cue/testdata/eval/incomplete.txtar
+++ b/cue/testdata/eval/incomplete.txtar
@@ -19,13 +19,13 @@
 (struct){
   s: (string){ string }
   e1: (_|_){
-    // [incomplete] non-concrete value string in operand to +:
+    // [incomplete] e1: non-concrete value string in operand to +:
     //     ./in.cue:3:5
   }
   e2: (string){ >"bar" }
   e3: (string){ "foo" }
   e4: (_|_){
-    // [incomplete] non-concrete value string in operand to +:
+    // [incomplete] e1: non-concrete value string in operand to +:
     //     ./in.cue:3:5
   }
   e5: (_|_){
diff --git a/cue/testdata/eval/resolve_basic.txtar b/cue/testdata/eval/resolve_basic.txtar
index 9d04e0b..08be88e 100644
--- a/cue/testdata/eval/resolve_basic.txtar
+++ b/cue/testdata/eval/resolve_basic.txtar
@@ -16,7 +16,7 @@
   d: (struct){
     x: (_){ _ }
     y: (_|_){
-      // [incomplete] non-concrete value _ in operand to +:
+      // [incomplete] d.y: non-concrete value _ in operand to +:
       //     ./in.cue:5:6
     }
   }
diff --git a/cue/testdata/eval/selectors.txtar b/cue/testdata/eval/selectors.txtar
index 9d04e0b..08be88e 100644
--- a/cue/testdata/eval/selectors.txtar
+++ b/cue/testdata/eval/selectors.txtar
@@ -16,7 +16,7 @@
   d: (struct){
     x: (_){ _ }
     y: (_|_){
-      // [incomplete] non-concrete value _ in operand to +:
+      // [incomplete] d.y: non-concrete value _ in operand to +:
       //     ./in.cue:5:6
     }
   }
diff --git a/cue/testdata/export/006.txtar b/cue/testdata/export/006.txtar
index 5396597..4fd285f 100644
--- a/cue/testdata/export/006.txtar
+++ b/cue/testdata/export/006.txtar
@@ -33,15 +33,15 @@
   }
   b: (float){ 2.0 }
   c: (_|_){
-    // [incomplete] undefined field c:
+    // [incomplete] c: undefined field c:
     //     ./in.cue:1:38
   }
   d: (_|_){
-    // [incomplete] undefined field d:
+    // [incomplete] d: undefined field d:
     //     ./in.cue:1:46
   }
   e: (_|_){
-    // [incomplete] undefined field t:
+    // [incomplete] e: undefined field t:
     //     ./in.cue:1:57
   }
 }
diff --git a/cue/testdata/export/007.txtar b/cue/testdata/export/007.txtar
index c7f9841..d69ae88 100644
--- a/cue/testdata/export/007.txtar
+++ b/cue/testdata/export/007.txtar
@@ -27,8 +27,12 @@
 }
 -- out/eval --
 Errors:
-undefined field c:
+c: undefined field c:
     ./in.cue:1:41
+d: undefined field d:
+    ./in.cue:1:50
+e: undefined field t:
+    ./in.cue:1:62
 
 Result:
 (_|_){
@@ -39,15 +43,15 @@
   }
   b: (float){ 2.0 }
   c: (_|_){
-    // [eval] undefined field c:
+    // [eval] c: undefined field c:
     //     ./in.cue:1:41
   }
   d: (_|_){
-    // [eval] undefined field d:
+    // [eval] d: undefined field d:
     //     ./in.cue:1:50
   }
   e: (_|_){
-    // [eval] undefined field t:
+    // [eval] e: undefined field t:
     //     ./in.cue:1:62
   }
 }
diff --git a/cue/testdata/export/008.txtar b/cue/testdata/export/008.txtar
index ee0c8c6..07c94c0 100644
--- a/cue/testdata/export/008.txtar
+++ b/cue/testdata/export/008.txtar
@@ -16,7 +16,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values 4 and 3
+a.0: incompatible values 4 and 3
 
 Result:
 (_|_){
@@ -24,7 +24,7 @@
   a: (_|_){
     // [eval]
     0: (_|_){
-      // [eval] incompatible values 4 and 3
+      // [eval] a.0: incompatible values 4 and 3
     }
   }
 }
diff --git a/cue/testdata/export/012.txtar b/cue/testdata/export/012.txtar
index 55a79da..01111cd 100644
--- a/cue/testdata/export/012.txtar
+++ b/cue/testdata/export/012.txtar
@@ -18,7 +18,7 @@
 (struct){
   a: ((int|string)){ |(*(string){ "foo" }, *(string){ "bar" }, *(string){ string }, (int){ int }) }
   b: (_|_){
-    // [incomplete] non-concrete slice subject a:
+    // [incomplete] b: non-concrete slice subject a:
     //     ./in.cue:1:41
   }
 }
diff --git a/cue/testdata/export/019.txtar b/cue/testdata/export/019.txtar
index bc1c2d8..ea12d29 100644
--- a/cue/testdata/export/019.txtar
+++ b/cue/testdata/export/019.txtar
@@ -16,7 +16,7 @@
 }
 -- out/eval --
 Errors:
-invalid interpolation: cannot use >=0 & <=10 (type number) as type string:
+b: invalid interpolation: cannot use >=0 & <=10 (type number) as type string:
     ./in.cue:1:20
 
 Result:
@@ -24,7 +24,7 @@
   // [eval]
   a: (number){ &(>=0, <=10) }
   b: (_|_){
-    // [eval] invalid interpolation: cannot use >=0 & <=10 (type number) as type string:
+    // [eval] b: invalid interpolation: cannot use >=0 & <=10 (type number) as type string:
     //     ./in.cue:1:20
   }
 }
diff --git a/cue/testdata/export/021.txtar b/cue/testdata/export/021.txtar
index 05d6c3e..822ef79 100644
--- a/cue/testdata/export/021.txtar
+++ b/cue/testdata/export/021.txtar
@@ -46,7 +46,7 @@
 (struct){
   b: (struct){
     idx: (_|_){
-      // [incomplete] invalid non-ground value string (must be concrete string)
+      // [incomplete] b.idx: invalid non-ground value string (must be concrete string)
     }
     str: (string){ string }
     a: (struct){
diff --git a/cue/testdata/export/025.txtar b/cue/testdata/export/025.txtar
index 6bf3c9b..78d23b1 100644
--- a/cue/testdata/export/025.txtar
+++ b/cue/testdata/export/025.txtar
@@ -43,7 +43,7 @@
 -- out/eval --
 (struct){
   b: (_|_){
-    // [incomplete] invalid non-ground value int (must be concrete int)
+    // [incomplete] b: invalid non-ground value int (must be concrete int)
   }
   a: (int){ int }
   c: (int){ |(*(int){ 1 }, (int){ 2 }) }
diff --git a/cue/testdata/fulleval/000_detect_conflicting_value.txtar b/cue/testdata/fulleval/000_detect_conflicting_value.txtar
index 2e5a97f..a4a9787 100644
--- a/cue/testdata/fulleval/000_detect_conflicting_value.txtar
+++ b/cue/testdata/fulleval/000_detect_conflicting_value.txtar
@@ -18,6 +18,6 @@
 -- out/eval --
 (struct){
   a: (_|_){
-    // [incomplete] empty disjunction
+    // [incomplete] a: empty disjunction
   }
 }
diff --git a/cue/testdata/fulleval/018_recursive_evaluation_within_list.txtar b/cue/testdata/fulleval/018_recursive_evaluation_within_list.txtar
index dbacf97..79d2de4 100644
--- a/cue/testdata/fulleval/018_recursive_evaluation_within_list.txtar
+++ b/cue/testdata/fulleval/018_recursive_evaluation_within_list.txtar
@@ -86,7 +86,7 @@
   }
   b1: (struct){
     d: (_|_){
-      // [incomplete] non-concrete value string in operand to +:
+      // [incomplete] b1.d: non-concrete value string in operand to +:
       //     ./in.cue:10:5
     }
     c: (string){ string }
diff --git a/cue/testdata/fulleval/020_complex_interaction_of_groundness.txtar b/cue/testdata/fulleval/020_complex_interaction_of_groundness.txtar
index dadb8f8..1b31de5 100644
--- a/cue/testdata/fulleval/020_complex_interaction_of_groundness.txtar
+++ b/cue/testdata/fulleval/020_complex_interaction_of_groundness.txtar
@@ -72,7 +72,7 @@
       c: (struct){
         d: (string){ string }
         s: (_|_){
-          // [incomplete] non-concrete value string in operand to +:
+          // [incomplete] a.b.c.s: non-concrete value string in operand to +:
           //     ./in.cue:4:34
         }
       }
diff --git a/cue/testdata/fulleval/021_complex_groundness_2.txtar b/cue/testdata/fulleval/021_complex_groundness_2.txtar
index c332769..50a9f11 100644
--- a/cue/testdata/fulleval/021_complex_groundness_2.txtar
+++ b/cue/testdata/fulleval/021_complex_groundness_2.txtar
@@ -83,9 +83,9 @@
     res: (struct){
       d: (string){ string }
       s: (_|_){
-        // [incomplete] non-concrete value string in operand to +:
+        // [incomplete] f1.res.s: non-concrete value string in operand to +:
         //     ./in.cue:5:25
-        // non-concrete value string in operand to +:
+        // f1.res.s: non-concrete value string in operand to +:
         //     ./in.cue:6:34
       }
     }
@@ -95,9 +95,9 @@
       c: (struct){
         d: (string){ string }
         s: (_|_){
-          // [incomplete] non-concrete value string in operand to +:
+          // [incomplete] a.b.c.s: non-concrete value string in operand to +:
           //     ./in.cue:5:25
-          // non-concrete value string in operand to +:
+          // a.b.c.s: non-concrete value string in operand to +:
           //     ./in.cue:6:34
         }
       }
diff --git "a/cue/testdata/fulleval/024_Issue_\04323.txtar" "b/cue/testdata/fulleval/024_Issue_\04323.txtar"
index a2da8e2..0f41876 100644
--- "a/cue/testdata/fulleval/024_Issue_\04323.txtar"
+++ "b/cue/testdata/fulleval/024_Issue_\04323.txtar"
@@ -28,7 +28,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values 2 and 3
+y.a: incompatible values 2 and 3
 
 Result:
 (_|_){
@@ -41,7 +41,7 @@
   y: (_|_){
     // [eval]
     a: (_|_){
-      // [eval] incompatible values 2 and 3
+      // [eval] y.a: incompatible values 2 and 3
     }
   }
 }
diff --git a/cue/testdata/fulleval/026_dont_convert_incomplete_errors_to_non-incomplete.txtar b/cue/testdata/fulleval/026_dont_convert_incomplete_errors_to_non-incomplete.txtar
index b6e88bd..c640f19 100644
--- a/cue/testdata/fulleval/026_dont_convert_incomplete_errors_to_non-incomplete.txtar
+++ b/cue/testdata/fulleval/026_dont_convert_incomplete_errors_to_non-incomplete.txtar
@@ -55,35 +55,35 @@
     }
   }
   n2: (_|_){
-    // [incomplete] operand -num of '-' not concrete (was number):
+    // [incomplete] n2: operand -num of '-' not concrete (was number):
     //     ./in.cue:4:6
   }
   n3: (_|_){
-    // [incomplete] operand +num of '+' not concrete (was number):
+    // [incomplete] n3: operand +num of '+' not concrete (was number):
     //     ./in.cue:5:6
   }
   n4: (_|_){
-    // [incomplete] non-concrete value <4 in operand to +:
+    // [incomplete] n4: non-concrete value <4 in operand to +:
     //     ./in.cue:6:5
   }
   n5: (_|_){
-    // [incomplete] non-concrete value <4 in operand to -:
+    // [incomplete] n5: non-concrete value <4 in operand to -:
     //     ./in.cue:7:5
   }
   n6: (_|_){
-    // [incomplete] non-concrete value <4 in operand to *:
+    // [incomplete] n6: non-concrete value <4 in operand to *:
     //     ./in.cue:8:5
   }
   n7: (_|_){
-    // [incomplete] non-concrete value <4 in operand to /:
+    // [incomplete] n7: non-concrete value <4 in operand to /:
     //     ./in.cue:9:5
   }
   b1: (_|_){
-    // [incomplete] operand !is of '!' not concrete (was bool):
+    // [incomplete] b1: operand !is of '!' not concrete (was bool):
     //     ./in.cue:11:6
   }
   s1: (_|_){
-    // [incomplete] invalid interpolation: incomplete string value 'string':
+    // [incomplete] s1: invalid interpolation: incomplete string value 'string':
     //     ./in.cue:13:5
   }
   s2: (string){ strings.ContainsAny("dd") }
diff --git a/cue/testdata/fulleval/027_len_of_incomplete_types.txtar b/cue/testdata/fulleval/027_len_of_incomplete_types.txtar
index d76583f..a2f2aeb 100644
--- a/cue/testdata/fulleval/027_len_of_incomplete_types.txtar
+++ b/cue/testdata/fulleval/027_len_of_incomplete_types.txtar
@@ -41,16 +41,16 @@
   v3: (int){ 0 }
   v4: (int){ 1 }
   v5: (_|_){
-    // [incomplete] unresolved disjunction {a:3} | {a:4} (type struct):
+    // [incomplete] v5: unresolved disjunction {a:3} | {a:4} (type struct):
     //     ./in.cue:6:7
   }
   v6: (_|_){
-    // [incomplete] unresolved disjunction 'sf' | 'dd' (type bytes):
+    // [incomplete] v6: unresolved disjunction 'sf' | 'dd' (type bytes):
     //     ./in.cue:7:7
   }
   v7: (int){ 2 }
   v8: (_|_){
-    // [incomplete] unresolved disjunction [2] | [1,2] (type list):
+    // [incomplete] v8: unresolved disjunction [2] | [1,2] (type list):
     //     ./in.cue:9:7
   }
   v9: (int){ 4 }
diff --git "a/cue/testdata/fulleval/029_Issue_\04394.txtar" "b/cue/testdata/fulleval/029_Issue_\04394.txtar"
index e15758e..231bb0d 100644
--- "a/cue/testdata/fulleval/029_Issue_\04394.txtar"
+++ "b/cue/testdata/fulleval/029_Issue_\04394.txtar"
@@ -97,7 +97,7 @@
   }
   select: (struct){
     opt: (_|_){
-      // [incomplete] undefined field opt:
+      // [incomplete] select.opt: undefined field opt:
       //     ./in.cue:10:15
     }
     txt: (int){ 2 }
@@ -107,17 +107,17 @@
   }
   index: (struct){
     opt: (_|_){
-      // [incomplete] undefined field opt:
+      // [incomplete] index.opt: undefined field opt:
       //     ./in.cue:17:15
     }
     txt: (int){ 2 }
     #def: (_|_){
-      // [incomplete] undefined field "#def":
+      // [incomplete] index.#def: undefined field "#def":
       //     ./in.cue:19:15
     }
     regular: (int){ 4 }
     _hidden: (_|_){
-      // [incomplete] undefined field "_hidden":
+      // [incomplete] index._hidden: undefined field "_hidden":
       //     ./in.cue:21:15
     }
   }
diff --git a/cue/testdata/fulleval/031_comparison_against_bottom.txtar b/cue/testdata/fulleval/031_comparison_against_bottom.txtar
index 14db904..c0cceeb 100644
--- a/cue/testdata/fulleval/031_comparison_against_bottom.txtar
+++ b/cue/testdata/fulleval/031_comparison_against_bottom.txtar
@@ -61,7 +61,7 @@
 }
 -- out/eval --
 Errors:
-incompatible values 2 and 1:
+err: incompatible values 2 and 1:
     ./in.cue:2:4
 
 Result:
@@ -69,13 +69,13 @@
   // [eval]
   a: (bool){ true }
   b: (_|_){
-    // [eval] incompatible values 2 and 1:
+    // [eval] err: incompatible values 2 and 1:
     //     ./in.cue:2:4
   }
   c: (bool){ true }
   d: (bool){ false }
   e: (_|_){
-    // [eval] incompatible values 2 and 1:
+    // [eval] err: incompatible values 2 and 1:
     //     ./in.cue:2:4
   }
   f: (bool){ true }
@@ -83,7 +83,7 @@
   h: (bool){ true }
   i: (bool){ false }
   err: (_|_){
-    // [eval] incompatible values 2 and 1:
+    // [eval] err: incompatible values 2 and 1:
     //     ./in.cue:2:4
   }
 }
diff --git a/cue/testdata/fulleval/035_optionals_with_label_filters.txtar b/cue/testdata/fulleval/035_optionals_with_label_filters.txtar
index a26c0b3..40eda99 100644
--- a/cue/testdata/fulleval/035_optionals_with_label_filters.txtar
+++ b/cue/testdata/fulleval/035_optionals_with_label_filters.txtar
@@ -102,10 +102,11 @@
 }
 -- out/eval --
 Errors:
-field `cmd` not allowed
-field `foo1` not allowed
-field `fooTest1` not allowed
-invalid value "badName" (out of bound =~"^test")
+jobs1: field `foo1` not allowed
+jobs3: field `fooTest1` not allowed
+jobs3.fooTest1: field `cmd` not allowed
+jobs2.fooTest.name: invalid value "badName" (out of bound =~"^test"):
+    ./in.cue:9:22
 
 Result:
 (_|_){
@@ -123,7 +124,7 @@
     }
   }
   jobs1: (_|_){
-    // [eval] field `foo1` not allowed
+    // [eval] jobs1: field `foo1` not allowed
     foo1: (#struct){
     }
   }
@@ -132,15 +133,16 @@
     fooTest: (_|_){
       // [eval]
       name: (_|_){
-        // [eval] invalid value "badName" (out of bound =~"^test")
+        // [eval] jobs2.fooTest.name: invalid value "badName" (out of bound =~"^test"):
+        //     ./in.cue:9:22
       }
       cmd: (string){ string }
     }
   }
   jobs3: (_|_){
-    // [eval] field `fooTest1` not allowed
+    // [eval] jobs3: field `fooTest1` not allowed
     fooTest1: (_|_){
-      // [eval] field `cmd` not allowed
+      // [eval] jobs3.fooTest1: field `cmd` not allowed
       name: (string){ "badName" }
       cmd: (string){ string }
     }
diff --git a/cue/testdata/fulleval/046_non-structural_direct_cycles.txtar b/cue/testdata/fulleval/046_non-structural_direct_cycles.txtar
index f711acd..bd2174a 100644
--- a/cue/testdata/fulleval/046_non-structural_direct_cycles.txtar
+++ b/cue/testdata/fulleval/046_non-structural_direct_cycles.txtar
@@ -29,14 +29,14 @@
 -- out/eval --
 (struct){
   c1: (_|_){
-    // [incomplete] undefined field bar:
+    // [incomplete] c1: undefined field bar:
     //     ./in.cue:1:24
     bar: (struct){
       baz: (int){ 2 }
     }
   }
   c2: (_|_){
-    // [incomplete] undefined field bar:
+    // [incomplete] c2: undefined field bar:
     //     ./in.cue:2:24
     bar: (int){ 1 }
   }
diff --git a/cue/testdata/fulleval/050_json_Marshaling_detects_incomplete.txtar b/cue/testdata/fulleval/050_json_Marshaling_detects_incomplete.txtar
index 0c5f6a0..f8f2f4e 100644
--- a/cue/testdata/fulleval/050_json_Marshaling_detects_incomplete.txtar
+++ b/cue/testdata/fulleval/050_json_Marshaling_detects_incomplete.txtar
@@ -30,12 +30,12 @@
   foo: (struct){
     a: (int){ 3 }
     b: (_|_){
-      // [incomplete] undefined field c:
+      // [incomplete] foo.b: undefined field c:
       //     ./in.cue:5:20
     }
   }
   b: (_|_){
-    // [incomplete] undefined field c:
+    // [incomplete] foo.b: undefined field c:
     //     ./in.cue:5:20
   }
 }
diff --git a/cue/testdata/fulleval/055_issue318.txtar b/cue/testdata/fulleval/055_issue318.txtar
index ba787a3..b43df71 100644
--- a/cue/testdata/fulleval/055_issue318.txtar
+++ b/cue/testdata/fulleval/055_issue318.txtar
@@ -43,11 +43,11 @@
 }
 -- out/eval --
 Errors:
-invalid interpolation: undefined field y:
+#T.out1: invalid interpolation: undefined field y:
     ./in.cue:3:8
-invalid interpolation: undefined field y:
+#T.out2: invalid interpolation: undefined field y:
     ./in.cue:4:8
-undefined field y:
+#T.vy: undefined field y:
     ./in.cue:6:12
 
 Result:
@@ -59,16 +59,16 @@
       x: (string){ string }
     }
     out1: (_|_){
-      // [eval] invalid interpolation: undefined field y:
+      // [eval] #T.out1: invalid interpolation: undefined field y:
       //     ./in.cue:3:8
     }
     out2: (_|_){
-      // [eval] invalid interpolation: undefined field y:
+      // [eval] #T.out2: invalid interpolation: undefined field y:
       //     ./in.cue:4:8
     }
     vx: (string){ string }
     vy: (_|_){
-      // [eval] undefined field y:
+      // [eval] #T.vy: undefined field y:
       //     ./in.cue:6:12
     }
   }
diff --git a/cue/testdata/interpolation/041_interpolation.txtar b/cue/testdata/interpolation/041_interpolation.txtar
index ea2955d..06a2adc 100644
--- a/cue/testdata/interpolation/041_interpolation.txtar
+++ b/cue/testdata/interpolation/041_interpolation.txtar
@@ -33,7 +33,7 @@
 }
 -- out/eval --
 Errors:
-invalid interpolation: cannot use [] (type list) as type string:
+e: invalid interpolation: cannot use [] (type list) as type string:
     ./in.cue:7:4
 
 Result:
@@ -43,16 +43,16 @@
   b: (string){ "one 4 two 4one" }
   c: (string){ "one" }
   d: (_|_){
-    // [incomplete] invalid interpolation: incomplete string value '_':
+    // [incomplete] d: invalid interpolation: incomplete string value '_':
     //     ./in.cue:4:4
   }
   u: (_|_){
-    // [incomplete] invalid interpolation: incomplete string value '_':
+    // [incomplete] u: invalid interpolation: incomplete string value '_':
     //     ./in.cue:5:4
   }
   r: (_){ _ }
   e: (_|_){
-    // [eval] invalid interpolation: cannot use [] (type list) as type string:
+    // [eval] e: invalid interpolation: cannot use [] (type list) as type string:
     //     ./in.cue:7:4
   }
 }
diff --git a/cue/testdata/lists/019_list_types.txtar b/cue/testdata/lists/019_list_types.txtar
index fc789f2..9c3a443 100644
--- a/cue/testdata/lists/019_list_types.txtar
+++ b/cue/testdata/lists/019_list_types.txtar
@@ -118,7 +118,7 @@
 }
 -- out/eval --
 Errors:
-incompatible list lengths (1 and 2)
+e0: incompatible list lengths (1 and 2)
 
 Result:
 (_|_){
@@ -153,7 +153,7 @@
   t1: (list){
   }
   e0: (_|_){
-    // [eval] incompatible list lengths (1 and 2)
+    // [eval] e0: incompatible list lengths (1 and 2)
     0: (struct){
     }
     1: (struct){
diff --git a/cue/testdata/lists/020_list_arithmetic.txtar b/cue/testdata/lists/020_list_arithmetic.txtar
index cfc9f85..3f0360c 100644
--- a/cue/testdata/lists/020_list_arithmetic.txtar
+++ b/cue/testdata/lists/020_list_arithmetic.txtar
@@ -338,7 +338,7 @@
 }
 -- out/eval --
 Errors:
-value can never become concrete:
+l5: value can never become concrete:
     ./in.cue:6:12
 
 Result:
@@ -360,15 +360,15 @@
   l2: (#list){
   }
   l3: (_|_){
-    // [incomplete] non-concrete value <=2 in operand to *:
+    // [incomplete] l3: non-concrete value <=2 in operand to *:
     //     ./in.cue:4:5
   }
   l4: (_|_){
-    // [incomplete] non-concrete value <=2 in operand to *:
+    // [incomplete] l4: non-concrete value <=2 in operand to *:
     //     ./in.cue:5:5
   }
   l5: (_|_){
-    // [eval] value can never become concrete:
+    // [eval] l5: value can never become concrete:
     //     ./in.cue:6:12
   }
   l6: (#list){
diff --git a/cue/testdata/resolve/006_arithmetic.txtar b/cue/testdata/resolve/006_arithmetic.txtar
index 9542e1d..8ee0e1c 100644
--- a/cue/testdata/resolve/006_arithmetic.txtar
+++ b/cue/testdata/resolve/006_arithmetic.txtar
@@ -30,7 +30,7 @@
 }
 -- out/eval --
 Errors:
-invalid value 2 (mismatched types float and int)
+e2: invalid value 2 (mismatched types float and int)
 
 Result:
 (_|_){
@@ -41,6 +41,6 @@
   v5: (float){ 2.0 }
   v6: (float){ 1 }
   e2: (_|_){
-    // [eval] invalid value 2 (mismatched types float and int)
+    // [eval] e2: invalid value 2 (mismatched types float and int)
   }
 }
diff --git a/cue/testdata/resolve/010_optional_field_resolves_to_incomplete.txtar b/cue/testdata/resolve/010_optional_field_resolves_to_incomplete.txtar
index 7b017da..50df2cb 100644
--- a/cue/testdata/resolve/010_optional_field_resolves_to_incomplete.txtar
+++ b/cue/testdata/resolve/010_optional_field_resolves_to_incomplete.txtar
@@ -29,11 +29,11 @@
 (struct){
   r: (struct){
     b: (_|_){
-      // [incomplete] undefined field a:
+      // [incomplete] r.b: undefined field a:
       //     ./in.cue:3:6
     }
     c: (_|_){
-      // [incomplete] undefined field a:
+      // [incomplete] r.c: undefined field a:
       //     ./in.cue:4:8
     }
   }
diff --git a/cue/testdata/resolve/011_bounds.txtar b/cue/testdata/resolve/011_bounds.txtar
index 7fdc302..134204f 100644
--- a/cue/testdata/resolve/011_bounds.txtar
+++ b/cue/testdata/resolve/011_bounds.txtar
@@ -138,15 +138,17 @@
 }
 -- out/eval --
 Errors:
-bounds >1 <0
-bounds >11 <11
-bounds >11 <=11
-bounds >=11 <11
-invalid value !=null (mismatched types (bool|string|bytes|list|struct|number) and null)
-invalid value 0 (out of bound <0)
-invalid value 1 (out of bound >1)
-invalid value <1 (mismatched types number and string)
-invalid value null (mismatched types null and (bool|string|bytes|list|struct|number))
+e1: invalid value !=null (mismatched types (bool|string|bytes|list|struct|number) and null)
+e2: invalid value null (mismatched types null and (bool|string|bytes|list|struct|number))
+e5: incompatible bounds >1 and <0
+e6: incompatible bounds >11 and <11
+e7: incompatible bounds >=11 and <11
+e8: incompatible bounds >11 and <=11
+e9: invalid value <1 (mismatched types number and string)
+e3: invalid value 1 (out of bound >1):
+    ./in.cue:42:5
+e4: invalid value 0 (out of bound <0):
+    ./in.cue:43:5
 
 Result:
 (_|_){
@@ -182,30 +184,32 @@
   s23e: (number){ &(>0.0, <2.0) }
   s30: (int){ &(>0, int) }
   e1: (_|_){
-    // [eval] invalid value !=null (mismatched types (bool|string|bytes|list|struct|number) and null)
+    // [eval] e1: invalid value !=null (mismatched types (bool|string|bytes|list|struct|number) and null)
   }
   e2: (_|_){
-    // [eval] invalid value null (mismatched types null and (bool|string|bytes|list|struct|number))
+    // [eval] e2: invalid value null (mismatched types null and (bool|string|bytes|list|struct|number))
   }
   e3: (_|_){
-    // [eval] invalid value 1 (out of bound >1)
+    // [eval] e3: invalid value 1 (out of bound >1):
+    //     ./in.cue:42:5
   }
   e4: (_|_){
-    // [eval] invalid value 0 (out of bound <0)
+    // [eval] e4: invalid value 0 (out of bound <0):
+    //     ./in.cue:43:5
   }
   e5: (_|_){
-    // [eval] bounds >1 <0
+    // [eval] e5: incompatible bounds >1 and <0
   }
   e6: (_|_){
-    // [eval] bounds >11 <11
+    // [eval] e6: incompatible bounds >11 and <11
   }
   e7: (_|_){
-    // [eval] bounds >=11 <11
+    // [eval] e7: incompatible bounds >=11 and <11
   }
   e8: (_|_){
-    // [eval] bounds >11 <=11
+    // [eval] e8: incompatible bounds >11 and <=11
   }
   e9: (_|_){
-    // [eval] invalid value <1 (mismatched types number and string)
+    // [eval] e9: invalid value <1 (mismatched types number and string)
   }
 }
diff --git a/cue/testdata/resolve/012_bound_conversions.txtar b/cue/testdata/resolve/012_bound_conversions.txtar
index a1fe706..396beea 100644
--- a/cue/testdata/resolve/012_bound_conversions.txtar
+++ b/cue/testdata/resolve/012_bound_conversions.txtar
@@ -48,8 +48,11 @@
 }
 -- out/eval --
 Errors:
-invalid value 1.2 (out of bound >1.3)
-invalid value int (mismatched types int and float)
+c4: invalid value int (mismatched types int and float)
+c1: invalid value 1.2 (out of bound >1.3):
+    ./in.cue:10:12
+c2: invalid value 1.2 (out of bound >1.3):
+    ./in.cue:11:12
 
 Result:
 (_|_){
@@ -62,13 +65,15 @@
   r5: (number){ 1.1 }
   r6: (number){ 1.1 }
   c1: (_|_){
-    // [eval] invalid value 1.2 (out of bound >1.3)
+    // [eval] c1: invalid value 1.2 (out of bound >1.3):
+    //     ./in.cue:10:12
   }
   c2: (_|_){
-    // [eval] invalid value 1.2 (out of bound >1.3)
+    // [eval] c2: invalid value 1.2 (out of bound >1.3):
+    //     ./in.cue:11:12
   }
   c3: (float){ 1.2 }
   c4: (_|_){
-    // [eval] invalid value int (mismatched types int and float)
+    // [eval] c4: invalid value int (mismatched types int and float)
   }
 }
diff --git a/cue/testdata/resolve/013_custom_validators.txtar b/cue/testdata/resolve/013_custom_validators.txtar
index 8a245c9..6ec7803 100644
--- a/cue/testdata/resolve/013_custom_validators.txtar
+++ b/cue/testdata/resolve/013_custom_validators.txtar
@@ -21,14 +21,16 @@
 <0>{a: "after", b: _|_(strings.ContainsAny ("c"):invalid value "dog" (does not satisfy strings.ContainsAny("c"))), c: "dog"}
 -- out/eval --
 Errors:
-invalid value "dog" (does not satisfy strings.ContainsAny("c"))
+b: invalid value "dog" (does not satisfy strings.ContainsAny("c")):
+    ./in.cue:6:4
 
 Result:
 (_|_){
   // [eval]
   a: (string){ "after" }
   b: (_|_){
-    // [eval] invalid value "dog" (does not satisfy strings.ContainsAny("c"))
+    // [eval] b: invalid value "dog" (does not satisfy strings.ContainsAny("c")):
+    //     ./in.cue:6:4
   }
   c: (string){ "dog" }
 }
diff --git a/cue/testdata/resolve/016_index.txtar b/cue/testdata/resolve/016_index.txtar
index f0ce0fc..83d7cea 100644
--- a/cue/testdata/resolve/016_index.txtar
+++ b/cue/testdata/resolve/016_index.txtar
@@ -78,21 +78,21 @@
 }
 -- out/eval --
 Errors:
-invalid list index "3" (type string):
+c: invalid list index "3" (type string):
     ./in.cue:3:20
-undefined field 0:
+d: undefined field 0:
     ./in.cue:4:16
-invalid list index _ (type string):
+e1: invalid list index _ (type string):
     ./in.cue:6:9
-invalid operand 2 (found int, want list or struct):
+e2: invalid operand 2 (found int, want list or struct):
     ./in.cue:7:5
-invalid label type bool:
+e3: invalid label type bool:
     ./in.cue:8:5
-undefined field 3:
+e4: undefined field 3:
     ./in.cue:9:15
-invalid negative index -1:
+e5: invalid negative index -1:
     ./in.cue:10:5
-invalid list index 1 (out of bounds):
+e6: invalid list index 1 (out of bounds):
     ./in.cue:11:16
 
 Result:
@@ -101,37 +101,37 @@
   a: (int){ 2 }
   b: (string){ "bar" }
   c: (_|_){
-    // [eval] invalid list index "3" (type string):
+    // [eval] c: invalid list index "3" (type string):
     //     ./in.cue:3:20
   }
   d: (_|_){
-    // [eval] undefined field 0:
+    // [eval] d: undefined field 0:
     //     ./in.cue:4:16
   }
   l: (#list){
   }
   e1: (_|_){
-    // [eval] invalid list index _ (type string):
+    // [eval] e1: invalid list index _ (type string):
     //     ./in.cue:6:9
   }
   e2: (_|_){
-    // [eval] invalid operand 2 (found int, want list or struct):
+    // [eval] e2: invalid operand 2 (found int, want list or struct):
     //     ./in.cue:7:5
   }
   e3: (_|_){
-    // [eval] invalid label type bool:
+    // [eval] e3: invalid label type bool:
     //     ./in.cue:8:5
   }
   e4: (_|_){
-    // [eval] undefined field 3:
+    // [eval] e4: undefined field 3:
     //     ./in.cue:9:15
   }
   e5: (_|_){
-    // [eval] invalid negative index -1:
+    // [eval] e5: invalid negative index -1:
     //     ./in.cue:10:5
   }
   e6: (_|_){
-    // [eval] invalid list index 1 (out of bounds):
+    // [eval] e6: invalid list index 1 (out of bounds):
     //     ./in.cue:11:16
   }
   def: (struct){
@@ -139,7 +139,7 @@
     #b: (int){ 3 }
   }
   e7: (_|_){
-    // [incomplete] undefined field b:
+    // [incomplete] e7: undefined field b:
     //     ./in.cue:16:9
   }
 }
diff --git a/cue/testdata/resolve/018_slice.txtar b/cue/testdata/resolve/018_slice.txtar
index 28b206d..775ba8f 100644
--- a/cue/testdata/resolve/018_slice.txtar
+++ b/cue/testdata/resolve/018_slice.txtar
@@ -53,19 +53,19 @@
 }
 -- out/eval --
 Errors:
-index 1 out of range:
+e1: index 1 out of range:
     ./in.cue:3:5
-cannot convert negative number to uint64:
+e2: cannot convert negative number to uint64:
     ./in.cue:4:5
-invalid slice index: 1 > 0:
+e3: invalid slice index: 1 > 0:
     ./in.cue:5:5
-index 2 out of range:
+e4: index 2 out of range:
     ./in.cue:6:5
-cannot slice 4 (type int):
+e5: cannot slice 4 (type int):
     ./in.cue:7:5
-cannot use "" (type string) as type int in slice index:
+e6: cannot use "" (type string) as type int in slice index:
     ./in.cue:8:5
-cannot use "9" (type string) as type int in slice index:
+e7: cannot use "9" (type string) as type int in slice index:
     ./in.cue:9:5
 
 Result:
@@ -76,31 +76,31 @@
   b: (#list){
   }
   e1: (_|_){
-    // [eval] index 1 out of range:
+    // [eval] e1: index 1 out of range:
     //     ./in.cue:3:5
   }
   e2: (_|_){
-    // [eval] cannot convert negative number to uint64:
+    // [eval] e2: cannot convert negative number to uint64:
     //     ./in.cue:4:5
   }
   e3: (_|_){
-    // [eval] invalid slice index: 1 > 0:
+    // [eval] e3: invalid slice index: 1 > 0:
     //     ./in.cue:5:5
   }
   e4: (_|_){
-    // [eval] index 2 out of range:
+    // [eval] e4: index 2 out of range:
     //     ./in.cue:6:5
   }
   e5: (_|_){
-    // [eval] cannot slice 4 (type int):
+    // [eval] e5: cannot slice 4 (type int):
     //     ./in.cue:7:5
   }
   e6: (_|_){
-    // [eval] cannot use "" (type string) as type int in slice index:
+    // [eval] e6: cannot use "" (type string) as type int in slice index:
     //     ./in.cue:8:5
   }
   e7: (_|_){
-    // [eval] cannot use "9" (type string) as type int in slice index:
+    // [eval] e7: cannot use "9" (type string) as type int in slice index:
     //     ./in.cue:9:5
   }
 }
diff --git a/cue/testdata/resolve/023_correct_error_messages.txtar b/cue/testdata/resolve/023_correct_error_messages.txtar
index 9d79f85..fd66f0a 100644
--- a/cue/testdata/resolve/023_correct_error_messages.txtar
+++ b/cue/testdata/resolve/023_correct_error_messages.txtar
@@ -15,12 +15,12 @@
 }
 -- out/eval --
 Errors:
-invalid value 1 (mismatched types int and string)
+a: invalid value 1 (mismatched types int and string)
 
 Result:
 (_|_){
   // [eval]
   a: (_|_){
-    // [eval] invalid value 1 (mismatched types int and string)
+    // [eval] a: invalid value 1 (mismatched types int and string)
   }
 }
diff --git a/cue/testdata/resolve/024_structs.txtar b/cue/testdata/resolve/024_structs.txtar
index 0f09834..7d16014 100644
--- a/cue/testdata/resolve/024_structs.txtar
+++ b/cue/testdata/resolve/024_structs.txtar
@@ -53,14 +53,14 @@
   t: (struct){
     c: (number){ number }
     d: (_|_){
-      // [incomplete] non-concrete value number in operand to *:
+      // [incomplete] t.d: non-concrete value number in operand to *:
       //     ./in.cue:3:19
     }
   }
   ti: (struct){
     c: (int){ int }
     d: (_|_){
-      // [incomplete] non-concrete value int in operand to *:
+      // [incomplete] ti.d: non-concrete value int in operand to *:
       //     ./in.cue:3:19
     }
   }
diff --git a/cue/testdata/resolve/025_definitions.txtar b/cue/testdata/resolve/025_definitions.txtar
index ba11189..d2eab90 100644
--- a/cue/testdata/resolve/025_definitions.txtar
+++ b/cue/testdata/resolve/025_definitions.txtar
@@ -119,7 +119,8 @@
 }
 -- out/eval --
 Errors:
-field `feild` not allowed
+foo: field `feild` not allowed
+foo1.recursive: field `feild` not allowed
 
 Result:
 (_|_){
@@ -135,7 +136,7 @@
     field2: (string){ string }
   }
   foo: (_|_){
-    // [eval] field `feild` not allowed
+    // [eval] foo: field `feild` not allowed
     field: (int){ int }
     recursive: (#struct){
       field: (string){ string }
@@ -146,7 +147,7 @@
     // [eval]
     field: (int){ 2 }
     recursive: (_|_){
-      // [eval] field `feild` not allowed
+      // [eval] foo1.recursive: field `feild` not allowed
       field: (string){ string }
       feild: (int){ 2 }
     }
diff --git a/cue/testdata/resolve/029_non-closed_definition_carries_over_closedness_to_enclosed_template.txtar b/cue/testdata/resolve/029_non-closed_definition_carries_over_closedness_to_enclosed_template.txtar
index 3acc290..09f65bf 100644
--- a/cue/testdata/resolve/029_non-closed_definition_carries_over_closedness_to_enclosed_template.txtar
+++ b/cue/testdata/resolve/029_non-closed_definition_carries_over_closedness_to_enclosed_template.txtar
@@ -104,9 +104,9 @@
 }
 -- out/eval --
 Errors:
-field `b` not allowed
-field `c` not allowed
-field `d` not allowed
+a.v: field `b` not allowed
+b.w: field `c` not allowed
+c.w.0: field `d` not allowed
 
 Result:
 (_|_){
@@ -116,7 +116,7 @@
   a: (_|_){
     // [eval]
     v: (_|_){
-      // [eval] field `b` not allowed
+      // [eval] a.v: field `b` not allowed
       b: (int){ int }
       a: (int){ int }
     }
@@ -126,7 +126,7 @@
   b: (_|_){
     // [eval]
     w: (_|_){
-      // [eval] field `c` not allowed
+      // [eval] b.w: field `c` not allowed
       c: (int){ int }
       b: (int){ int }
     }
@@ -138,7 +138,7 @@
     w: (_|_){
       // [eval]
       0: (_|_){
-        // [eval] field `d` not allowed
+        // [eval] c.w.0: field `d` not allowed
         d: (int){ int }
         a: (int){ int }
       }
diff --git a/cue/testdata/resolve/030_definitions_with_disjunctions.txtar b/cue/testdata/resolve/030_definitions_with_disjunctions.txtar
index 709e0ed..84774b6 100644
--- a/cue/testdata/resolve/030_definitions_with_disjunctions.txtar
+++ b/cue/testdata/resolve/030_definitions_with_disjunctions.txtar
@@ -61,7 +61,7 @@
 }
 -- out/eval --
 Errors:
-field `c` not allowed
+bar: field `c` not allowed
 
 Result:
 (_|_){
@@ -78,7 +78,7 @@
     a: (int){ 1 }
   }
   bar: (_|_){
-    // [eval] field `c` not allowed
+    // [eval] bar: field `c` not allowed
     field: (int){ int }
     c: (int){ 2 }
     b: (int){ 2 }
diff --git a/cue/testdata/resolve/035_excluded_embedding_from_closing.txtar b/cue/testdata/resolve/035_excluded_embedding_from_closing.txtar
index 57ac0de..4aa95d6 100644
--- a/cue/testdata/resolve/035_excluded_embedding_from_closing.txtar
+++ b/cue/testdata/resolve/035_excluded_embedding_from_closing.txtar
@@ -64,8 +64,8 @@
 }
 -- out/eval --
 Errors:
-field `e` not allowed
-field `extra` not allowed
+V.b: field `extra` not allowed
+V.c: field `e` not allowed
 
 Result:
 (_|_){
@@ -84,7 +84,7 @@
   V: (_|_){
     // [eval]
     c: (_|_){
-      // [eval] field `e` not allowed
+      // [eval] V.c: field `e` not allowed
       d: (int){ int }
       e: (int){ int }
     }
@@ -92,7 +92,7 @@
       c: (int){ int }
     }
     b: (_|_){
-      // [eval] field `extra` not allowed
+      // [eval] V.b: field `extra` not allowed
       open: (int){ int }
       extra: (int){ int }
     }
diff --git a/cue/testdata/resolve/038_incomplete_comprehensions.txtar b/cue/testdata/resolve/038_incomplete_comprehensions.txtar
index 5f07859..0da5579 100644
--- a/cue/testdata/resolve/038_incomplete_comprehensions.txtar
+++ b/cue/testdata/resolve/038_incomplete_comprehensions.txtar
@@ -50,7 +50,7 @@
 -- out/eval --
 (struct){
   A: (_|_){
-    // [incomplete] incomplete feed source value src (type _):
+    // [incomplete] A: incomplete feed source value src (type _):
     //     ./in.cue:2:11
     src: (_){ _ }
     baz: (string){ "baz" }
diff --git a/cue/testdata/resolve/039_reference_to_root.txtar b/cue/testdata/resolve/039_reference_to_root.txtar
index 451d91c..7736c0f 100644
--- a/cue/testdata/resolve/039_reference_to_root.txtar
+++ b/cue/testdata/resolve/039_reference_to_root.txtar
@@ -85,14 +85,14 @@
   c: (struct){
     b: (int){ 100 }
     d: (_|_){
-      // [incomplete] non-concrete value int in operand to +:
+      // [incomplete] c.d: non-concrete value int in operand to +:
       //     ./in.cue:4:5
     }
   }
   x: (struct){
     b: (int){ int }
     c: (_|_){
-      // [incomplete] non-concrete value int in operand to +:
+      // [incomplete] x.c: non-concrete value int in operand to +:
       //     ./in.cue:8:5
     }
   }
@@ -103,21 +103,21 @@
   v: (struct){
     b: (int){ int }
     c: (_|_){
-      // [incomplete] non-concrete value int in operand to +:
+      // [incomplete] v.c: non-concrete value int in operand to +:
       //     ./in.cue:16:5
     }
   }
   w: (struct){
     b: (int){ 100 }
     c: (_|_){
-      // [incomplete] non-concrete value int in operand to +:
+      // [incomplete] w.c: non-concrete value int in operand to +:
       //     ./in.cue:16:5
     }
   }
   wp: (struct){
     b: (int){ 100 }
     c: (_|_){
-      // [incomplete] non-concrete value int in operand to +:
+      // [incomplete] wp.c: non-concrete value int in operand to +:
       //     ./in.cue:16:5
     }
   }
diff --git a/cue/testdata/resolve/045_range_unification.txtar b/cue/testdata/resolve/045_range_unification.txtar
index 28c3b71..0b321cb 100644
--- a/cue/testdata/resolve/045_range_unification.txtar
+++ b/cue/testdata/resolve/045_range_unification.txtar
@@ -134,13 +134,20 @@
 }
 -- out/eval --
 Errors:
-bounds >=1.1 <=1.3
-bounds >=6 <=5
-invalid value 0 (out of bound >=1)
-invalid value 6 (out of bound <=5)
-invalid value <=5 (mismatched types number and string)
-invalid value >=1 (mismatched types number and string)
-invalid value string (mismatched types string and number)
+b14: incompatible bounds >=6 and <=5
+b7: incompatible bounds >=6 and <=5
+c3: invalid value <=5 (mismatched types number and string)
+c3: invalid value >=1 (mismatched types number and string)
+c4: invalid value string (mismatched types string and number)
+n2: incompatible bounds >=1.1 and <=1.3
+a4: invalid value 6 (out of bound <=5):
+    ./in.cue:5:11
+a5: invalid value 0 (out of bound >=1):
+    ./in.cue:6:5
+a9: invalid value 6 (out of bound <=5):
+    ./in.cue:11:16
+a10: invalid value 0 (out of bound >=1):
+    ./in.cue:12:10
 
 Result:
 (_|_){
@@ -149,19 +156,23 @@
   a2: (int){ 1 }
   a3: (int){ 5 }
   a4: (_|_){
-    // [eval] invalid value 6 (out of bound <=5)
+    // [eval] a4: invalid value 6 (out of bound <=5):
+    //     ./in.cue:5:11
   }
   a5: (_|_){
-    // [eval] invalid value 0 (out of bound >=1)
+    // [eval] a5: invalid value 0 (out of bound >=1):
+    //     ./in.cue:6:5
   }
   a6: (int){ 3 }
   a7: (int){ 1 }
   a8: (int){ 5 }
   a9: (_|_){
-    // [eval] invalid value 6 (out of bound <=5)
+    // [eval] a9: invalid value 6 (out of bound <=5):
+    //     ./in.cue:11:16
   }
   a10: (_|_){
-    // [eval] invalid value 0 (out of bound >=1)
+    // [eval] a10: invalid value 0 (out of bound >=1):
+    //     ./in.cue:12:10
   }
   b1: (number){ &(>=1, <=5) }
   b2: (number){ 1 }
@@ -170,7 +181,7 @@
   b5: (number){ &(>=3, <=5) }
   b6: (number){ 5 }
   b7: (_|_){
-    // [eval] bounds >=6 <=5
+    // [eval] b7: incompatible bounds >=6 and <=5
   }
   b8: (number){ &(>=1, <=5) }
   b9: (number){ 1 }
@@ -179,22 +190,22 @@
   b12: (number){ &(>=3, <=5) }
   b13: (number){ 5 }
   b14: (_|_){
-    // [eval] bounds >=6 <=5
+    // [eval] b14: incompatible bounds >=6 and <=5
   }
   c1: (int){ &(>=1, <=5, int) }
   c2: (int){ &(>=1, <=5, int) }
   c3: (_|_){
-    // [eval] invalid value <=5 (mismatched types number and string)
-    // invalid value >=1 (mismatched types number and string)
+    // [eval] c3: invalid value <=5 (mismatched types number and string)
+    // c3: invalid value >=1 (mismatched types number and string)
   }
   c4: (_|_){
-    // [eval] invalid value string (mismatched types string and number)
+    // [eval] c4: invalid value string (mismatched types string and number)
   }
   s1: (string){ "e" }
   s2: (string){ "ee" }
   n1: (number){ &(>=1, <=2) }
   n2: (_|_){
-    // [eval] bounds >=1.1 <=1.3
+    // [eval] n2: incompatible bounds >=1.1 and <=1.3
   }
   n3: (int){ 2 }
   n4: (float){ 0.09999 }
diff --git a/cue/testdata/resolve/046_predefined_ranges.txtar b/cue/testdata/resolve/046_predefined_ranges.txtar
index 784a9f4..33d556c 100644
--- a/cue/testdata/resolve/046_predefined_ranges.txtar
+++ b/cue/testdata/resolve/046_predefined_ranges.txtar
@@ -29,7 +29,7 @@
 }
 -- out/eval --
 Errors:
-invalid value 100000 (out of bound <=32767)
+e1: invalid value 100000 (out of bound <=32767)
 
 Result:
 (_|_){
@@ -37,6 +37,6 @@
   k1: (int){ 44 }
   k2: (int){ -8000000000 }
   e1: (_|_){
-    // [eval] invalid value 100000 (out of bound <=32767)
+    // [eval] e1: invalid value 100000 (out of bound <=32767)
   }
 }
diff --git a/cue/testdata/resolve/048_builtins.txtar b/cue/testdata/resolve/048_builtins.txtar
index 4007367..4a24b24 100644
--- a/cue/testdata/resolve/048_builtins.txtar
+++ b/cue/testdata/resolve/048_builtins.txtar
@@ -46,8 +46,10 @@
 <0>{a1: <1>{a: (=~"oo" & =~"fo"), b: =~"oo", c: =~"fo"}, a2: <2>{a: "foo", b: =~"oo", c: =~"fo"}, a3: <3>{a: _|_((=~"oo" & "bar"):invalid value "bar" (does not match =~"oo")), b: =~"oo", c: =~"fo"}, o1: <4>{a: string, b: string, c: "bar"}, o2: <5>{a: "foo", b: string, c: "bar"}, o3: <6>{a: _|_(("baz" & "foo"):empty disjunction: conflicting values "baz" and "foo";("bar" & "foo"):empty disjunction: conflicting values "bar" and "foo"), b: "baz", c: "bar"}}
 -- out/eval --
 Errors:
-invalid value "bar" (out of bound =~"fo")
-invalid value "bar" (out of bound =~"oo")
+a3.a: invalid value "bar" (out of bound =~"oo"):
+    ./in.cue:3:5
+a3.a: invalid value "bar" (out of bound =~"fo"):
+    ./in.cue:4:5
 
 Result:
 (_|_){
@@ -65,8 +67,10 @@
   a3: (_|_){
     // [eval]
     a: (_|_){
-      // [eval] invalid value "bar" (out of bound =~"fo")
-      // invalid value "bar" (out of bound =~"oo")
+      // [eval] a3.a: invalid value "bar" (out of bound =~"oo"):
+      //     ./in.cue:3:5
+      // a3.a: invalid value "bar" (out of bound =~"fo"):
+      //     ./in.cue:4:5
     }
     b: (string){ =~"oo" }
     c: (string){ =~"fo" }
@@ -83,7 +87,7 @@
   }
   o3: (struct){
     a: (_|_){
-      // [incomplete] empty disjunction
+      // [incomplete] o3.a: empty disjunction
     }
     b: (string){ "baz" }
     c: (string){ "bar" }
diff --git a/internal/core/adt/binop.go b/internal/core/adt/binop.go
index 2fb3205..7edd191 100644
--- a/internal/core/adt/binop.go
+++ b/internal/core/adt/binop.go
@@ -19,7 +19,6 @@
 	"math/big"
 	"strings"
 
-	"cuelang.org/go/cue/errors"
 	"github.com/cockroachdb/apd/v2"
 )
 
@@ -42,13 +41,13 @@
 	if left.Concreteness() > Concrete {
 		return &Bottom{
 			Code: IncompleteError,
-			Err:  errors.Newf(c.pos(), msg, c.Str(left), op),
+			Err:  c.Newf(msg, c.Str(left), op),
 		}
 	}
 	if right.Concreteness() > Concrete {
 		return &Bottom{
 			Code: IncompleteError,
-			Err:  errors.Newf(c.pos(), msg, c.Str(right), op),
+			Err:  c.Newf(msg, c.Str(right), op),
 		}
 	}
 
diff --git a/internal/core/adt/context.go b/internal/core/adt/context.go
index 19955ec..f54fd72 100644
--- a/internal/core/adt/context.go
+++ b/internal/core/adt/context.go
@@ -93,6 +93,7 @@
 	}
 	ctx := &OpContext{
 		config: *cfg,
+		vertex: v,
 	}
 	if v != nil {
 		ctx.e = &Environment{Up: nil, Vertex: v}
@@ -110,6 +111,11 @@
 	src  ast.Node
 	errs *Bottom
 
+	// vertex is used to determine the path location in case of error. Turning
+	// this into a stack could also allow determining the cyclic path for
+	// structural cycle errors.
+	vertex *Vertex
+
 	// TODO: remove use of tentative. Should be possible if incomplete
 	// handling is done better.
 	tentative int // set during comprehension evaluation
@@ -219,7 +225,7 @@
 		}
 	}
 
-	err := errors.Newf(pos, msg, args...)
+	err := c.NewPosf(pos, msg, args...)
 	c.addErr(code, err)
 }
 
@@ -243,13 +249,15 @@
 // NewErrf creates a *Bottom value and returns it. The returned uses the
 // current source as the point of origin of the error.
 func (c *OpContext) NewErrf(format string, args ...interface{}) *Bottom {
-	err := errors.Newf(c.pos(), format, args...)
+	// TODO: consider renaming ot NewBottomf: this is now confusing as we also
+	// have Newf.
+	err := c.Newf(format, args...)
 	return &Bottom{Src: c.src, Err: err, Code: EvalError}
 }
 
 // AddErrf records an error in OpContext. It returns errors collected so far.
 func (c *OpContext) AddErrf(format string, args ...interface{}) *Bottom {
-	return c.AddErr(errors.Newf(c.pos(), format, args...))
+	return c.AddErr(c.Newf(format, args...))
 }
 
 func (c *OpContext) validate(v Value) *Bottom {
@@ -295,6 +303,19 @@
 	return err
 }
 
+// PushArc signals c that arc v is currently being processed for the purpose
+// of error reporting. PopArc should be called with the returned value once
+// processing of v is completed.
+func (c *OpContext) PushArc(v *Vertex) (saved *Vertex) {
+	c.vertex, saved = v, c.vertex
+	return saved
+}
+
+// PopArc signals completion of processing the current arc.
+func (c *OpContext) PopArc(saved *Vertex) {
+	c.vertex = saved
+}
+
 // Resolve finds a node in the tree.
 //
 // Should only be used to insert Conjuncts. TODO: perhaps only return Conjuncts
@@ -315,7 +336,15 @@
 
 // Validate calls validates value for the given validator.
 func (c *OpContext) Validate(check Validator, value Value) *Bottom {
-	return check.validate(c, value)
+	// TODO: use a position stack to push both values.
+	saved := c.src
+	c.src = check.Source()
+
+	err := check.validate(c, value)
+
+	c.src = saved
+
+	return err
 }
 
 // Yield evaluates a Yielder and calls f for each result.
@@ -404,7 +433,7 @@
 		// TODO ENSURE THIS DOESN"T HAPPEN>
 		val = &Bottom{
 			Code: IncompleteError,
-			Err:  errors.Newf(token.NoPos, "UNANTICIPATED ERROR"),
+			Err:  c.Newf("UNANTICIPATED ERROR"),
 		}
 
 	}
diff --git a/internal/core/adt/errors.go b/internal/core/adt/errors.go
index ecfe359..ec73924 100644
--- a/internal/core/adt/errors.go
+++ b/internal/core/adt/errors.go
@@ -34,6 +34,7 @@
 import (
 	"cuelang.org/go/cue/ast"
 	"cuelang.org/go/cue/errors"
+	"cuelang.org/go/cue/token"
 )
 
 // ErrorCode indicates the type of error. The type of error may influence
@@ -199,3 +200,53 @@
 		Code: a.Code,
 	}
 }
+
+// A valueError is returned as a result of evaluating a value.
+type valueError struct {
+	r   Runtime
+	v   *Vertex
+	pos []token.Pos
+	errors.Message
+}
+
+func (c *OpContext) errNode() *Vertex {
+	return c.vertex
+}
+
+func (c *OpContext) Newf(format string, args ...interface{}) *valueError {
+	return c.NewPosf(c.pos(), format, args...)
+}
+
+func (c *OpContext) NewPosf(pos token.Pos, format string, args ...interface{}) *valueError {
+	return &valueError{
+		r: c.Runtime,
+		v: c.errNode(),
+		// TODO: leave ni if it can be derived from the source and save an
+		// allocation.
+		pos:     []token.Pos{pos},
+		Message: errors.NewMessage(format, args),
+	}
+}
+
+func (e *valueError) Error() string {
+	return errors.String(e)
+}
+
+func (e *valueError) Position() token.Pos {
+	if len(e.pos) == 0 {
+		// TODO: retrieve from source
+		return token.NoPos
+	}
+	return e.pos[0]
+}
+
+func (e *valueError) InputPositions() []token.Pos {
+	return e.pos
+}
+
+func (e *valueError) Path() (a []string) {
+	for _, f := range appendPath(nil, e.v) {
+		a = append(a, f.SelectorString(e.r))
+	}
+	return a
+}
diff --git a/internal/core/adt/simplify.go b/internal/core/adt/simplify.go
index aa3eb58..cc35653 100644
--- a/internal/core/adt/simplify.go
+++ b/internal/core/adt/simplify.go
@@ -151,7 +151,7 @@
 			fallthrough
 
 		case d.Negative:
-			return ctx.NewErrf("bounds %v %v", ctx.Str(x), ctx.Str(y))
+			return ctx.NewErrf("incompatible bounds %v and %v", ctx.Str(x), ctx.Str(y))
 		}
 
 	case x.Op == NotEqualOp:
diff --git a/internal/core/convert/go.go b/internal/core/convert/go.go
index f84ff9f..36cf236 100644
--- a/internal/core/convert/go.go
+++ b/internal/core/convert/go.go
@@ -305,7 +305,7 @@
 		case errors.Error:
 			errs = x
 		default:
-			errs = errors.Newf(token.NoPos, "%s", x.Error())
+			errs = ctx.Newf("%s", x.Error())
 		}
 		return &adt.Bottom{Err: errs}
 	case bool:
diff --git a/internal/core/eval/closed.go b/internal/core/eval/closed.go
index b2201fd..80f6ed8 100644
--- a/internal/core/eval/closed.go
+++ b/internal/core/eval/closed.go
@@ -42,8 +42,6 @@
 // in eval.go.
 
 import (
-	"cuelang.org/go/cue/errors"
-	"cuelang.org/go/cue/token"
 	"cuelang.org/go/internal/core/adt"
 )
 
@@ -320,9 +318,7 @@
 	filter := f.IsString() || f == adt.InvalidLabel
 	if filter && !n.verifyArcRecursive(ctx, n.tree, f) {
 		label := f.SelectorString(ctx)
-		return &adt.Bottom{
-			Err: errors.Newf(token.NoPos, "field `%s` not allowed", label),
-		}
+		return ctx.NewErrf("field `%s` not allowed", label)
 	}
 	return nil
 }
diff --git a/internal/core/eval/disjunct.go b/internal/core/eval/disjunct.go
index db5df3c..973afcc 100644
--- a/internal/core/eval/disjunct.go
+++ b/internal/core/eval/disjunct.go
@@ -17,8 +17,6 @@
 import (
 	"sort"
 
-	"cuelang.org/go/cue/errors"
-	"cuelang.org/go/cue/token"
 	"cuelang.org/go/internal/core/adt"
 )
 
@@ -214,7 +212,7 @@
 			// really we should keep track of the errors and return a more
 			// accurate result here.
 			Code: adt.IncompleteError,
-			Err:  errors.Newf(token.NoPos, "empty disjunction"),
+			Err:  n.ctx.Newf("empty disjunction"),
 		}
 		n.node.AddErr(n.ctx, b)
 	}
diff --git a/internal/core/eval/eval.go b/internal/core/eval/eval.go
index 591e179..a6444c7 100644
--- a/internal/core/eval/eval.go
+++ b/internal/core/eval/eval.go
@@ -325,6 +325,8 @@
 	}
 	saved := *v
 
+	defer c.PopArc(c.PushArc(v))
+
 	e.stats.UnifyCount++
 	for i := 0; ; i++ {
 		e.stats.DisjunctCount++
@@ -474,10 +476,8 @@
 		markStruct := false
 		if n.isStruct {
 			if kind != 0 && kind&adt.StructKind == 0 {
-				n.node.Value = &adt.Bottom{
-					Err: errors.Newf(token.NoPos,
-						"conflicting values struct and %s", n.kind),
-				}
+				n.node.Value = n.ctx.NewErrf(
+					"conflicting values struct and %s", n.kind)
 			}
 			markStruct = true
 		} else if len(n.node.Structs) > 0 {
@@ -497,9 +497,10 @@
 				if src := v.Source(); src != nil {
 					p = src.Pos()
 				}
-				n.addErr(errors.Newf(p,
-					// TODO(err): position of all value types.
-					"conflicting types",
+				n.addErr(ctx.NewPosf(p,
+					// TODO(errors): position of all value types.
+					"conflicting types %v and %v",
+					v.Kind(), n.kind,
 				))
 			}
 			if n.lowerBound != nil {
@@ -533,9 +534,9 @@
 		case v.Kind() == adt.ListKind:
 			for _, a := range n.node.Arcs {
 				if a.Label.Typ() == adt.StringLabel {
-					n.addErr(errors.Newf(token.NoPos,
-						// TODO(err): add positions for list and arc definitions.
-						"list may not have regular fields"))
+					n.addErr(ctx.Newf("list may not have regular fields"))
+					// TODO(errors): add positions for list and arc definitions.
+
 				}
 			}
 
@@ -543,7 +544,7 @@
 			// 	for _, a := range n.node.Arcs {
 			// 		if a.Label.IsRegular() {
 			// 			n.addErr(errors.Newf(token.NoPos,
-			// 				// TODO(err): add positions of non-struct values and arcs.
+			// 				// TODO(errors): add positions of non-struct values and arcs.
 			// 				"cannot combine scalar values with arcs"))
 			// 		}
 			// 	}
@@ -594,9 +595,8 @@
 			if accept := n.nodeShared.accept; accept != nil {
 				if !accept.Accept(n.ctx, a.Label) {
 					label := a.Label.SelectorString(ctx)
-					n.node.Value = &adt.Bottom{
-						Err: errors.Newf(token.NoPos, "field `%s` not allowed by Acceptor", label),
-					}
+					n.node.Value = ctx.NewErrf(
+						"field `%s` not allowed by Acceptor", label)
 				}
 			} else if err := m.verifyArcAllowed(n.ctx, a.Label); err != nil {
 				n.node.Value = err
@@ -619,7 +619,7 @@
 	if cyclic {
 		n.node.Value = adt.CombineErrors(nil, n.node.Value, &adt.Bottom{
 			Code:  adt.StructuralCycleError,
-			Err:   errors.Newf(token.NoPos, "structural cycle"),
+			Err:   ctx.Newf("structural cycle"),
 			Value: n.node.Value,
 			// TODO: probably, this should have the referenced arc.
 		})
@@ -1190,7 +1190,7 @@
 	kind := n.kind & v.Kind()
 	if kind == adt.BottomKind {
 		// TODO: how to get other conflicting values?
-		n.addErr(errors.Newf(token.NoPos,
+		n.addErr(ctx.Newf(
 			"invalid value %s (mismatched types %s and %s)",
 			ctx.Str(v), v.Kind(), n.kind))
 		return
@@ -1245,7 +1245,7 @@
 	case adt.Value: // *NullLit, *BoolLit, *NumLit, *StringLit, *BytesLit
 		if y := n.scalar; y != nil {
 			if b, ok := adt.BinOp(ctx, adt.EqualOp, x, y).(*adt.Bool); !ok || !b.B {
-				n.addErr(errors.Newf(ctx.Pos(), "incompatible values %s and %s", ctx.Str(x), ctx.Str(y)))
+				n.addErr(ctx.Newf("incompatible values %s and %s", ctx.Str(x), ctx.Str(y)))
 			}
 			// TODO: do we need to explicitly add again?
 			// n.scalar = nil
@@ -1372,7 +1372,7 @@
 	}
 
 	if hasBulk != nil && hasOther != nil {
-		n.addErr(errors.Newf(token.NoPos, "cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct"))
+		n.addErr(ctx.Newf("cannot mix bulk optional fields with dynamic fields, embeddings, or comprehensions within the same struct"))
 	}
 
 	// Apply existing fields
@@ -1421,7 +1421,7 @@
 // processed. We could instead detect such insertion and feed it to the
 // ForClause to generate another entry or have the for clause be recomputed.
 // This seems to be too complicated and lead to iffy edge cases.
-// TODO(error): detect when a field is added to a struct that is already used
+// TODO(errors): detect when a field is added to a struct that is already used
 // in a for clause.
 func (n *nodeContext) expandOne() (done bool) {
 	if n.done() {
@@ -1548,7 +1548,7 @@
 
 	for _, a := range n.node.Arcs {
 		if t := a.Label.Typ(); t == adt.StringLabel {
-			n.addErr(errors.Newf(token.NoPos, "conflicting types list and struct"))
+			n.addErr(c.Newf("conflicting types list and struct"))
 		}
 	}
 
@@ -1616,8 +1616,7 @@
 
 			case *adt.Ellipsis:
 				if j != len(l.list.Elems)-1 {
-					n.addErr(errors.Newf(token.NoPos,
-						"ellipsis must be last element in list"))
+					n.addErr(c.Newf("ellipsis must be last element in list"))
 				}
 
 				n.lists[i].elipsis = x
@@ -1709,6 +1708,5 @@
 }
 
 func (n *nodeContext) invalidListLength(na, nb int, a, b adt.Expr) {
-	n.addErr(errors.Newf(n.ctx.Pos(),
-		"incompatible list lengths (%d and %d)", na, nb))
+	n.addErr(n.ctx.Newf("incompatible list lengths (%d and %d)", na, nb))
 }
diff --git a/internal/core/eval/eval_test.go b/internal/core/eval/eval_test.go
index 96197b1..68eb20f 100644
--- a/internal/core/eval/eval_test.go
+++ b/internal/core/eval/eval_test.go
@@ -62,7 +62,7 @@
 
 		t.Log(e.Stats())
 
-		if b := validate.Validate(r, v, &validate.Config{
+		if b := validate.Validate(ctx, v, &validate.Config{
 			AllErrors: true,
 		}); b != nil {
 			fmt.Fprintln(t, "Errors:")
diff --git a/internal/core/export/testdata/adt.txtar b/internal/core/export/testdata/adt.txtar
index aaabe3f..49e7fbc 100644
--- a/internal/core/export/testdata/adt.txtar
+++ b/internal/core/export/testdata/adt.txtar
@@ -191,8 +191,8 @@
 [x]
 -- out/value --
 == Simplified
-_|_ // undefined field 2
+_|_ // e3: undefined field 2
 == Raw
-_|_ // undefined field 2
+_|_ // e3: undefined field 2
 == All
-_|_ // undefined field 2
+_|_ // e3: undefined field 2
diff --git a/internal/core/validate/validate.go b/internal/core/validate/validate.go
index 2f20f82..ecf85fb 100644
--- a/internal/core/validate/validate.go
+++ b/internal/core/validate/validate.go
@@ -12,13 +12,11 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+// Package validate collects errors from an evaluated Vertex.
 package validate
 
 import (
-	"cuelang.org/go/cue/errors"
-	"cuelang.org/go/cue/token"
 	"cuelang.org/go/internal/core/adt"
-	"cuelang.org/go/internal/core/debug"
 )
 
 type Config struct {
@@ -36,20 +34,20 @@
 
 // Validate checks that a value has certain properties. The value must have
 // been evaluated.
-func Validate(r adt.Runtime, v *adt.Vertex, cfg *Config) *adt.Bottom {
+func Validate(ctx *adt.OpContext, v *adt.Vertex, cfg *Config) *adt.Bottom {
 	if cfg == nil {
 		cfg = &Config{}
 	}
-	x := validator{Config: *cfg, runtime: r}
+	x := validator{Config: *cfg, ctx: ctx}
 	x.validate(v)
 	return x.err
 }
 
 type validator struct {
 	Config
+	ctx          *adt.OpContext
 	err          *adt.Bottom
 	inDefinition int
-	runtime      adt.Runtime
 }
 
 func (v *validator) add(b *adt.Bottom) {
@@ -63,6 +61,8 @@
 }
 
 func (v *validator) validate(x *adt.Vertex) {
+	defer v.ctx.PopArc(v.ctx.PushArc(x))
+
 	if b, _ := x.Value.(*adt.Bottom); b != nil {
 		switch b.Code {
 		case adt.CycleError:
@@ -83,15 +83,10 @@
 		}
 
 	} else if v.Concrete && v.inDefinition == 0 && !adt.IsConcrete(x) {
-		p := token.NoPos
-		if src := x.Value.Source(); src != nil {
-			p = src.Pos()
-		}
 		// TODO: use ValueError to get full path.
 		v.add(&adt.Bottom{
 			Code: adt.IncompleteError,
-			Err: errors.Newf(p, "incomplete value %v",
-				debug.NodeString(v.runtime, x.Value, nil)),
+			Err:  v.ctx.Newf("incomplete value %v", v.ctx.Str(x.Value)),
 		})
 	}
 
diff --git a/internal/core/validate/validate_test.go b/internal/core/validate/validate_test.go
index ab70286..4813ef5 100644
--- a/internal/core/validate/validate_test.go
+++ b/internal/core/validate/validate_test.go
@@ -42,7 +42,7 @@
 		#foo: { use: string }
 		`,
 		lookup: "#foo",
-		out:    "incomplete\nincomplete value string",
+		out:    "incomplete\n#foo.use: incomplete value string",
 	}, {
 		desc: "definitions not considered for completeness",
 		cfg:  &Config{Concrete: true},
@@ -71,14 +71,14 @@
 		in: `
 		x: 1 & 2
 		`,
-		out: "eval\nincompatible values 2 and 1",
+		out: "eval\nx: incompatible values 2 and 1",
 	}, {
 		desc: "first error",
 		in: `
 		x: 1 & 2
 		y: 2 & 4
 		`,
-		out: "eval\nincompatible values 2 and 1",
+		out: "eval\nx: incompatible values 2 and 1",
 	}, {
 		desc: "all errors",
 		cfg:  &Config{AllErrors: true},
@@ -87,8 +87,8 @@
 		y: 2 & 4
 		`,
 		out: `eval
-incompatible values 2 and 1
-incompatible values 4 and 2`,
+x: incompatible values 2 and 1
+y: incompatible values 4 and 2`,
 	}, {
 		desc: "incomplete",
 		cfg:  &Config{Concrete: true},
@@ -96,7 +96,7 @@
 		y: 2 + x
 		x: string
 		`,
-		out: "incomplete\nnon-concrete value string in operand to +:\n    test:2:6",
+		out: "incomplete\ny: non-concrete value string in operand to +:\n    test:2:6",
 	}, {
 		desc: "allowed incomplete cycle",
 		in: `
@@ -142,7 +142,7 @@
 		y: string
 		x: 1 & 2
 		`,
-		out: "eval\nincompatible values 2 and 1",
+		out: "eval\nx: incompatible values 2 and 1",
 	}}
 
 	r := runtime.New()
@@ -163,7 +163,7 @@
 				v = v.Lookup(adt.MakeIdentLabel(r, tc.lookup))
 			}
 
-			b := Validate(r, v, tc.cfg)
+			b := Validate(ctx, v, tc.cfg)
 
 			w := &strings.Builder{}
 			if b != nil {
diff --git a/internal/legacy/cue/builtin.go b/internal/legacy/cue/builtin.go
index cfdba45..9fa9fa1 100644
--- a/internal/legacy/cue/builtin.go
+++ b/internal/legacy/cue/builtin.go
@@ -210,8 +210,7 @@
 			}
 			c.ret = len(s)
 		default:
-			c.ret = errors.Newf(token.NoPos,
-				"invalid argument type %v", k)
+			c.ret = c.ctx.opCtx.Newf("invalid argument type %v", k)
 		}
 	},
 }
diff --git a/internal/legacy/cue/builtin_test.go b/internal/legacy/cue/builtin_test.go
index 21ac694..1170035 100644
--- a/internal/legacy/cue/builtin_test.go
+++ b/internal/legacy/cue/builtin_test.go
@@ -112,19 +112,19 @@
 		`true`,
 	}, {
 		test("encoding/json", `json.Validate("{\"a\":10}", {a:<3})`),
-		`_|_(error in call to encoding/json.Validate: invalid value 10 (out of bound <3) (and 1 more errors))`,
+		`_|_(error in call to encoding/json.Validate: a: invalid value 10 (out of bound <3) (and 1 more errors))`,
 	}, {
 		test("encoding/yaml", `yaml.Validate("a: 2\n---\na: 4", {a:<3})`),
-		`_|_(error in call to encoding/yaml.Validate: invalid value 4 (out of bound <3) (and 1 more errors))`,
+		`_|_(error in call to encoding/yaml.Validate: a: invalid value 4 (out of bound <3) (and 1 more errors))`,
 	}, {
 		test("encoding/yaml", `yaml.Validate("a: 2\n---\na: 4", {a:<5})`),
 		`true`,
 	}, {
 		test("encoding/yaml", `yaml.Validate("a: 2\n", {a:<5, b:int})`),
-		`_|_(error in call to encoding/yaml.Validate: incomplete value int (and 1 more errors))`,
+		`_|_(error in call to encoding/yaml.Validate: b: incomplete value int (and 1 more errors))`,
 	}, {
 		test("encoding/yaml", `yaml.ValidatePartial("a: 2\n---\na: 4", {a:<3})`),
-		`_|_(error in call to encoding/yaml.ValidatePartial: invalid value 4 (out of bound <3) (and 1 more errors))`,
+		`_|_(error in call to encoding/yaml.ValidatePartial: a: invalid value 4 (out of bound <3) (and 1 more errors))`,
 	}, {
 		test("encoding/yaml", `yaml.ValidatePartial("a: 2\n---\na: 4", {a:<5})`),
 		`true`,
@@ -269,11 +269,12 @@
 		`[{a:1,v:2},{a:1,v:3},{a:2,v:1}]`,
 	}, {
 		test("list", `list.Sort([{a:1}, {b:2}], list.Ascending)`),
-		`_|_(error in call to list.Sort: invalid operands {b:2} and {a:1} to '<' (type struct and struct) (and 1 more errors))`,
+		`_|_(error in call to list.Sort: less: invalid operands {b:2} and {a:1} to '<' (type struct and struct) (and 1 more errors))`,
 	}, {
 		test("list", `list.SortStrings(["b", "a"])`),
 		`["a","b"]`,
 	}, {
+		// TODO: path error. This should be done as part of builtin refactoring.
 		test("list", `list.SortStrings([1, 2])`),
 		`_|_(error in call to list.SortStrings: element 0 of list argument 0: 0: cannot use value 1 (type int) as string (and 1 more errors))`,
 	}, {
@@ -694,7 +695,7 @@
 		emit      string
 	}{{
 		test("list", `list.Sort([{a:1}, {b:2}], list.Ascending)`),
-		`_|_(error in call to list.Sort: invalid operands {b:2} and {a:1} to '<' (type struct and struct) (and 1 more errors))`,
+		`_|_(error in call to list.Sort: less: invalid operands {b:2} and {a:1} to '<' (type struct and struct) (and 1 more errors))`,
 	}}
 	for i, tc := range testCases {
 		t.Run(fmt.Sprint(i), func(t *testing.T) {
diff --git a/internal/legacy/cue/types.go b/internal/legacy/cue/types.go
index 37f5f62..1e1ced5 100644
--- a/internal/legacy/cue/types.go
+++ b/internal/legacy/cue/types.go
@@ -1906,7 +1906,7 @@
 		AllErrors:      true,
 	}
 
-	b := validate.Validate(v.idx.Runtime, v.v, cfg)
+	b := validate.Validate(v.ctx().opCtx, v.v, cfg)
 	if b != nil {
 		return b.Err
 	}
