/** * v2.15.0 follow-up — G4: user touchpoint classifier. * * 12 Gaps positioning memory: "user 介入 = 业务/产品审阅,不是技术决策". * This service classifies every Code gate by the kind of decision it * represents, so the CLI / status line can show user which gates * actually need their attention vs which are technical defaults * (AI auto-decides in full-auto). * * - `business` — user MUST be present (business / product decisions) * - `tech` — AI auto-decides in full-auto (tech choices) * - `mode-selection` — the gate IS the mode / context selection * itself (always prompts the user, even in * full-auto) * - `commit-boundary` — hard-floor: push / tag / publish / global * install (always prompts, even in full-auto) * - `commit-floor` — other hard-floor categories * (irreversible-external / auth / multi-day * investment) * * Pure functions. No I/O. */ export type GateKind = 'business' | 'tech' | 'mode-selection' | 'commit-boundary' | 'commit-floor'; export interface GateClassification { readonly step: string; readonly kind: GateKind; /** Short description of what the user / AI is deciding. */ readonly description: string; /** Whether full-auto can auto-proceed this gate. */ readonly fullAutoCanProceed: boolean; /** When user should pay attention (always / business-only / never). */ readonly userShouldReview: 'always' | 'business-only' | 'never'; } export declare function classifyAllGates(): readonly GateClassification[]; /** Look up a single gate's classification. Returns null when the step is not in the table. */ export declare function classifyGate(step: string): GateClassification | null; /** List all gates the user must review (per the 12 Gaps positioning). */ export declare function userMustReviewGates(): readonly GateClassification[]; /** List all gates AI auto-decides in full-auto. */ export declare function aiAutoDecidesGates(): readonly GateClassification[]; export declare const COMMIT_BOUNDARY_ACTIONS_LIST: readonly { id: string; description: string; }[];