@leing2021/super-pi 0.18.1 → 0.19.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.
package/README.md CHANGED
@@ -29,8 +29,8 @@ Super Pi's answers:
29
29
  ## The Five-Step Loop
30
30
 
31
31
  ```
32
- 01-brainstorm → 02-plan → 03-work → 04-review → 05-compound
33
- think plan build review compound
32
+ 01-brainstorm → 02-plan → 03-work → 04-review → 05-learn
33
+ think plan build review learn
34
34
  ```
35
35
 
36
36
  Each step has a dedicated skill + tool pair. Not just prompts — structured toolchains.
@@ -73,7 +73,7 @@ Breaks requirements into implementation units, each following strict **RED → G
73
73
 
74
74
  **Browser QA (optional)**: Uses `agent-browser` to open your app, click through pages, screenshot bugs, fix by severity, up to 3 auto-fix iterations. Can auto-generate regression tests. Like having a QA engineer run acceptance tests.
75
75
 
76
- ### 05-compound: Compound Learnings
76
+ ### 05-learn: Compound Learnings
77
77
 
78
78
  `pattern_extractor` scans existing artifacts, extracts and categorizes patterns. Turns "the pitfall we hit this time" into a YAML-tagged solution card in `docs/solutions/`.
79
79
 
@@ -93,7 +93,7 @@ Next time `02-plan` or `04-review` runs, a grep-first search strategy automatica
93
93
  | `02-plan` | Break into units, TDD gates, incremental updates | `plan_diff` |
94
94
  | `03-work` | Parallel execution, checkpoint resume, error recovery | `session_checkpoint`, `task_splitter`, `parallel_subagent` |
95
95
  | `04-review` | Persona-routed review + live browser testing | `review_router` |
96
- | `05-compound` | Pattern extraction → knowledge card compounding | `pattern_extractor` |
96
+ | `05-learn` | Pattern extraction → knowledge card compounding | `pattern_extractor` |
97
97
  | `06-next` | Not sure what to do next? Ask this | `workflow_state`, `session_history` |
98
98
  | `07-worktree` | Git worktree isolated development | `worktree_manager` |
99
99
  | `08-status` | Scan artifacts, report progress | `workflow_state`, `session_history` |
@@ -174,7 +174,7 @@ You: continue
174
174
 
175
175
  → 03-work parallel execution, checkpoint resume
176
176
  → 04-review code review + optional browser QA
177
- → 05-compound knowledge compounding
177
+ → 05-learn knowledge compounding
178
178
  ```
179
179
 
180
180
  ### Adding a feature
@@ -183,7 +183,7 @@ You: continue
183
183
  You: I want to add user authentication to the project
184
184
 
185
185
  → 01-brainstorm CE mode, multi-round dialog: OAuth2? JWT? MFA?
186
- → Requirements doc → 02-plan → 03-work → 04-review → 05-compound
186
+ → Requirements doc → 02-plan → 03-work → 04-review → 05-learn
187
187
  ```
188
188
 
189
189
  ### Resume after interruption
@@ -219,7 +219,7 @@ your-project/
219
219
  ├── docs/
220
220
  │ ├── brainstorms/ # Requirements (01-brainstorm)
221
221
  │ ├── plans/ # Execution plans (02-plan)
222
- │ └── solutions/ # Knowledge cards (05-compound)
222
+ │ └── solutions/ # Knowledge cards (05-learn)
223
223
  └── .context/
224
224
  └── compound-engineering/
225
225
  ├── checkpoints/ # Breakpoint files (session_checkpoint)
@@ -351,6 +351,12 @@ Not a fork. Not a wrapper. Methodologies extracted and rebuilt with Pi's native
351
351
 
352
352
  ## Changelog
353
353
 
354
+ ### 0.19.0 — 0.69.0 alignment + learn rename
355
+ - TypeBox migration: `@sinclair/typebox` → `typebox` (zero old-path imports)
356
+ - Peer/dev dependency upgrade: pi-coding-agent `0.67.6` → `0.69.0`
357
+ - Tool termination: 6 pure-query tools now return `terminate: true` to reduce unnecessary LLM rounds
358
+ - Skill rename: `05-compound` → `05-learn` for clarity
359
+
354
360
  ### 0.18.0 — Progressive rules
