To me the following looks like a bug, but I'm not sure. In Cadabra 1 using @unwrap after @prodrule always seems to pick the last term. For example,

\partial{#}::PartialDerivative. x::Coordinate. ex:= \partial_{x}{ A B }; @prodrule!(%); @unwrap!(%);

gives the final result to be $A \partial_{x}{B}$ while it's expected to give zero as I've not assigned any dependence. If I do the same thing in Cadabra 2, it does indeed give zero.

Maybe I'm missing something?