Profile - A set of values for the options a tool takes. (Many profiles per tool) Also, who can run it manually (Owner? Manual Group?)
ProfileExecution - Information about a running tool. Keyed on Profile, and Diff revision. Includes status, and results if finished.
The results of the review should be stored as a JSON blob in this (instead of only stored by actually creating the review). This will allow us to do cool stuff like squashing multiple tools into one review, and post-processing review results to remove previously dropped issues.
AutomaticRunGroup - A set of profiles, and the rules for when they will be run automatically
These automatic run groups should take the same form as "Default Reviewers" in RB (allow specifying a file regex to match, along with repositories to match on)
ManualPermission - A set of users who may run tools Manually