ADR-1239 Phase B (parent #1679). Replace copyWithPathReplacement's 13 hardcoded `const isX = runtime === 'x'` flags + two ~100-line per-runtime if/else converter chains with a module-level RUNTIME_CONTENT_DISPATCH table (one entry per runtime: md transform, mdSkipGenericRewrite, mdReattributeAfter, mdTomlRenameOnCommand, js transform) + a uniform dispatch loop that applies the cross-cutting steps (path rewrite -> attribution -> stamp -> normalize) once. Byte-identical install output for all 16 runtimes (golden-parity harness #1730); codex-verified the transform order + every per-runtime quirk (gemini .toml rename, copilot/antigravity skip-generic + reattribute, qwen/hermes inline swaps, .cjs/.js fall-through) is preserved. Also folds in a pre-existing bookkeeping fix (no-defer): gsd-core/bin/lib/ cli-skew-check.cjs (tsc build artifact from #1755) was eslint-ignored but missing from .gitignore — added for consistency with the other built artifacts. Closes #1758 Co-authored-by: review-bot <review-bot@gsd> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
489 KiB
Executable File
489 KiB
Executable File