/** * ship-preflight — /ship Steps 0.9-3 and the mechanical part of Step 5 as one command * (gstack-ship-preflight). It chains git, gh, gstack-ship-receipt carry, gstack-diff-scope, * gstack-ship-policy, gstack-review-plan, gstack-pregate and gstack-evidence, prints a * compact result, and stops with STOP: wherever the prose assigns the decision to the * agent (a merge conflict, a failing or zero-run lane, the carry route, the Apple target). */ import * as fs from 'node:fs'; import * as path from 'node:path'; import { classifyDiff } from './review-depth'; import { audit } from './ship-audit'; import { bin, firstLine, flagReader, gh, git, hostedOrigin, laneLine, lanes, Report, runLanes, shipPolicy, short } from './ship-bin-common'; export const PREFLIGHT_HELP = `gstack-ship-preflight — /ship Steps 1-3 and Step 5's pregate and lanes in one call (ship/SKILL.md) gstack-ship-preflight --base [--lane