TaskMesh should support retry and failure handling for tasks that are not completed successfully.
Goals:
- define task failure states
- implement retry count
- add basic dead-letter behavior
Success criteria:
Failed tasks can be retried or marked as permanently failed.