When performing a couchdb _purge operation, documents are not marked as deleted, but totally wiped from the db. This operation doesn't add any information in the _changes feed, so c-l cannot be aware of the documents being removed.
A solution would be to invalidate the whole index, but if you purged one doc among 1 billion indexed... you see what I mean.
Could it be possible to send to c-l a list of doc ids to remove them from the index?
c-l could be enhanced to do the same as views which can tolerate a single _purge without having to blow the inde away entirely, and c-l should also blow the index away when it detects that the databases purge_seq has incremented more than once since last index.
Thanks for your answer, this seems a good way to adress the issue. I will suggest my team to contribute.