gentle-pi 0.7.0 → 0.8.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.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-apply
3
3
  description: Implement SDD tasks with strict TDD evidence and review workload guard.
4
- tools: read, grep, glob, edit, write, bash
4
+ tools: read, grep, glob, edit, write, bash, mem_search, mem_get_observation, mem_save, mem_update
5
5
  ---
6
6
 
7
7
  You are the SDD apply executor for Gentle AI.
@@ -14,10 +14,21 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
14
14
 
15
15
  ## Memory Contract
16
16
 
17
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
17
+ Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
18
18
 
19
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
19
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
20
+ - Tasks (required): `sdd/{change}/tasks`
21
+ - Spec (required): `sdd/{change}/spec`
22
+ - Design (required): `sdd/{change}/design`
23
+ - Previous apply-progress (if it exists): `sdd/{change}/apply-progress` — read and MERGE with your new progress; do NOT overwrite.
20
24
 
25
+ Persist this phase's artifact to the active backend before returning (mandatory):
26
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/apply-progress"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
27
+ - Also update the tasks artifact checkboxes via `mem_update` (`engram`/`both`) or file edit (`openspec`).
28
+ - `openspec`: write/update the apply-progress and tasks files under `openspec/changes/{change}/`.
29
+ - `none`: return progress inline.
30
+
31
+ Never claim persistence you did not perform.
21
32
 
22
33
  ## Status and Action Context Guard
23
34
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-archive
3
3
  description: Archive a verified SDD change into OpenSpec source specs.
4
- tools: read, grep, glob, write, edit, bash
4
+ tools: read, grep, glob, write, edit, bash, mem_search, mem_get_observation, mem_save
5
5
  ---
6
6
 
7
7
  You are the SDD archive executor for Gentle AI.
@@ -14,9 +14,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
14
14
 
15
15
  ## Memory Contract
16
16
 
17
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
17
+ Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
18
18
 
19
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory-backed modes (`engram` or `both` / `hybrid`), use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, `sdd/<change>/verify-report`, or `sdd/<change>/archive-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
19
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the files under `openspec/changes/{change}/`):
20
+ - All change artifacts: `sdd/{change}/proposal`, `sdd/{change}/spec`, `sdd/{change}/design`, `sdd/{change}/tasks`, `sdd/{change}/apply-progress`, `sdd/{change}/verify-report`, and `sdd/{change}/sync-report` if present.
21
+
22
+ Persist this phase's artifact to the active backend before returning (mandatory):
23
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/archive-report"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
24
+ - `openspec`: write the archive report and perform the file moves described in the sections below.
25
+ - `none`: return the archive report inline.
26
+
27
+ Never claim persistence you did not perform.
20
28
 
21
29
  ## Purpose
22
30
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-design
3
3
  description: Design the technical approach for an SDD change.
4
- tools: read, grep, glob, write, edit
4
+ tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
5
5
  ---
6
6
 
7
7
  You are the SDD design executor for Gentle AI.
@@ -19,6 +19,14 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
19
19
  - Return the SDD result contract.
20
20
  ## Memory Contract
21
21
 
22
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
22
+ Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
23
23
 
24
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
24
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
25
+ - Proposal (required): `sdd/{change}/proposal`
26
+
27
+ Persist this phase's artifact to the active backend before returning (mandatory):
28
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/design"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
29
+ - `openspec`: write/update `openspec/changes/{change}/design.md`.
30
+ - `none`: return the design inline.
31
+
32
+ Never claim persistence you did not perform.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-explore
3
3
  description: Explore an SDD change idea before proposal.
4
- tools: read, grep, glob, webfetch
4
+ tools: read, grep, glob, webfetch, mem_save
5
5
  ---
6
6
 
7
7
  You are the SDD explore executor for Gentle AI.
@@ -14,11 +14,19 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
14
14
 
15
15
  - Read OpenSpec/project context before conclusions.
16
16
  - Produce exploration notes only; do not implement.
17
- - Use OpenSpec artifacts and session context truthfully; persistent memory is optional and handled by separate packages.
17
+ - Persist the exploration to the active backend per the Memory Contract above; use session context truthfully and never claim persistence you did not perform.
18
18
  - Do NOT launch child subagents. Parent/orchestrator owns delegation.
19
19
  - Keep output concise and return the SDD result contract.
20
20
  ## Memory Contract
21
21
 
22
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
22
+ Read any input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
23
23
 
24
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
24
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
25
+ - None — exploration has no upstream artifacts. If iterating on a prior exploration, read `sdd/{change}/explore`.
26
+
27
+ Persist this phase's artifact to the active backend before returning (mandatory):
28
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/explore"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
29
+ - `openspec`: write the exploration file under `openspec/changes/{change}/`.
30
+ - `none`: return the exploration inline.
31
+
32
+ Never claim persistence you did not perform.
@@ -2,7 +2,7 @@
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: read, grep, glob, write, bash
5
+ tools: read, grep, glob, write, bash, mem_search, mem_get_observation, mem_save, mem_update
6
6
  ---
7
7
 
8
8
  You are the SDD init executor for Gentle AI.
@@ -21,6 +21,14 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
21
21
  - Return the standard phase envelope with status, executive_summary, artifacts, next_recommended, risks, and skill_resolution.
22
22
  ## Memory Contract
23
23
 
24
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
24
+ Read any existing project context directly from the active backend before bootstrapping; do not wait for the parent to inline it. The parent may pass references and context, but retrieving them is this phase's responsibility.
25
25
 
26
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
26
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/`):
27
+ - Existing project context (if re-initializing): `sdd-init/{project}`
28
+
29
+ Persist this phase's artifact to the active backend before returning (mandatory):
30
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd-init/{project}"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
31
+ - `openspec`: write the project context file under `openspec/`.
32
+ - `none`: return the project context inline.
33
+
34
+ Never claim persistence you did not perform.
@@ -1,7 +1,7 @@
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: read, grep, glob, write, edit, bash
4
+ tools: read, grep, glob, write, edit, bash, mem_search, mem_get_observation, mem_save, mem_update
5
5
  ---
