@osolmaz/pi-workflows 0.9.1 → 0.11.0

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 (147) hide show
  1. package/README.md +64 -19
  2. package/dist/builtins/autodoc.workflow.d.ts +58 -0
  3. package/dist/builtins/autodoc.workflow.js +266 -0
  4. package/dist/builtins/autodoc.workflow.js.map +1 -0
  5. package/dist/builtins/autoimplement.workflow.d.ts +353 -0
  6. package/dist/builtins/autoimplement.workflow.js +961 -0
  7. package/dist/builtins/autoimplement.workflow.js.map +1 -0
  8. package/dist/builtins/autoplan.workflow.d.ts +58 -0
  9. package/dist/builtins/autoplan.workflow.js +190 -0
  10. package/dist/builtins/autoplan.workflow.js.map +1 -0
  11. package/dist/builtins/catalog.js +9 -1
  12. package/dist/builtins/catalog.js.map +1 -1
  13. package/dist/builtins/index.d.ts +6 -0
  14. package/dist/builtins/index.js +7 -0
  15. package/dist/builtins/index.js.map +1 -0
  16. package/dist/builtins/monitor.workflow.d.ts +29 -3
  17. package/dist/builtins/monitor.workflow.js +325 -13
  18. package/dist/builtins/monitor.workflow.js.map +1 -1
  19. package/dist/builtins/plan-approval.workflow.d.ts +83 -0
  20. package/dist/builtins/plan-approval.workflow.js +148 -0
  21. package/dist/builtins/plan-approval.workflow.js.map +1 -0
  22. package/dist/builtins/plan-presentation.d.ts +7 -0
  23. package/dist/builtins/plan-presentation.js +44 -0
  24. package/dist/builtins/plan-presentation.js.map +1 -0
  25. package/dist/extension/decision-channels.d.ts +132 -0
  26. package/dist/extension/decision-channels.js +1082 -0
  27. package/dist/extension/decision-channels.js.map +1 -0
  28. package/dist/extension/index.d.ts +1 -0
  29. package/dist/extension/index.js +426 -11
  30. package/dist/extension/index.js.map +1 -1
  31. package/dist/extension/widget.js +26 -2
  32. package/dist/extension/widget.js.map +1 -1
  33. package/dist/extension/workflow-tool.d.ts +1 -37
  34. package/dist/extension/workflow-tool.js +1 -42
  35. package/dist/extension/workflow-tool.js.map +1 -1
  36. package/dist/host/rpc-bridge.js +4 -21
  37. package/dist/host/rpc-bridge.js.map +1 -1
  38. package/dist/render/graph-render.js +46 -10
  39. package/dist/render/graph-render.js.map +1 -1
  40. package/dist/viewer/render.js +36 -2
  41. package/dist/viewer/render.js.map +1 -1
  42. package/dist/workflows/catalog.d.ts +1 -0
  43. package/dist/workflows/catalog.js +6 -0
  44. package/dist/workflows/catalog.js.map +1 -1
  45. package/dist/workflows/composition.d.ts +45 -0
  46. package/dist/workflows/composition.js +485 -0
  47. package/dist/workflows/composition.js.map +1 -0
  48. package/dist/workflows/decision-presentation.d.ts +18 -0
  49. package/dist/workflows/decision-presentation.js +417 -0
  50. package/dist/workflows/decision-presentation.js.map +1 -0
  51. package/dist/workflows/decision.d.ts +11 -5
  52. package/dist/workflows/decision.js.map +1 -1
  53. package/dist/workflows/definition.d.ts +22 -3
  54. package/dist/workflows/definition.js +46 -3
  55. package/dist/workflows/definition.js.map +1 -1
  56. package/dist/workflows/engine.d.ts +2 -1
  57. package/dist/workflows/engine.js +199 -18
  58. package/dist/workflows/engine.js.map +1 -1
  59. package/dist/workflows/graph.js +8 -6
  60. package/dist/workflows/graph.js.map +1 -1
  61. package/dist/workflows/human-decision.d.ts +87 -0
  62. package/dist/workflows/human-decision.js +583 -0
  63. package/dist/workflows/human-decision.js.map +1 -0
  64. package/dist/workflows/index.d.ts +5 -2
  65. package/dist/workflows/index.js +4 -1
  66. package/dist/workflows/index.js.map +1 -1
  67. package/dist/workflows/loader.d.ts +5 -4
  68. package/dist/workflows/loader.js +118 -18
  69. package/dist/workflows/loader.js.map +1 -1
  70. package/dist/workflows/schema.d.ts +3 -1
  71. package/dist/workflows/schema.js +64 -2
  72. package/dist/workflows/schema.js.map +1 -1
  73. package/dist/workflows/store.js +39 -2
  74. package/dist/workflows/store.js.map +1 -1
  75. package/dist/workflows/tool-input.d.ts +72 -0
  76. package/dist/workflows/tool-input.js +141 -0
  77. package/dist/workflows/tool-input.js.map +1 -0
  78. package/dist/workflows/types.d.ts +300 -2
  79. package/docs/CONTROLLERS.md +1 -1
  80. package/docs/DESIGN_PHILOSOPHY.md +1 -1
  81. package/docs/HUMAN_DECISIONS.md +371 -0
  82. package/docs/HUMAN_DECISION_PRESENTATIONS.md +323 -0
  83. package/docs/MONITOR.md +46 -18
  84. package/docs/WORKFLOW_COMPOSITION.md +333 -0
  85. package/docs/plans/2026-08-19-human-decision-gates-plan.md +296 -0
  86. package/docs/plans/2026-08-19-human-decision-presentations-plan.md +172 -0
  87. package/docs/plans/2026-08-19-provider-compatible-workflow-tool-schema-plan.md +45 -0
  88. package/docs/plans/2026-08-19-workflow-composition-plan.md +308 -0
  89. package/docs/run-bundles.md +45 -10
  90. package/docs/workflows.md +106 -15
  91. package/examples/workflows/approved-plan.workflow.ts +58 -0
  92. package/examples/workflows/autoimplement.workflow.ts +1 -92
  93. package/examples/workflows/autoplan.workflow.ts +1 -0
  94. package/examples/workflows/human-decision.workflow.ts +62 -0
  95. package/herdr-plugin.toml +1 -1
  96. package/package.json +6 -1
  97. package/schemas/decision-presentation-v1.schema.json +83 -0
  98. package/schemas/human-decision-accepted-v1.schema.json +44 -0
  99. package/schemas/human-decision-accepted-v2.schema.json +50 -0
  100. package/schemas/human-decision-answer-attempt-v1.schema.json +37 -0
  101. package/schemas/human-decision-cancellation-v1.schema.json +15 -0
  102. package/schemas/human-decision-continuation-v1.schema.json +16 -0
  103. package/schemas/human-decision-delivery-v1.schema.json +28 -0
  104. package/schemas/human-decision-delivery-v2.schema.json +36 -0
  105. package/schemas/human-decision-receipt-v1.schema.json +33 -0
  106. package/schemas/human-decision-receipt-v2.schema.json +39 -0
  107. package/schemas/human-decision-request-v1.schema.json +59 -0
  108. package/schemas/human-decision-request-v2.schema.json +69 -0
  109. package/schemas/human-decision-resolution-v1.schema.json +27 -0
  110. package/schemas/human-decision-resolution-v2.schema.json +27 -0
  111. package/schemas/human-decision-settlement-v1.schema.json +28 -0
  112. package/skills/autodoc/SKILL.md +43 -0
  113. package/skills/autoimplement/SKILL.md +58 -0
  114. package/skills/autoimplement/agents/openai.yaml +4 -0
  115. package/skills/autoplan/SKILL.md +25 -0
  116. package/skills/monitor/SKILL.md +8 -1
  117. package/skills/pi-workflows/SKILL.md +5 -3
  118. package/src/builtins/autodoc.workflow.ts +325 -0
  119. package/src/builtins/autoimplement.workflow.ts +1123 -0
  120. package/src/builtins/autoplan.workflow.ts +231 -0
  121. package/src/builtins/catalog.ts +9 -1
  122. package/src/builtins/index.ts +32 -0
  123. package/src/builtins/monitor.workflow.ts +396 -15
  124. package/src/builtins/plan-approval.workflow.ts +190 -0
  125. package/src/builtins/plan-presentation.ts +57 -0
  126. package/src/extension/decision-channels.ts +1533 -0
  127. package/src/extension/index.ts +499 -9
  128. package/src/extension/widget.ts +39 -2
  129. package/src/extension/workflow-tool.ts +5 -81
  130. package/src/host/rpc-bridge.ts +7 -30
  131. package/src/render/graph-render.ts +54 -5
  132. package/src/viewer/render.ts +56 -3
  133. package/src/workflows/catalog.ts +7 -0
  134. package/src/workflows/composition.ts +642 -0
  135. package/src/workflows/decision-presentation.ts +501 -0
  136. package/src/workflows/decision.ts +12 -5
  137. package/src/workflows/definition.ts +118 -8
  138. package/src/workflows/engine.ts +257 -20
  139. package/src/workflows/graph.ts +8 -6
  140. package/src/workflows/human-decision.ts +819 -0
  141. package/src/workflows/index.ts +89 -0
  142. package/src/workflows/loader.ts +186 -18
  143. package/src/workflows/schema.ts +79 -2
  144. package/src/workflows/store.ts +45 -2
  145. package/src/workflows/tool-input.ts +202 -0
  146. package/src/workflows/types.ts +374 -2
  147. package/examples/workflows/elegant-solution.workflow.ts +0 -95
