#include "workflow_fixture.hpp" #include struct ThrowWire: GoalDriver {unsigned sends=0,cancels=0;bool ready(Skill)const override{return true;}void send(const GoalRequest&)override{++sends;throw std::runtime_error("after-send exception");}void cancel(const std::string&)override{++cancels;}std::vector drain_events()override{return {};}}; int main(){ ThrowWire wire;ActiveGoalRegistry registry(wire,Fixture::test_root()+"/throw.journal");GoalRequest q;q.robot_id="r";q.trace={"t","s","run",1,1,1,1};auto id=registry.start(q,SteadyTime{});registry.request_cancel(*id,SteadyTime{});registry.pump(SteadyTime{}+Milliseconds(9000));assert(wire.cancels>=1);std::cout<<"send-throw sends="<