            {::pcrg/unreachable #{}
             ::pcrg/root        3
             ::pcrg/nodes       {1 {::pcrg/node-id  1
-                             ::pc/sym        'a
-                             ::pcrg/requires {:a {}}
-                             ::pcrg/provides {:a {}}}
-                          2 {::pcrg/node-id  2
-                             ::pc/sym        'b
-                             ::pcrg/requires {:b {}}
-                             ::pcrg/provides {:b {}}}
-                          3 {::pcrg/node-id  3
-                             ::pcrg/run-and  [1 2]
-                             ::pcrg/requires {:a {}
-                                              :b {}}}}})))
+                                   ::pc/sym        'a
+                                   ::pcrg/requires {:a {}}
+                                   ::pcrg/provides {:a {}}}
+                                2 {::pcrg/node-id  2
+                                   ::pc/sym        'b
+                                   ::pcrg/requires {:b {}}
+                                   ::pcrg/provides {:b {}}}
+                                3 {::pcrg/node-id  3
+                                   ::pcrg/run-and  [1 2]
+                                   ::pcrg/requires {:a {}
+                                                    :b {}}}}})))
 
   (testing "multiple attribute request on a single resolver"
     (is (= (compute-run-graph*

                            ::pc/output [:c]}]
              ::eql/query [:c]})
           '#::pcrg{:unreachable #{}
                    :nodes       {1 {::pcrg/node-id 1
                               ::pcrg/provides {:c {}}
                               ::pcrg/requires {:c {}}
                               ::pc/sym        c}
                            2 {::pcrg/node-id  2
                               ::pcrg/provides {:b {}
                                                :c {}}
                               ::pcrg/requires {:b {}
                                                :c {}}
                               ::pcrg/run-next 1
                               ::pc/sym        b}
                            3 {::pcrg/node-id  3
                               ::pcrg/provides {:a {}
                                                :b {}
                                                :c {}}
                               ::pcrg/requires {:a {}
                                                :b {}
                                                :c {}}
                               ::pcrg/run-next 2
                               ::pc/sym        a}}
                    :root        3})))

  (testing "broken chain"
    (is (= (compute-run-graph*
             {::resolvers [{::pc/sym    'b
                            ::pc/input  #{:a}
                            ::pc/output [:b]}
                           {::pc/sym    'c
                            ::pc/input  #{:b}
                            ::pc/output [:c]}]
              ::eql/query [:c]})
           '#::pcrg{:nodes       {}
                    :unreachable #{:a}}))))

           {::pcrg/unreachable #{}
            ::pcrg/root        1
            ::pcrg/nodes       {1 {::pcrg/node-id  1
                                   ::pc/sym        'a
                                   ::pcrg/requires {:a {}}
                                   ::pcrg/provides {:a {}}}}})))

  (testing "broken chain"
    (is (= (compute-run-graph*
             {::resolvers [{::pc/sym    'b
                            ::pc/input  #{:a}
                            ::pc/output [:b]}
                           {::pc/sym    'c
                            ::pc/input  #{:b}
                            ::pc/output [:c]}]
              ::eql/query [:c]})
           '#::pcrg{:nodes       {}
                    :unreachable #{:a}})))

  (testing "extra provides"
    (is (= (compute-run-graph*
