all: change `result_type` to `condition`
lib: remove Artifact.Type
lib: separate `Target.is_ready` into 2 functions