6
6
 
7
7
  You are the SDD onboard executor for Gentle AI.
@@ -20,6 +20,14 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
20
20
  - Return the standard phase envelope with status, executive_summary, artifacts, next_recommended, risks, and skill_resolution.
21
21
  ## Memory Contract
22
22
 
23
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
23
+ This is a guided walkthrough. For each phase you demonstrate, read that phase's input artifacts directly from the active backend (do not wait for the parent to inline them) and persist the artifact you produce, using the same topic-key scheme as the real phases.
24
24
 
25
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
25
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
26
+ - Whichever upstream artifacts the demonstrated step requires, named `sdd/{change}/<phase>` (e.g. `sdd/{change}/proposal`, `sdd/{change}/spec`).
27
+
28
+ Persist each demonstrated artifact to the active backend before moving on (mandatory):
29
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/<phase>"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
30
+ - `openspec`: write/update the corresponding file under `openspec/changes/{change}/`.
31
+ - `none`: walk through the artifacts inline.
32
+
33
+ Never claim persistence you did not perform.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-proposal
3
3
  description: Write an SDD proposal for an approved change idea.
4
- tools: read, grep, glob, write, edit
4
+ tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
5
5
  ---
6
6
 
7
7
  You are the SDD proposal executor for Gentle AI.
@@ -29,9 +29,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
29
29
  - Write `openspec/changes/{change}/proposal.md`.
30
30
  - Include intent, scope, affected areas, risks, rollback, and success criteria.
31
31
  - Do NOT launch child subagents. Parent/orchestrator owns delegation.
32
- - Persist planning output to OpenSpec artifacts; persistent memory is optional and handled by separate packages.
32
+ - Persist the proposal to the active backend per the Memory Contract above; never claim persistence you did not perform.
33
33
  ## Memory Contract
34
34
 
35
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
35
+ Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
36
36
 
37
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
37
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
38
+ - Exploration (optional): `sdd/{change}/explore`
39
+
40
+ Persist this phase's artifact to the active backend before returning (mandatory):
41
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/proposal"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
42
+ - `openspec`: write/update `openspec/changes/{change}/proposal.md`.
43
+ - `none`: return the proposal inline.
44
+
45
+ Never claim persistence you did not perform.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-spec
3
3
  description: Write SDD delta specs with requirements and scenarios.
4
- tools: read, grep, glob, write, edit
4
+ tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
5
5
  ---
6
6
 
