[eluser]Michael Wales[/eluser]
You are passing the array with your validation rules to the run() method rather than passing it to the set_rules() method.
I don't have the libs here at work to review the library to see if passing to run() is acceptable but I've personally never seen it done like this before (and the docs don't describe that functionality).
Additionally, you must name that array
$config per the docs.