anchor.diff:  
   final String _kSkyShell = Platform.environment['SKY_SHELL'];
   const String _kHost = '127.0.0.1';
  -const String _kPath = '/runner';
  +const String _kRunnerPath = '/runner';
  +const String _kShutdownPath = '/shutdown';
   
   String shellPath;
   
  
positive.code: 
  class _ServerInfo {
    final String url;
    final Future<WebSocket> socket;
    final HttpServer server;
  
    _ServerInfo(this.server, this.url, this.socket);
  }
  
  Future<_ServerInfo> _startServer() async {
    HttpServer server = await HttpServer.bind(_kHost, 0);
    Completer<WebSocket> socket = new Completer<WebSocket>();
    server.listen((HttpRequest request) {
      if (request.uri.path == _kPath)
        socket.complete(WebSocketTransformer.upgrade(request));
    });
    return new _ServerInfo(server, 'ws://$_kHost:${server.port}$_kPath', socket.future);
  }
  
  Future<Process> _startProcess(String mainPath, { String packages, int observatoryPort }) {
  
negative.code:         dirToDelete.deleteSync(recursive: true);
        }
      }
  
      process.exitCode.then((_) {
        WebSocket.connect(info.shutdownUrl);
      });
  
      try {
        WebSocket socket = await info.socket;
  