skeleton gem using spec
pull out a bunch of core logic for processing runs and their dependent calculations
some very basic tests and fixes
- some tests
- root calculations _must_ be queued at in the future, or the re-queuing and priority logic could spin forever