Phase 1 (#73): behavioral contracts, buffered annotation sink, and the
composition runner. Built-in vendor adapters arrive in phases 3–5.
Depends only on @chestnutlabs/toolpath-core; the parser consumes the runner
through its own structural DialectRunnerFactory type (worker entries compose
the two — DD-002 §5 boundaries).
@chestnutlabs/gcode-dialects — dialect adapter contracts & registry (DD-005).
Phase 1 (#73): behavioral contracts, buffered annotation sink, and the composition runner. Built-in vendor adapters arrive in phases 3–5. Depends only on @chestnutlabs/toolpath-core; the parser consumes the runner through its own structural DialectRunnerFactory type (worker entries compose the two — DD-002 §5 boundaries).