/** * How a task's assignee and skills were chosen, recorded on the task (and so * in the checkpoint) and audited on the bus: an `assignee: "auto"` pick * (OrgTask.assignedBy / OrgTask.pick), the skills its dispatch suggested * (OrgTask.suggestedSkills) and which of those the assignee then loaded * (OrgTask.loadedSkills). Re-exported by decisions.ts. */ import type { OrgDaemon, RunningOrg } from './daemon.js'; import { type OrgTask } from './task-dag.js'; import type { TaskPick } from './task-match.js'; /** A new task's provenance: explicit, or auto-assigned with its `pick`. */ export declare function recordTaskPick(running: RunningOrg, task: OrgTask, role: string, pick?: TaskPick): void; /** The dispatch message for a task. When the assignee has on-demand skills, * it also names the ones that fit THIS task (Jev when configured, otherwise * a keyword match over the pool), records them on the task and audits the * suggestion. That goes in the message, never the system prompt (ADR-O001 * D7: per-task guidance is not cached). Otherwise it is the plain line, * returned synchronously. The promise never rejects. */ export declare function dispatchLine(daemon: OrgDaemon, running: RunningOrg, task: OrgTask): string | Promise; /** org_skill_load served `skill` to `role`: record it on the role's open * tasks whose dispatch suggested it, and audit the load either way, so * suggestion adherence can be measured from the bus or the checkpoint. */ export declare function recordSkillLoad(running: RunningOrg | undefined, role: string, skill: string): void; /** Open (not finished) tasks assigned to `role` — the auto-assign tie-break. */ export declare function openTaskCount(running: RunningOrg | undefined, role: string): number; //# sourceMappingURL=task-provenance.d.ts.map