 
   updateDesignateRecords = do () ->
     executing = null
+
+    sitrepEmptyTmpl = Hogan.compile(
+      "{{name}} {{whenchecked}} has no records.")
     sitrepTmpl = Hogan.compile(
       "{{name}} {{type}} records {{whenchecked}}:\t{{#addrs}} {{.}}{{/addrs}}")
     sitrep = (whenChecked) -> (currentRecords) ->
-      grouped = _.groupBy(currentRecords, 'type')
-      Object.keys(grouped).forEach (type) ->
-        cli.debug sitrepTmpl.render
+      if _.isEmpty(currentRecords)
+        cli.debug sitrepEmptyTmpl.render
           name: _.trim(recordName, '.')
-          type: type
           whenchecked: whenChecked
-          addrs: _.pluck(grouped[type], "data")
+      else
+        grouped = _.groupBy(currentRecords, 'type')
+        Object.keys(grouped).forEach (type) ->
+          cli.debug sitrepTmpl.render
+            name: _.trim(recordName, '.')
+            whenchecked: whenChecked
+            type: type
+            addrs: _.pluck(grouped[type], "data")
       currentRecords
     fn = () ->
       designate.list()

    process.exit(1)

cli.parse
  'watch':    ['w', 'Monitor for changes after first check', 'boolean']
  'port':     ['p', 'TCP port to check', 'number', 80]
  'servers':  ['s', 'whitespace-delimited list of servers (which may use brace expansion)', 'string']

cli.main (args, options) ->
  recordName = (args[1] || process.exit(1)) + '.'
  servers = _.flatten((options.servers || []).split(/\s+/).map(braces))
  tcpPort = options.port

  designate = require('./designate')(recordName)


      resolveAndUpdateMonitors()
        .then () ->
          Q.delay(60000)
  else if options['delete']
    updateDesignateRecords()
  else
    cli.debug("Resolving once only. Use -w to monitor indefinitely.")
    finished = () ->
