function TaskHooks.post_task
Run
callable(ctx, conclusion) after the task body ends, however it ended: a return, an exit, or an error. conclusion is the TaskConclusion the runtime resolved (exit code, text, flagged, message). Post-task hooks run in registration order, before ctx.defer callbacks and the closing bookend. A hook that fails is reported as a warning and does not change the conclusion.
function TaskHooks.pre_task
Run
callable(ctx) before the task body, after every hook registered earlier. An exit or error here stands in for the body, which then never runs; post-task hooks still see the resulting conclusion. Refused once the body has started, so only a feature or config impl can register one.
