I love Shake as a build system, but one thing I find hard with Shake is to troubleshoot rules triggering issues. I often run into a situation where I think something should not be rebuilt yet it is rebuilt.
What are some guidelines to troubleshoot those kind of issues, beyond staring at the code and thinking hard?