also, thought a bit more about the strategy around engine work display/frontend stuff. I think because of the sheer number of executions in the engine, rather than displaying every single “workunit” we’d instead treat the display of work as a “sampling profiler” of sorts. basically, everytime a task kicks off we’ll register that with a new datastructure in the engine. then there’d be a frontend thread that samples that on an interval and update the curses swimlanes on the frontend (we’d port my hackweek display thing to rust). then the tasks that take the longest will be most visible there - and shorter lived tasks may never even surface in the UI. post run, we could spit out a more detailed report in chrome trace-viewer format which would help us actually profile where time is being spent in engine runs.