         [ try-process ] parallel-each
     ] with-directory ;
 
-: build-new-factor ( branch/checksum -- )
+: checkout-new-factor ( branch/checksum -- path branch/checksum )
     "factor" "factor" zealot-github-ensure drop
 
     [ "factor" "factor" zealot-github-clone-paths nip ] dip

        [ drop "factor" "factor" zealot-github-add-build-remote drop ]
        [ drop [ git-fetch-all* ] with-directory drop ]
        [ zealot-build-checkout drop ]
        [ "ZEALOT DOWNLOADING BOOT IMAGE" print flush download-my-boot-image ]
        [ "ZEALOT DOWNLOADING CHECKSUMS" print flush download-boot-checksums ]
        [ "ZEALOT COMPILING" print flush drop compile-factor ]
        [ "ZEALOT BOOTSTRAPPING" print flush drop bootstrap-factor ]
        [ "ZEALOT LOADING ROOTS" print flush drop zealot-load-commands ]
        [ "ZEALOT TESTING ROOTS" print flush drop zealot-test-commands ]
    } 2cleave ;

: factor-clean-branch ( -- str )
    os cpu [ name>> ] bi@ { { CHAR: . CHAR: - } } substitute

: zealot-test-commands ( path -- )
     [
        32 <iota> [
            load-and-test-command
        ] map [ try-process ] parallel-each
     ] with-directory ;

