@osolmaz/pi-workflows 0.13.0 → 0.13.1

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.
Files changed (45) hide show
  1. package/README.md +7 -5
  2. package/dist/builtins/autodoc.workflow.d.ts +191 -4
  3. package/dist/builtins/autodoc.workflow.js +156 -30
  4. package/dist/builtins/autodoc.workflow.js.map +1 -1
  5. package/dist/builtins/autoimplement-command-batches.d.ts +1 -0
  6. package/dist/builtins/autoimplement-command-batches.js +29 -31
  7. package/dist/builtins/autoimplement-command-batches.js.map +1 -1
  8. package/dist/builtins/autoimplement.workflow.d.ts +1255 -29
  9. package/dist/builtins/autoimplement.workflow.js +416 -153
  10. package/dist/builtins/autoimplement.workflow.js.map +1 -1
  11. package/dist/builtins/catalog.js +2 -2
  12. package/dist/builtins/catalog.js.map +1 -1
  13. package/dist/builtins/change-verification.workflow.d.ts +110 -0
  14. package/dist/builtins/change-verification.workflow.js +860 -0
  15. package/dist/builtins/change-verification.workflow.js.map +1 -0
  16. package/dist/builtins/monitor.workflow.js +4 -3
  17. package/dist/builtins/monitor.workflow.js.map +1 -1
  18. package/dist/builtins/plan-change.workflow.d.ts +359 -6
  19. package/dist/builtins/plan-change.workflow.js +26 -0
  20. package/dist/builtins/plan-change.workflow.js.map +1 -1
  21. package/dist/builtins/workspace-preparation.workflow.d.ts +75 -0
  22. package/dist/builtins/workspace-preparation.workflow.js +498 -0
  23. package/dist/builtins/workspace-preparation.workflow.js.map +1 -0
  24. package/dist/extension/executor.js +1 -4
  25. package/dist/extension/executor.js.map +1 -1
  26. package/dist/extension/index.js +0 -14
  27. package/dist/extension/index.js.map +1 -1
  28. package/docs/WORKFLOW_COMPOSITION.md +8 -0
  29. package/docs/plans/2026-08-23-assistant-agent-completion-plan.md +1 -1
  30. package/docs/plans/2026-08-24-change-scoped-verification-plan.md +419 -0
  31. package/docs/workflows.md +8 -13
  32. package/herdr-plugin.toml +1 -1
  33. package/package.json +1 -1
  34. package/skills/autodoc/SKILL.md +7 -0
  35. package/skills/autoimplement/SKILL.md +4 -0
  36. package/src/builtins/autodoc.workflow.ts +184 -33
  37. package/src/builtins/autoimplement-command-batches.ts +39 -33
  38. package/src/builtins/autoimplement.workflow.ts +483 -175
  39. package/src/builtins/catalog.ts +2 -2
  40. package/src/builtins/change-verification.workflow.ts +1143 -0
  41. package/src/builtins/monitor.workflow.ts +6 -3
  42. package/src/builtins/plan-change.workflow.ts +35 -0
  43. package/src/builtins/workspace-preparation.workflow.ts +668 -0
  44. package/src/extension/executor.ts +1 -4
  45. package/src/extension/index.ts +0 -14
package/README.md CHANGED
@@ -167,8 +167,9 @@ While a run is on screen, the footer status bar shows a compact
167
167
 
168
168
  `presentationPrompt` is optional. When present, pi-workflows uses it after the
169
169
  structured run ends to request one normal, human-readable assistant response.
170
- Workflows without it remain silent after their final structured output, which
171
- keeps shell-only and machine-consumed workflows model-free.
170
+ Without it, pi-workflows does not request a separate final response. If the
171
+ model writes text after submitting its last agent step, that text stays visible.
172
+ Shell-only and machine-consumed workflows remain model-free.
172
173
 
173
174
  Use `expectedOutput: assistantMessage()` when a normal assistant response must
174
175
  be a node inside the graph rather than a presentation after the run. Its exact
@@ -380,9 +381,10 @@ workflow examples. Copy any of them into `.pi/workflows/` to use them:
380
381
  a detailed implementation plan, using the ideal end state as guidance rather
381
382
  than an out-of-scope requirement. It also shows a short assistant response
382
383
  with the selected plan and each rejected option.