@@ -1,6 +1,10 @@
1
- import { action, agent, compute, defineWorkflow, notify, shell } from "../workflows/definition.js";
1
+ import { action, agent, compute, defineWorkflow, includeWorkflow, includedResult, notify, shell, } from "../workflows/definition.js";
2
2
  import { estimateProgress, formatProgressReport, } from "../workflows/progress.js";
3
3
  import { validateProgressData } from "../workflows/updates.js";
4
+ import autodocWorkflow, {} from "./autodoc.workflow.js";
5
+ import autoimplementWorkflow, {} from "./autoimplement.workflow.js";
6
+ import autoplanWorkflow from "./autoplan.workflow.js";
7
+ import planApprovalWorkflow, {} from "./plan-approval.workflow.js";
4
8
  const MIN_INTERVAL_MINUTES = 1;
5
9
  const MAX_INTERVAL_MINUTES = 24 * 60;
6
10
  const DEFAULT_INTERVAL_MINUTES = 30;
@@ -49,7 +53,14 @@ async function waitForUpdateSlot(signal) {
49
53
  }
50
54
  export function prepareMonitorInput(input) {
51
55
  const value = requireRecord(input, "monitor input");
52
- const allowed = new Set(["task", "everyMinutes", "stopWhen", "maxChecks", "checkTimeoutMinutes"]);
56
+ const allowed = new Set([
57
+ "task",
58
+ "everyMinutes",
59
+ "stopWhen",
60
+ "maxChecks",
61
+ "checkTimeoutMinutes",
62
+ "repair",
63
+ ]);
53
64
  for (const field of Object.keys(value)) {
54
65
  if (!allowed.has(field))
55
66
  throw new Error(`monitor input field ${field} is not supported`);
@@ -71,6 +82,48 @@ export function prepareMonitorInput(input) {
71
82
  checkTimeoutMinutes > MAX_CHECK_TIMEOUT_MINUTES) {
72
83
  throw new Error(`checkTimeoutMinutes must be an integer from ${MIN_CHECK_TIMEOUT_MINUTES} through ${MAX_CHECK_TIMEOUT_MINUTES}`);
73
84
  }
85
+ let repair;
86
+ if (value.repair !== undefined) {
87
+ const raw = requireRecord(value.repair, "repair policy");
88
+ if (raw.authorized !== true)
89
+ throw new Error("repair policy must set authorized to true");
90
+ if (raw.constraints !== undefined &&
91
+ (!Array.isArray(raw.constraints) || raw.constraints.some((item) => typeof item !== "string"))) {
92
+ throw new Error("repair constraints must be an array of strings");
93
+ }
94
+ if (raw.merge !== undefined && typeof raw.merge !== "boolean") {
95
+ throw new Error("repair merge must be a boolean");
96
+ }
97
+ let approval;
98
+ if (raw.approval !== undefined) {
99
+ const value = requireRecord(raw.approval, "repair approval");
100
+ const maxReplans = value.maxReplans ?? 3;
101
+ if (!Number.isInteger(maxReplans) ||
102
+ maxReplans < 1 ||
103
+ maxReplans > 20) {
104
+ throw new Error("repair approval maxReplans must be from 1 through 20");
105
+ }
106
+ approval = {
107
+ audience: requireBoundedString(value.audience, "repair approval audience", 200),
108
+ maxReplans: maxReplans,
109
+ };
110
+ }
111
+ repair = {
112
+ authorized: true,
113
+ ...(raw.scope !== undefined
114
+ ? { scope: requireBoundedString(raw.scope, "repair scope", 4_000) }
115
+ : {}),
116
+ ...(raw.constraints !== undefined ? { constraints: [...raw.constraints] } : {}),
117
+ ...(raw.repository !== undefined
118
+ ? { repository: requireBoundedString(raw.repository, "repair repository", 4_000) }
119
+ : {}),
120
+ ...(raw.baseBranch !== undefined
121
+ ? { baseBranch: requireBoundedString(raw.baseBranch, "repair base branch", 256) }
122
+ : {}),
123
+ ...(raw.merge !== undefined ? { merge: raw.merge !== false } : {}),
124
+ ...(approval !== undefined ? { approval } : {}),
125
+ };
126
+ }
74
127
  return {
75
128
  task,
76
129
  everyMinutes,
@@ -79,6 +132,7 @@ export function prepareMonitorInput(input) {
79
132
  : requireBoundedString(value.stopWhen, "stopWhen", 4_000),
80
133
  maxChecks,
81
134
  checkTimeoutMinutes,
135
+ ...(repair !== undefined ? { repair } : {}),
82
136
  };
83
137
  }
84
138
  function configFrom(outputs) {
@@ -88,14 +142,18 @@ function completedChecks(context) {
88
142
  return context.state.steps.filter((step) => step.nodeId === "check" && step.outcome === "ok")
89
143
  .length;
90
144
  }
91
- export function validateMonitorCheck(output) {
145
+ export function validateMonitorCheck(output, repairAuthorized = false) {
92
146
  const value = requireRecord(output, "monitor check output");
93
- const allowed = new Set(["route", "observation", "report", "progress", "reason"]);
147
+ const allowed = new Set(["route", "observation", "report", "progress", "repair", "reason"]);
94
148
  for (const key of Object.keys(value))
95
149
  if (!allowed.has(key))
96
150
  throw new Error(`monitor check field ${key} is not supported`);
97
- if (value.route !== "continue" && value.route !== "stop")
98
- throw new Error("route must be continue or stop");
151
+ if (value.route !== "continue" && value.route !== "repair" && value.route !== "stop") {
152
+ throw new Error("route must be continue, repair, or stop");
153
+ }
154
+ if (value.route === "repair" && !repairAuthorized) {
155
+ throw new Error("route repair requires explicit monitor repair authorization");
156
+ }
99
157
  const check = {
100
158
  route: value.route,
101
159
  observation: requireBoundedString(value.observation, "observation", MAX_OBSERVATION_CHARS),
@@ -104,6 +162,17 @@ export function validateMonitorCheck(output) {
104
162
  };
105
163
  if (value.progress !== undefined)
106
164
  check.progress = validateMonitorProgress(value.progress);
165
+ if (value.repair !== undefined) {
166
+ const repair = requireRecord(value.repair, "monitor repair request");
167
+ check.repair = {
168
+ problem: requireBoundedString(repair.problem, "repair problem", 8_000),
169
+ evidence: repair.evidence ?? null,
170
+ issueFingerprint: requireBoundedString(repair.issueFingerprint, "repair issue fingerprint", 256),
171
+ };
172
+ }
173
+ if (value.route === "repair" && check.repair === undefined) {
174
+ throw new Error("route repair requires repair details");
175
+ }
107
176
  return check;
108
177
  }
109
178
  function validateMonitorProgress(input) {
@@ -149,6 +218,66 @@ function estimateTracks(outputs) {
149
218
  }),
150
219
  };
151
220
  }
221
+ function repeatedRepairWithoutProgress(context) {
222
+ const current = context.outputs.check;
223
+ const fingerprint = current.repair?.issueFingerprint;
224
+ if (fingerprint === undefined)
225
+ return false;
226
+ const steps = context.state.steps;
227
+ const currentCheckIndex = steps.findLastIndex((step) => step.nodeId === "check");
228
+ for (let index = currentCheckIndex - 1; index >= 0; index -= 1) {
229
+ const step = steps[index];
230
+ if (step?.nodeId !== "check")
231
+ continue;
232
+ const prior = step.output;
233
+ if (prior.repair?.issueFingerprint !== fingerprint)
234
+ continue;
235
+ return steps
236
+ .slice(index + 1, currentCheckIndex)
237
+ .some((candidate) => candidate.nodeId === "implementation");
238
+ }
239
+ return false;
240
+ }
241
+ function currentRepairPlan(outputs) {
242
+ const documentation = outputs.documentation;
243
+ if (documentation?.exit === "ready" &&
244
+ documentation.output?.plan !== undefined &&
245
+ typeof documentation.output.planDigest === "string") {
246
+ return {
247
+ plan: documentation.output.plan,
248
+ planDigest: documentation.output.planDigest,
249
+ documents: documentation.output.documentation?.files ?? [],
250
+ };
251
+ }
252
+ const design = includedResult(autoplanWorkflow, outputs.initialDesign);
253
+ if (design.exit !== "ready")
254
+ throw new Error("monitor design did not return a ready plan");
255
+ return { plan: design.output.plan, planDigest: design.output.planDigest, documents: [] };
256
+ }
257
+ function latestReplanInstructions(outputs) {
258
+ const approval = outputs.approval;
259
+ return approval?.exit === "replan" && typeof approval.output?.instructions === "string"
260
+ ? approval.output.instructions
261
+ : undefined;
262
+ }
263
+ function repairBlockedReason(outputs) {
264
+ const guard = outputs.repairGuard;
265
+ if (guard?.route === "blocked" && guard.reason !== undefined)
266
+ return guard.reason;
267
+ const replan = outputs.replanGuard;
268
+ if (replan?.route === "blocked" && replan.reason !== undefined)
269
+ return replan.reason;
270
+ const approval = outputs.approval;
271
+ if (approval?.exit === "stop")
272
+ return "The operator stopped the proposed repair.";
273
+ const documentation = outputs.documentation;
274
+ const implementation = outputs.implementation;
275
+ const design = outputs.initialDesign;
276
+ return (implementation?.output?.reason ??
277
+ documentation?.output?.reason ??
278
+ design?.output?.reason ??
279
+ "The repair did not produce new verified progress.");
280
+ }
152
281
  function reportMessage(context) {
153
282
  const check = context.outputs.check;
154
283
  const estimate = context.outputs.estimate;
@@ -170,7 +299,10 @@ function reportMessage(context) {
170
299
  return `${report}\n${suffixText}`;
171
300
  }
172
301
  const monitorWorkflow = defineWorkflow({
302
+ source: import.meta.url,
303
+ contractId: "pi-workflows.monitor.v1",
173
304
  name: "monitor",
305
+ input: prepareMonitorInput,
174
306
  title: ({ input }) => {
175
307
  try {
176
308
  return `monitor: ${prepareMonitorInput(input).task.slice(0, 80)}`;
@@ -180,7 +312,104 @@ const monitorWorkflow = defineWorkflow({
180
312
  }
181
313
  },
182
314
  startAt: "prepare",
183
- maxSteps: 9_010,
315
+ maxSteps: 200_000,
316
+ includes: {
317
+ initialDesign: includeWorkflow({
318
+ workflow: "autoplan",
319
+ contract: autoplanWorkflow,
320
+ input: ({ outputs }) => {
321
+ const config = configFrom(outputs);
322
+ const repair = outputs.check.repair;
323
+ if (repair === undefined)
324
+ throw new Error("monitor repair details are missing");
325
+ const prior = outputs.initialDesign;
326
+ const instructions = latestReplanInstructions(outputs);
327
+ return {
328
+ problem: repair.problem,
329
+ ...(config.repair?.scope !== undefined ? { scope: config.repair.scope } : {}),
330
+ ...(config.repair?.constraints !== undefined
331
+ ? { constraints: config.repair.constraints }
332
+ : {}),
333
+ ...(prior?.exit === "ready" && prior.output?.plan !== undefined
334
+ ? { previousPlan: prior.output.plan }
335
+ : {}),
336
+ newEvidence: instructions === undefined
337
+ ? repair.evidence
338
+ : { observedEvidence: repair.evidence, operatorInstructions: instructions },
339
+ };
340
+ },
341
+ }),
342
+ documentation: includeWorkflow(autodocWorkflow, {
343
+ input: ({ outputs }) => {
344
+ const config = configFrom(outputs);
345
+ const repair = outputs.check.repair;
346
+ const design = includedResult(autoplanWorkflow, outputs.initialDesign);
347
+ if (design.exit !== "ready")
348
+ throw new Error("monitor design did not return a ready plan");
349
+ if (repair === undefined)
350
+ throw new Error("monitor repair details are missing");
351
+ return {
352
+ task: repair.problem,
353
+ plan: design.output.plan,
354
+ ...(config.repair?.repository !== undefined
355
+ ? { repository: config.repair.repository }
356
+ : {}),
357
+ evidence: latestReplanInstructions(outputs) ?? repair.evidence,
358
+ };
359
+ },
360
+ }),
361
+ approval: includeWorkflow(planApprovalWorkflow, {
362
+ input: ({ outputs, state }) => {
363
+ const config = configFrom(outputs);
364
+ const repair = outputs.check.repair;
365
+ const approval = config.repair?.approval;
366
+ if (repair === undefined || approval === undefined) {
367
+ throw new Error("monitor approval was entered without an approval policy");
368
+ }
369
+ const current = currentRepairPlan(outputs);
370
+ const revision = state.steps.filter((step) => step.nodeId === "approval/approve").length + 1;
371
+ return {
372
+ task: repair.problem,
373
+ plan: current.plan,
374
+ planDigest: current.planDigest,
375
+ audience: approval.audience,
376
+ revision,
377
+ };
378
+ },
379
+ }),
380
+ implementation: includeWorkflow({
381
+ workflow: "autoimplement",
382
+ contract: autoimplementWorkflow,
383
+ input: ({ outputs }) => {
384
+ const config = configFrom(outputs);
385
+ const repair = outputs.check.repair;
386
+ const documented = currentRepairPlan(outputs);
387
+ if (repair === undefined)
388
+ throw new Error("monitor repair details are missing");
389
+ const request = {
390
+ task: repair.problem,
391
+ plan: documented.plan,
392
+ documentation: {
393
+ status: "current",
394
+ planDigest: documented.planDigest,
395
+ documents: documented.documents,
396
+ },
397
+ ...(config.repair?.scope !== undefined ? { scope: config.repair.scope } : {}),
398
+ ...(config.repair?.constraints !== undefined
399
+ ? { constraints: config.repair.constraints }
400
+ : {}),
401
+ ...(config.repair?.repository !== undefined
402
+ ? { repository: config.repair.repository }
403
+ : {}),
404
+ ...(config.repair?.baseBranch !== undefined
405
+ ? { baseBranch: config.repair.baseBranch }
406
+ : {}),
407
+ merge: config.repair?.merge === true,
408
+ };
409
+ return request;
410
+ },
411
+ }),
412
+ },
184
413
  nodes: {
185
414
  prepare: compute({ run: ({ input }) => prepareMonitorInput(input) }),
186
415
  check: agent({
@@ -200,14 +429,19 @@ const monitorWorkflow = defineWorkflow({
200
429
  priorEstimate?.tracks.length
201
430
  ? `Previous progress: ${formatProgressReport(priorEstimate.tracks.map((track) => track.estimate))}`
202
431
  : "There is no previous measured progress.",
203
- "Use available tools to inspect the current source of truth. Observe only unless the task explicitly authorizes a mutation.",
432
+ config.repair === undefined
433
+ ? "Observe only. This monitor has no mutation authorization."
434
+ : "Repair is explicitly authorized within the supplied repair policy. Choose repair only for a concrete issue that can be changed within that scope. Include a stable issue fingerprint based on the issue and observed target state. Do not change protected model, benchmark, credential, hardware, spending, or scope decisions.",
435
+ "Use available tools to inspect the current source of truth.",
204
436
  "You are the regular Pi model running this check and the observation adapter. When useful measurable facts appear during the check, publish them with workflow action update. Include the latest tracks in the final submission. Do not require the monitored target to implement a Pi-specific progress API, file, store, schema, or command.",
205
437
  "Every accepted check must include a concise user-facing report. Add progress tracks only when the target provides measurable facts. Submit observed counts and target-provided finish times; do not invent rates or an ETA.",
206
- "Choose route continue or stop.",
438
+ config.repair === undefined
439
+ ? "Choose route continue or stop."
440
+ : "Choose route continue, repair, or stop.",
207
441
  ].join("\n\n");
208
442
  },
209
- expectedOutput: '{ "route": "continue" | "stop", "observation": "current factual state", "report": "concise status update", "progress": { "tracks": [{ "key": "stable-key", "data": { "schema": "pi-workflows.progress.v1", "status": "running", "completed": 1, "total": 2, "unit": "items" } }] } (optional), "reason": "short reason" }',
210
- validate: (output) => validateMonitorCheck(output),
443
+ expectedOutput: '{ "route": "continue" | "repair" | "stop", "observation": "current factual state", "report": "concise status update", "progress": { "tracks": [{ "key": "stable-key", "data": { "schema": "pi-workflows.progress.v1", "status": "running", "completed": 1, "total": 2, "unit": "items" } }] } (optional), "repair": { "problem": "fixable issue", "evidence": "observed evidence", "issueFingerprint": "stable issue and target-state fingerprint" } (required for repair), "reason": "short reason" }',
444
+ validate: (output, context) => validateMonitorCheck(output, configFrom(context.outputs).repair !== undefined),
211
445
  }),
212
446
  estimate: compute({ run: ({ outputs }) => estimateTracks(outputs) }),
213
447
  publish_progress: action({
@@ -242,9 +476,52 @@ const monitorWorkflow = defineWorkflow({
242
476
  checks,
243
477
  };
244
478
  }
479
+ if (check.route === "repair")
480
+ return { route: "repair", reason: check.reason, checks };
245
481
  return { route: "continue", reason: check.reason, checks };
246
482
  },
247
483
  }),
484
+ repairGuard: compute({
485
+ run: (context) => repeatedRepairWithoutProgress(context)
486
+ ? {
487
+ route: "blocked",
488
+ reason: "The same issue returned after a completed repair with no changed target evidence.",
489
+ }
490
+ : { route: "repair", reason: "The issue is new or has changed evidence." },
491
+ }),
492
+ approvalRoute: compute({
493
+ run: ({ outputs }) => ({
494
+ route: configFrom(outputs).repair?.approval === undefined ? "implement" : "approve",
495
+ }),
496
+ }),
497
+ replanGuard: compute({
498
+ run: (context) => {
499
+ const limit = configFrom(context.outputs).repair?.approval?.maxReplans ?? 3;
500
+ const replans = context.state.steps.filter((step) => step.nodeId === "approval/replan").length;
501
+ return replans > limit
502
+ ? {
503
+ route: "blocked",
504
+ reason: `Monitor repair reached the ${limit}-replan safety limit.`,
505
+ }
506
+ : { route: "design", replans, limit };
507
+ },
508
+ }),
509
+ repairBlocked: compute({
510
+ run: (context) => ({
511
+ reason: repairBlockedReason(context.outputs),
512
+ observation: context.outputs.check.observation,
513
+ checks: completedChecks(context),
514
+ reported: true,
515
+ }),
516
+ }),
517
+ repairReport: notify({
518
+ statusDetail: "reporting blocked monitor repair",
519
+ kind: "final",
520
+ message: ({ outputs }) => {
521
+ const result = outputs.repairBlocked;
522
+ return `Automatic repair stopped: ${result.reason}`;
523
+ },
524
+ }),
248
525
  schedule: action({
249
526
  statusDetail: "scheduling next monitor check",
250
527
  run: async ({ outputs, publishUpdate }) => {
@@ -282,11 +559,17 @@ const monitorWorkflow = defineWorkflow({
282
559
  run: ({ outputs }) => {
283
560
  const check = outputs.check;
284
561
  const decision = outputs.decide;
562
+ const repair = outputs.repairBlocked;
285
563
  return {
286
- reason: decision?.reason ?? check.reason,
564
+ reason: repair?.reason ?? decision?.reason ?? check.reason,
287
565
  observation: check.observation,
288
566
  checks: decision?.checks ?? 1,
289
567
  reported: true,
568
+ ...(outputs.implementation !== undefined
569
+ ? { repair: outputs.implementation }
570
+ : repair !== undefined
571
+ ? { repair }
572
+ : {}),
290
573
  };
291
574
  },
292
575
  }),
@@ -297,7 +580,36 @@ const monitorWorkflow = defineWorkflow({
297
580
  { from: "estimate", to: "publish_progress" },
298
581
  { from: "publish_progress", to: "report" },
299
582
  { from: "report", to: "decide" },
300
- { from: "decide", switch: { on: "$.route", cases: { stop: "finish", continue: "schedule" } } },
583
+ {
584
+ from: "decide",
585
+ switch: {
586
+ on: "$.route",
587
+ cases: { stop: "finish", continue: "schedule", repair: "repairGuard" },
588
+ },
589
+ },
590
+ {
591
+ from: "repairGuard",
592
+ switch: { on: "$.route", cases: { repair: "initialDesign", blocked: "repairBlocked" } },
593
+ },
594
+ { from: "initialDesign.ready", to: "documentation" },
595
+ { from: "initialDesign.blocked", to: "repairBlocked" },
596
+ { from: "documentation.ready", to: "approvalRoute" },
597
+ { from: "documentation.blocked", to: "repairBlocked" },
598
+ {
599
+ from: "approvalRoute",
600
+ switch: { on: "$.route", cases: { approve: "approval", implement: "implementation" } },
601
+ },
602
+ { from: "approval.continue", to: "implementation" },
603
+ { from: "approval.stop", to: "repairBlocked" },
604
+ { from: "approval.replan", to: "replanGuard" },
605
+ {
606
+ from: "replanGuard",
607
+ switch: { on: "$.route", cases: { design: "initialDesign", blocked: "repairBlocked" } },
608
+ },
609
+ { from: "implementation.completed", to: "check" },
610
+ { from: "implementation.blocked", to: "repairBlocked" },
611
+ { from: "repairBlocked", to: "repairReport" },
612
+ { from: "repairReport", to: "finish" },
301
613
  { from: "schedule", to: "sleep" },
302
614
  { from: "sleep", to: "check" },
303
615
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.workflow.js","sourceRoot":"","sources":["../../src/builtins/monitor.workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.workflow.js","sourceRoot":"","sources":["../../src/builtins/monitor.workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import type { HumanDecisionReceipt } from "../workflows/types.js";
2
+ export type PlanApprovalInput = {
3
+ task: string;
4
+ plan: unknown;
5
+ planDigest: string;
6
+ audience: string;
7
+ revision?: number;
8
+ };
9
+ export type PlanApprovalContinue = {
10
+ status: "continue";
11
+ plan: unknown;
12
+ planDigest: string;
13
+ decision: HumanDecisionReceipt;
14
+ };
15
+ export type PlanApprovalStop = {
16
+ status: "stop";
17
+ planDigest: string;
18
+ decision: HumanDecisionReceipt;
19
+ };
20
+ export type PlanApprovalReplan = {
21
+ status: "replan";
22
+ plan: unknown;
23
+ planDigest: string;
24
+ instructions: string;
25
+ decision: HumanDecisionReceipt;
26
+ };
27
+ export declare const planApprovalWorkflow: import("../workflows/types.js").WorkflowDefinition<PlanApprovalInput, {
28
+ readonly continue: {
29
+ readonly from: "continued";
30
+ readonly validate: (value: unknown) => PlanApprovalContinue;
31
+ };
32
+ readonly stop: {
33
+ readonly from: "stopped";
34
+ readonly validate: (value: unknown) => PlanApprovalStop;
35
+ };
36
+ readonly replan: {
37
+ readonly from: "replan";
38
+ readonly validate: (value: unknown) => PlanApprovalReplan;
39
+ };
40
+ }, import("../workflows/types.js").WorkflowIncludeMap> & {
41
+ nodes: {
42
+ readonly approve: import("../workflows/types.js").WorkflowNodeCommon & {
43
+ nodeType: "checkpoint";
44
+ summary?: string;
45
+ run?: (context: import("../workflows/types.js").WorkflowNodeContext) => import("../workflows/types.js").MaybePromise<unknown>;
46
+ humanDecision?: import("../workflows/types.js").HumanDecisionNodeContract;
47
+ } & {
48
+ readonly __humanChoices?: {
49
+ readonly continue: {
50
+ readonly label: "Yes, continue";
51
+ };
52
+ readonly stop: {
53
+ readonly label: "No, stop";
54
+ };
55
+ readonly replan: {
56
+ readonly label: "Replan";
57
+ readonly input: import("../workflows/types.js").HumanDecisionTextInput & {
58
+ name: "instructions";
59
+ };
60
+ };
61
+ };
62
+ };
63
+ readonly continued: import("../workflows/types.js").ComputeNodeDefinition;
64
+ readonly stopped: import("../workflows/types.js").ComputeNodeDefinition;
65
+ readonly replan: import("../workflows/types.js").ComputeNodeDefinition;
66
+ };
67
+ includes?: import("../workflows/types.js").WorkflowIncludeMap;
68
+ exits?: {
69
+ readonly continue: {
70
+ readonly from: "continued";
71
+ readonly validate: (value: unknown) => PlanApprovalContinue;
72
+ };
73
+ readonly stop: {
74
+ readonly from: "stopped";
75
+ readonly validate: (value: unknown) => PlanApprovalStop;
76
+ };
77
+ readonly replan: {
78
+ readonly from: "replan";
79
+ readonly validate: (value: unknown) => PlanApprovalReplan;
80
+ };
81
+ };
82
+ };
83
+ export default planApprovalWorkflow;