import type { ProposedShard, TaskShape } from "../types.js"; import { effectiveExcludedPaths } from "../security/excluded-defaults.js"; export function scoutShards(shape: TaskShape): ProposedShard[] { const scope = shape.mentionedPaths.length ? shape.mentionedPaths : ["."]; return [ { id: "flow", objective: "Trace execution and data flow", scope, excludedScope: effectiveExcludedPaths(), lens: "flow", evidenceTarget: "path and symbol trace", expectedOutput: "facts", canRunIndependently: true, canChangeFinalDecision: true, writeIntent: false }, { id: "invariants", objective: "Find tests, invariants, and analogous behavior", scope, excludedScope: effectiveExcludedPaths(), lens: "tests", evidenceTarget: "tests and assertions", expectedOutput: "facts", canRunIndependently: true, canChangeFinalDecision: true, writeIntent: false }, { id: "analogues", objective: "Find the nearest working analogue", scope, excludedScope: effectiveExcludedPaths(), lens: "analogues", evidenceTarget: "working symbols and paths", expectedOutput: "facts", canRunIndependently: true, canChangeFinalDecision: true, writeIntent: false }, ]; }