355
361
  - Built-in `rules/` directory with 13 language layers + common + web (78 Markdown files)
356
362
  - New `10-rules` skill: progressive on-demand loading, zero waste
@@ -1,5 +1,5 @@
1
1
  import type { ExtensionAPI } from "@mariozechner/pi-coding-agent"
2
- import { Type } from "@sinclair/typebox"
2
+ import { Type } from "typebox"
3
3
  import { createArtifactHelperTool, type ArtifactType } from "./tools/artifact-helper"
4
4
  import { createAskUserQuestionTool } from "./tools/ask-user-question"
5
5
  import { createSubagentTool } from "./tools/subagent"
@@ -124,7 +124,10 @@ const parallelSubagentTaskSchema = Type.Object({
124
124
  })
125
125
 
126
126
  const parallelSubagentParams = Type.Object({
127
- tasks: Type.Array(parallelSubagentTaskSchema, { description: "Array of independent tasks to run concurrently" }),
127
+ tasks: Type.Union([
128
+ Type.Array(parallelSubagentTaskSchema),
129
+ Type.String({ description: "JSON stringified array of tasks" }),
130
+ ], { description: "Array of independent tasks to run concurrently (can be a JSON string)" }),
128
131
  inheritSkills: Type.Optional(Type.Boolean({ description: "Whether subagents should inherit skills. Default: false" })),
129
132
  })
130
133
 
@@ -335,6 +338,7 @@ export default function ceCoreExtension(pi: ExtensionAPI) {
335
338
  return {
336
339
  content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
337
340
  details: result,
341
+ terminate: true,
338
342
  }
339
343
  },
340
344
  })
@@ -389,6 +393,7 @@ export default function ceCoreExtension(pi: ExtensionAPI) {
389
393
  return {
390
394
  content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
391
395
  details: result,
396
+ terminate: true,
392
397
  }
393
398
  },
394
399
  })
@@ -396,12 +401,24 @@ export default function ceCoreExtension(pi: ExtensionAPI) {
396
401
  pi.registerTool({
397
402
  name: parallelSubagent.name,
398
403
  label: "Parallel Subagent",
399
- description: "Run multiple skill-based subagent tasks concurrently.",
404
+ description: "Run multiple skill-based subagent tasks concurrently. IMPORTANT: Provide 'tasks' as a clean JSON array object. If the environment forces a string, provide a valid JSON array string.",
400
405
  parameters: parallelSubagentParams,
401
406
  async execute(_toolCallId, params, signal) {
407
+ let tasks: any[]
408
+ if (typeof params.tasks === "string") {
409
+ try {
410
+ const cleaned = params.tasks.replace(/^```json\s*|```$/g, "").trim()
411
+ tasks = JSON.parse(cleaned)
412
+ } catch (e) {
413
+ throw new Error(`Failed to parse tasks string as JSON: ${e instanceof Error ? e.message : String(e)}`)
414
+ }
415
+ } else {
416
+ tasks = params.tasks
417
+ }
418
+
402
419
  const result = await parallelSubagent.execute(
403
420
  {
404
- tasks: params.tasks,
421
+ tasks,
405
422
  inheritSkills: params.inheritSkills,
406
423
  },
407
424
  createSubagentRunner(pi, signal),
@@ -432,6 +449,7 @@ export default function ceCoreExtension(pi: ExtensionAPI) {
432
449
  return {
433
450
  content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
434
451
  details: result,
452
+ terminate: true,
435
453
  }
436
454
  },
437
455
  })
@@ -471,6 +489,7 @@ export default function ceCoreExtension(pi: ExtensionAPI) {
471
489
  return {
472
490
  content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
473
491
  details: result,
492
+ terminate: true,
474
493
  }
475
494
  },
476
495
  })
@@ -512,6 +531,7 @@ export default function ceCoreExtension(pi: ExtensionAPI) {
512
531
  return {
513
532
  content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
514
533
  details: result,
534
+ terminate: true,
515
535
  }
516
536
  },
517
537
  })