383
- - `autoimplement` finds a clear existing plan, documents it when needed,
384
- implements and verifies it, writes and runs the exact pi-reviewer command,
385
- tracks P0 through P2, handles PR comments and CI, and
384
+ - `autoimplement` finds a clear existing plan, prepares a safe branch or
385
+ worktree before mutation, documents it when needed, and verifies the current
386
+ change against eligible base-branch failures. It writes and runs the exact
387
+ pi-reviewer command, tracks P0 through P2, handles PR comments and CI, and
386
388
  finalizes the PR. P0 and P1 fixes require another review. P2-only work is
387
389
  verified without another reviewer round. A five-minute CI wait routes to
388
390
  additional useful local testing. New evidence can route through autoplan
@@ -1,7 +1,15 @@
1
+ import { type ChangeVerificationInput, type ChangeVerificationResult, type VerificationCheck } from "./change-verification.workflow.js";
2
+ import { parsePreparedWorkspace, type PreparedWorkspace, type WorkspaceMode, type WorkspacePreparationInput } from "./workspace-preparation.workflow.js";
1
3
  export type AutodocInput = {
2
4
  task: string;
3
5
  plan?: unknown;
4
6
  repository?: string;
7
+ baseBranch?: string;
8
+ scope?: string;
9
+ workspaceMode?: WorkspaceMode;
10
+ directDefaultBranchAuthorized?: boolean;
11
+ preparedWorkspace?: PreparedWorkspace;
12
+ verificationChecks?: VerificationCheck[];
5
13
  documents?: string[];
6
14
  evidence?: unknown;
7
15
  };
@@ -16,13 +24,18 @@ export type DocumentedPlan = {
16
24
  digests: Record<string, string>;
17
25
  evidence: unknown;
18
26
  };
19
- verification: unknown;
27
+ verification: ChangeVerificationResult | {
28
+ route: "ready";
29
+ reason: string;
30
+ };
31
+ workspace?: PreparedWorkspace;
20
32
  };
21
33
  export type AutodocBlocked = {
22
34
  status: "blocked";
23
35
  task: string;
24
36
  reason: string;
25
37
  evidence: unknown;
38
+ sourceNode?: string;
26
39
  };
