Problem
The BDC workflow entrypoint (scripts/workflow/bdc-workflow.sh) has grown to include slug parsing, input validation, path auto-detection, and git operations — all untestable in the current bash form. We can only verify this logic by running full SB tasks.
Proposal
Replace bdc-workflow.sh with a thin bash stub that calls uv run python on a Python module within the repo. The stub handles only stderr capture and delegates everything else to testable Python code.
The Python module would cover: arg parsing, slug parsing/validation, repo clone/checkout, trans-spec path resolution, and make pipeline invocation. Each piece gets unit tests.
The uv environment is pre-built in the container (uv sync --frozen at build time), so uv run at runtime has negligible overhead.
Problem
The BDC workflow entrypoint (
scripts/workflow/bdc-workflow.sh) has grown to include slug parsing, input validation, path auto-detection, and git operations — all untestable in the current bash form. We can only verify this logic by running full SB tasks.Proposal
Replace
bdc-workflow.shwith a thin bash stub that callsuv run pythonon a Python module within the repo. The stub handles only stderr capture and delegates everything else to testable Python code.The Python module would cover: arg parsing, slug parsing/validation, repo clone/checkout, trans-spec path resolution, and
make pipelineinvocation. Each piece gets unit tests.The
uvenvironment is pre-built in the container (uv sync --frozenat build time), souv runat runtime has negligible overhead.