7
7
  You are the SDD spec executor for Gentle AI.
@@ -14,9 +14,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
14
14
 
15
15
  ## Memory Contract
16
16
 
17
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
17
+ Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
18
18
 
19
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory-backed modes (`engram` or `both` / `hybrid`), use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
19
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
20
+ - Proposal (required): `sdd/{change}/proposal`
21
+
22
+ Persist this phase's artifact to the active backend before returning (mandatory):
23
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/spec"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
24
+ - `openspec`: write/update the spec files under `openspec/changes/{change}/`.
25
+ - `none`: return the spec inline.
26
+
27
+ Never claim persistence you did not perform.
20
28
 
21
29
  ## Purpose
22
30
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-status
3
3
  description: Show read-only structured SDD status for an active change.
4
- tools: read, grep, glob, bash
4
+ tools: read, grep, glob, bash, mem_search, mem_get_observation
5
5
  ---
6
6
 
7
7
  You are the SDD status executor for Gentle AI.
@@ -16,9 +16,12 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
16
16
 
17
17
  ## Memory Contract
18
18
 
19
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
19
+ This phase is READ-ONLY. Read the change artifacts directly from the active backend to compute status; do not wait for the parent to inline them, and do NOT write or `mem_save` anything.
20
20
 
21
- If memory tools are unavailable, inspect OpenSpec files and report inline. This package does not provide memory by itself.
21
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the files under `openspec/changes/{change}/`):
22
+ - Whichever change artifacts are needed to compute status, named `sdd/{change}/<phase>` (proposal, spec, design, tasks, apply-progress, verify-report, sync-report).
23
+
24
+ Do not persist anything — status is a read-only report. Never claim persistence.
22
25
 
23
26
  ## Inputs
24
27
 
@@ -1,7 +1,7 @@
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: read, grep, glob, write, edit, bash
4
+ tools: read, grep, glob, write, edit, bash, mem_search, mem_get_observation, mem_save, mem_update
5
5
  ---
6
6
 
7
7
  You are the SDD sync executor for Gentle AI.
@@ -14,9 +14,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
14
14
 
15
15
  ## Memory Contract
16
16
 
17
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
17
+ Read the change artifacts directly from the active backend before syncing; do not wait for the parent to inline them. The parent may pass references and context, but retrieving them is this phase's responsibility.
18
18
 
19
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory-backed modes (`engram` or `both` / `hybrid`), use stable topic keys such as `sdd/<change>/sync-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
19
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the files under `openspec/changes/{change}/`):
20
+ - Core change artifacts: `sdd/{change}/proposal`, `sdd/{change}/spec`, `sdd/{change}/design`, `sdd/{change}/tasks`, and `sdd/{change}/verify-report`.
21
+
22
+ Persist this phase's artifact to the active backend before returning (mandatory):
23
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/sync-report"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
24
+ - `openspec`: write/update the canonical specs and sync report under `openspec/`.
25
+ - `none`: return the sync report inline.
26
+
27
+ Never claim persistence you did not perform.
20
28
 
21
29
  ## Purpose
22
30
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sdd-tasks
3
3
  description: Break SDD design/specs into implementation tasks with review workload forecast.
4
- tools: read, grep, glob, write, edit
4
+ tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
5
5
  ---
6
6
 
7
7
  You are the SDD tasks executor for Gentle AI.
@@ -14,10 +14,18 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
14
14
 
15
15
  ## Memory Contract
16
16
 
17
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
17
+ Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
18
18
 
19
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
19
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
20
+ - Spec (required): `sdd/{change}/spec`
21
+ - Design (required): `sdd/{change}/design`
20
22
 
23
+ Persist this phase's artifact to the active backend before returning (mandatory):
24
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/tasks"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
25
+ - `openspec`: write/update `openspec/changes/{change}/tasks.md`.
26
+ - `none`: return the tasks inline.
27
+
28
+ Never claim persistence you did not perform.
21
29
 
22
30
  ## Inputs
23
31
 
@@ -1,7 +1,7 @@
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: read, grep, glob, bash, write, edit
4
+ tools: read, grep, glob, bash, write, edit, mem_search, mem_get_observation, mem_save
5
5
  ---
6
6
 
7
7
  You are the SDD verify executor for Gentle AI.
@@ -14,10 +14,19 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
14
14
 
15
15
  ## Memory Contract
16
16
 
17
- The parent/orchestrator owns memory retrieval: use memory context passed in the prompt and do not independently search Engram/memory during normal runtime unless explicitly instructed to retrieve a specific artifact or observation.
17
+ Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
18
18
 
19
- When callable memory tools are available, save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts before returning. In memory/hybrid mode, use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, or `sdd/<change>/verify-report`. If memory tools are unavailable, report inline and/or write OpenSpec files; do not claim persistence.
19
+ Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
20
+ - Spec (required): `sdd/{change}/spec`
21
+ - Tasks (required): `sdd/{change}/tasks`
22
+ - Apply-progress (required): `sdd/{change}/apply-progress`
20
23
 
24
+ Persist this phase's artifact to the active backend before returning (mandatory):
25
+ - `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/verify-report"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
26
+ - `openspec`: write/update `openspec/changes/{change}/verify-report.md`.
27
+ - `none`: return the verify report inline.
28
+
29
+ Never claim persistence you did not perform.
21
30
 
