Custom User role not working with custom post type

I thought I would try to clarify my comments:

You only get a few things out of setting your capability_types the way you have above, which it is explained in Note 2 of capabilities.

Here is what I see looking at $GLOBALS['wp_post_types']['adoptions']->cap:

stdClass Object(
    [edit_post] => edit_adoption
    [read_post] => read_adoption
    [delete_post] => delete_adoption
    [edit_posts] => edit_adoptions
    [edit_others_posts] => edit_others_adoptions
    [publish_posts] => publish_adoptions
    [read_private_posts] => read_private_adoptions
    [create_posts] => edit_adoptions
)

Once I add 'map_meta_cap' => true, to your post type $args I get a much more complete object:

stdClass Object(
    [edit_post] => edit_adoption
    [read_post] => read_adoption
    [delete_post] => delete_adoption
    [edit_posts] => edit_adoptions
    [edit_others_posts] => edit_others_adoptions
    [publish_posts] => publish_adoptions
    [read_private_posts] => read_private_adoptions
    [read] => read
    [delete_posts] => delete_adoptions
    [delete_private_posts] => delete_private_adoptions
    [delete_published_posts] => delete_published_adoptions
    [delete_others_posts] => delete_others_adoptions
    [edit_private_posts] => edit_private_adoptions
    [edit_published_posts] => edit_published_adoptions
    [create_posts] => edit_adoptions
)