@osolmaz/pi-workflows 0.13.3 → 0.13.4
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/builtins/autoimplement.workflow.d.ts +12 -12
- package/dist/builtins/autoplan.workflow.d.ts +3 -3
- package/dist/builtins/autoplan.workflow.js +44 -35
- package/dist/builtins/autoplan.workflow.js.map +1 -1
- package/dist/builtins/catalog.js +1 -1
- package/dist/builtins/plan-change.workflow.d.ts +6 -6
- package/docs/WORKFLOW_COMPOSITION.md +1 -1
- package/herdr-plugin.toml +1 -1
- package/package.json +1 -1
- package/skills/autoplan/SKILL.md +6 -6
- package/src/builtins/autoplan.workflow.ts +45 -37
- package/src/builtins/catalog.ts +1 -1
|
@@ -443,9 +443,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
|
|
|
443
443
|
nodes: {
|
|
444
444
|
readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
445
445
|
readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
446
|
-
readonly
|
|
447
|
-
readonly
|
|
448
|
-
readonly
|
|
446
|
+
readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
447
|
+
readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
448
|
+
readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
449
449
|
readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
450
450
|
readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
|
|
451
451
|
readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
|
|
@@ -820,9 +820,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
|
|
|
820
820
|
nodes: {
|
|
821
821
|
readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
822
822
|
readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
823
|
-
readonly
|
|
824
|
-
readonly
|
|
825
|
-
readonly
|
|
823
|
+
readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
824
|
+
readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
825
|
+
readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
826
826
|
readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
827
827
|
readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
|
|
828
828
|
readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
|
|
@@ -1548,9 +1548,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
|
|
|
1548
1548
|
nodes: {
|
|
1549
1549
|
readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1550
1550
|
readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1551
|
-
readonly
|
|
1552
|
-
readonly
|
|
1553
|
-
readonly
|
|
1551
|
+
readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1552
|
+
readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1553
|
+
readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1554
1554
|
readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1555
1555
|
readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
|
|
1556
1556
|
readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
|
|
@@ -1925,9 +1925,9 @@ export declare const autoimplementWorkflow: import("../workflows/types.js").Work
|
|
|
1925
1925
|
nodes: {
|
|
1926
1926
|
readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1927
1927
|
readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1928
|
-
readonly
|
|
1929
|
-
readonly
|
|
1930
|
-
readonly
|
|
1928
|
+
readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1929
|
+
readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1930
|
+
readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1931
1931
|
readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
1932
1932
|
readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
|
|
1933
1933
|
readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
|
|
@@ -118,9 +118,9 @@ export declare const autoplanWorkflow: import("../workflows/types.js").WorkflowD
|
|
|
118
118
|
nodes: {
|
|
119
119
|
readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
120
120
|
readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
121
|
-
readonly
|
|
122
|
-
readonly
|
|
123
|
-
readonly
|
|
121
|
+
readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
122
|
+
readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
123
|
+
readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
124
124
|
readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
125
125
|
readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
|
|
126
126
|
readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
|
|
@@ -19,7 +19,11 @@ function originalUserInstructions(outputs) {
|
|
|
19
19
|
return parseIntent(outputs.captureIntent).originalUserInstructions;
|
|
20
20
|
}
|
|
21
21
|
function originalInstructionsPrompt(outputs) {
|
|
22
|
-
return [
|
|
22
|
+
return [
|
|
23
|
+
"Continue in this Pi session. Do not delegate this workflow step or start another session.",
|
|
24
|
+
"Original user instructions (authoritative):",
|
|
25
|
+
originalUserInstructions(outputs),
|
|
26
|
+
].join("\n");
|
|
23
27
|
}
|
|
24
28
|
function requireString(value, label) {
|
|
25
29
|
if (typeof value !== "string" || value.trim().length === 0) {
|
|
@@ -169,16 +173,16 @@ function plainSummaryResult(value, label) {
|
|
|
169
173
|
}
|
|
170
174
|
function candidateSummary(proposal, ideal, id) {
|
|
171
175
|
if (id === "ideal")
|
|
172
|
-
return { id, title: "
|
|
176
|
+
return { id, title: "Holy grail", gist: ideal.ideal };
|
|
173
177
|
const candidate = proposal.candidates.find((item) => item.id === id);
|
|
174
178
|
if (candidate === undefined)
|
|
175
179
|
throw new Error(`autoplan candidate ${JSON.stringify(id)} is missing`);
|
|
176
180
|
return { id, title: candidate.title, gist: candidate.gist };
|
|
177
181
|
}
|
|
178
182
|
function summaryInput(outputs, blocked, input) {
|
|
179
|
-
const proposal = outputs.
|
|
180
|
-
const selection = outputs.
|
|
181
|
-
const ideal = outputs.
|
|
183
|
+
const proposal = outputs.solutions;
|
|
184
|
+
const selection = outputs.select;
|
|
185
|
+
const ideal = outputs.holyGrail;
|
|
182
186
|
const selected = candidateSummary(proposal, ideal, selection.selectedId);
|
|
183
187
|
return {
|
|
184
188
|
source: {
|
|
@@ -242,6 +246,7 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
242
246
|
captureIntent: agent({
|
|
243
247
|
statusDetail: "capturing the user's instructions",
|
|
244
248
|
prompt: () => [
|
|
249
|
+
"Continue in this Pi session. Do not delegate this workflow step or start another session.",
|
|
245
250
|
"Read the conversation that came before this workflow step.",
|
|
246
251
|
"Return one text string named originalUserInstructions.",
|
|
247
252
|
"Include everything that the user has instructed for the intended purpose in the given context.",
|
|
@@ -272,11 +277,12 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
272
277
|
expectedOutput: `{ "problem": "concise statement", "success": ["criterion"], "inScope": ["change"], "outOfScope": ["change"], "constraints": ["constraint"], "controlBoundary": "what can change" }`,
|
|
273
278
|
validate: (value) => requireRecord(value, "autoplan frame"),
|
|
274
279
|
}),
|
|
275
|
-
|
|
276
|
-
statusDetail: "devising
|
|
280
|
+
solutions: agent({
|
|
281
|
+
statusDetail: "devising long-term solutions",
|
|
277
282
|
prompt: ({ outputs, input }) => [
|
|
278
283
|
originalInstructionsPrompt(outputs),
|
|
279
284
|
"Give two to four practical options that fit the allowed scope.",
|
|
285
|
+
"For each option, ask: Is this a Long term elegant and production ready solution?",
|
|
280
286
|
"For each option return a stable lowercase id and a short title. Add a plain gist and full solution, explain the reason and trade-offs, and list the parts.",
|
|
281
287
|
"Favor a few reusable parts with clear owners and use interfaces that already exist.",
|
|
282
288
|
"Reject one-off machinery and infrastructure that the task does not need.",
|
|
@@ -288,40 +294,43 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
288
294
|
expectedOutput: `{ "candidates": [{ "id": "stable-id", "title": "short title", "gist": "plain gist", "solution": "full proposal", "rationale": "why", "parts": ["part"], "tradeoffs": ["trade-off"] }], "previousPlan": { "status": "candidate", "candidateId": "id" } | { "status": "rejected", "reason": "reason" } }`,
|
|
289
295
|
validate: (value, { input }) => parseProposal(value, input.previousPlan !== undefined),
|
|
290
296
|
}),
|
|
291
|
-
|
|
292
|
-
statusDetail: "describing the
|
|
297
|
+
holyGrail: agent({
|
|
298
|
+
statusDetail: "describing the Holy grail",
|
|
293
299
|
prompt: ({ outputs, input }) => [
|
|
294
300
|
originalInstructionsPrompt(outputs),
|
|
295
|
-
"Describe the
|
|
296
|
-
"
|
|
301
|
+
"Describe the Holy grail separately from the practical options.",
|
|
302
|
+
"Ask: Is this the Holy grail for the problem?",
|
|
303
|
+
"The Holy grail may match one option or go beyond the current scope.",
|
|
304
|
+
"Explain what makes it more Long term elegant and production ready than the practical options.",
|
|
297
305
|
"List each dependency we do not control. Do not assume that it can change.",
|
|
298
|
-
"State what
|
|
306
|
+
"State what the Holy grail would improve beyond the practical options.",
|
|
299
307
|
`Problem frame: ${JSON.stringify(outputs.frame)}`,
|
|
300
|
-
`Candidates: ${JSON.stringify(outputs.
|
|
308
|
+
`Candidates: ${JSON.stringify(outputs.solutions)}`,
|
|
301
309
|
`New evidence: ${JSON.stringify(input.newEvidence ?? null)}`,
|
|
302
310
|
].join("\n"),
|
|
303
|
-
expectedOutput: `{ "ideal": "
|
|
311
|
+
expectedOutput: `{ "ideal": "Holy grail end state", "outsideDependencies": ["dependency"], "additionalValue": ["benefit"] }`,
|
|
304
312
|
validate: parseIdeal,
|
|
305
313
|
}),
|
|
306
|
-
|
|
307
|
-
statusDetail: "
|
|
314
|
+
select: agent({
|
|
315
|
+
statusDetail: "selecting the solution",
|
|
308
316
|
prompt: ({ outputs }) => [
|
|
309
317
|
originalInstructionsPrompt(outputs),
|
|
310
318
|
"Select one option. Do not ask the user to choose.",
|
|
311
|
-
"Select the
|
|
312
|
-
"
|
|
319
|
+
"Select the most Long term elegant and production ready option that is proportionate, in scope, and implementable through interfaces we control.",
|
|
320
|
+
"Select the Holy grail when it meets those conditions and its value justifies the added complexity.",
|
|
321
|
+
"Otherwise select the strongest practical option we can build now with a clear path toward the Holy grail.",
|
|
313
322
|
"Work outside our control does not by itself make the plan blocked.",
|
|
314
323
|
"Do not require changes to an upstream project or an unrelated repository. Do not require a new service or resource without approval.",
|
|
315
324
|
"When two options solve the problem equally well, choose the simpler one.",
|
|
316
|
-
"Give one specific rejection reason for every option you do not select, including the
|
|
325
|
+
"Give one specific rejection reason for every option you do not select, including the Holy grail.",
|
|
317
326
|
"Return blocked only if no option inside the allowed scope can meet the success criteria.",
|
|
318
327
|
`Frame: ${JSON.stringify(outputs.frame)}`,
|
|
319
|
-
`Candidates: ${JSON.stringify(outputs.
|
|
320
|
-
`
|
|
321
|
-
`
|
|
328
|
+
`Candidates: ${JSON.stringify(outputs.solutions)}`,
|
|
329
|
+
`Holy grail candidate id: ideal`,
|
|
330
|
+
`Holy grail: ${JSON.stringify(outputs.holyGrail)}`,
|
|
322
331
|
].join("\n"),
|
|
323
332
|
expectedOutput: `{ "status": "ready" | "blocked", "selectedId": "candidate-id-or-ideal", "why": "reason", "relationshipToIdeal": "relationship", "rejected": [{ "id": "other-id", "reason": "why it lost" }], "compromises": ["compromise"], "blocker": "required only when blocked" }`,
|
|
324
|
-
validate: (value, { outputs }) => parseSelection(value, outputs.
|
|
333
|
+
validate: (value, { outputs }) => parseSelection(value, outputs.solutions),
|
|
325
334
|
}),
|
|
326
335
|
plan: agent({
|
|
327
336
|
timeoutMs: 30 * 60_000,
|
|
@@ -335,8 +344,8 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
335
344
|
"Correct the earlier plan when the new evidence proves it wrong.",
|
|
336
345
|
"Do not change files.",
|
|
337
346
|
`Frame: ${JSON.stringify(outputs.frame)}`,
|
|
338
|
-
`Selection: ${JSON.stringify(outputs.
|
|
339
|
-
`Candidates: ${JSON.stringify(outputs.
|
|
347
|
+
`Selection: ${JSON.stringify(outputs.select)}`,
|
|
348
|
+
`Candidates: ${JSON.stringify(outputs.solutions)}`,
|
|
340
349
|
`Previous plan: ${JSON.stringify(input.previousPlan ?? null)}`,
|
|
341
350
|
`New evidence: ${JSON.stringify(input.newEvidence ?? null)}`,
|
|
342
351
|
].join("\n"),
|
|
@@ -345,13 +354,13 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
345
354
|
}),
|
|
346
355
|
blocked: compute({
|
|
347
356
|
run: ({ outputs }) => {
|
|
348
|
-
const selection = outputs.
|
|
357
|
+
const selection = outputs.select;
|
|
349
358
|
return {
|
|
350
359
|
status: "blocked",
|
|
351
360
|
originalUserInstructions: originalUserInstructions(outputs),
|
|
352
361
|
frame: outputs.frame,
|
|
353
|
-
proposal: outputs.
|
|
354
|
-
ideal: outputs.
|
|
362
|
+
proposal: outputs.solutions,
|
|
363
|
+
ideal: outputs.holyGrail,
|
|
355
364
|
selection,
|
|
356
365
|
plainSummary: plainSummaryResult(outputs.blockedSummary, "autoplan blocked summary"),
|
|
357
366
|
reason: requireString(selection.blocker, "autoplan blocker"),
|
|
@@ -367,9 +376,9 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
367
376
|
status: "ready",
|
|
368
377
|
originalUserInstructions: originalUserInstructions(outputs),
|
|
369
378
|
frame: outputs.frame,
|
|
370
|
-
proposal: outputs.
|
|
371
|
-
ideal: outputs.
|
|
372
|
-
selection: outputs.
|
|
379
|
+
proposal: outputs.solutions,
|
|
380
|
+
ideal: outputs.holyGrail,
|
|
381
|
+
selection: outputs.select,
|
|
373
382
|
plan: outputs.plan,
|
|
374
383
|
plainSummary: plainSummaryResult(outputs.readySummary, "autoplan ready summary"),
|
|
375
384
|
planDigest,
|
|
@@ -381,11 +390,11 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
381
390
|
},
|
|
382
391
|
edges: [
|
|
383
392
|
{ from: "captureIntent", to: "frame" },
|
|
384
|
-
{ from: "frame", to: "
|
|
385
|
-
{ from: "
|
|
386
|
-
{ from: "
|
|
393
|
+
{ from: "frame", to: "solutions" },
|
|
394
|
+
{ from: "solutions", to: "holyGrail" },
|
|
395
|
+
{ from: "holyGrail", to: "select" },
|
|
387
396
|
{
|
|
388
|
-
from: "
|
|
397
|
+
from: "select",
|
|
389
398
|
switch: { on: "$.status", cases: { ready: "plan", blocked: "blockedSummary" } },
|
|
390
399
|
},
|
|
391
400
|
{ from: "plan", to: "readySummary" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoplan.workflow.js","sourceRoot":"","sources":["../../src/builtins/autoplan.workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"autoplan.workflow.js","sourceRoot":"","sources":["../../src/builtins/autoplan.workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/builtins/catalog.js
CHANGED
|
@@ -8,7 +8,7 @@ import planApprovalWorkflow from "./plan-approval.workflow.js";
|
|
|
8
8
|
import sanityCheckWorkflow from "./sanity-check.workflow.js";
|
|
9
9
|
export const builtinWorkflowCatalog = new BuiltinWorkflowCatalog([
|
|
10
10
|
{ id: "plain-summary", revision: "3", definition: plainSummaryWorkflow },
|
|
11
|
-
{ id: "autoplan", revision: "
|
|
11
|
+
{ id: "autoplan", revision: "6", definition: autoplanWorkflow },
|
|
12
12
|
{ id: "autodoc", revision: "2", definition: autodocWorkflow },
|
|
13
13
|
{ id: "autoimplement", revision: "11", definition: autoimplementWorkflow },
|
|
14
14
|
{ id: "plan-approval", revision: "4", definition: planApprovalWorkflow },
|
|
@@ -94,9 +94,9 @@ export declare const planChangeWorkflow: import("../workflows/types.js").Workflo
|
|
|
94
94
|
nodes: {
|
|
95
95
|
readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
96
96
|
readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
97
|
-
readonly
|
|
98
|
-
readonly
|
|
99
|
-
readonly
|
|
97
|
+
readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
98
|
+
readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
99
|
+
readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
100
100
|
readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
101
101
|
readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
|
|
102
102
|
readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
|
|
@@ -471,9 +471,9 @@ export declare const planChangeWorkflow: import("../workflows/types.js").Workflo
|
|
|
471
471
|
nodes: {
|
|
472
472
|
readonly captureIntent: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
473
473
|
readonly frame: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
474
|
-
readonly
|
|
475
|
-
readonly
|
|
476
|
-
readonly
|
|
474
|
+
readonly solutions: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
475
|
+
readonly holyGrail: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
476
|
+
readonly select: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
477
477
|
readonly plan: import("../workflows/types.js").SubmittedAgentNodeDefinition;
|
|
478
478
|
readonly blocked: import("../workflows/types.js").ComputeNodeDefinition;
|
|
479
479
|
readonly finalize: import("../workflows/types.js").ComputeNodeDefinition;
|
|
@@ -282,7 +282,7 @@ monitor
|
|
|
282
282
|
|
|
283
283
|
## Autoplan, autodoc, and autoimplement
|
|
284
284
|
|
|
285
|
-
`autoplan` accepts the problem, scope, constraints, an optional previous plan, and new evidence.
|
|
285
|
+
`autoplan` accepts the problem, scope, constraints, an optional previous plan, and new evidence. Its `solutions` step records two through four practical candidates and asks whether each is a Long term elegant and production ready solution. Its `holyGrail` step describes the Holy grail separately. Its `select` step chooses the best in-scope option and records one rejection reason for every other explicit candidate, including the Holy grail. It includes `plain-summary` on ready and blocked routes, so the user sees one short normal assistant response before the parent continues. The response calls the choice a plan selected for approval and cannot satisfy the later human decision. Autoplan exits through `ready` or `blocked` and returns the full candidates, selection, detailed plan when ready, plain summary, plan digest, and change status.
|
|
286
286
|
|
|
287
287
|
`autodoc` accepts an already selected plan or finds it in the active conversation and referenced canonical documents. It adopts current documentation or updates the canonical specification and implementation plan, runs documentation checks, and returns a documented-plan record. It never selects a solution or implements one.
|
|
288
288
|
|
package/herdr-plugin.toml
CHANGED
package/package.json
CHANGED
package/skills/autoplan/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: autoplan
|
|
3
|
-
description: Use when the user asks to devise, choose, or plan the most
|
|
3
|
+
description: Use when the user asks to devise, choose, or plan the most Long term elegant and production ready solution, compare it with the Holy grail, and produce the best practical in-scope implementation plan without asking the user to resolve the gap.
|
|
4
4
|
compatibility: Requires pi-workflows and the built-in autoplan workflow.
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -37,12 +37,12 @@ When this skill is loaded inside an active workflow step, do not start another w
|
|
|
37
37
|
Outside Pi, or when the workflow is unavailable:
|
|
38
38
|
|
|
39
39
|
1. Frame the problem, observable success criteria, scope, constraints, and interfaces under our control.
|
|
40
|
-
2. Record two through four distinct practical candidates. Give each one a stable id, short title, plain gist, full solution, rationale, parts, and trade-offs.
|
|
41
|
-
3. Describe the
|
|
40
|
+
2. Record two through four distinct practical candidates. Ask whether each is a Long term elegant and production ready solution. Give each one a stable id, short title, plain gist, full solution, rationale, parts, and trade-offs.
|
|
41
|
+
3. Describe the Holy grail separately. Ask whether it is the Holy grail for the problem. Name every dependency outside our authority.
|
|
42
42
|
4. Choose the right option without asking the user to decide between them. Record one rejection reason for every other explicit candidate.
|
|
43
|
-
- Choose the
|
|
44
|
-
- Otherwise choose the strongest practical in-scope solution with a clear path toward the
|
|
45
|
-
- Do not block only because the
|
|
43
|
+
- Choose the Holy grail when it is proportionate, production-ready, in scope, and implementable through interfaces we control.
|
|
44
|
+
- Otherwise choose the strongest practical in-scope solution with a clear path toward the Holy grail.
|
|
45
|
+
- Do not block only because the Holy grail requires an upstream or external change.
|
|
46
46
|
5. Write a detailed implementation plan. For each step, state what changes, where it changes, and how to verify it.
|
|
47
47
|
6. Present one short plain assistant message with the chosen plan, its main steps, and a one-line gist and rejection reason for every other candidate. Call it selected for approval when a later human decision still applies.
|
|
48
48
|
7. Stop as blocked only when no truthful in-scope solution can meet the success criteria.
|
|
@@ -96,9 +96,11 @@ function originalUserInstructions(outputs: Record<string, unknown>): string {
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
function originalInstructionsPrompt(outputs: Record<string, unknown>): string {
|
|
99
|
-
return [
|
|
100
|
-
"
|
|
101
|
-
|
|
99
|
+
return [
|
|
100
|
+
"Continue in this Pi session. Do not delegate this workflow step or start another session.",
|
|
101
|
+
"Original user instructions (authoritative):",
|
|
102
|
+
originalUserInstructions(outputs),
|
|
103
|
+
].join("\n");
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
function requireString(value: unknown, label: string): string {
|
|
@@ -286,7 +288,7 @@ function candidateSummary(
|
|
|
286
288
|
ideal: AutoplanIdeal,
|
|
287
289
|
id: string,
|
|
288
290
|
): { id: string; title: string; gist: string } {
|
|
289
|
-
if (id === "ideal") return { id, title: "
|
|
291
|
+
if (id === "ideal") return { id, title: "Holy grail", gist: ideal.ideal };
|
|
290
292
|
const candidate = proposal.candidates.find((item) => item.id === id);
|
|
291
293
|
if (candidate === undefined)
|
|
292
294
|
throw new Error(`autoplan candidate ${JSON.stringify(id)} is missing`);
|
|
@@ -298,9 +300,9 @@ function summaryInput(
|
|
|
298
300
|
blocked: boolean,
|
|
299
301
|
input: AutoplanInput,
|
|
300
302
|
): PlainSummaryInput {
|
|
301
|
-
const proposal = outputs.
|
|
302
|
-
const selection = outputs.
|
|
303
|
-
const ideal = outputs.
|
|
303
|
+
const proposal = outputs.solutions as AutoplanProposal;
|
|
304
|
+
const selection = outputs.select as AutoplanSelection;
|
|
305
|
+
const ideal = outputs.holyGrail as AutoplanIdeal;
|
|
304
306
|
const selected = candidateSummary(proposal, ideal, selection.selectedId);
|
|
305
307
|
return {
|
|
306
308
|
source: {
|
|
@@ -368,6 +370,7 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
368
370
|
statusDetail: "capturing the user's instructions",
|
|
369
371
|
prompt: () =>
|
|
370
372
|
[
|
|
373
|
+
"Continue in this Pi session. Do not delegate this workflow step or start another session.",
|
|
371
374
|
"Read the conversation that came before this workflow step.",
|
|
372
375
|
"Return one text string named originalUserInstructions.",
|
|
373
376
|
"Include everything that the user has instructed for the intended purpose in the given context.",
|
|
@@ -398,12 +401,13 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
398
401
|
expectedOutput: `{ "problem": "concise statement", "success": ["criterion"], "inScope": ["change"], "outOfScope": ["change"], "constraints": ["constraint"], "controlBoundary": "what can change" }`,
|
|
399
402
|
validate: (value) => requireRecord(value, "autoplan frame"),
|
|
400
403
|
}),
|
|
401
|
-
|
|
402
|
-
statusDetail: "devising
|
|
404
|
+
solutions: agent({
|
|
405
|
+
statusDetail: "devising long-term solutions",
|
|
403
406
|
prompt: ({ outputs, input }) =>
|
|
404
407
|
[
|
|
405
408
|
originalInstructionsPrompt(outputs),
|
|
406
409
|
"Give two to four practical options that fit the allowed scope.",
|
|
410
|
+
"For each option, ask: Is this a Long term elegant and production ready solution?",
|
|
407
411
|
"For each option return a stable lowercase id and a short title. Add a plain gist and full solution, explain the reason and trade-offs, and list the parts.",
|
|
408
412
|
"Favor a few reusable parts with clear owners and use interfaces that already exist.",
|
|
409
413
|
"Reject one-off machinery and infrastructure that the task does not need.",
|
|
@@ -416,42 +420,46 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
416
420
|
validate: (value, { input }) =>
|
|
417
421
|
parseProposal(value, (input as AutoplanInput).previousPlan !== undefined),
|
|
418
422
|
}),
|
|
419
|
-
|
|
420
|
-
statusDetail: "describing the
|
|
423
|
+
holyGrail: agent({
|
|
424
|
+
statusDetail: "describing the Holy grail",
|
|
421
425
|
prompt: ({ outputs, input }) =>
|
|
422
426
|
[
|
|
423
427
|
originalInstructionsPrompt(outputs),
|
|
424
|
-
"Describe the
|
|
425
|
-
"
|
|
428
|
+
"Describe the Holy grail separately from the practical options.",
|
|
429
|
+
"Ask: Is this the Holy grail for the problem?",
|
|
430
|
+
"The Holy grail may match one option or go beyond the current scope.",
|
|
431
|
+
"Explain what makes it more Long term elegant and production ready than the practical options.",
|
|
426
432
|
"List each dependency we do not control. Do not assume that it can change.",
|
|
427
|
-
"State what
|
|
433
|
+
"State what the Holy grail would improve beyond the practical options.",
|
|
428
434
|
`Problem frame: ${JSON.stringify(outputs.frame)}`,
|
|
429
|
-
`Candidates: ${JSON.stringify(outputs.
|
|
435
|
+
`Candidates: ${JSON.stringify(outputs.solutions)}`,
|
|
430
436
|
`New evidence: ${JSON.stringify((input as AutoplanInput).newEvidence ?? null)}`,
|
|
431
437
|
].join("\n"),
|
|
432
|
-
expectedOutput: `{ "ideal": "
|
|
438
|
+
expectedOutput: `{ "ideal": "Holy grail end state", "outsideDependencies": ["dependency"], "additionalValue": ["benefit"] }`,
|
|
433
439
|
validate: parseIdeal,
|
|
434
440
|
}),
|
|
435
|
-
|
|
436
|
-
statusDetail: "
|
|
441
|
+
select: agent({
|
|
442
|
+
statusDetail: "selecting the solution",
|
|
437
443
|
prompt: ({ outputs }) =>
|
|
438
444
|
[
|
|
439
445
|
originalInstructionsPrompt(outputs),
|
|
440
446
|
"Select one option. Do not ask the user to choose.",
|
|
441
|
-
"Select the
|
|
442
|
-
"
|
|
447
|
+
"Select the most Long term elegant and production ready option that is proportionate, in scope, and implementable through interfaces we control.",
|
|
448
|
+
"Select the Holy grail when it meets those conditions and its value justifies the added complexity.",
|
|
449
|
+
"Otherwise select the strongest practical option we can build now with a clear path toward the Holy grail.",
|
|
443
450
|
"Work outside our control does not by itself make the plan blocked.",
|
|
444
451
|
"Do not require changes to an upstream project or an unrelated repository. Do not require a new service or resource without approval.",
|
|
445
452
|
"When two options solve the problem equally well, choose the simpler one.",
|
|
446
|
-
"Give one specific rejection reason for every option you do not select, including the
|
|
453
|
+
"Give one specific rejection reason for every option you do not select, including the Holy grail.",
|
|
447
454
|
"Return blocked only if no option inside the allowed scope can meet the success criteria.",
|
|
448
455
|
`Frame: ${JSON.stringify(outputs.frame)}`,
|
|
449
|
-
`Candidates: ${JSON.stringify(outputs.
|
|
450
|
-
`
|
|
451
|
-
`
|
|
456
|
+
`Candidates: ${JSON.stringify(outputs.solutions)}`,
|
|
457
|
+
`Holy grail candidate id: ideal`,
|
|
458
|
+
`Holy grail: ${JSON.stringify(outputs.holyGrail)}`,
|
|
452
459
|
].join("\n"),
|
|
453
460
|
expectedOutput: `{ "status": "ready" | "blocked", "selectedId": "candidate-id-or-ideal", "why": "reason", "relationshipToIdeal": "relationship", "rejected": [{ "id": "other-id", "reason": "why it lost" }], "compromises": ["compromise"], "blocker": "required only when blocked" }`,
|
|
454
|
-
validate: (value, { outputs }) =>
|
|
461
|
+
validate: (value, { outputs }) =>
|
|
462
|
+
parseSelection(value, outputs.solutions as AutoplanProposal),
|
|
455
463
|
}),
|
|
456
464
|
plan: agent({
|
|
457
465
|
timeoutMs: 30 * 60_000,
|
|
@@ -466,8 +474,8 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
466
474
|
"Correct the earlier plan when the new evidence proves it wrong.",
|
|
467
475
|
"Do not change files.",
|
|
468
476
|
`Frame: ${JSON.stringify(outputs.frame)}`,
|
|
469
|
-
`Selection: ${JSON.stringify(outputs.
|
|
470
|
-
`Candidates: ${JSON.stringify(outputs.
|
|
477
|
+
`Selection: ${JSON.stringify(outputs.select)}`,
|
|
478
|
+
`Candidates: ${JSON.stringify(outputs.solutions)}`,
|
|
471
479
|
`Previous plan: ${JSON.stringify((input as AutoplanInput).previousPlan ?? null)}`,
|
|
472
480
|
`New evidence: ${JSON.stringify((input as AutoplanInput).newEvidence ?? null)}`,
|
|
473
481
|
].join("\n"),
|
|
@@ -476,13 +484,13 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
476
484
|
}),
|
|
477
485
|
blocked: compute({
|
|
478
486
|
run: ({ outputs }) => {
|
|
479
|
-
const selection = outputs.
|
|
487
|
+
const selection = outputs.select as AutoplanSelection;
|
|
480
488
|
return {
|
|
481
489
|
status: "blocked",
|
|
482
490
|
originalUserInstructions: originalUserInstructions(outputs),
|
|
483
491
|
frame: outputs.frame,
|
|
484
|
-
proposal: outputs.
|
|
485
|
-
ideal: outputs.
|
|
492
|
+
proposal: outputs.solutions as AutoplanProposal,
|
|
493
|
+
ideal: outputs.holyGrail as AutoplanIdeal,
|
|
486
494
|
selection,
|
|
487
495
|
plainSummary: plainSummaryResult(outputs.blockedSummary, "autoplan blocked summary"),
|
|
488
496
|
reason: requireString(selection.blocker, "autoplan blocker"),
|
|
@@ -499,9 +507,9 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
499
507
|
status: "ready",
|
|
500
508
|
originalUserInstructions: originalUserInstructions(outputs),
|
|
501
509
|
frame: outputs.frame,
|
|
502
|
-
proposal: outputs.
|
|
503
|
-
ideal: outputs.
|
|
504
|
-
selection: outputs.
|
|
510
|
+
proposal: outputs.solutions as AutoplanProposal,
|
|
511
|
+
ideal: outputs.holyGrail as AutoplanIdeal,
|
|
512
|
+
selection: outputs.select as AutoplanSelection,
|
|
505
513
|
plan: outputs.plan,
|
|
506
514
|
plainSummary: plainSummaryResult(outputs.readySummary, "autoplan ready summary"),
|
|
507
515
|
planDigest,
|
|
@@ -513,11 +521,11 @@ export const autoplanWorkflow = defineWorkflow({
|
|
|
513
521
|
},
|
|
514
522
|
edges: [
|
|
515
523
|
{ from: "captureIntent", to: "frame" },
|
|
516
|
-
{ from: "frame", to: "
|
|
517
|
-
{ from: "
|
|
518
|
-
{ from: "
|
|
524
|
+
{ from: "frame", to: "solutions" },
|
|
525
|
+
{ from: "solutions", to: "holyGrail" },
|
|
526
|
+
{ from: "holyGrail", to: "select" },
|
|
519
527
|
{
|
|
520
|
-
from: "
|
|
528
|
+
from: "select",
|
|
521
529
|
switch: { on: "$.status", cases: { ready: "plan", blocked: "blockedSummary" } },
|
|
522
530
|
},
|
|
523
531
|
{ from: "plan", to: "readySummary" },
|
package/src/builtins/catalog.ts
CHANGED
|
@@ -9,7 +9,7 @@ import sanityCheckWorkflow from "./sanity-check.workflow.js";
|
|
|
9
9
|
|
|
10
10
|
export const builtinWorkflowCatalog = new BuiltinWorkflowCatalog([
|
|
11
11
|
{ id: "plain-summary", revision: "3", definition: plainSummaryWorkflow },
|
|
12
|
-
{ id: "autoplan", revision: "
|
|
12
|
+
{ id: "autoplan", revision: "6", definition: autoplanWorkflow },
|
|
13
13
|
{ id: "autodoc", revision: "2", definition: autodocWorkflow },
|
|
14
14
|
{ id: "autoimplement", revision: "11", definition: autoimplementWorkflow },
|
|
15
15
|
{ id: "plan-approval", revision: "4", definition: planApprovalWorkflow },
|