Ah, took me a second to see what's up.  Tap::Task requires arguments for initialization.
# ::manifest sdsdds
class Xyz < Tap::Task
  def initialize(*args)   # arguments must be passed to super
    super
  end
  def process
    puts 'working...'
  end
end
 
Solves the problem for me.  This is not a tap-specific thing... whenever you override a method and call super you have to get it arguments somehow.  
  def m
    super
  end
Is like:
  def m()
    super()
  end
While: 
  def m(*args)
    super
  end
Is like:
  def m(*args)
     super(*args)
  end
By the way... looking at this I thought of a flag you might find useful.  I don't think I documented it anywhere, but when you're running tap (or rap) and you want debugging, add '-d-' at the end of your command like:
  % tap run xyz -d-
That's what let me know the problem wasn't the arguments going to process but the arguments going to initialize.
Cheers,
- Simon