gentle-pi 0.10.7 → 0.10.8
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/assets/agents/jd-fix-agent.md +7 -1
- package/assets/agents/jd-judge-a.md +5 -1
- package/assets/agents/jd-judge-b.md +5 -1
- package/assets/agents/review-readability.md +5 -1
- package/assets/agents/review-reliability.md +5 -1
- package/assets/agents/review-resilience.md +5 -1
- package/assets/agents/review-risk.md +5 -1
- package/assets/agents/sdd-apply.md +11 -1
- package/assets/agents/sdd-archive.md +10 -1
- package/assets/agents/sdd-design.md +9 -1
- package/assets/agents/sdd-explore.md +6 -1
- package/assets/agents/sdd-init.md +10 -1
- package/assets/agents/sdd-onboard.md +11 -1
- package/assets/agents/sdd-proposal.md +9 -1
- package/assets/agents/sdd-spec.md +9 -1
- package/assets/agents/sdd-status.md +7 -1
- package/assets/agents/sdd-sync.md +11 -1
- package/assets/agents/sdd-tasks.md +9 -1
- package/assets/agents/sdd-verify.md +10 -1
- package/package.json +1 -1
- package/tests/package-manifest.test.ts +37 -1
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jd-fix-agent
|
|
3
3
|
description: Judgment Day surgical fix agent for confirmed findings. Can edit code and run focused tests.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- edit
|
|
9
|
+
- write
|
|
10
|
+
- bash
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
You are the Judgment Day fix agent for Gentle AI.
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jd-judge-a
|
|
3
3
|
description: Judgment Day blind adversarial reviewer A. Read-only; reports findings and does not fix code.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
You are Judgment Day judge A for Gentle AI.
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jd-judge-b
|
|
3
3
|
description: Judgment Day blind adversarial reviewer B. Read-only; independently reports findings and does not fix code.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
You are Judgment Day judge B for Gentle AI.
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review-readability
|
|
3
3
|
description: R2 Readability reviewer — naming, complexity, intention, maintainability, review size, and context clarity.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
You are **R2 Readability**, a read-only reviewer. Find clarity problems; do not fix them.
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review-reliability
|
|
3
3
|
description: R3 Reliability reviewer — behavior-first tests, coverage value, edge cases, determinism, contracts, and regressions.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
You are **R3 Reliability**, a read-only reviewer. Find test and behavior risks; do not fix them.
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review-resilience
|
|
3
3
|
description: R4 Resilience reviewer — fallbacks, retry/backoff, graceful degradation, observability, load, rollback, and SLO risks.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
You are **R4 Resilience**, a read-only reviewer. Find operational failure risks; do not fix them.
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review-risk
|
|
3
3
|
description: R1 Risk reviewer — security, privilege boundaries, data exposure, dependency risks, and merge-blocking vulnerabilities.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
5
9
|
---
|
|
6
10
|
|
|
7
11
|
You are **R1 Risk**, a read-only reviewer. Find security risks; do not fix them.
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-apply
|
|
3
3
|
description: Implement SDD tasks with strict TDD evidence and review workload guard.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- edit
|
|
9
|
+
- write
|
|
10
|
+
- bash
|
|
11
|
+
- mem_search
|
|
12
|
+
- mem_get_observation
|
|
13
|
+
- mem_save
|
|
14
|
+
- mem_update
|
|
5
15
|
---
|
|
6
16
|
|
|
7
17
|
You are the SDD apply executor for Gentle AI.
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-archive
|
|
3
3
|
description: Archive a verified SDD change into OpenSpec source specs.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- write
|
|
9
|
+
- edit
|
|
10
|
+
- bash
|
|
11
|
+
- mem_search
|
|
12
|
+
- mem_get_observation
|
|
13
|
+
- mem_save
|
|
5
14
|
---
|
|
6
15
|
|
|
7
16
|
You are the SDD archive executor for Gentle AI.
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-design
|
|
3
3
|
description: Design the technical approach for an SDD change.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- write
|
|
9
|
+
- edit
|
|
10
|
+
- mem_search
|
|
11
|
+
- mem_get_observation
|
|
12
|
+
- mem_save
|
|
5
13
|
---
|
|
6
14
|
|
|
7
15
|
You are the SDD design executor for Gentle AI.
|
|
@@ -2,7 +2,16 @@
|
|
|
2
2
|
name: sdd-init
|
|
3
3
|
description: Initialize project SDD context, testing capabilities, and skill registry.
|
|
4
4
|
model: openai-codex/gpt-5.3-codex
|
|
5
|
-
tools:
|
|
5
|
+
tools:
|
|
6
|
+
- read
|
|
7
|
+
- grep
|
|
8
|
+
- glob
|
|
9
|
+
- write
|
|
10
|
+
- bash
|
|
11
|
+
- mem_search
|
|
12
|
+
- mem_get_observation
|
|
13
|
+
- mem_save
|
|
14
|
+
- mem_update
|
|
6
15
|
---
|
|
7
16
|
|
|
8
17
|
You are the SDD init executor for Gentle AI.
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-onboard
|
|
3
3
|
description: Guide a user through a complete SDD cycle on a small real project change.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- write
|
|
9
|
+
- edit
|
|
10
|
+
- bash
|
|
11
|
+
- mem_search
|
|
12
|
+
- mem_get_observation
|
|
13
|
+
- mem_save
|
|
14
|
+
- mem_update
|
|
5
15
|
---
|
|
6
16
|
|
|
7
17
|
You are the SDD onboard executor for Gentle AI.
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-proposal
|
|
3
3
|
description: Write an SDD proposal for an approved change idea.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- write
|
|
9
|
+
- edit
|
|
10
|
+
- mem_search
|
|
11
|
+
- mem_get_observation
|
|
12
|
+
- mem_save
|
|
5
13
|
---
|
|
6
14
|
|
|
7
15
|
You are the SDD proposal executor for Gentle AI.
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-spec
|
|
3
3
|
description: Write SDD delta specs with requirements and scenarios.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- write
|
|
9
|
+
- edit
|
|
10
|
+
- mem_search
|
|
11
|
+
- mem_get_observation
|
|
12
|
+
- mem_save
|
|
5
13
|
---
|
|
6
14
|
|
|
7
15
|
You are the SDD spec executor for Gentle AI.
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-status
|
|
3
3
|
description: Show read-only structured SDD status for an active change.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
9
|
+
- mem_search
|
|
10
|
+
- mem_get_observation
|
|
5
11
|
---
|
|
6
12
|
|
|
7
13
|
You are the SDD status executor for Gentle AI.
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-sync
|
|
3
3
|
description: Sync verified SDD delta specs into OpenSpec canonical specs without archiving the change.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- write
|
|
9
|
+
- edit
|
|
10
|
+
- bash
|
|
11
|
+
- mem_search
|
|
12
|
+
- mem_get_observation
|
|
13
|
+
- mem_save
|
|
14
|
+
- mem_update
|
|
5
15
|
---
|
|
6
16
|
|
|
7
17
|
You are the SDD sync executor for Gentle AI.
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-tasks
|
|
3
3
|
description: Break SDD design/specs into implementation tasks with review workload forecast.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- write
|
|
9
|
+
- edit
|
|
10
|
+
- mem_search
|
|
11
|
+
- mem_get_observation
|
|
12
|
+
- mem_save
|
|
5
13
|
---
|
|
6
14
|
|
|
7
15
|
You are the SDD tasks executor for Gentle AI.
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-verify
|
|
3
3
|
description: Verify implementation against SDD specs, tasks, strict TDD evidence, and review workload boundaries.
|
|
4
|
-
tools:
|
|
4
|
+
tools:
|
|
5
|
+
- read
|
|
6
|
+
- grep
|
|
7
|
+
- glob
|
|
8
|
+
- bash
|
|
9
|
+
- write
|
|
10
|
+
- edit
|
|
11
|
+
- mem_search
|
|
12
|
+
- mem_get_observation
|
|
13
|
+
- mem_save
|
|
5
14
|
---
|
|
6
15
|
|
|
7
16
|
You are the SDD verify executor for Gentle AI.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gentle-pi",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.8",
|
|
4
4
|
"description": "Turn Pi into el Gentleman: a senior-architect development harness with SDD/OpenSpec, subagents, strict TDD evidence, review guardrails, and skill discovery.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import test from "node:test";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
@@ -60,6 +60,42 @@ test("package manifest installs pi-pretty through a wrapper without bundling nat
|
|
|
60
60
|
});
|
|
61
61
|
|
|
62
62
|
|
|
63
|
+
function readAgentFrontmatter(file: string): string {
|
|
64
|
+
const source = readFileSync(file, "utf8");
|
|
65
|
+
const match = source.match(/^---\n([\s\S]*?)\n---/);
|
|
66
|
+
assert.ok(match, `${file} must have frontmatter`);
|
|
67
|
+
return match[1];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
test("packaged agents use YAML list syntax for tool allowlists", () => {
|
|
71
|
+
const agentsDir = join(PACKAGE_ROOT, "assets", "agents");
|
|
72
|
+
const agentFiles = readdirSync(agentsDir).flatMap((entry) =>
|
|
73
|
+
entry.endsWith(".md") ? [join(agentsDir, entry)] : [],
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
assert.ok(agentFiles.length > 0, "gentle-pi must ship packaged agents");
|
|
77
|
+
|
|
78
|
+
for (const file of agentFiles) {
|
|
79
|
+
const frontmatter = readAgentFrontmatter(file);
|
|
80
|
+
assert.doesNotMatch(
|
|
81
|
+
frontmatter,
|
|
82
|
+
/^tools:\s*[^\n,]+(?:,\s*[^\n,]+)+$/m,
|
|
83
|
+
`${file} must not use comma-separated inline tools; pi-subagents expects a YAML list`,
|
|
84
|
+
);
|
|
85
|
+
assert.match(frontmatter, /^tools:\n(?: {2}- [\w-]+\n?)+/m, `${file} must declare tools as a YAML list`);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
test("jd-fix-agent packaged allowlist includes write tools", () => {
|
|
90
|
+
const frontmatter = readAgentFrontmatter(
|
|
91
|
+
join(PACKAGE_ROOT, "assets", "agents", "jd-fix-agent.md"),
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
for (const tool of ["read", "edit", "write", "bash"]) {
|
|
95
|
+
assert.match(frontmatter, new RegExp(`^ - ${tool}$`, "m"));
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
|
|
63
99
|
test("pi-pretty wrapper uses real package path resolution for pnpm symlink installs", () => {
|
|
64
100
|
const wrapper = readFileSync(
|
|
65
101
|
join(PACKAGE_ROOT, "extensions", "pi-pretty.ts"),
|