I found this bug in Cadabra 1.x, but it remains in Cadabra 2.2.1.
It is likely related to a prior bug I found:
https://cadabra.science/qa/761/bug-in-%40unwrap-for-cadabra-1-42
but I list it here because the failure behavior is interesting!
In Cadabra 2 syntax:
{A,B,C}::AntiCommuting.
\partial{#}::Derivative.
{F,G,H}::Depends(\partial{#}).
Now the following returns 0 (!).
Exp := \partial{(A F + G) C};
unwrap(Exp);
I expect the issue is that there is no easy way to push C past (A F + G)
because the relative sign between A F and G would flip. Instead if one distributes or applies product rule prior to unwrapping, the result returns as expected.
The following, however, does work as expected:
Exp := \partial{(A F + B G) C};
unwrap(Exp);
giving Exp = - C * \partial{A F + B G}.