[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.scala-tools#vscaladoc;1.1-md-3: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
Wait, what? That's not one of my dependencies, it must be a transitive dependency from something else that's gumming things up. After some searching through my ~/.ivy directory for "1.1-md-3", I found the culprit: configgy. I'm not sure why configgy is exporting a dependency on vscaladoc (or on specs, for that matter), but I'm guessing that this is just the default behavios and Configgy needs fixed. Anyways, changing my SBT dep to:
val configgy = "net.lag" % "configgy" % "2.0.0" intransitive()
gets things going again by telling SBT to just ignore all of Configgy's upstream deps.