expose discovery boot interface errors

- improved error messages on failure
- simplify fact extraction

TBH: this whole code needs to be refactored.
right, but since this is in a controller(why) I wasnt sure how we report errors here, again, this should come up nicely in the ui.