Start specifying IRC client behavior.
Implement current irc spec, though spec is quite incomplete.
Rename ClientFactory to ClientProtocolFactory to disambiguate our Client layer from twisted.protocol.*Client*.
Specify backoff delay in reconnection using a BackoffDelayTracker abstraction.
Implement the current spec for reconnection with backoff.
Improve the logging detail for both connection lost and failed without altering the spec.
Begin to specify nickserv login protocol handling; thread nickserv username into constructors.
Add unspecified debug logging to connectionMade and all incoming parsed IRC commands.
Specify that main should connect the irc client.
Fix a spec bug for main irc.Client usage, then implement the spec.
Fix the oftc domain.
Add a missing dependency on pyOpenSSL.
Fix spec to match changed domain.
Implement spec helper: ArgIsLogRecord - DSL to remove need for callback definitions over all the logging specs.
Specify handleCommand debug-and-passthrough behavior very specifically.
Improve the repr's of ArgIsLogRecord instances and (via monkey patching) logging.LogRecord to aid in spec failure diagnostics.
LogRecord.msg is the message *template* not the interpolated result, so generalize ArgIsLogRecord to match arbitrary attributes with ==.
Fix a bug uncovered by handleCommand debug spec.
Specify .msg should have a debug logging passthrough to complement .handleCommand.
Add a spec that we set .nickname, a side-effect which the base class depends on.