27
40
  export declare const autodocWorkflow: import("../workflows/types.js").WorkflowDefinition<AutodocInput, {
28
41
  readonly ready: {
@@ -33,17 +46,191 @@ export declare const autodocWorkflow: import("../workflows/types.js").WorkflowDe
33
46
  readonly from: "blocked";
34
47
  readonly validate: (value: unknown) => AutodocBlocked;
35
48
  };
36
- }, import("../workflows/types.js").WorkflowIncludeMap> & {
49
+ }, {
50
+ readonly workspace: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<WorkspacePreparationInput, {
51
+ readonly ready: {
52
+ readonly from: "ready";
53
+ readonly validate: typeof parsePreparedWorkspace;
54
+ };
55
+ readonly blocked: {
56
+ readonly from: "blocked";
57
+ readonly validate: (value: unknown) => {
58
+ route: "ready" | "propose" | "blocked";
59
+ selectedMode?: import("./workspace-preparation.workflow.js").PreparedWorkspaceMode;
60
+ preparedWorkspace?: PreparedWorkspace;
61
+ repository: string;
62
+ baseBranch: string;
63
+ baseRevision?: string;
64
+ currentBranch?: string;
65
+ preExistingChangedPaths: string[];
66
+ reason: string;
67
+ evidence: string[];
68
+ };
69
+ };
70
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
71
+ nodes: {
72
+ readonly inspect: import("../workflows/types.js").FunctionActionNodeDefinition;
73
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
74
+ readonly apply: import("../workflows/types.js").FunctionActionNodeDefinition;
75
+ readonly ready: import("../workflows/types.js").ComputeNodeDefinition;
76
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
77
+ };
78
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
79
+ exits?: {
80
+ readonly ready: {
81
+ readonly from: "ready";
82
+ readonly validate: typeof parsePreparedWorkspace;
83
+ };
84
+ readonly blocked: {
85
+ readonly from: "blocked";
86
+ readonly validate: (value: unknown) => {
87
+ route: "ready" | "propose" | "blocked";
88
+ selectedMode?: import("./workspace-preparation.workflow.js").PreparedWorkspaceMode;
89
+ preparedWorkspace?: PreparedWorkspace;
90
+ repository: string;
91
+ baseBranch: string;
92
+ baseRevision?: string;
93
+ currentBranch?: string;
94
+ preExistingChangedPaths: string[];
95
+ reason: string;
96
+ evidence: string[];
97
+ };
98
+ };
99
+ };
100
+ }>;
101
+ readonly verification: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<ChangeVerificationInput, {
102
+ readonly ready: {
103
+ readonly from: "ready";
104
+ readonly validate: (value: unknown) => ChangeVerificationResult;
105
+ };
106
+ readonly blocked: {
107
+ readonly from: "blocked";
108
+ readonly validate: (value: unknown) => ChangeVerificationResult;
109
+ };
110
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
111
+ nodes: {
112
+ readonly selectChecks: import("../workflows/types.js").ComputeNodeDefinition;
113
+ readonly planChecks: import("../workflows/types.js").SubmittedAgentNodeDefinition;
114
+ readonly runCandidate: import("../workflows/types.js").FunctionActionNodeDefinition;
115
+ readonly runBase: import("../workflows/types.js").FunctionActionNodeDefinition;
116
+ readonly classify: import("../workflows/types.js").ComputeNodeDefinition;
117
+ readonly repairGuard: import("../workflows/types.js").ComputeNodeDefinition;
118
+ readonly mechanicalRepair: import("../workflows/types.js").FunctionActionNodeDefinition;
119
+ readonly semanticRepair: import("../workflows/types.js").SubmittedAgentNodeDefinition;
120
+ readonly judge: import("../workflows/types.js").SubmittedAgentNodeDefinition;
121
+ readonly ready: import("../workflows/types.js").ComputeNodeDefinition;
122
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
123
+ };
124
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
125
+ exits?: {
126
+ readonly ready: {
127
+ readonly from: "ready";
128
+ readonly validate: (value: unknown) => ChangeVerificationResult;
129
+ };
130
+ readonly blocked: {
131
+ readonly from: "blocked";
132
+ readonly validate: (value: unknown) => ChangeVerificationResult;
133
+ };
134
+ };
135
+ }>;
136
+ }> & {
37
137
  nodes: {
38
138
  readonly prepare: import("../workflows/types.js").ComputeNodeDefinition;
39
139
  readonly locatePlan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
140
+ readonly workspaceGuard: import("../workflows/types.js").ComputeNodeDefinition;
40
141
  readonly inspectDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
41
142
  readonly updateDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
42
- readonly verifyDocumentation: import("../workflows/types.js").SubmittedAgentNodeDefinition;
43
143
  readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
44
144
  readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
45
145
  };
46
- includes?: import("../workflows/types.js").WorkflowIncludeMap;
146
+ includes?: {
147
+ readonly workspace: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<WorkspacePreparationInput, {
148
+ readonly ready: {
149
+ readonly from: "ready";
150
+ readonly validate: typeof parsePreparedWorkspace;
151
+ };
152
+ readonly blocked: {
153
+ readonly from: "blocked";
154
+ readonly validate: (value: unknown) => {
155
+ route: "ready" | "propose" | "blocked";
156
+ selectedMode?: import("./workspace-preparation.workflow.js").PreparedWorkspaceMode;
157
+ preparedWorkspace?: PreparedWorkspace;
158
+ repository: string;
159
+ baseBranch: string;
160
+ baseRevision?: string;
161
+ currentBranch?: string;
162
+ preExistingChangedPaths: string[];
163
+ reason: string;
164
+ evidence: string[];
165
+ };
166
+ };
167
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
168
+ nodes: {
169
+ readonly inspect: import("../workflows/types.js").FunctionActionNodeDefinition;
170
+ readonly propose: import("../workflows/types.js").SubmittedAgentNodeDefinition;
171
+ readonly apply: import("../workflows/types.js").FunctionActionNodeDefinition;
172
+ readonly ready: import("../workflows/types.js").ComputeNodeDefinition;
173
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
174
+ };
175
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
176
+ exits?: {
177
+ readonly ready: {
178
+ readonly from: "ready";
179
+ readonly validate: typeof parsePreparedWorkspace;
180
+ };
181
+ readonly blocked: {
182
+ readonly from: "blocked";
183
+ readonly validate: (value: unknown) => {
184
+ route: "ready" | "propose" | "blocked";
185
+ selectedMode?: import("./workspace-preparation.workflow.js").PreparedWorkspaceMode;
186
+ preparedWorkspace?: PreparedWorkspace;
187
+ repository: string;
188
+ baseBranch: string;
189
+ baseRevision?: string;
190
+ currentBranch?: string;
191
+ preExistingChangedPaths: string[];
192
+ reason: string;
193
+ evidence: string[];
194
+ };
195
+ };
196
+ };
197
+ }>;
198
+ readonly verification: import("../workflows/types.js").WorkflowIncludeDefinition<import("../workflows/types.js").WorkflowDefinition<ChangeVerificationInput, {
199
+ readonly ready: {
200
+ readonly from: "ready";
201
+ readonly validate: (value: unknown) => ChangeVerificationResult;
202
+ };
203
+ readonly blocked: {
204
+ readonly from: "blocked";
205
+ readonly validate: (value: unknown) => ChangeVerificationResult;
206
+ };
207
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
208
+ nodes: {
209
+ readonly selectChecks: import("../workflows/types.js").ComputeNodeDefinition;
210
+ readonly planChecks: import("../workflows/types.js").SubmittedAgentNodeDefinition;
211
+ readonly runCandidate: import("../workflows/types.js").FunctionActionNodeDefinition;
212
+ readonly runBase: import("../workflows/types.js").FunctionActionNodeDefinition;
213
+ readonly classify: import("../workflows/types.js").ComputeNodeDefinition;
214
+ readonly repairGuard: import("../workflows/types.js").ComputeNodeDefinition;
215
+ readonly mechanicalRepair: import("../workflows/types.js").FunctionActionNodeDefinition;
216
+ readonly semanticRepair: import("../workflows/types.js").SubmittedAgentNodeDefinition;
217
+ readonly judge: import("../workflows/types.js").SubmittedAgentNodeDefinition;
218
+ readonly ready: import("../workflows/types.js").ComputeNodeDefinition;
219
+ readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
220
+ };
221
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
222
+ exits?: {
223
+ readonly ready: {
224
+ readonly from: "ready";
225
+ readonly validate: (value: unknown) => ChangeVerificationResult;
226
+ };
227
+ readonly blocked: {
228
+ readonly from: "blocked";
229
+ readonly validate: (value: unknown) => ChangeVerificationResult;
230
+ };
231
+ };
232
+ }>;
233
+ };
47
234
  exits?: {
48
235
  readonly ready: {
49
236
  readonly from: "finalize";
@@ -1,5 +1,8 @@
1
- import { agent, compute, defineWorkflow } from "../workflows/definition.js";
1
+ import path from "node:path";
2
+ import { agent, compute, defineWorkflow, includeWorkflow, includedResult, } from "../workflows/definition.js";
2
3
  import { digest } from "../workflows/human-decision.js";
4
+ import changeVerificationWorkflow, {} from "./change-verification.workflow.js";
5
+ import workspacePreparationWorkflow, { parsePreparedWorkspace, } from "./workspace-preparation.workflow.js";
3
6
  function requireRecord(value, label) {
4
7
  if (value === null || typeof value !== "object" || Array.isArray(value)) {
5
8
  throw new Error(`${label} must be an object`);
@@ -12,6 +15,12 @@ function requireString(value, label) {
12
15
  }
13
16
  return value.trim();
14
17
  }
18
+ function requireAbsolutePath(value, label) {
19
+ const result = requireString(value, label);
20
+ if (!path.isAbsolute(result))
21
+ throw new Error(`${label} must be absolute`);
22
+ return path.resolve(result);
23
+ }
15
24
  function stringArray(value, label) {
16
25
  if (!Array.isArray(value) || value.some((item) => typeof item !== "string")) {
17
26
  throw new Error(`${label} must be an array of strings`);
@@ -27,15 +36,38 @@ function stringRecord(value, label) {
27
36
  }
28
37
  return record;
29
38
  }
39
+ function parseWorkspaceMode(value) {
40
+ if (value === undefined)
41
+ return undefined;
42
+ if (value !== "auto" && value !== "branch" && value !== "worktree" && value !== "defaultBranch") {
43
+ throw new Error("autodoc workspaceMode must be auto, branch, worktree, or defaultBranch");
44
+ }
45
+ return value;
46
+ }
30
47
  function parseInput(value) {
31
48
  const input = requireRecord(value, "autodoc input");
32
49
  const documents = input.documents;
50
+ const workspaceMode = parseWorkspaceMode(input.workspaceMode);
33
51
  return {
34
52
  task: requireString(input.task, "autodoc task"),
35
53
  ...(input.plan !== undefined ? { plan: input.plan } : {}),
36
54
  ...(input.repository !== undefined
37
- ? { repository: requireString(input.repository, "autodoc repository") }
55
+ ? { repository: requireAbsolutePath(input.repository, "autodoc repository") }
38
56
  : {}),
57
+ ...(input.baseBranch !== undefined
58
+ ? { baseBranch: requireString(input.baseBranch, "autodoc baseBranch") }
59
+ : {}),
60
+ ...(input.scope !== undefined ? { scope: requireString(input.scope, "autodoc scope") } : {}),
61
+ ...(workspaceMode === undefined ? {} : { workspaceMode }),
62
+ ...(input.directDefaultBranchAuthorized === undefined
63
+ ? {}
64
+ : { directDefaultBranchAuthorized: input.directDefaultBranchAuthorized === true }),
65
+ ...(input.preparedWorkspace === undefined
66
+ ? {}
67
+ : { preparedWorkspace: parsePreparedWorkspace(input.preparedWorkspace) }),
68
+ ...(input.verificationChecks === undefined
69
+ ? {}
70
+ : { verificationChecks: input.verificationChecks }),
39
71
  ...(documents !== undefined ? { documents: stringArray(documents, "autodoc documents") } : {}),
40
72
  ...(input.evidence !== undefined ? { evidence: input.evidence } : {}),
41
73
  };
@@ -80,10 +112,62 @@ function currentPlan(context) {
80
112
  return located.plan;
81
113
  throw new Error("autodoc does not have a selected plan");
82
114
  }
115
+ function mutationRepository(request) {
116
+ if (request.repository !== undefined)
117
+ return request.repository;
118
+ if (request.preparedWorkspace !== undefined)
119
+ return request.preparedWorkspace.repository;
120
+ throw new Error("autodoc mutation requires an explicit repository");
121
+ }
122
+ function preparedWorkspace(context) {
123
+ const request = context.input;
124
+ if (request.preparedWorkspace !== undefined)
125
+ return request.preparedWorkspace;
126
+ const result = includedResult(workspacePreparationWorkflow, context.outputs.workspace);
127
+ if (result.exit !== "ready")
128
+ throw new Error("autodoc workspace is not ready");
129
+ return result.output;
130
+ }
131
+ function verificationResult(context) {
132
+ const result = includedResult(changeVerificationWorkflow, context.outputs.verification);
133
+ return result.output;
134
+ }
83
135
  function blockedReason(context) {
84
136
  const request = context.input;
85
137
  const assessment = context.outputs.inspectDocumentation;
86
138
  const located = context.outputs.locatePlan;
139
+ if (context.outputs.verification !== undefined) {
140
+ const result = includedResult(changeVerificationWorkflow, context.outputs.verification);
141
+ return {
142
+ status: "blocked",
143
+ task: request.task,
144
+ reason: result.output.reason,
145
+ evidence: result.output,
146
+ sourceNode: result.output.qualifiedNode,
147
+ };
148
+ }
149
+ const guard = context.outputs.workspaceGuard;
150
+ if (guard?.route === "blocked") {
151
+ return {
152
+ status: "blocked",
153
+ task: request.task,
154
+ reason: guard.reason,
155
+ evidence: guard.evidence,
156
+ sourceNode: "autodoc/workspaceGuard",
157
+ };
158
+ }
159
+ if (context.outputs.workspace !== undefined) {
160
+ const result = includedResult(workspacePreparationWorkflow, context.outputs.workspace);
161
+ if (result.exit === "blocked") {
162
+ return {
163
+ status: "blocked",
164
+ task: request.task,
165
+ reason: result.output.reason,
166
+ evidence: result.output,
167
+ sourceNode: "autodoc/workspace",
168
+ };
169
+ }
170
+ }
87
171
  return {
88
172
  status: "blocked",
89
173
  task: request.task,
@@ -93,6 +177,7 @@ function blockedReason(context) {
93
177
  ? located.reason
94
178
  : "Autodoc could not identify a clear selected plan or canonical document target.",
95
179
  evidence: assessment?.evidence ?? located?.evidence ?? null,
180
+ sourceNode: assessment?.route === "blocked" ? "autodoc/inspectDocumentation" : "autodoc/locatePlan",
96
181
  };
97
182
  }
98
183
  export const autodocWorkflow = defineWorkflow({
@@ -102,7 +187,42 @@ export const autodocWorkflow = defineWorkflow({
102
187
  input: parseInput,
103
188
  title: ({ input }) => `autodoc: ${input.task.slice(0, 60)}`,
104
189
  startAt: "prepare",
105
- maxSteps: 24,
190
+ maxSteps: 80,
191
+ includes: {
192
+ workspace: includeWorkflow(workspacePreparationWorkflow, {
193
+ input: (context) => {
194
+ const request = context.input;
195
+ return {
196
+ repository: mutationRepository(request),
197
+ ...(request.baseBranch === undefined ? {} : { baseBranch: request.baseBranch }),
198
+ ...(request.scope === undefined ? {} : { scope: request.scope }),
199
+ ...(request.workspaceMode === undefined ? {} : { workspaceMode: request.workspaceMode }),
200
+ ...(request.directDefaultBranchAuthorized === undefined
201
+ ? {}
202
+ : { directDefaultBranchAuthorized: request.directDefaultBranchAuthorized }),
203
+ ...(request.preparedWorkspace === undefined
204
+ ? {}
205
+ : { preparedWorkspace: request.preparedWorkspace }),
206
+ };
207
+ },
208
+ }),
209
+ verification: includeWorkflow(changeVerificationWorkflow, {
210
+ input: (context) => {
211
+ const request = context.input;
212
+ const update = requireRecord(context.outputs.updateDocumentation, "documentation update");
213
+ return {
214
+ originatingWorkflow: "autodoc",
215
+ qualifiedNode: "autodoc/verification",
216
+ workspace: preparedWorkspace(context),
217
+ ...(request.verificationChecks === undefined
218
+ ? {}
219
+ : { checks: request.verificationChecks }),
220
+ changedFiles: stringArray(update.files, "updated documentation files"),
221
+ plan: currentPlan(context),
222
+ };
223
+ },
224
+ }),
225
+ },
106
226
  exits: {
107
227
  ready: {
108
228
  from: "finalize",
@@ -130,13 +250,25 @@ export const autodocWorkflow = defineWorkflow({
130
250
  "Return blocked when no single clear selected plan exists.",
131
251
  `Task: ${request.task}`,
132
252
  `Repository: ${request.repository ?? "current repository"}`,
133
- `Referenced documents: ${JSON.stringify(request.documents ?? [])}`,
134
- `Evidence: ${JSON.stringify(request.evidence ?? null)}`,
253
+ `Preferred documents: ${JSON.stringify(request.documents ?? [])}`,
135
254
  ].join("\n");
136
255
  },
137
256
  expectedOutput: '{ "route": "found" | "blocked", "plan": {} (required when found), "sources": ["source"], "reason": "reason", "evidence": "evidence" }',
138
257
  validate: parseLocatedPlan,
139
258
  }),
259
+ workspaceGuard: compute({
260
+ run: ({ input }) => {
261
+ const request = input;
262
+ if (request.repository !== undefined || request.preparedWorkspace !== undefined) {
263
+ return { route: "ready", repository: mutationRepository(request) };
264
+ }
265
+ return {
266
+ route: "blocked",
267
+ reason: "Updating canonical documentation requires an explicit repository path.",
268
+ evidence: ["repository was not supplied", "preparedWorkspace was not supplied"],
269
+ };
270
+ },
271
+ }),
140
272
  inspectDocumentation: agent({
141
273
  statusDetail: "checking canonical documentation",
142
274
  prompt: (context) => {
@@ -165,6 +297,7 @@ export const autodocWorkflow = defineWorkflow({
165
297
  "Update the canonical specification and implementation plan to preserve the selected plan exactly.",
166
298
  "Use the repository documentation rules and keep the text plain and complete.",
167
299
  "Do not redesign the solution and do not implement code.",
300
+ `Prepared workspace: ${JSON.stringify(preparedWorkspace(context))}`,
168
301
  `Task: ${request.task}`,
169
302
  `Selected plan: ${JSON.stringify(currentPlan(context))}`,
170
303
  `Canonical files: ${JSON.stringify(assessment.files)}`,
@@ -182,24 +315,6 @@ export const autodocWorkflow = defineWorkflow({
182
315
  return result;
183
316
  },
184
317
  }),
185
- verifyDocumentation: agent({
186
- timeoutMs: 20 * 60_000,
187
- statusDetail: "verifying documentation",
188
- prompt: ({ outputs }) => [
189
- "Verify the changed canonical documentation.",
190
- "Run the repository documentation, formatting, link, and privacy checks that apply.",
191
- "Do not implement code.",
192
- `Documentation update: ${JSON.stringify(outputs.updateDocumentation)}`,
193
- ].join("\n"),
194
- expectedOutput: '{ "passed": true | false, "commands": [{ "command": "exact command", "outcome": "result" }], "failures": ["failure"] }',
195
- validate: (value) => {
196
- const result = requireRecord(value, "documentation verification");
197
- if (typeof result.passed !== "boolean") {
198
- throw new Error("documentation verification passed must be boolean");
199
- }
200
- return result;
201
- },
202
- }),
203
318
  finalize: compute({
204
319
  run: (context) => {
205
320
  const request = context.input;
@@ -218,7 +333,13 @@ export const autodocWorkflow = defineWorkflow({
218
333
  digests: assessment.digests,
219
334
  evidence: assessment.evidence,
220
335
  },
221
- verification: { passed: true, reason: "Canonical documentation was already current." },
336
+ verification: {
337
+ route: "ready",
338
+ reason: "Canonical documentation was already current.",
339
+ },
340
+ ...(request.preparedWorkspace === undefined
341
+ ? {}
342
+ : { workspace: request.preparedWorkspace }),
222
343
  };
223
344
  }
224
345
  const updateRecord = requireRecord(updated, "documentation update");
@@ -231,9 +352,10 @@ export const autodocWorkflow = defineWorkflow({
231
352
  state: "updated",
232
353
  files: stringArray(updateRecord.files, "updated documentation files"),
233
354
  digests: stringRecord(updateRecord.digests, "updated documentation digests"),
234
- evidence: context.outputs.verifyDocumentation,
355
+ evidence: verificationResult(context),
235
356
  },
236
- verification: context.outputs.verifyDocumentation,
357
+ verification: verificationResult(context),
358
+ workspace: preparedWorkspace(context),
237
359
  };
238
360
  },
239
361
  }),
@@ -252,14 +374,18 @@ export const autodocWorkflow = defineWorkflow({
252
374
  from: "inspectDocumentation",
253
375
  switch: {
254
376
  on: "$.route",
255
- cases: { current: "finalize", update: "updateDocumentation", blocked: "blocked" },
377
+ cases: { current: "finalize", update: "workspaceGuard", blocked: "blocked" },
256
378
  },
257
379
  },
258
- { from: "updateDocumentation", to: "verifyDocumentation" },
259
380
  {
260
- from: "verifyDocumentation",
261
- switch: { on: "$.passed", cases: { true: "finalize", false: "blocked" } },
381
+ from: "workspaceGuard",
382
+ switch: { on: "$.route", cases: { ready: "workspace", blocked: "blocked" } },
262
383
  },
384
+ { from: "workspace.ready", to: "updateDocumentation" },
385
+ { from: "workspace.blocked", to: "blocked" },
386
+ { from: "updateDocumentation", to: "verification" },
387
+ { from: "verification.ready", to: "finalize" },
388
+ { from: "verification.blocked", to: "blocked" },
263
389
  ],
264
390
  });
265
391
  export default autodocWorkflow;
@@ -1 +1 @@
1
- {"version":3,"file":"autodoc.workflow.js","sourceRoot":"","sources":["../../src/builtins/autodoc.workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autodoc.workflow.js","sourceRoot":"","sources":["../../src/builtins/autodoc.workflow.ts"],"names":[],"mappings":"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"}
@@ -50,3 +50,4 @@ export declare function parseVerificationCommandPlan(value: unknown): Verificati
50
50
  export declare function parseCiInspectionBatch(value: unknown): CiInspectionBatch;
51
51
  export declare function parseCiCommand(value: unknown, id: string, repository: string, pr: string): CommandBatchItem;
52
52
  export declare function repositoryId(repository: string): string;
53
+ export declare function validateVerificationCommandSafety(command: string, args: readonly string[], label: string): void;