Index: runs.scm
==================================================================
--- runs.scm
+++ runs.scm
@@ -1,6 +1,5 @@
-
 ;; Copyright 2006-2016, Matthew Welland.
 ;; 
 ;; This file is part of Megatest.
 ;; 
 ;;     Megatest is free software: you can redistribute it and/or modify
@@ -530,10 +529,13 @@
 		   (tal (cdr test-names)))         ;; 'return-procs tells the config reader to prep running system but return a proc
           (debug:print-info 4 *default-log-port* "\n\ntestpatt elaboration loop => hed="hed " tal="tal" test-patts="test-patts" test-names="test-names)
 	  (change-directory *toppath*) ;; PLEASE OPTIMIZE ME!!! I think this should be a no-op but there are several places where change-directories could be happening.
 	  (setenv "MT_TEST_NAME" hed) ;; 
 	  (let*-values (((waitons waitors config) (tests:get-waitons hed all-tests-registry))
+
+			;; NOTE: Have the config - can extract [waitons] section
+			
                         ((hed-mode)
                          (let ((m (config-lookup config "requirements" "mode")))
                            (if m (map string->symbol (string-split m)) '(normal))))
                         ((hed-itemized-waiton) ;; are items in hed waiting on items of waiton?
                          (not (null? (lset-intersection eq? hed-mode '(itemmatch itemwait)))))
@@ -1396,16 +1398,24 @@
 	     (tconfig     (tests:testqueue-get-testconfig test-record))
 	     (jobgroup    (config-lookup tconfig "test_meta" "jobgroup"))
 	     (testmode    (let ((m (config-lookup tconfig "requirements" "mode")))
 			    (if m (map string->symbol (string-split m)) '(normal))))
 	     (itemmaps    (tests:get-itemmaps tconfig)) ;;  (configf:lookup tconfig "requirements" "itemmap"))
-	     (waitons     (tests:testqueue-get-waitons    test-record))
 	     (priority    (tests:testqueue-get-priority   test-record))
 	     (itemdat     (tests:testqueue-get-itemdat    test-record)) ;; itemdat can be a string, list or #f
 	     (items       (tests:testqueue-get-items      test-record))
 	     (item-path   (item-list->path itemdat))
 	     (tfullname   (db:test-make-full-name test-name item-path))
+	      ;; these are hard coded item-item waits test/item-path => test/item-path2 ...
+	     (extra-waits (let* ((section (configf:get-section (tests:testqueue-get-testconfig test-record) "waitons"))
+				 (myextra (alist-ref tfullname section equal?)))
+			    (if myextra
+				(begin
+				  (debug:print 0 *default-log-port* "HAVE EXTRA WAITONS: " myextra)
+				  (string-split (car myextra)))
+				'())))
+	     (waitons     (append (tests:testqueue-get-waitons    test-record) extra-waits))
 	     (newtal      (append tal (list hed)))
 	     (regfull     (>= (length reg) reglen))
 	     (num-running (rmt:get-count-tests-running-for-run-id run-id))
 	     (testdat     (make-runs:testdat
 			   hed: hed