What to build
The builder DSL documents .aliases(map) and .worker() but calling them has no effect at runtime — assembleConfig drops them silently. No warning, no validation error. The caller only discovers the drop when the expected behavior (e.g. shipnode run <alias>) fails.
Fix assembleConfig (or the schema it validates against) so these methods actually propagate to the resolved config. Add a regression test that instantiates a builder with .aliases({ deploy: 'pnpm deploy' }) and asserts the alias is present in the resolved config output.
Acceptance criteria
Blocked by
None - can start immediately
What to build
The builder DSL documents
.aliases(map)and.worker()but calling them has no effect at runtime —assembleConfigdrops them silently. No warning, no validation error. The caller only discovers the drop when the expected behavior (e.g.shipnode run <alias>) fails.Fix
assembleConfig(or the schema it validates against) so these methods actually propagate to the resolved config. Add a regression test that instantiates a builder with.aliases({ deploy: 'pnpm deploy' })and asserts the alias is present in the resolved config output.Acceptance criteria
.aliases(map)values appear inconfig showoutput.worker()values appear inconfig showoutputshipnode run <alias>executes the mapped commandconfig validateemits a warning naming itBlocked by
None - can start immediately