/** * `slowcook garnish` — 0.19.0-α.15. * * Local commit-gate for human (or other-agent) tweaks layered on top * of an agent's work. The PM (or engineer) edits files in the working * tree — by hand, via DevTools Workspaces, via any editor — then runs * `slowcook garnish`. The cli: * * 1. Detects uncommitted changes in the working tree. * 2. For each changed file, identifies the agent (if any) whose last * commit touched the file. Files last touched by humans get no * trailer entry (no learning signal for an agent). * 3. Runs the relevant tests scoped to the changed files (or the * caller-provided test glob via --scope). * 4. If tests pass: commits the staged changes with a subject naming * the touched files + `Tweaks-output-of:` trailer lines marking * each agent-authored file the tweak touched. Optionally pushes. * 5. If tests fail: prints the failure summary + exits non-zero * without committing. * * The trailer lines are the load-bearing piece — a future `slowcook * reflect` command mines them to surface learning signal for the * upstream agent (eval-set fixtures, prompt-amendment candidates). */ /** * 0.19.0-α.16 — runGarnish, the reusable core. Other commands * (run-mock --garnish, for one) call this in-process on debounced * file-save batches; doing it as a subprocess invocation would * re-pay node startup every time. * * Returns a structured result; never calls process.exit. Caller * decides what to do on each kind. */ export interface RunGarnishOptions { repoRoot: string; scope?: string | null; message?: string | null; push?: boolean; silent?: boolean; } export type RunGarnishResult = { kind: "no-changes"; } | { kind: "tests-failed"; touchedFiles: string[]; outputTail: string; } | { kind: "committed"; sha: string; touchedFiles: string[]; agentRefCount: number; pushed: boolean; }; export declare function runGarnish(opts: RunGarnishOptions): Promise; export declare function garnish(argv: string[], _cliVersion: string): Promise; //# sourceMappingURL=index.d.ts.map