Transform
transform builds a typed BuilderSpec for a sequential
transformation pipeline. Each step is a { name; tool; args ?
[]; env ? {}; } record carrying a tool (raw or pre-constructed
via mb.operations.tool). Tools are deduplicated and emitted as
declareTool operations; steps become runTool operations; the
outputs list expands to transformOutput operations.
The constructor wraps the transform-output effect of the new
framework — no new effect tags are introduced.