I have been developing ECAA-workflow to close those gaps by using LLM chat intake to drive a deterministic Rust workflow compiler which translates a user request into a task centric directed acyclic graph representing the workflow.
An execution harness runs plain Claude Code CLI in reproducible containers on the backend. All workflow packages are tracked with git for versioning and include RO-Crate registries for FAIR data sharing.
Packages are deterministically reproducible and re-executable without the need for an LLM agent as all environments and scripts are saved within the package.
The system allows branching so a user can rerun any task node with different methods or parameters based on results. Full provenance of all user and agent decisions are logged for comprehensive auditability.