/** * * Module path: src/services/release/version-precheck-service.ts * Mirrors publish.yml gate-cli-version §(A) — verified in code 2026-10-03, not * just per the old comment: `runRootVsShared` covers §(A)'s shared-dist check; * §(A′) (runtime RUNTIME_VERSION) has no layer here, and the §(B) * tarball-content gate (Layer 5 of the 5-layer root cause) stays CI-only — * * 4-layer version precheck. Designed to run BEFORE `peaks release canary` so * developers catch CLI_VERSION lag / tag collision / changeset staged / * workspace drift without waiting for CI. * * Design contract: * - Pure functions. NO `process.exitCode` mutation here (cli-helpers owns it). * - All I/O parameterized via `projectRoot`. * - Layer A and B are blockers by default; C and D are warnings (--strict * upgrades them to blockers; hotfix path uses default warning). */ import { type LayerResult, type PrecheckEnvelope, type PrecheckOptions } from './version-precheck-support.js'; export type { LayerStatus, LayerResult, PrecheckOptions, PrecheckEnvelope } from './version-precheck-support.js'; export { runChangesetStaged } from './version-precheck-layer-changeset.js'; export declare function runRootVsShared(opts: PrecheckOptions): LayerResult; export declare function runTagCollision(opts: PrecheckOptions): LayerResult; export declare function runWorkspaceLockstep(opts: PrecheckOptions): LayerResult; export declare function runAllLayers(opts: PrecheckOptions): PrecheckEnvelope;