/** * Shared task mutation-intent classifier. * * Single authority for reading a task's wording, answering two different * questions from one prohibition analysis: * * - `classifyTaskMutationIntent` / `expectsImplementationMutation`: does the * task REQUIRE file changes? Consumed by the completion mutation guard, * which blocks completion, so its vocabulary is deliberately narrow. * - `taskMayMutate`: COULD the task plausibly change files? Consumed by * acceptance level inference, which only raises evidence gates, so its * vocabulary is deliberately broad (any bare write verb). * * Explicit read-only wording ("do not modify", "review only") is a task-level * intent only when no write imperative survives outside those phrases. A task * like "Do not modify tests; implement the fix" is an implementation task with * a scoped constraint, not a read-only task. */ export type TaskMutationIntent = { kind: "implementation"; } | { kind: "read-only"; } | { kind: "unknown"; }; export declare function classifyTaskMutationIntent(agent: string, task: string): TaskMutationIntent; export declare function expectsImplementationMutation(agent: string, task: string): boolean; /** * Whether the task could plausibly change files. Blanket prohibitions win; * write verbs inside a scoped prohibition's object or a read-only deliverable * phrase ("write a summary report") do not count; any other bare write verb * does. */ export declare function taskMayMutate(task: string): boolean; //# sourceMappingURL=task-intent.d.ts.map