Can you describe how this is different from TDD.
From what I understood it seemed like you listed a collection of requirements for TDD failure cases, named them "can't" statements and then did TDD on them. But I believe there is more to it, but I couldn't see it.
Could you list the types test cases you would have created if you had done TDD on this same problem? And how they'd be different?