         read-values (->> ledger-read-results
                          (mapcat :read-results)
                          (map #(dissoc % :job-num))
+                         ;; values sent down not via trigger sync
+                         (remove emitted-segment?)
                          set)
+        trigger-emitted-values (->> ledger-read-results
+                                    (mapcat :read-results)
+                                    (map #(dissoc % :job-num))
+                                    ;; values sent down not via trigger sync
+                                    (filter emitted-segment?)
+                                    (mapcat :ids)
+                                    set)
         diff-added-read (clojure.set/difference added-values read-values)
         all-added-read? (empty? diff-added-read)
         written-not-triggered (clojure.set/difference (set (map :id added-values)) 
                                                       (set final-window-state-write))
         all-added-triggered? (empty? written-not-triggered)
+        added-not-emitted (clojure.set/difference (set (map :id added-values)) 
+                                                  (set trigger-emitted-values))
+        all-added-emitted? (empty? added-not-emitted)
         unacked-writes-read (clojure.set/difference read-values added-values)]
     {:information {:read-values read-values
                    :diff-added-read diff-added-read
                    :unacknowledged-writes-read unacked-writes-read
                    :added-not-triggered written-not-triggered
+                   :added-not-emitted added-not-emitted
                    :job-exception-message (some-> exception (.getMessage))
                    :job-exception-trace (if exception 
                                           (with-out-str (clojure.stacktrace/print-stack-trace exception)))}

        ledger-reads (first (history->read-ledgers history :persist))
        trigger-ledger-reads (first (history->read-ledgers history :annotate-job))
        ;; TODO: Don't need the sort any more - trigger only called on job-complete
        final-window-state-write (single-trigger-write trigger-ledger-reads) 
        window-state-filtered? (= (count final-window-state-write) 
                                  (count (set final-window-state-write)))
        ledger-read-results (ledger-reads->job+reads ledger-reads)

                                           n-jobs))
                  :reads-correct-jobs? correct-jobs?
                  :all-added-triggered? all-added-triggered?
                  ;; FIXME: all-added-emitted? is currently broken by job-complete not flushing remaining segments.
                  ;:all-added-emitted? all-added-emitted?
                  :all-added-read? all-added-read?}}))

;; TODO, check whether the jobs were even submitted, if not, nothing should be read back 