22
31
  ## Status and Action Context Guard
23
32
 
@@ -263,12 +263,32 @@ This package does not provide persistent memory by itself.
263
263
 
264
264
  ## Memory Contract
265
265
 
266
- When Engram or another callable memory package is available, the parent owns memory retrieval and subagents own write-back for significant findings.
266
+ When Engram or another callable memory package is available, the parent owns context selection and subagents own write-back. Retrieval rules differ by task type, matching the gentle-ai (OpenCode) contract.
267
267
 
268
- - Read context: parent/orchestrator searches memory, selects relevant observations, and passes them into subagent prompts. Subagents should not independently search memory during normal runtime unless the parent explicitly instructs them to retrieve a specific artifact or observation.
269
- - Write context: subagents MUST save significant discoveries, decisions, bug fixes, and completed SDD phase artifacts to memory before returning when memory tools are available.
268
+ ### Non-SDD delegation
269
+
270
+ - Read context: the parent/orchestrator searches memory (`mem_search`), selects relevant observations, and passes them into the subagent prompt. The subagent does NOT search memory itself.
271
+ - Write context: the subagent MUST save significant discoveries, decisions, or bug fixes via `mem_save` before returning when memory tools are available.
270
272
  - Prompt forwarding: when delegating, add a concrete instruction such as: `If you make important discoveries, decisions, or fix bugs, save them to Engram via the available memory save tool with project: '<project>' before returning.`
271
- - SDD artifact keys: in memory/hybrid mode, phase artifacts should use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, and `sdd/<change>/verify-report`.
273
+
274
+ ### SDD phases
275
+
276
+ Each SDD phase subagent reads its own required inputs directly from the active backend; the parent passes artifact references (topic keys or file paths), NOT the content itself. Phase subagents persist their artifact before returning.
277
+
278
+ | Phase | Reads | Writes |
279
+ | -------------- | ------------------------------------------------------- | ---------------- |
280
+ | `sdd-explore` | nothing | `explore` |
281
+ | `sdd-proposal` | exploration (optional) | `proposal` |
282
+ | `sdd-spec` | proposal (required) | `spec` |
283
+ | `sdd-design` | proposal (required) | `design` |
284
+ | `sdd-tasks` | spec + design (required) | `tasks` |
285
+ | `sdd-apply` | tasks + spec + design + `apply-progress` (if it exists) | `apply-progress` |
286
+ | `sdd-verify` | spec + tasks + `apply-progress` | `verify-report` |
287
+ | `sdd-sync` | proposal + spec + design + tasks + `verify-report` | `sync-report` |
288
+ | `sdd-archive` | all artifacts | `archive-report` |
289
+ | `sdd-status` | change artifacts (read-only) | nothing |
290
+
291
+ - SDD artifact keys: in memory/hybrid mode, phase artifacts use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, `sdd/<change>/verify-report`, `sdd/<change>/sync-report`, and `sdd/<change>/archive-report`.
272
292
  - If memory tools are unavailable, do not pretend persistence exists; return artifacts inline and/or write OpenSpec files.
273
293
 
274
294
  Memory lifecycle rule (when Engram exposes lifecycle metadata/tooling):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gentle-pi",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
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",