ai-spector 0.8.55 → 0.8.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/operations/check.d.ts.map +1 -1
- package/dist/core/operations/check.js +13 -0
- package/dist/core/operations/check.js.map +1 -1
- package/dist/core/operations/task-gates.d.ts +40 -0
- package/dist/core/operations/task-gates.d.ts.map +1 -0
- package/dist/core/operations/task-gates.js +198 -0
- package/dist/core/operations/task-gates.js.map +1 -0
- package/dist/core/operations/task.d.ts +4 -0
- package/dist/core/operations/task.d.ts.map +1 -1
- package/dist/core/operations/task.js +9 -10
- package/dist/core/operations/task.js.map +1 -1
- package/dist/core/workflow/guidance.d.ts.map +1 -1
- package/dist/core/workflow/guidance.js +40 -1
- package/dist/core/workflow/guidance.js.map +1 -1
- package/dist/interfaces/mcp/format-tool-error.d.ts.map +1 -1
- package/dist/interfaces/mcp/format-tool-error.js +7 -0
- package/dist/interfaces/mcp/format-tool-error.js.map +1 -1
- package/dist/interfaces/mcp/schemas.d.ts +25 -21
- package/dist/interfaces/mcp/schemas.d.ts.map +1 -1
- package/dist/interfaces/mcp/schemas.js +8 -0
- package/dist/interfaces/mcp/schemas.js.map +1 -1
- package/dist/interfaces/mcp/tool-descriptions.d.ts.map +1 -1
- package/dist/interfaces/mcp/tool-descriptions.js +4 -2
- package/dist/interfaces/mcp/tool-descriptions.js.map +1 -1
- package/dist/interfaces/mcp/tools/lang.d.ts +1 -1
- package/package.json +1 -1
- package/scaffold/cursor/rules/ai-spector-plan-gate.mdc +34 -0
- package/scaffold/cursor/skills/ai-spector-generate-srs/SKILL.md +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/operations/check.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/core/operations/check.ts"],"names":[],"mappings":"AA2BA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAmOD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAsY5E"}
|
|
@@ -8,6 +8,7 @@ import { activeSlotForDocType, generateSlotFromDocPath, generateSlotFromPackOutp
|
|
|
8
8
|
import { resolveReadinessConfigStatus } from "../readiness/config.js";
|
|
9
9
|
import { validateCustomPack } from "../template/pack-validate.js";
|
|
10
10
|
import { pathExists, readJson } from "../util/fs.js";
|
|
11
|
+
import { listApprovedTaskGateViolations } from "./task-gates.js";
|
|
11
12
|
const DEFAULT_RULES = [
|
|
12
13
|
{ id: "STRUCT-001", severity: "error" },
|
|
13
14
|
{ id: "STRUCT-002", severity: "error" },
|
|
@@ -19,6 +20,7 @@ const DEFAULT_RULES = [
|
|
|
19
20
|
{ id: "TASK-001", severity: "warning" },
|
|
20
21
|
{ id: "TASK-002", severity: "warning" },
|
|
21
22
|
{ id: "TASK-003", severity: "warning" },
|
|
23
|
+
{ id: "TASK-004", severity: "error" },
|
|
22
24
|
{ id: "GRAPH-001", severity: "warning" },
|
|
23
25
|
{ id: "PACK-001", severity: "warning" },
|
|
24
26
|
{ id: "READY-001", severity: "warning" },
|
|
@@ -86,6 +88,17 @@ async function checkGenerateTaskGate(add, rules, ruleId, defaultSeverity, index,
|
|
|
86
88
|
}
|
|
87
89
|
if (!task.planApprovedAt) {
|
|
88
90
|
addGenerateTaskFinding(add, rules, ruleId, defaultSeverity, slot, docType, path, "no-plan", activeId, activePack);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const violations = listApprovedTaskGateViolations(task);
|
|
94
|
+
if (violations.length > 0 && enabled(rules, "TASK-004")) {
|
|
95
|
+
add({
|
|
96
|
+
ruleId: "TASK-004",
|
|
97
|
+
severity: severityOf(rules, "TASK-004", "error"),
|
|
98
|
+
message: `Active ${slot} task ${activeId} has planApprovedAt but skipped workflow gates: ${violations.join("; ")}`,
|
|
99
|
+
path: `.ai-spector/.docflow/tasks/${activeId}.json`,
|
|
100
|
+
fix: `task_abandon({ taskId: "${activeId}", reason: "invalid gate state" }) then restart from check → clarify → briefing → plan`,
|
|
101
|
+
});
|
|
89
102
|
}
|
|
90
103
|
}
|
|
91
104
|
async function loadActivePackManifest(root, config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/core/operations/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/core/operations/check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { StoredPlan, TaskState } from "./task.js";
|
|
2
|
+
type StepStatus = TaskState["steps"][number]["status"];
|
|
3
|
+
export type TaskGateReason = "plan_missing" | "plan_invalid" | "plan_already_approved" | "step_incomplete" | "snapshot_missing" | "step_premature" | "plan_not_approved";
|
|
4
|
+
export interface TaskPreconditionPayload {
|
|
5
|
+
error: "PRECONDITION_FAILED";
|
|
6
|
+
reason: TaskGateReason;
|
|
7
|
+
message: string;
|
|
8
|
+
hint: string;
|
|
9
|
+
userMessage: string;
|
|
10
|
+
suggestedTools: string[];
|
|
11
|
+
taskId: string;
|
|
12
|
+
workflow: string;
|
|
13
|
+
currentStepId?: string;
|
|
14
|
+
blockedStepId?: string;
|
|
15
|
+
}
|
|
16
|
+
/** Thrown when a gated task operation cannot run in the current task state. */
|
|
17
|
+
export declare class TaskPreconditionError extends Error {
|
|
18
|
+
readonly reason: TaskGateReason;
|
|
19
|
+
readonly hint: string;
|
|
20
|
+
readonly suggestedTools: string[];
|
|
21
|
+
readonly task: TaskState;
|
|
22
|
+
readonly blockedStepId?: string | undefined;
|
|
23
|
+
readonly code: "PRECONDITION_FAILED";
|
|
24
|
+
constructor(reason: TaskGateReason, message: string, hint: string, suggestedTools: string[] | undefined, task: TaskState, blockedStepId?: string | undefined, userMessage?: string);
|
|
25
|
+
readonly userMessage: string;
|
|
26
|
+
toPayload(): TaskPreconditionPayload;
|
|
27
|
+
}
|
|
28
|
+
/** After plan approval, verify gate integrity (for workspace check TASK-004). */
|
|
29
|
+
export declare function listApprovedTaskGateViolations(task: TaskState): string[];
|
|
30
|
+
export declare function assertTaskApprovePlanAllowed(task: TaskState): asserts task is TaskState & {
|
|
31
|
+
plan: StoredPlan;
|
|
32
|
+
};
|
|
33
|
+
/** Gate generate wave progress and doc writes on approved plan. */
|
|
34
|
+
export declare function assertGenerateExecutionAllowed(task: TaskState): void;
|
|
35
|
+
/** Validate step transitions in task_update (fail closed). */
|
|
36
|
+
export declare function assertTaskStepUpdateAllowed(task: TaskState, stepId: string, nextStatus: StepStatus | undefined): void;
|
|
37
|
+
/** When storing a generate plan, briefing gate must be complete. */
|
|
38
|
+
export declare function assertGeneratePlanStoreAllowed(task: TaskState): void;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=task-gates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-gates.d.ts","sourceRoot":"","sources":["../../../src/core/operations/task-gates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEvD,KAAK,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEvD,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,cAAc,GACd,uBAAuB,GACvB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,CAAC;AAExB,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAqBD,+EAA+E;AAC/E,qBAAa,qBAAsB,SAAQ,KAAK;aAI5B,MAAM,EAAE,cAAc;aAEtB,IAAI,EAAE,MAAM;aACZ,cAAc,EAAE,MAAM,EAAE;aACxB,IAAI,EAAE,SAAS;aACf,aAAa,CAAC,EAAE,MAAM;IARxC,QAAQ,CAAC,IAAI,EAAG,qBAAqB,CAAU;gBAG7B,MAAM,EAAE,cAAc,EACtC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EAAE,YAAK,EAC7B,IAAI,EAAE,SAAS,EACf,aAAa,CAAC,EAAE,MAAM,YAAA,EACtC,WAAW,CAAC,EAAE,MAAM;IAOtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,SAAS,IAAI,uBAAuB;CAcrC;AA0DD,iFAAiF;AACjF,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,EAAE,CA0BxE;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,IAAI,SAAS,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAyClD;AAoID,mEAAmE;AACnE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAWpE;AAED,8DAA8D;AAC9D,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GAAG,SAAS,GACjC,IAAI,CA+DN;AAED,oEAAoE;AACpE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAYpE"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
const NOT_APPROVE_SIBLINGS = ["review_approve", "spec_approve", "comments_resolve"];
|
|
2
|
+
const DEFAULT_USER_MESSAGES = {
|
|
3
|
+
plan_missing: (t) => `Task ${t.id} has no plan yet — I need to finish clarify, briefing, and show the plan table before you can approve.`,
|
|
4
|
+
plan_invalid: (t) => `Task ${t.id} plan is incomplete — I'll rebuild the plan table with all required rows and context.`,
|
|
5
|
+
plan_already_approved: (t) => `Task ${t.id} plan is already approved — I'll continue with generation, not call task_approve_plan again.`,
|
|
6
|
+
step_incomplete: (t) => `Task ${t.id} skipped mandatory workflow gates — I'll run the missing steps (check → clarify → briefing → plan) before asking for approval.`,
|
|
7
|
+
snapshot_missing: (t) => `Task ${t.id} is missing required gate checkpoints — I'll present the readiness report / briefing in chat and record them before proceeding.`,
|
|
8
|
+
step_premature: () => "That workflow step cannot be marked done yet — earlier gates must finish first.",
|
|
9
|
+
plan_not_approved: (t) => `Task ${t.id} plan is not approved yet — show the plan table and wait for your explicit yes before writing docs.`,
|
|
10
|
+
};
|
|
11
|
+
/** Thrown when a gated task operation cannot run in the current task state. */
|
|
12
|
+
export class TaskPreconditionError extends Error {
|
|
13
|
+
reason;
|
|
14
|
+
hint;
|
|
15
|
+
suggestedTools;
|
|
16
|
+
task;
|
|
17
|
+
blockedStepId;
|
|
18
|
+
code = "PRECONDITION_FAILED";
|
|
19
|
+
constructor(reason, message, hint, suggestedTools = [], task, blockedStepId, userMessage) {
|
|
20
|
+
super(message);
|
|
21
|
+
this.reason = reason;
|
|
22
|
+
this.hint = hint;
|
|
23
|
+
this.suggestedTools = suggestedTools;
|
|
24
|
+
this.task = task;
|
|
25
|
+
this.blockedStepId = blockedStepId;
|
|
26
|
+
this.name = "TaskPreconditionError";
|
|
27
|
+
this.userMessage = userMessage ?? DEFAULT_USER_MESSAGES[reason](task);
|
|
28
|
+
}
|
|
29
|
+
userMessage;
|
|
30
|
+
toPayload() {
|
|
31
|
+
return {
|
|
32
|
+
error: this.code,
|
|
33
|
+
reason: this.reason,
|
|
34
|
+
message: this.message,
|
|
35
|
+
hint: this.hint,
|
|
36
|
+
userMessage: this.userMessage,
|
|
37
|
+
suggestedTools: this.suggestedTools,
|
|
38
|
+
taskId: this.task.id,
|
|
39
|
+
workflow: this.task.workflow,
|
|
40
|
+
currentStepId: this.task.currentStepId,
|
|
41
|
+
blockedStepId: this.blockedStepId,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function stepStatus(task, stepId) {
|
|
46
|
+
return task.steps.find((s) => s.id === stepId)?.status ?? "missing";
|
|
47
|
+
}
|
|
48
|
+
function assertStepDone(task, stepId, hint, suggestedTools) {
|
|
49
|
+
const status = stepStatus(task, stepId);
|
|
50
|
+
if (status !== "done") {
|
|
51
|
+
throw new TaskPreconditionError("step_incomplete", `Cannot approve plan for task "${task.id}": "${stepId}" must be done (current: ${status}).`, hint, suggestedTools, task, stepId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function assertGeneratePlanShape(task) {
|
|
55
|
+
if (!task.plan || task.plan.kind !== "generate") {
|
|
56
|
+
throw new TaskPreconditionError("plan_invalid", `Task "${task.id}" has no generate plan.`, "Build GeneratePlan (briefing + rows) via task_update after briefing is confirmed.", ["task_update", "readiness_assess", "context_list"], task);
|
|
57
|
+
}
|
|
58
|
+
const plan = task.plan.plan;
|
|
59
|
+
if (!plan.rows?.length) {
|
|
60
|
+
throw new TaskPreconditionError("plan_invalid", `Task "${task.id}" generate plan has no output rows.`, "Present the plan table in chat, then store rows via task_update before task_approve_plan.", ["task_update"], task, "plan");
|
|
61
|
+
}
|
|
62
|
+
if (!plan.briefing?.length) {
|
|
63
|
+
throw new TaskPreconditionError("plan_invalid", `Task "${task.id}" generate plan has no briefing entries.`, "Confirm context briefing per target document, then include briefing[] in the stored plan.", ["task_update", "readiness_assess"], task, "briefing");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/** After plan approval, verify gate integrity (for workspace check TASK-004). */
|
|
67
|
+
export function listApprovedTaskGateViolations(task) {
|
|
68
|
+
if (!task.planApprovedAt)
|
|
69
|
+
return [];
|
|
70
|
+
const violations = [];
|
|
71
|
+
if (task.kind === "generate") {
|
|
72
|
+
for (const stepId of ["check", "clarify", "briefing"]) {
|
|
73
|
+
if (stepStatus(task, stepId) !== "done") {
|
|
74
|
+
violations.push(`step "${stepId}" is ${stepStatus(task, stepId)} after plan approval`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (!task.snapshot.workspaceCheckAt)
|
|
78
|
+
violations.push("snapshot.workspaceCheckAt missing");
|
|
79
|
+
if (!task.snapshot.readinessReportShown)
|
|
80
|
+
violations.push("snapshot.readinessReportShown missing");
|
|
81
|
+
if (!task.snapshot.briefingConfirmedAt)
|
|
82
|
+
violations.push("snapshot.briefingConfirmedAt missing");
|
|
83
|
+
if (!task.snapshot.planPresentedAt)
|
|
84
|
+
violations.push("snapshot.planPresentedAt missing");
|
|
85
|
+
if (task.plan?.kind !== "generate" || !task.plan.plan.rows?.length) {
|
|
86
|
+
violations.push("generate plan rows missing");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
if (!task.goal)
|
|
91
|
+
violations.push("goal missing");
|
|
92
|
+
if (!task.snapshot.planPresentedAt)
|
|
93
|
+
violations.push("snapshot.planPresentedAt missing");
|
|
94
|
+
if (stepStatus(task, "clarify") !== "done") {
|
|
95
|
+
violations.push(`step "clarify" is ${stepStatus(task, "clarify")} after plan approval`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return violations;
|
|
99
|
+
}
|
|
100
|
+
export function assertTaskApprovePlanAllowed(task) {
|
|
101
|
+
if (task.planApprovedAt) {
|
|
102
|
+
throw new TaskPreconditionError("plan_already_approved", `Task "${task.id}" plan was already approved at ${task.planApprovedAt}.`, "Continue with task_record_wave / resolve_task — do not call task_approve_plan again.", ["task_get", "task_record_wave", "resolve_task"], task);
|
|
103
|
+
}
|
|
104
|
+
if (!task.plan) {
|
|
105
|
+
throw new TaskPreconditionError("plan_missing", `Task "${task.id}" has no plan to approve.`, task.kind === "generate"
|
|
106
|
+
? "Complete check → clarify → briefing, present plan table, wait for explicit yes, then task_approve_plan."
|
|
107
|
+
: "Present GoalSpec + TaskPlan, wait for explicit yes, then task_approve_plan.", ["task_update", "workspace_check", "readiness_assess", "context_list"], task);
|
|
108
|
+
}
|
|
109
|
+
const planStep = task.steps.find((s) => s.id === "plan");
|
|
110
|
+
if (planStep?.status === "done") {
|
|
111
|
+
throw new TaskPreconditionError("step_premature", `Task "${task.id}" has plan step marked done without planApprovedAt — invalid gate state.`, "Do not mark the plan step done via task_update. Only task_approve_plan completes the plan gate after user yes.", ["task_get", "task_abandon"], task, "plan");
|
|
112
|
+
}
|
|
113
|
+
if (task.kind === "generate") {
|
|
114
|
+
assertGenerateApproveGates(task);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
assertResolveApproveGates(task);
|
|
118
|
+
}
|
|
119
|
+
function assertGenerateApproveGates(task) {
|
|
120
|
+
assertStepDone(task, "check", "Run workspace_check, set snapshot.workspaceCheckAt via task_update, then mark check done.", ["workspace_check", "task_update"]);
|
|
121
|
+
if (!task.snapshot.workspaceCheckAt) {
|
|
122
|
+
throw new TaskPreconditionError("snapshot_missing", `Task "${task.id}" check step done but snapshot.workspaceCheckAt is missing.`, "Call workspace_check and record snapshot.workspaceCheckAt via task_update.", ["workspace_check", "task_update"], task, "check");
|
|
123
|
+
}
|
|
124
|
+
assertStepDone(task, "clarify", "Run readiness_assess, present criteria table, set snapshot.readinessReportShown, resolve gaps, then mark clarify done.", ["readiness_assess", "context_list", "task_update"]);
|
|
125
|
+
if (!task.snapshot.readinessReportShown) {
|
|
126
|
+
throw new TaskPreconditionError("snapshot_missing", `Task "${task.id}" clarify step done but readiness report was not recorded.`, "Present the full readiness criteria table (ID, ISO, status), then set snapshot.readinessReportShown via task_update.", ["readiness_assess", "task_update"], task, "clarify");
|
|
127
|
+
}
|
|
128
|
+
assertStepDone(task, "briefing", "Present per-file context briefing, get user confirmation, set snapshot.briefingConfirmedAt, then mark briefing done.", ["task_update", "context_list"]);
|
|
129
|
+
if (!task.snapshot.briefingConfirmedAt) {
|
|
130
|
+
throw new TaskPreconditionError("snapshot_missing", `Task "${task.id}" briefing step done but snapshot.briefingConfirmedAt is missing.`, "User must confirm the context briefing in chat first — then set snapshot.briefingConfirmedAt via task_update.", ["task_update"], task, "briefing");
|
|
131
|
+
}
|
|
132
|
+
assertGeneratePlanShape(task);
|
|
133
|
+
if (!task.snapshot.planPresentedAt) {
|
|
134
|
+
throw new TaskPreconditionError("snapshot_missing", `Task "${task.id}" plan stored but snapshot.planPresentedAt is missing.`, "Show the plan table in chat, set phaseStatus to awaiting_user, then set snapshot.planPresentedAt via task_update.", ["task_update"], task, "plan");
|
|
135
|
+
}
|
|
136
|
+
if (task.phaseStatus !== "awaiting_user") {
|
|
137
|
+
throw new TaskPreconditionError("step_incomplete", `Task "${task.id}" must have phaseStatus "awaiting_user" before plan approval (current: "${task.phaseStatus}").`, 'After showing the plan table, set phaseStatus: "awaiting_user" and wait for explicit yes — "ok" or scope alone is not approval.', ["task_update"], task, "plan");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
function assertResolveApproveGates(task) {
|
|
141
|
+
if (!task.goal) {
|
|
142
|
+
throw new TaskPreconditionError("plan_invalid", `Task "${task.id}" has no GoalSpec.`, "Clarify intent, set goal via task_update, then present TaskPlan.", ["task_update", "context_list"], task, "clarify");
|
|
143
|
+
}
|
|
144
|
+
if (!task.plan || task.plan.kind !== "resolve" || !task.plan.plan.steps?.length) {
|
|
145
|
+
throw new TaskPreconditionError("plan_invalid", `Task "${task.id}" resolve plan has no steps.`, "Build TaskPlan with impact map, show table in chat, wait for explicit yes.", ["task_update", "graph_impact"], task, "plan");
|
|
146
|
+
}
|
|
147
|
+
assertStepDone(task, "clarify", "Clarify GoalSpec fields (≤3 questions), then mark clarify done via task_update.", ["task_update", "context_list"]);
|
|
148
|
+
if (!task.snapshot.planPresentedAt) {
|
|
149
|
+
throw new TaskPreconditionError("snapshot_missing", `Task "${task.id}" resolve plan stored but snapshot.planPresentedAt is missing.`, "Show GoalSpec + TaskPlan table, set phaseStatus awaiting_user and snapshot.planPresentedAt, then wait for explicit yes.", ["task_update"], task, "plan");
|
|
150
|
+
}
|
|
151
|
+
if (task.phaseStatus !== "awaiting_user") {
|
|
152
|
+
throw new TaskPreconditionError("step_incomplete", `Task "${task.id}" must have phaseStatus "awaiting_user" before plan approval (current: "${task.phaseStatus}").`, 'Wait for explicit yes to the plan table — "ok", "tạo đi", or scope alone is not plan approval.', ["task_update"], task, "plan");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/** Gate generate wave progress and doc writes on approved plan. */
|
|
156
|
+
export function assertGenerateExecutionAllowed(task) {
|
|
157
|
+
if (task.kind !== "generate")
|
|
158
|
+
return;
|
|
159
|
+
if (!task.planApprovedAt) {
|
|
160
|
+
throw new TaskPreconditionError("plan_not_approved", `Task "${task.id}" plan is not approved — call task_approve_plan after user says yes to the plan table.`, "Complete check → clarify → briefing → plan table → explicit yes → task_approve_plan before writing docs or task_record_wave.", ["task_get", "task_update", ...NOT_APPROVE_SIBLINGS], task);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/** Validate step transitions in task_update (fail closed). */
|
|
164
|
+
export function assertTaskStepUpdateAllowed(task, stepId, nextStatus) {
|
|
165
|
+
if (!nextStatus || nextStatus === "pending" || nextStatus === "in-progress" || nextStatus === "blocked") {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (nextStatus !== "done" && nextStatus !== "skipped")
|
|
169
|
+
return;
|
|
170
|
+
if (stepId === "plan" && nextStatus === "done" && !task.planApprovedAt) {
|
|
171
|
+
throw new TaskPreconditionError("step_premature", `Cannot mark plan step done on task "${task.id}" via task_update — use task_approve_plan after user yes.`, "Show plan table, wait for explicit yes, then call task_approve_plan (not task_update step patch).", ["task_approve_plan"], task, "plan");
|
|
172
|
+
}
|
|
173
|
+
if (task.kind !== "generate" || nextStatus !== "done")
|
|
174
|
+
return;
|
|
175
|
+
if (stepId === "check" && !task.snapshot.workspaceCheckAt) {
|
|
176
|
+
throw new TaskPreconditionError("snapshot_missing", `Cannot mark check done on task "${task.id}" until workspace_check ran.`, "Call workspace_check, set snapshot.workspaceCheckAt via task_update, then mark check done.", ["workspace_check", "task_update"], task, "check");
|
|
177
|
+
}
|
|
178
|
+
if (stepId === "clarify" && !task.snapshot.readinessReportShown) {
|
|
179
|
+
throw new TaskPreconditionError("snapshot_missing", `Cannot mark clarify done on task "${task.id}" until readiness report was shown.`, "Present readiness criteria table, set snapshot.readinessReportShown, then mark clarify done.", ["readiness_assess", "task_update"], task, "clarify");
|
|
180
|
+
}
|
|
181
|
+
if (stepId === "briefing") {
|
|
182
|
+
if (stepStatus(task, "clarify") !== "done") {
|
|
183
|
+
throw new TaskPreconditionError("step_incomplete", `Cannot mark briefing done on task "${task.id}" until clarify is done.`, "Finish clarify (readiness_assess + gaps) before briefing.", ["readiness_assess", "task_update"], task, "briefing");
|
|
184
|
+
}
|
|
185
|
+
if (!task.snapshot.briefingConfirmedAt) {
|
|
186
|
+
throw new TaskPreconditionError("snapshot_missing", `Cannot mark briefing done on task "${task.id}" until user confirmed briefing.`, "Present context briefing per file, get user confirmation, set snapshot.briefingConfirmedAt.", ["task_update"], task, "briefing");
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** When storing a generate plan, briefing gate must be complete. */
|
|
191
|
+
export function assertGeneratePlanStoreAllowed(task) {
|
|
192
|
+
if (task.kind !== "generate")
|
|
193
|
+
return;
|
|
194
|
+
if (stepStatus(task, "briefing") !== "done") {
|
|
195
|
+
throw new TaskPreconditionError("step_incomplete", `Cannot store generate plan on task "${task.id}" until briefing step is done.`, "Complete briefing confirmation before presenting the plan table.", ["task_update"], task, "plan");
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=task-gates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-gates.js","sourceRoot":"","sources":["../../../src/core/operations/task-gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,6 +78,10 @@ export interface TaskSnapshot {
|
|
|
78
78
|
graphMergedAt?: string;
|
|
79
79
|
/** Set when the full readiness criteria table was shown to the user (clarify gate). */
|
|
80
80
|
readinessReportShown?: boolean;
|
|
81
|
+
/** Set when user confirmed the per-file context briefing (briefing gate). */
|
|
82
|
+
briefingConfirmedAt?: string;
|
|
83
|
+
/** Set when the plan table was shown in chat and phaseStatus is awaiting_user. */
|
|
84
|
+
planPresentedAt?: string;
|
|
81
85
|
/** Set when extract stage offered spec_record to the user (extract gate before task_complete). */
|
|
82
86
|
extractOffered?: boolean;
|
|
83
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/core/operations/task.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../src/core/operations/task.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { activeSlotFor, defaultNextAction, getWorkflowTemplate, } from "./task-t
|
|
|
9
9
|
import { buildTaskWorkflowGuidance, buildTaskApprovePlanWorkflowGuidance, buildTaskListWorkflowGuidance, } from "../workflow/guidance.js";
|
|
10
10
|
import { recordWorkflowFromTask } from "../workflow/active-worker.js";
|
|
11
11
|
import { resolveAuditActor } from "../util/audit-actor.js";
|
|
12
|
+
import { assertGenerateExecutionAllowed, assertGeneratePlanStoreAllowed, assertTaskApprovePlanAllowed, assertTaskStepUpdateAllowed, } from "./task-gates.js";
|
|
12
13
|
/** Build a generate-task plan from briefing + plan table rows (+ optional wave assignments). */
|
|
13
14
|
export function buildGeneratePlan(opts) {
|
|
14
15
|
return {
|
|
@@ -332,8 +333,12 @@ export async function runTaskUpdate(opts) {
|
|
|
332
333
|
task.nextAction = patch.nextAction;
|
|
333
334
|
if (patch.goal !== undefined)
|
|
334
335
|
task.goal = patch.goal;
|
|
335
|
-
if (patch.plan !== undefined)
|
|
336
|
+
if (patch.plan !== undefined) {
|
|
337
|
+
if (patch.plan && task.kind === "generate") {
|
|
338
|
+
assertGeneratePlanStoreAllowed(task);
|
|
339
|
+
}
|
|
336
340
|
task.plan = patch.plan;
|
|
341
|
+
}
|
|
337
342
|
if (patch.blockers !== undefined)
|
|
338
343
|
task.blockers = patch.blockers;
|
|
339
344
|
if (patch.contextRefs) {
|
|
@@ -343,12 +348,7 @@ export async function runTaskUpdate(opts) {
|
|
|
343
348
|
task.snapshot = { ...task.snapshot, ...patch.snapshot };
|
|
344
349
|
}
|
|
345
350
|
if (patch.step) {
|
|
346
|
-
|
|
347
|
-
patch.step.patch.status === "done" &&
|
|
348
|
-
task.kind === "generate" &&
|
|
349
|
-
!task.snapshot.readinessReportShown) {
|
|
350
|
-
throw new Error('Cannot mark clarify "done" until readiness report was shown — set snapshot.readinessReportShown via task_update after presenting the full criteria table (ID, ISO, status).');
|
|
351
|
-
}
|
|
351
|
+
assertTaskStepUpdateAllowed(task, patch.step.id, patch.step.patch.status);
|
|
352
352
|
applyStepPatch(task, patch.step.id, patch.step.patch);
|
|
353
353
|
if (patch.step.patch.status === "done" && patch.step.patch.artifacts?.length) {
|
|
354
354
|
const hashes = { ...(task.snapshot.artifactHashes ?? {}) };
|
|
@@ -377,9 +377,7 @@ export async function runTaskApprovePlan(opts) {
|
|
|
377
377
|
if (opts.plan) {
|
|
378
378
|
task.plan = opts.plan;
|
|
379
379
|
}
|
|
380
|
-
|
|
381
|
-
throw new Error(`Task "${task.id}" has no plan to approve`);
|
|
382
|
-
}
|
|
380
|
+
assertTaskApprovePlanAllowed(task);
|
|
383
381
|
const now = new Date().toISOString();
|
|
384
382
|
task.planApprovedAt = now;
|
|
385
383
|
task.phaseStatus = "done";
|
|
@@ -605,6 +603,7 @@ export async function recordGenerateWaveProgress(opts) {
|
|
|
605
603
|
if (loaded.kind !== "generate") {
|
|
606
604
|
throw new Error(`Task "${loaded.id}" is kind "${loaded.kind}", not generate`);
|
|
607
605
|
}
|
|
606
|
+
assertGenerateExecutionAllowed(loaded);
|
|
608
607
|
const now = new Date().toISOString();
|
|
609
608
|
const wavePatch = {
|
|
610
609
|
step: {
|