Backends
Backends translate a validated BuildPlan into an artifact for another
build substrate. Unlike the program interpreters they do not fold over
the operation alphabet — they consume the plan that materialize
produces, so the interpreter coverage grid does not apply. Each backend
declares the plans it cannot honor through unsupportedReasons; nothing
is miscompiled silently.
dockerfile
dockerfile backend: emits a Dockerfile from a substrate-neutral BuildPlan.
Translates a validated BuildPlan into a Dockerfile over a
parameterizable base image: tool preflight by name, local inputs
copied from the build context, and one RUN per rendered step. Plans
it cannot honor are rejected with explicit reasons.
shell
shell backend: emits a standalone bash script from a substrate-neutral BuildPlan.
Translates a validated BuildPlan into a standalone bash script:
tool preflight by name, pathMap exports, library-path export, and the
rendered step commands. Plans it cannot honor are rejected with
explicit reasons.