@@ -62,9 +62,15 @@ export class VariablesController {
6262 ) ;
6363 }
6464
65- // Collect all unique variables from all checks
65+ // Collect all unique variables from manifest-level and checks
6666 const variableMap = new Map < string , CheckVariable > ( ) ;
6767
68+ // First, add manifest-level variables
69+ for ( const variable of manifest . variables || [ ] ) {
70+ variableMap . set ( variable . id , variable ) ;
71+ }
72+
73+ // Then, add check-specific variables (won't override manifest-level)
6874 for ( const check of manifest . checks || [ ] ) {
6975 for ( const variable of check . variables || [ ] ) {
7076 if ( ! variableMap . has ( variable . id ) ) {
@@ -115,8 +121,15 @@ export class VariablesController {
115121 ) ;
116122 }
117123
118- // Collect all unique variables
124+ // Collect all unique variables from manifest-level and checks
119125 const variableMap = new Map < string , CheckVariable > ( ) ;
126+
127+ // First, add manifest-level variables
128+ for ( const variable of manifest . variables || [ ] ) {
129+ variableMap . set ( variable . id , variable ) ;
130+ }
131+
132+ // Then, add check-specific variables
120133 for ( const check of manifest . checks || [ ] ) {
121134 for ( const variable of check . variables || [ ] ) {
122135 if ( ! variableMap . has ( variable . id ) ) {
@@ -184,11 +197,18 @@ export class VariablesController {
184197 ) ;
185198 }
186199
187- // Find the variable definition
200+ // Find the variable definition (check manifest-level first, then checks)
188201 let variable : CheckVariable | undefined ;
189- for ( const check of manifest . checks || [ ] ) {
190- variable = check . variables ?. find ( ( v ) => v . id === variableId ) ;
191- if ( variable ) break ;
202+
203+ // Check manifest-level variables
204+ variable = manifest . variables ?. find ( ( v ) => v . id === variableId ) ;
205+
206+ // If not found, check in check-specific variables
207+ if ( ! variable ) {
208+ for ( const check of manifest . checks || [ ] ) {
209+ variable = check . variables ?. find ( ( v ) => v . id === variableId ) ;
210+ if ( variable ) break ;
211+ }
192212 }
193213
194214 if ( ! variable ) {
0 commit comments