Build the scalar backward rule for z=a*b. Return both local responsibilities so a tiny autograd engine can accumulate them later.
Required APIdef backward_product(a, b):
return {'da': ..., 'db': ...}BehaviorThink through the mechanism first if you want the extra reasoning step. It never blocks the editor.
backward_product(3, 4)the product rule must point responsibility to the other input
backward_product(0, 5)zero values do not erase the derivative of the other edge
2 hidden edge tests run after the visible contract passes.
Run Tests to see the contract verdicts here.