Remove dead helpers; fix usage and enable-flow doc drift
What
Cruft cleanup surfaced by a pre-v1.0.0 audit, plus two doc-accuracy fixes.
Removed (dead code, zero call sites, verified by grep)
vm_scp_recursive,emit_gitlab_ensure_helper(and its never-used Rubygitlab_ensurehelper),state_file,vm_curl_gitlab-- ~55 lines of never-executed code insimulator.sh.
Fixed
usage()drift: the engine's--helpomitted eight real subcommands (rails-config, the fourairgap-*,two-plane,validate, and the canonicalenable-flows). Now listed, matching the dispatch and docs.rails-configrecipe: added so every documented subcommand has a front-doorjustrecipe (closes the one gap from ADR-0001's single-front-door principle).enable-flowprecondition: documented inusage(), thejust enable-flowrecipe, andenable_flow.rb-- the standaloneenable-flowneeds the top-level group's foundational-flow allowlist already populated (runenable-flows/dap-bootstrapfirst), per the GitLab 18.11 API-order change. Verify-on-a-VM was attempted but the lab instance was unlicensed (Duo/Ultimate-gated), so this documents the precondition from the code evidence (commit01caa02).- Stale docstring:
enable_flow.rbpointed at async_foundational_flow.rbthat never existed; now points atjust sync-flow.
Checks
just ci clean (shellcheck confirms the removals broke nothing). Vale runs in the MR pipeline.