gentle-pi 0.2.7 → 0.3.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 +43 -13
- package/assets/orchestrator.md +13 -4
- package/extensions/gentle-ai.ts +274 -119
- package/extensions/sdd-init.ts +7 -0
- package/lib/sdd-preflight.ts +253 -0
- package/package.json +2 -1
- package/scripts/verify-package-files.mjs +1 -0
- package/tests/runtime-harness.mjs +277 -3
package/README.md
CHANGED
|
@@ -81,7 +81,7 @@ Then start Pi in a project:
|
|
|
81
81
|
pi
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
`gentle-pi` waits until the first SDD request in a session, then runs a one-time SDD preflight and installs local SDD assets without overwriting your edits.
|
|
85
85
|
|
|
86
86
|
## Quick start
|
|
87
87
|
|
|
@@ -147,9 +147,9 @@ For substantial work, the parent session coordinates the flow and each phase wri
|
|
|
147
147
|
- verification reports;
|
|
148
148
|
- archive notes for future agents.
|
|
149
149
|
|
|
150
|
-
##
|
|
150
|
+
## SDD preflight and project files
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
`gentle-pi` does not interrupt every new session. Slash SDD flows such as `/sdd-*`, `/sdd-init`, and the explicit `/gentle-ai:sdd-preflight` command run a lazy preflight, ask for session-scoped SDD preferences, and then copy these assets if they are missing. For natural-language requests, the parent agent decides whether the work should use SDD and must run/reuse `/gentle-ai:sdd-preflight` before continuing.
|
|
153
153
|
|
|
154
154
|
```text
|
|
155
155
|
.pi/agents/sdd-*.md
|
|
@@ -158,12 +158,26 @@ On Pi `session_start`, `gentle-pi` copies these assets if they are missing:
|
|
|
158
158
|
.pi/gentle-ai/support/strict-tdd-verify.md
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
The preflight choices are reused for later SDD flows in the same session:
|
|
162
|
+
|
|
163
|
+
- execution mode: `interactive` or `auto`;
|
|
164
|
+
- artifact store: `openspec`, or `engram`/`both` when callable memory tools are available;
|
|
165
|
+
- PR chaining strategy: `auto-forecast`, `ask-always`, `single-pr-default`, or `force-chained`;
|
|
166
|
+
- review budget line threshold.
|
|
167
|
+
|
|
161
168
|
It does **not** overwrite existing files unless you explicitly run:
|
|
162
169
|
|
|
163
170
|
```text
|
|
164
171
|
/gentle-ai:install-sdd --force
|
|
165
172
|
```
|
|
166
173
|
|
|
174
|
+
Manual preflight commands:
|
|
175
|
+
|
|
176
|
+
```text
|
|
177
|
+
/gentle-ai:sdd-preflight
|
|
178
|
+
/gentle:sdd-preflight
|
|
179
|
+
```
|
|
180
|
+
|
|
167
181
|
## Skill registry
|
|
168
182
|
|
|
169
183
|
`gentle-pi` keeps a local registry at:
|
|
@@ -246,7 +260,7 @@ Saved at:
|
|
|
246
260
|
|
|
247
261
|
Run `/reload` or start a new Pi session after switching persona.
|
|
248
262
|
|
|
249
|
-
## Model assignment
|
|
263
|
+
## Model and effort assignment
|
|
250
264
|
|
|
251
265
|
```text
|
|
252
266
|
/gentle:models
|
|
@@ -258,15 +272,15 @@ The modal discovers:
|
|
|
258
272
|
- user agents in `~/.pi/agent/agents/` and `~/.agents/`;
|
|
259
273
|
- built-in agents from `pi-subagents`.
|
|
260
274
|
|
|
261
|
-
Recommended model shape:
|
|
275
|
+
Recommended model/effort shape:
|
|
262
276
|
|
|
263
|
-
| Agent kind | Recommended model |
|
|
264
|
-
| -------------------------- | ---------------------------------------------------- |
|
|
265
|
-
| Explore, proposal, archive | Fast and cheap is usually enough. |
|
|
266
|
-
| Spec, design, tasks | Strong reasoning model. |
|
|
267
|
-
| Apply | Strong coding and tool-use model. |
|
|
268
|
-
| Verify / review | Strong fresh-context model. |
|
|
269
|
-
| Tiny utilities | Inherit active/default model unless they bottleneck. |
|
|
277
|
+
| Agent kind | Recommended model | Recommended effort (`thinking`) |
|
|
278
|
+
| -------------------------- | ---------------------------------------------------- | ------------------------------- |
|
|
279
|
+
| Explore, proposal, archive | Fast and cheap is usually enough. | `off` to `low` |
|
|
280
|
+
| Spec, design, tasks | Strong reasoning model. | `medium` to `high` |
|
|
281
|
+
| Apply | Strong coding and tool-use model. | `medium` to `high` |
|
|
282
|
+
| Verify / review | Strong fresh-context model. | `high` |
|
|
283
|
+
| Tiny utilities | Inherit active/default model unless they bottleneck. | `inherit` |
|
|
270
284
|
|
|
271
285
|
Saved at:
|
|
272
286
|
|
|
@@ -274,12 +288,28 @@ Saved at:
|
|
|
274
288
|
.pi/gentle-ai/models.json
|
|
275
289
|
```
|
|
276
290
|
|
|
291
|
+
Config shape (per agent):
|
|
292
|
+
|
|
293
|
+
```json
|
|
294
|
+
{
|
|
295
|
+
"sdd-design": {
|
|
296
|
+
"model": "anthropic/claude-sonnet-4",
|
|
297
|
+
"thinking": "high"
|
|
298
|
+
},
|
|
299
|
+
"sdd-archive": {
|
|
300
|
+
"model": "openai/gpt-5-mini"
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
Legacy string entries are still accepted and treated as `model`-only config.
|
|
306
|
+
|
|
277
307
|
## Commands
|
|
278
308
|
|
|
279
309
|
| Command | What it does |
|
|
280
310
|
| -------------------------------- | ------------------------------------------------------------ |
|
|
281
311
|
| `/gentle-ai:status` | Shows package, SDD asset, OpenSpec, and model config status. |
|
|
282
|
-
| `/gentle:models` | Opens model assignment UI.
|
|
312
|
+
| `/gentle:models` | Opens model + effort assignment UI. |
|
|
283
313
|
| `/gentle:persona` | Switches persona mode. |
|
|
284
314
|
| `/sdd-init` | Initializes or refreshes `openspec/config.yaml`. |
|
|
285
315
|
| `/gentle-ai:install-sdd` | Reinstalls SDD assets without overwriting local files. |
|
package/assets/orchestrator.md
CHANGED
|
@@ -177,16 +177,25 @@ proposal → spec ─┬→ tasks → apply → verify → archive
|
|
|
177
177
|
proposal → design ┘
|
|
178
178
|
```
|
|
179
179
|
|
|
180
|
-
##
|
|
180
|
+
## Lazy SDD Preflight
|
|
181
181
|
|
|
182
|
-
|
|
182
|
+
Do not ask SDD setup questions on session start. The first time the user initiates an SDD process in a Pi session, run the SDD preflight once and keep those choices for the rest of that session. Runtime trigger detection is intentionally deterministic: slash SDD flows and `/sdd-init` run preflight automatically; for natural-language requests, the parent/orchestrator decides semantically whether SDD is needed and must run/reuse `/gentle-ai:sdd-preflight` before continuing.
|
|
183
|
+
|
|
184
|
+
The preflight captures:
|
|
185
|
+
|
|
186
|
+
- execution mode: `interactive` or `auto`;
|
|
187
|
+
- artifact store: `openspec`, `engram`, or `both` when callable memory tools are available;
|
|
188
|
+
- chained PR strategy: `auto-forecast`, `ask-always`, `single-pr-default`, or `force-chained`;
|
|
189
|
+
- review budget in changed lines.
|
|
190
|
+
|
|
191
|
+
During that lazy preflight, the package should ensure SDD assets are present for `pi-subagents` without the user needing to remember setup commands. If assets are missing, install them non-destructively into:
|
|
183
192
|
|
|
184
193
|
```text
|
|
185
194
|
.pi/agents/sdd-*.md
|
|
186
195
|
.pi/chains/sdd-*.chain.md
|
|
187
196
|
```
|
|
188
197
|
|
|
189
|
-
Manual commands are recovery/debug paths, not the happy path.
|
|
198
|
+
Manual install commands are recovery/debug paths, not the happy path. `/gentle-ai:sdd-preflight` and `/gentle:sdd-preflight` are the explicit preflight commands for agent/orchestrator use. If the user explicitly changes SDD preferences later in the same session, follow the new instruction.
|
|
190
199
|
|
|
191
200
|
## Init Guard
|
|
192
201
|
|
|
@@ -220,7 +229,7 @@ When Engram or another callable memory package is available, the parent owns mem
|
|
|
220
229
|
|
|
221
230
|
## Execution Mode
|
|
222
231
|
|
|
223
|
-
|
|
232
|
+
Use the session's SDD preflight choice:
|
|
224
233
|
|
|
225
234
|
- `interactive`: default, pause between major phases and ask whether to continue.
|
|
226
235
|
- `auto`: run phases back-to-back when the user explicitly wants speed and trusts the flow.
|