@davidorex/pi-workflows 0.10.5 → 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.
@@ -0,0 +1,48 @@
1
+ name: task-verifier
2
+ role: quality
3
+ description: Verifies task implementation against acceptance criteria, produces per-criterion verdicts
4
+
5
+ tools: [read, bash, glob, grep]
6
+
7
+ input:
8
+ type: object
9
+ required: [task_id, acceptance_criteria, changes]
10
+ properties:
11
+ task_id:
12
+ type: string
13
+ description: ID of the task being verified
14
+ acceptance_criteria:
15
+ type: array
16
+ description: Acceptance criteria from the task block
17
+ changes:
18
+ description: Implementation summary or diff from the worker agent
19
+
20
+ output:
21
+ format: json
22
+ schema: schemas/task-verification.schema.json
23
+
24
+ prompt:
25
+ system: |
26
+ <objective>
27
+ You verify whether a task implementation satisfies its acceptance criteria. For each criterion, you examine the actual code state, run commands where appropriate, and produce a verdict with evidence. You produce a verification entry compatible with the project verification block.
28
+ </objective>
29
+
30
+ <constraints>
31
+ - Output MUST conform to the task-verification schema
32
+ - Every acceptance criterion gets a verdict — do not skip any
33
+ - Evidence must reference specific code observations (file:line, code snippets, command output)
34
+ - Do NOT modify any files — you are read-only
35
+ - Set status: passed if all criteria pass, failed if any fail, partial if mixed
36
+ - The id field must be formatted as V-{task_id} (e.g. V-T-001)
37
+ - The timestamp must be ISO 8601 format
38
+ - method should reflect the primary verification approach used
39
+ </constraints>
40
+
41
+ <anti_patterns>
42
+ - Assuming criteria are met without checking
43
+ - Using pattern absence as evidence of fix
44
+ - Marking a criterion passed when the implementation only partially addresses it
45
+ - Skipping criteria that are hard to verify — use inspect method and explain
46
+ </anti_patterns>
47
+ task:
48
+ template: task-verifier/task.md
@@ -0,0 +1,24 @@
1
+ name: task-worker
2
+ role: action
3
+ description: Implements a discrete task per its acceptance criteria, scoped to declared files
4
+
5
+ tools: [read, write, edit, bash, grep, glob, ls]
6
+
7
+ input:
8
+ type: object
9
+ required: [task]
10
+ properties:
11
+ task:
12
+ type: object
13
+ description: Task block entry with description, acceptance_criteria, files
14
+ context:
15
+ type: string
16
+ description: Narrative context from prior steps
17
+
18
+ output:
19
+ format: json
20
+ schema: schemas/execution-results.schema.json
21
+
22
+ prompt:
23
+ task:
24
+ template: task-worker/task.md
@@ -1 +1 @@
1
- {"version":3,"file":"step-agent.d.ts","sourceRoot":"","sources":["../src/step-agent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAmB,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpH,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,eAAe,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,eAAe,EAAE,WAAW,CAAC;IAClD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1F,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CAuLrB"}
1
+ {"version":3,"file":"step-agent.d.ts","sourceRoot":"","sources":["../src/step-agent.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAmB,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpH,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,eAAe,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,eAAe,EAAE,WAAW,CAAC;IAClD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1F,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CAwMrB"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import fs from "node:fs";
5
5
  import path from "node:path";
6
- import { validateFromFile } from "@davidorex/pi-project/schema-validator";
6
+ import { validate, validateFromFile } from "@davidorex/pi-project/schema-validator";
7
7
  import { dispatch } from "./dispatch.js";
8
8
  import { resolveExpressions } from "./expression.js";
9
9
  import { persistStepOutput } from "./output.js";
@@ -66,6 +66,23 @@ export async function executeAgentStep(stepName, stepSpec, state, options) {
66
66
  error: err instanceof Error ? err.message : String(err),
67
67
  };
68
68
  }
69
+ // Validate resolved input against agent's inputSchema (if defined)
70
+ if (agentSpec.inputSchema) {
71
+ try {
72
+ const inputData = resolvedInput !== undefined && resolvedInput !== null ? resolvedInput : {};
73
+ validate(agentSpec.inputSchema, inputData, `input for agent '${agentName}'`);
74
+ }
75
+ catch (err) {
76
+ return {
77
+ step: stepName,
78
+ agent: agentName,
79
+ status: "failed",
80
+ usage: zeroUsage(),
81
+ durationMs: 0,
82
+ error: err instanceof Error ? err.message : String(err),
83
+ };
84
+ }
85
+ }
69
86
  // Track non-fatal issues to attach to the StepResult
70
87
  const warnings = [];
71
88
  // Inject output schema into template context if available
@@ -1 +1 @@
1
- {"version":3,"file":"step-agent.js","sourceRoot":"","sources":["../src/step-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-agent.js","sourceRoot":"","sources":["../src/step-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"template-validation.d.ts","sourceRoot":"","sources":["../src/template-validation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oGAAoG;AACpG,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhE,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAmE5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAuCpE;AA2OD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAyMjH"}
1
+ {"version":3,"file":"template-validation.d.ts","sourceRoot":"","sources":["../src/template-validation.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKzD,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,oGAAoG;AACpG,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhE,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA+E5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAuCpE;AA2OD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAyMjH"}
@@ -22,6 +22,17 @@ export function extractTemplateVariables(content) {
22
22
  const guardedRoots = new Set();
23
23
  const ifStack = [];
24
24
  let depth = 0;
25
+ // Collect template-level {% for x in ... %} loop variable names so we can
26
+ // exclude them from root-variable checking. These are Nunjucks-scoped
27
+ // variables, not workflow step inputs.
28
+ const loopVarNames = new Set();
29
+ const forVarPattern = /\{%[-\s]*for\s+(\w+)\s+in\s+[\w.]+\s*%\}/g;
30
+ let lvMatch;
31
+ lvMatch = forVarPattern.exec(content);
32
+ while (lvMatch !== null) {
33
+ loopVarNames.add(lvMatch[1]);
34
+ lvMatch = forVarPattern.exec(content);
35
+ }
25
36
  const lines = content.split("\n");
26
37
  for (const line of lines) {
27
38
  // Track {% if var.field %} blocks
@@ -48,7 +59,7 @@ export function extractTemplateVariables(content) {
48
59
  while (match !== null) {
49
60
  const fullPath = match[1];
50
61
  const root = fullPath.split(".")[0];
51
- if (!INJECTED_VARIABLES.has(root) && fullPath.includes(".") && !seen.has(fullPath)) {
62
+ if (!INJECTED_VARIABLES.has(root) && !loopVarNames.has(root) && fullPath.includes(".") && !seen.has(fullPath)) {
52
63
  seen.add(fullPath);
53
64
  variables.push({
54
65
  root,
@@ -1 +1 @@
1
- {"version":3,"file":"template-validation.js","sourceRoot":"","sources":["../src/template-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-validation.js","sourceRoot":"","sources":["../src/template-validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davidorex/pi-workflows",
3
- "version": "0.10.5",
3
+ "version": "0.11.0",
4
4
  "description": "Workflow orchestration extension for Pi",
5
5
  "license": "MIT",
6
6
  "author": "David Ryan",
@@ -42,7 +42,7 @@
42
42
  "dependencies": {
43
43
  "nunjucks": "^3.2.4",
44
44
  "yaml": "^2.7.1",
45
- "@davidorex/pi-project": "^0.10.5",
45
+ "@davidorex/pi-project": "^0.11.0",
46
46
  "@mariozechner/pi-ai": "^0.63.1",
47
47
  "@mariozechner/pi-coding-agent": "^0.63.1",
48
48
  "@mariozechner/pi-tui": "^0.63.1",
@@ -0,0 +1,50 @@
1
+ {
2
+ "type": "object",
3
+ "required": ["id", "target", "target_type", "status", "method", "evidence", "criteria_results"],
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "description": "Verification ID (e.g. V-T-001)"
8
+ },
9
+ "target": {
10
+ "type": "string",
11
+ "description": "Task ID being verified"
12
+ },
13
+ "target_type": {
14
+ "type": "string",
15
+ "enum": ["task"],
16
+ "description": "Always 'task' for task verification"
17
+ },
18
+ "status": {
19
+ "type": "string",
20
+ "enum": ["passed", "failed", "partial", "skipped"]
21
+ },
22
+ "method": {
23
+ "type": "string",
24
+ "enum": ["command", "inspect", "test"]
25
+ },
26
+ "evidence": {
27
+ "type": "string",
28
+ "description": "Summary of what was checked"
29
+ },
30
+ "timestamp": {
31
+ "type": "string",
32
+ "description": "ISO 8601 timestamp"
33
+ },
34
+ "criteria_results": {
35
+ "type": "array",
36
+ "items": {
37
+ "type": "object",
38
+ "required": ["criterion", "status"],
39
+ "properties": {
40
+ "criterion": { "type": "string" },
41
+ "status": {
42
+ "type": "string",
43
+ "enum": ["passed", "failed", "skipped"]
44
+ },
45
+ "evidence": { "type": "string" }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
@@ -78,7 +78,7 @@ Subcommands: `init`, `list`, `run`, `resume`, `validate`, `status`, `help`
78
78
  </keyboard_shortcuts>
79
79
 
80
80
  <bundled_resources>
81
- 24 agents, 14 schemas, 14 workflows, 31 templates bundled.
81
+ 26 agents, 15 schemas, 15 workflows, 33 templates bundled.
82
82
  See references/bundled-resources.md for full inventory.
83
83
  </bundled_resources>
84
84
 
@@ -1,6 +1,6 @@
1
1
  # Bundled Resources
2
2
 
3
- ## agents/ (24 files)
3
+ ## agents/ (26 files)
4
4
 
5
5
  - `agents/architecture-designer.agent.yaml`
6
6
  - `agents/architecture-inferrer.agent.yaml`
@@ -25,9 +25,11 @@
25
25
  - `agents/spec-implementer.agent.yaml`
26
26
  - `agents/structure-analyzer.agent.yaml`
27
27
  - `agents/synthesizer.agent.yaml`
28
+ - `agents/task-verifier.agent.yaml`
29
+ - `agents/task-worker.agent.yaml`
28
30
  - `agents/verifier.agent.yaml`
29
31
 
30
- ## schemas/ (14 files)
32
+ ## schemas/ (15 files)
31
33
 
32
34
  - `schemas/audit-routing-manifest.schema.json`
33
35
  - `schemas/decomposition-specs.schema.json`
@@ -42,14 +44,16 @@
42
44
  - `schemas/resolution-assessment.schema.json`
43
45
  - `schemas/structure-analysis.schema.json`
44
46
  - `schemas/synthesis.schema.json`
47
+ - `schemas/task-verification.schema.json`
45
48
  - `schemas/verifier-output.schema.json`
46
49
 
47
- ## workflows/ (14 files)
50
+ ## workflows/ (15 files)
48
51
 
49
52
  - `workflows/analyze-existing-project.workflow.yaml`
50
53
  - `workflows/create-handoff.workflow.yaml`
51
54
  - `workflows/create-phase.workflow.yaml`
52
55
  - `workflows/do-gap.workflow.yaml`
56
+ - `workflows/execute-task.workflow.yaml`
53
57
  - `workflows/fix-audit.workflow.yaml`
54
58
  - `workflows/gap-to-phase.workflow.yaml`
55
59
  - `workflows/init-new-project.workflow.yaml`
@@ -61,7 +65,7 @@
61
65
  - `workflows/self-implement.workflow.yaml`
62
66
  - `workflows/typed-analysis.workflow.yaml`
63
67
 
64
- ## templates/ (31 files)
68
+ ## templates/ (33 files)
65
69
 
66
70
  - `templates/analyzers/base-analyzer.md`
67
71
  - `templates/analyzers/macros.md`
@@ -93,4 +97,6 @@
93
97
  - `templates/spec-implementer/task.md`
94
98
  - `templates/synthesizer/system.md`
95
99
  - `templates/synthesizer/task.md`
100
+ - `templates/task-verifier/task.md`
101
+ - `templates/task-worker/task.md`
96
102
  - `templates/verifier/task.md`
@@ -0,0 +1,44 @@
1
+ Verify whether the following task implementation satisfies its acceptance criteria.
2
+
3
+ ## Task: {{ task_id }}
4
+
5
+ ## Acceptance Criteria
6
+
7
+ {% for criterion in acceptance_criteria %}
8
+ {{ loop.index }}. {{ criterion }}
9
+ {% endfor %}
10
+
11
+ ## Implementation Changes
12
+
13
+ {% if changes is mapping %}
14
+ {% if changes.tasks is defined %}
15
+ ### Worker Results
16
+ - Status: {{ changes.status | default("unknown") }}
17
+ {% for t in changes.tasks %}
18
+ - **{{ t.name }}**: {{ t.status }}{% if t.files_modified %} (files: {{ t.files_modified | join(", ") }}){% endif %}
19
+ {% if t.notes %} — {{ t.notes }}{% endif %}
20
+ {% endfor %}
21
+ {% else %}
22
+ ```json
23
+ {{ changes | dump(2) }}
24
+ ```
25
+ {% endif %}
26
+ {% else %}
27
+ {{ changes }}
28
+ {% endif %}
29
+
30
+ ## Instructions
31
+
32
+ For EACH acceptance criterion above:
33
+
34
+ 1. Read the relevant source files to understand the current code state
35
+ 2. If the criterion is verifiable by command (test, build, lint), run the command
36
+ 3. If the criterion requires code inspection, read the files and assess
37
+ 4. Record your verdict: `passed`, `failed`, or `skipped`
38
+ 5. Provide specific evidence (file:line references, command output, code snippets)
39
+
40
+ Then produce a JSON verification entry:
41
+
42
+ ```json
43
+ {{ output_schema }}
44
+ ```
@@ -0,0 +1,52 @@
1
+ ## Task: {{ task.id }}
2
+
3
+ ### Description
4
+ {{ task.description }}
5
+
6
+ {% if task.phase %}
7
+ ### Phase
8
+ {{ task.phase }}
9
+ {% endif %}
10
+
11
+ ### Files
12
+ {% for f in task.files %}
13
+ - `{{ f }}`
14
+ {% endfor %}
15
+
16
+ ### Acceptance Criteria
17
+ {% for criterion in task.acceptance_criteria %}
18
+ - [ ] {{ criterion }}
19
+ {% endfor %}
20
+
21
+ {% if task.depends_on %}
22
+ ### Dependencies (completed)
23
+ {% for dep in task.depends_on %}
24
+ - {{ dep }}
25
+ {% endfor %}
26
+ {% endif %}
27
+
28
+ {% if task.notes %}
29
+ ### Notes
30
+ {{ task.notes }}
31
+ {% endif %}
32
+
33
+ {% if context %}
34
+ ### Context
35
+ {{ context }}
36
+ {% endif %}
37
+
38
+ ## Instructions
39
+
40
+ Implement this task. Follow these steps:
41
+
42
+ 1. **Read the target files** listed above to understand the current state
43
+ 2. **Implement changes** that satisfy each acceptance criterion
44
+ 3. **Stay within scope** — only modify the files listed, unless a new file is strictly necessary
45
+ 4. **Run tests** after implementation to verify nothing is broken
46
+ 5. **Validate each criterion** — confirm every acceptance criterion is addressed
47
+
48
+ Produce a JSON result conforming to this schema:
49
+
50
+ ```json
51
+ {{ output_schema }}
52
+ ```
@@ -0,0 +1,140 @@
1
+ name: execute-task
2
+ description: Execute a task from the registry — read, gate dependencies, implement, verify, persist
3
+ version: "1"
4
+
5
+ input:
6
+ type: object
7
+ required: [task_id]
8
+ properties:
9
+ task_id:
10
+ type: string
11
+ description: ID of the task to execute
12
+ source:
13
+ file: .project/tasks.json
14
+ array: tasks
15
+ filter: { status: planned }
16
+ label: [id, description]
17
+ value: id
18
+
19
+ steps:
20
+ load-tasks:
21
+ block:
22
+ read: tasks
23
+ output:
24
+ format: json
25
+
26
+ extract-task:
27
+ command: |
28
+ node -e "
29
+ const data = JSON.parse(process.argv[1]);
30
+ const taskId = process.argv[2];
31
+ const task = data.tasks.find(t => t.id === taskId);
32
+ if (!task) { console.error('Task not found: ' + taskId); process.exit(1); }
33
+ if (task.status === 'completed') { console.error('Task already completed'); process.exit(1); }
34
+ if (task.status === 'cancelled') { console.error('Task is cancelled'); process.exit(1); }
35
+ console.log(JSON.stringify({ task }));
36
+ " '${{ steps.load-tasks.output | shell }}' '${{ input.task_id }}'
37
+ output:
38
+ format: json
39
+
40
+ check-dependencies:
41
+ command: |
42
+ node -e "
43
+ const data = JSON.parse(process.argv[1]);
44
+ const task = JSON.parse(process.argv[2]).task;
45
+ const deps = task.depends_on || [];
46
+ if (deps.length === 0) {
47
+ console.log(JSON.stringify({ ready: true, blocked_by: [] }));
48
+ process.exit(0);
49
+ }
50
+ const blocked = [];
51
+ for (const depId of deps) {
52
+ const dep = data.tasks.find(t => t.id === depId);
53
+ if (!dep) { blocked.push(depId + ' (not found)'); continue; }
54
+ if (dep.status !== 'completed') { blocked.push(depId + ' (' + dep.status + ')'); }
55
+ }
56
+ console.log(JSON.stringify({ ready: blocked.length === 0, blocked_by: blocked }));
57
+ " '${{ steps.load-tasks.output | shell }}' '${{ steps.extract-task.output | shell }}'
58
+ output:
59
+ format: json
60
+
61
+ dependency-gate:
62
+ gate:
63
+ check: "test '${{ steps.check-dependencies.output.ready }}' = 'true'"
64
+ onFail: fail
65
+
66
+ mark-in-progress:
67
+ block:
68
+ update:
69
+ name: tasks
70
+ key: tasks
71
+ match:
72
+ id: "${{ input.task_id }}"
73
+ set:
74
+ status: in-progress
75
+ output:
76
+ format: json
77
+
78
+ implement:
79
+ agent: task-worker
80
+ input:
81
+ task: "${{ steps.extract-task.output.task }}"
82
+ retry:
83
+ maxAttempts: 2
84
+ onExhausted: fail
85
+ output:
86
+ format: json
87
+ schema: ../schemas/execution-results.schema.json
88
+
89
+ verify:
90
+ agent: task-verifier
91
+ input:
92
+ task_id: "${{ input.task_id }}"
93
+ acceptance_criteria: "${{ steps.extract-task.output.task.acceptance_criteria }}"
94
+ changes: "${{ steps.implement.output }}"
95
+ context: [implement]
96
+ output:
97
+ format: json
98
+ schema: ../schemas/task-verification.schema.json
99
+
100
+ persist-verification:
101
+ block:
102
+ append:
103
+ name: verification
104
+ key: verifications
105
+ item: "${{ steps.verify.output }}"
106
+ output:
107
+ format: json
108
+
109
+ compute-final-status:
110
+ command: |
111
+ node -e "
112
+ const verifyStatus = process.argv[1];
113
+ let taskStatus;
114
+ if (verifyStatus === 'passed') taskStatus = 'completed';
115
+ else if (verifyStatus === 'partial') taskStatus = 'in-progress';
116
+ else taskStatus = 'blocked';
117
+ console.log(JSON.stringify({ task_status: taskStatus }));
118
+ " '${{ steps.verify.output.status }}'
119
+ output:
120
+ format: json
121
+
122
+ update-task-status:
123
+ block:
124
+ update:
125
+ name: tasks
126
+ key: tasks
127
+ match:
128
+ id: "${{ input.task_id }}"
129
+ set:
130
+ status: "${{ steps.compute-final-status.output.task_status }}"
131
+ verification: "${{ steps.verify.output.id }}"
132
+ output:
133
+ format: json
134
+
135
+ completion:
136
+ message: |
137
+ Task ${{ input.task_id }} — verification: ${{ steps.verify.output.status }}
138
+ Criteria: ${{ steps.verify.output.criteria_results | length }} checked
139
+ include:
140
+ - steps.verify.output.criteria_results