@@ -533,6 +553,7 @@ export default function ceCoreExtension(pi: ExtensionAPI) {
533
553
  return {
534
554
  content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
535
555
  details: result,
556
+ terminate: true,
536
557
  }
537
558
  },
538
559
  })
@@ -1,4 +1,4 @@
1
- import { Type } from "@sinclair/typebox"
1
+ import { Type } from "typebox"
2
2
 
3
3
  // ============================================================================
4
4
  // Types
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leing2021/super-pi",
3
- "version": "0.18.1",
3
+ "version": "0.19.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Pi-native Compound Engineering package for iterative development workflows",
@@ -36,11 +36,10 @@
36
36
  },
37
37
  "peerDependencies": {
38
38
  "@mariozechner/pi-coding-agent": "*",
39
- "@sinclair/typebox": "*"
39
+ "typebox": "*"
40
40
  },
41
41
  "devDependencies": {
42
- "@mariozechner/pi-coding-agent": "0.67.6",
43
- "@sinclair/typebox": "0.34.41",
42
+ "@mariozechner/pi-coding-agent": "0.69.0",
44
43
  "bun-types": "^1.3.12"
45
44
  },
46
45
  "pi": {
@@ -16,7 +16,7 @@ Use this skill after implementation to review changes against the diff, the rele
16
16
  - Search solutions with grep-first strategy: extract keywords from the task → `bash grep -rl "tags:.*keyword" docs/solutions/ ~/.pi/agent/docs/solutions/` → read only frontmatter (first 15 lines) of matching files → score by severity + tag relevance → fully read top 3. Search both project-level (`docs/solutions/`) and global-level (`~/.pi/agent/docs/solutions/`). If no matches, report "No relevant solutions found" and proceed.
17
17
  - Produce **structured findings** using `references/findings-schema.md`.
18
18
  - When findings are **autofixable**, apply fixes and re-review (max 3 iterations).
19
- - End with a handoff that can point toward fixes, re-review, or `05-compound`.
19
+ - End with a handoff that can point toward fixes, re-review, or `05-learn`.
20
20
 
21
21
  ## Review discipline — technical evaluation
22
22
 
@@ -69,5 +69,5 @@ After QA:
69
69
  After review (and optional QA) is complete, hand off using `references/handoff.md`:
70
70
  1. Summarize all findings (code review + QA if run).
71
71
  2. Note fix commits if any were applied.
72
- 3. Recommend `05-compound` if learnings are worth capturing.
72
+ 3. Recommend `05-learn` if learnings are worth capturing.
73
73
  4. Recommend `03-work` if fixes need further implementation.
@@ -6,7 +6,7 @@ When the review is complete:
6
6
  2. State whether fixes or re-review are needed.
7
7
  3. If findings are **autofixable**, apply the fixes and re-review the changes.
8
8
  4. After autofix, report what was changed and whether re-review confirms the fix.
9
- 5. Recommend `05-compound` when the review surfaced a reusable learning or newly solved problem.
9
+ 5. Recommend `05-learn` when the review surfaced a reusable learning or newly solved problem.
10
10
  6. Mention any relevant plan or solution artifacts referenced during review.
11
11
 
12
12
  ## Autofix loop
@@ -1,9 +1,9 @@
1
1
  ---
2
- name: 05-compound
2
+ name: 05-learn
3
3
  description: Capture solved problems as reusable solution artifacts.
4
4
  ---
5
5
 
6
- # Compound
6
+ # Learn
7
7
 
8
8
  Use this skill after solving a problem so the repository gains a reusable learning in `docs/solutions/`.
9
9
 
@@ -34,4 +34,4 @@ Use this skill when the user wants to know what to run next in the Compound Engi
34
34
  - `02-plan` — turn requirements into implementation units
35
35
  - `03-work` — execute the plan
36
36
  - `04-review` — review changes with structured findings
37
- - `05-compound` — capture learnings as solution artifacts
37
+ - `05-learn` — capture learnings as solution artifacts
@@ -26,18 +26,18 @@ If code changes have been made (detected by git diff) and no recent review exist
26
26
  - Recommend `04-review`
27
27
  - Reason: Implementation is done. Review the changes with structured findings.
28
28
 
29
- ## Rule 5: After review, compound
29
+ ## Rule 5: After review, learn
30
30
 
31
31
  If a review has been completed and `solutions.count` has not increased since the last workflow cycle:
32
- - Recommend `05-compound`
32
+ - Recommend `05-learn`
33
33
  - Reason: A review was completed. Capture key learnings as a durable solution artifact.
34
34
 
35
35
  ## Rule 6: All artifacts exist
36
36
 
37
37
  If brainstorm, plan, and solution all exist:
38
- - Recommend `05-compound` if no recent solution was added
38
+ - Recommend `05-learn` if no recent solution was added
39
39
  - Otherwise recommend `01-brainstorm` for a new cycle
40
- - Reason: A full loop may be complete. Either compound learnings or start a new cycle.
40
+ - Reason: A full loop may be complete. Either learn learnings or start a new cycle.
41
41
 
42
42
  ## Fallback
43
43
 
@@ -26,7 +26,7 @@ If `workflow_state` is not available, fall back to `bash` with `ls` and `find` t
26
26
  - If a recent brainstorm exists but there is no matching plan in `docs/plans/`, recommend `02-plan` next.
27
27
  - If a recent plan exists and implementation appears incomplete, recommend `03-work` next.
28
28
  - If code has changed after planning, recommend `04-review` next.
29
- - If a problem was just solved and there is no matching learning in `docs/solutions/`, recommend `05-compound` next.
29
+ - If a problem was just solved and there is no matching learning in `docs/solutions/`, recommend `05-learn` next.
30
30
  - If multiple artifacts exist, summarize them briefly and name the single best next step.
31
31
 
32
32
  ## Output format
@@ -13,7 +13,7 @@ Use this skill when the user asks how to use the package, which workflow step co
13
13
  - `02-plan` — use when requirements are clear enough to turn into implementation units. After planning, user can optionally run a CEO-style strategic review or strict review (error maps, failure modes, test diagrams).
14
14
  - `03-work` — use when there is a plan or a tightly scoped task ready for controlled execution.
15
15
  - `04-review` — use after code changes to produce structured findings. After code review, user can optionally extend to browser-based QA testing (find visual/functional bugs with agent-browser) and regression test generation.
16
- - `05-compound` — use after solving a problem so the repo gains a durable learning in `docs/solutions/`.
16
+ - `05-learn` — use after solving a problem so the repo gains a durable learning in `docs/solutions/`.
17
17
  - `08-status` — use when the user wants to know which artifact already exists and what the next workflow step should be.
18
18
 
19
19
  ## Recommended flow
@@ -29,7 +29,7 @@ Use this skill when the user asks how to use the package, which workflow step co
29
29
  4. Run `04-review` after implementation.
30
30
  - Optionally extend to **Browser QA** for visual and functional bug finding.
31
31
  - Or **Browser QA + Regression Tests** to also generate automated test coverage.
32
- 5. Capture key learnings with `05-compound`.
32
+ 5. Capture key learnings with `05-learn`.
33
33
  6. Use `08-status` at any point to inspect repo-local workflow state.
34
34
 
35
35
  ## Output
@@ -4,6 +4,6 @@
4
4
  2. `02-plan` → break it into concrete units (optionally + CEO Review / Strict Review)
5
5
  3. `03-work` → execute the plan
6
6
  4. `04-review` → inspect the changes (optionally + Browser QA / QA + Regression Tests)
7
- 5. `05-compound` → save key learnings
7
+ 5. `05-learn` → save key learnings
8
8
 
9
9
  Use `08-status` at any point to see where you are.