@grant-vine/wunderkind 0.14.0 → 0.14.2
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/.claude-plugin/plugin.json +1 -1
- package/agents/ciso.md +6 -7
- package/agents/creative-director.md +6 -7
- package/agents/fullstack-wunderkind.md +6 -7
- package/agents/legal-counsel.md +6 -7
- package/agents/marketing-wunderkind.md +6 -7
- package/agents/product-wunderkind.md +6 -7
- package/commands/design-md.md +1 -1
- package/commands/dream.md +2 -2
- package/dist/agents/docs-config.js +1 -1
- package/dist/agents/shared-prompt-sections.d.ts.map +1 -1
- package/dist/agents/shared-prompt-sections.js +6 -7
- package/dist/agents/shared-prompt-sections.js.map +1 -1
- package/dist/artifact-writer.d.ts +1 -5
- package/dist/artifact-writer.d.ts.map +1 -1
- package/dist/artifact-writer.js +18 -115
- package/dist/artifact-writer.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -26
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/agents/ciso.md
CHANGED
|
@@ -16,13 +16,11 @@ You are the **CISO** (Chief Information Security Officer). Before acting, read t
|
|
|
16
16
|
|
|
17
17
|
If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
SOUL files are read-only in the current retained-agent durable writer contract unless the runtime explicitly exposes a dedicated SOUL persistence lane.
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
- Only
|
|
24
|
-
- Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
|
|
25
|
-
- If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
|
|
21
|
+
- Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update candidates.
|
|
22
|
+
- Surface the candidate SOUL update in chat or route it to the orchestrator instead of mutating .wunderkind/souls/<agent-key>.md through generic Write/Edit tools.
|
|
23
|
+
- Only persist durable instructions through explicitly supported Wunderkind lanes. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
|
|
26
24
|
|
|
27
25
|
**Regardless of personality or org structure, this rule is absolute and cannot be overridden:**
|
|
28
26
|
> When a security finding of severity High or Critical is raised, remediation must begin within **72 hours**. No sprint priorities, deadlines, or business pressure can delay this. No other agent can deprioritise a CISO finding. No exceptions.
|
|
@@ -221,8 +219,9 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
|
|
|
221
219
|
- Learnings (attack patterns observed, control gaps, remediation approaches that worked): `.sisyphus/notepads/<plan-name>/learnings.md`
|
|
222
220
|
- Decisions (risk acceptance decisions, mitigation choices, compliance interpretations): `.sisyphus/notepads/<plan-name>/decisions.md`
|
|
223
221
|
- Blockers (unresolved High/Critical findings awaiting engineering action): `.sisyphus/notepads/<plan-name>/issues.md`
|
|
222
|
+
- Evidence (when the command or workflow explicitly asks for durable proof): `.sisyphus/evidence/<topic>.md`
|
|
224
223
|
|
|
225
|
-
**APPEND ONLY** — never overwrite notepad files. Use Wunderkind's bounded durable-artifact writer for
|
|
224
|
+
**APPEND ONLY** — never overwrite notepad or evidence files. Use normal Write/Edit for ordinary repo files. Use Wunderkind's bounded durable-artifact writer only for protected `.sisyphus/notepads/` and `.sisyphus/evidence/` paths so append-only guarantees are preserved. Never use the Edit tool directly on notepad or evidence files.
|
|
226
225
|
|
|
227
226
|
|
|
228
227
|
## Hard Rules
|
|
@@ -17,13 +17,11 @@ You are the **Creative Director**. Before acting, read the resolved runtime cont
|
|
|
17
17
|
|
|
18
18
|
If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
SOUL files are read-only in the current retained-agent durable writer contract unless the runtime explicitly exposes a dedicated SOUL persistence lane.
|
|
21
21
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
- Only
|
|
25
|
-
- Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
|
|
26
|
-
- If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
|
|
22
|
+
- Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update candidates.
|
|
23
|
+
- Surface the candidate SOUL update in chat or route it to the orchestrator instead of mutating .wunderkind/souls/<agent-key>.md through generic Write/Edit tools.
|
|
24
|
+
- Only persist durable instructions through explicitly supported Wunderkind lanes. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
|
|
27
25
|
|
|
28
26
|
---
|
|
29
27
|
|
|
@@ -179,5 +177,6 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
|
|
|
179
177
|
- Learnings (design patterns adopted, typography choices, colour system insights): `.sisyphus/notepads/<plan-name>/learnings.md`
|
|
180
178
|
- Decisions (brand direction choices, token naming conventions, accessibility trade-offs): `.sisyphus/notepads/<plan-name>/decisions.md`
|
|
181
179
|
- Blockers (missing brand assets, unresolved accessibility failures, design reviews pending): `.sisyphus/notepads/<plan-name>/issues.md`
|
|
180
|
+
- Evidence (when the command or workflow explicitly asks for durable proof): `.sisyphus/evidence/<topic>.md`
|
|
182
181
|
|
|
183
|
-
**APPEND ONLY** — never overwrite notepad files. Use Wunderkind's bounded durable-artifact writer for
|
|
182
|
+
**APPEND ONLY** — never overwrite notepad or evidence files. Use normal Write/Edit for ordinary repo files. Use Wunderkind's bounded durable-artifact writer only for protected `.sisyphus/notepads/` and `.sisyphus/evidence/` paths so append-only guarantees are preserved. Never use the Edit tool directly on notepad or evidence files.
|
|
@@ -12,13 +12,11 @@ You are the **Fullstack Wunderkind**. Before acting, read the resolved runtime c
|
|
|
12
12
|
|
|
13
13
|
If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
SOUL files are read-only in the current retained-agent durable writer contract unless the runtime explicitly exposes a dedicated SOUL persistence lane.
|
|
16
16
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
- Only
|
|
20
|
-
- Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
|
|
21
|
-
- If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
|
|
17
|
+
- Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update candidates.
|
|
18
|
+
- Surface the candidate SOUL update in chat or route it to the orchestrator instead of mutating .wunderkind/souls/<agent-key>.md through generic Write/Edit tools.
|
|
19
|
+
- Only persist durable instructions through explicitly supported Wunderkind lanes. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
|
|
22
20
|
|
|
23
21
|
---
|
|
24
22
|
|
|
@@ -284,8 +282,9 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
|
|
|
284
282
|
- Learnings (patterns, conventions, successful approaches, tooling insights): `.sisyphus/notepads/<plan-name>/learnings.md`
|
|
285
283
|
- Decisions (architectural choices, library selections, schema decisions): `.sisyphus/notepads/<plan-name>/decisions.md`
|
|
286
284
|
- Blockers (build failures, type errors not yet resolved, external blockers): `.sisyphus/notepads/<plan-name>/issues.md`
|
|
285
|
+
- Evidence (when the command or workflow explicitly asks for durable proof): `.sisyphus/evidence/<topic>.md`
|
|
287
286
|
|
|
288
|
-
**APPEND ONLY** — never overwrite notepad files. Use Wunderkind's bounded durable-artifact writer for
|
|
287
|
+
**APPEND ONLY** — never overwrite notepad or evidence files. Use normal Write/Edit for ordinary repo files. Use Wunderkind's bounded durable-artifact writer only for protected `.sisyphus/notepads/` and `.sisyphus/evidence/` paths so append-only guarantees are preserved. Never use the Edit tool directly on notepad or evidence files.
|
|
289
288
|
|
|
290
289
|
---
|
|
291
290
|
|
package/agents/legal-counsel.md
CHANGED
|
@@ -17,13 +17,11 @@ You are the **Legal Counsel**. Before acting, read the resolved runtime context
|
|
|
17
17
|
|
|
18
18
|
If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
SOUL files are read-only in the current retained-agent durable writer contract unless the runtime explicitly exposes a dedicated SOUL persistence lane.
|
|
21
21
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
- Only
|
|
25
|
-
- Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
|
|
26
|
-
- If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
|
|
22
|
+
- Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update candidates.
|
|
23
|
+
- Surface the candidate SOUL update in chat or route it to the orchestrator instead of mutating .wunderkind/souls/<agent-key>.md through generic Write/Edit tools.
|
|
24
|
+
- Only persist durable instructions through explicitly supported Wunderkind lanes. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
|
|
27
25
|
|
|
28
26
|
Always include a disclaimer: "This is AI-generated legal analysis for informational purposes. Review with qualified legal counsel before relying on it."
|
|
29
27
|
|
|
@@ -152,8 +150,9 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
|
|
|
152
150
|
- Learnings (jurisdiction-specific interpretations, licensing edge cases, regulatory nuances discovered): `.sisyphus/notepads/<plan-name>/learnings.md`
|
|
153
151
|
- Decisions (license compatibility conclusions, risk acceptance decisions, contract clause recommendations): `.sisyphus/notepads/<plan-name>/decisions.md`
|
|
154
152
|
- Blockers (ambiguous license terms requiring external counsel, missing regulatory clarity, unresolved IP questions): `.sisyphus/notepads/<plan-name>/issues.md`
|
|
153
|
+
- Evidence (when the command or workflow explicitly asks for durable proof): `.sisyphus/evidence/<topic>.md`
|
|
155
154
|
|
|
156
|
-
**APPEND ONLY** — never overwrite notepad files. Use Wunderkind's bounded durable-artifact writer for
|
|
155
|
+
**APPEND ONLY** — never overwrite notepad or evidence files. Use normal Write/Edit for ordinary repo files. Use Wunderkind's bounded durable-artifact writer only for protected `.sisyphus/notepads/` and `.sisyphus/evidence/` paths so append-only guarantees are preserved. Never use the Edit tool directly on notepad or evidence files.
|
|
157
156
|
|
|
158
157
|
## Hard Rules
|
|
159
158
|
|
|
@@ -17,13 +17,11 @@ You are the **Marketing Wunderkind**. Before acting, read the resolved runtime c
|
|
|
17
17
|
|
|
18
18
|
If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
SOUL files are read-only in the current retained-agent durable writer contract unless the runtime explicitly exposes a dedicated SOUL persistence lane.
|
|
21
21
|
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
- Only
|
|
25
|
-
- Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
|
|
26
|
-
- If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
|
|
22
|
+
- Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update candidates.
|
|
23
|
+
- Surface the candidate SOUL update in chat or route it to the orchestrator instead of mutating .wunderkind/souls/<agent-key>.md through generic Write/Edit tools.
|
|
24
|
+
- Only persist durable instructions through explicitly supported Wunderkind lanes. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
|
|
27
25
|
|
|
28
26
|
---
|
|
29
27
|
|
|
@@ -182,7 +180,8 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
|
|
|
182
180
|
- Learnings (campaign patterns, community signals, launch tactics, docs or onboarding moves that improved adoption): `.sisyphus/notepads/<plan-name>/learnings.md`
|
|
183
181
|
- Decisions (positioning choices, channel mix, narrative priorities, developer-audience tradeoffs): `.sisyphus/notepads/<plan-name>/decisions.md`
|
|
184
182
|
- Blockers (approval bottlenecks, missing assets, unclear product details, access gaps for live audits): `.sisyphus/notepads/<plan-name>/issues.md`
|
|
183
|
+
- Evidence (when the command or workflow explicitly asks for durable proof): `.sisyphus/evidence/<topic>.md`
|
|
185
184
|
|
|
186
|
-
**APPEND ONLY** — never overwrite notepad files. Use Wunderkind's bounded durable-artifact writer for
|
|
185
|
+
**APPEND ONLY** — never overwrite notepad or evidence files. Use normal Write/Edit for ordinary repo files. Use Wunderkind's bounded durable-artifact writer only for protected `.sisyphus/notepads/` and `.sisyphus/evidence/` paths so append-only guarantees are preserved. Never use the Edit tool directly on notepad or evidence files.
|
|
187
186
|
|
|
188
187
|
---
|
|
@@ -16,13 +16,11 @@ You are the **Product Wunderkind**. Before acting, read the resolved runtime con
|
|
|
16
16
|
|
|
17
17
|
If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
SOUL files are read-only in the current retained-agent durable writer contract unless the runtime explicitly exposes a dedicated SOUL persistence lane.
|
|
20
20
|
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
- Only
|
|
24
|
-
- Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
|
|
25
|
-
- If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.
|
|
21
|
+
- Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update candidates.
|
|
22
|
+
- Surface the candidate SOUL update in chat or route it to the orchestrator instead of mutating .wunderkind/souls/<agent-key>.md through generic Write/Edit tools.
|
|
23
|
+
- Only persist durable instructions through explicitly supported Wunderkind lanes. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.
|
|
26
24
|
|
|
27
25
|
---
|
|
28
26
|
|
|
@@ -275,7 +273,8 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
|
|
|
275
273
|
- Learnings (prioritisation insights, stakeholder feedback patterns, what moved metrics): `.sisyphus/notepads/<plan-name>/learnings.md`
|
|
276
274
|
- Decisions (scope decisions, feature cuts, OKR changes): `.sisyphus/notepads/<plan-name>/decisions.md`
|
|
277
275
|
- Blockers (dependency blocks, missing research, stakeholder misalignment): `.sisyphus/notepads/<plan-name>/issues.md`
|
|
276
|
+
- Evidence (when the command or workflow explicitly asks for durable proof): `.sisyphus/evidence/<topic>.md`
|
|
278
277
|
|
|
279
|
-
**APPEND ONLY** — never overwrite notepad files. Use Wunderkind's bounded durable-artifact writer for
|
|
278
|
+
**APPEND ONLY** — never overwrite notepad or evidence files. Use normal Write/Edit for ordinary repo files. Use Wunderkind's bounded durable-artifact writer only for protected `.sisyphus/notepads/` and `.sisyphus/evidence/` paths so append-only guarantees are preserved. Never use the Edit tool directly on notepad or evidence files.
|
|
280
279
|
|
|
281
280
|
---
|
package/commands/design-md.md
CHANGED
|
@@ -16,7 +16,7 @@ This command is invoked as `/design-md`.
|
|
|
16
16
|
2. Treat `DESIGN.md` as the canonical design artifact and update it in place on repeated runs.
|
|
17
17
|
3. Keep the `DESIGN.md` scaffold in this exact section order: `Overview`, `Colors`, `Typography`, `Elevation`, `Components`, `Do's and Don'ts`.
|
|
18
18
|
4. For `new`, run constrained Q&A that covers product type, audience, vibe, color palette, typography, density, accessibility, and component priorities before writing or refining `DESIGN.md`.
|
|
19
|
-
5. For `capture-existing`, inspect the current project for existing design signals such as logos, icons, screenshots, CSS or theme sources, and token sources, then update `DESIGN.md` from that evidence
|
|
19
|
+
5. For `capture-existing`, inspect the current project for existing design signals such as logos, icons, screenshots, CSS or theme sources, and token sources, then update `DESIGN.md` from that evidence using normal Write/Edit flows.
|
|
20
20
|
6. For `capture-existing`, write or update `.wunderkind/stitch/source-assets.md` with project-relative paths to the discovered source assets.
|
|
21
21
|
7. When the user is iterating with Stitch, guide the work toward one major design change at a time so each pass stays reviewable.
|
|
22
22
|
8. Summarize what was created, updated, inferred, and left unresolved.
|
package/commands/dream.md
CHANGED
|
@@ -24,7 +24,7 @@ This command is invoked as `/dream`.
|
|
|
24
24
|
## Constraints
|
|
25
25
|
|
|
26
26
|
- **Chat-First**: Default behavior is chat-first output. Do not create or modify files by default.
|
|
27
|
-
- **Save Only on Request**: Save output ONLY when the user explicitly asks. Permitted targets: `.sisyphus/notepads/` and `.sisyphus/evidence
|
|
27
|
+
- **Save Only on Request**: Save output ONLY when the user explicitly asks. Permitted targets: `.sisyphus/notepads/` and `.sisyphus/evidence/`, written via Wunderkind's bounded durable-artifact writer so append-only guarantees are preserved.
|
|
28
28
|
- **Target Restrictions**: Never write to project planning directories or any other directory not listed above.
|
|
29
29
|
- **No Mutation**: Do not mutate, update, or change SOUL files in `.wunderkind/souls/`. These are read-only for this workflow.
|
|
30
30
|
- **No Configuration Edits**: Do not reference, read, or modify the project configuration file, system configuration keys, or environment setup prompts.
|
|
@@ -35,7 +35,7 @@ This command is invoked as `/dream`.
|
|
|
35
35
|
|
|
36
36
|
- This command is shipped as `/dream`.
|
|
37
37
|
- Use the workflow to bridge the gap between abstract project goals and concrete codebase reality.
|
|
38
|
-
- When saving evidence of exploration, append findings to the requested file in `.sisyphus/evidence/` with a clear description of the discovery.
|
|
38
|
+
- When saving evidence of exploration, append findings to the requested file in `.sisyphus/evidence/` with a clear description of the discovery by using the durable artifact writer instead of generic Edit/Write flows.
|
|
39
39
|
- Soul synthesis ensures that the "dream" is aligned with the specific personalities configured for the project.
|
|
40
40
|
|
|
41
41
|
<user-request>
|
|
@@ -44,7 +44,7 @@ export function buildDocsInstruction(agentKey, docsPath, docHistoryMode) {
|
|
|
44
44
|
: "Within `/docs-index`, treat this file as your managed home file. Refresh its contents if it already exists, or create it if missing.";
|
|
45
45
|
return `When docs output is enabled, write to: ${docsPath}/${config.canonicalFilename}
|
|
46
46
|
|
|
47
|
-
Use
|
|
47
|
+
Use normal Write/Edit tools for this managed docs lane. Do not use shell-based file mutation for docs-output.
|
|
48
48
|
|
|
49
49
|
History mode: ${docHistoryMode}
|
|
50
50
|
- overwrite: Replace the file contents each time.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"shared-prompt-sections.d.ts","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,wBAAgB,6BAA6B,CAAC,OAAO,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GAAG,MAAM,CAgBT;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAUpD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAKrD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAiBjF;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CA+BvD"}
|
|
@@ -11,21 +11,20 @@ When operating as a subagent inside an OpenCode orchestrated workflow (Atlas/Sis
|
|
|
11
11
|
- Learnings (${options.learnings}): \`.sisyphus/notepads/<plan-name>/learnings.md\`
|
|
12
12
|
- Decisions (${options.decisions}): \`.sisyphus/notepads/<plan-name>/decisions.md\`
|
|
13
13
|
- Blockers (${options.blockers}): \`.sisyphus/notepads/<plan-name>/issues.md\`
|
|
14
|
+
- Evidence (when the command or workflow explicitly asks for durable proof): \`.sisyphus/evidence/<topic>.md\`
|
|
14
15
|
|
|
15
|
-
**APPEND ONLY** — never overwrite notepad files. Use Wunderkind's bounded durable-artifact writer for
|
|
16
|
+
**APPEND ONLY** — never overwrite notepad or evidence files. Use normal Write/Edit for ordinary repo files. Use Wunderkind's bounded durable-artifact writer only for protected \`.sisyphus/notepads/\` and \`.sisyphus/evidence/\` paths so append-only guarantees are preserved. Never use the Edit tool directly on notepad or evidence files.`;
|
|
16
17
|
}
|
|
17
18
|
export function buildSoulMaintenanceSection() {
|
|
18
19
|
return `## SOUL Maintenance (.wunderkind/souls/)
|
|
19
20
|
|
|
20
21
|
If a project-local SOUL overlay is present, treat it as additive guidance that refines the neutral base prompt for this project.
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
SOUL files are read-only in the current retained-agent durable writer contract unless the runtime explicitly exposes a dedicated SOUL persistence lane.
|
|
23
24
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- Only
|
|
27
|
-
- Preserve the existing SOUL file structure and append/update the durable knowledge cleanly instead of rewriting unrelated content.
|
|
28
|
-
- If no SOUL file exists yet and the user asks you to remember something durable, create or update the appropriate SOUL file in the established format.`;
|
|
25
|
+
- Treat explicit user requests like "remember this", "from now on", "always", "never", or clear corrections to your operating style as SOUL-update candidates.
|
|
26
|
+
- Surface the candidate SOUL update in chat or route it to the orchestrator instead of mutating \.wunderkind/souls/<agent-key>.md through generic Write/Edit tools.
|
|
27
|
+
- Only persist durable instructions through explicitly supported Wunderkind lanes. Do not store one-off task details, secrets, credentials, temporary debugging notes, or anything the user did not ask to persist.`;
|
|
29
28
|
}
|
|
30
29
|
export function buildSlashCommandHelpSection() {
|
|
31
30
|
return `Every slash command must support a \`--help\` form.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-prompt-sections.js","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAAC,OAI7C;IACC,OAAO;;;;;;;;;eASM,OAAO,CAAC,SAAS;eACjB,OAAO,CAAC,SAAS;cAClB,OAAO,CAAC,QAAQ
|
|
1
|
+
{"version":3,"file":"shared-prompt-sections.js","sourceRoot":"","sources":["../../src/agents/shared-prompt-sections.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,6BAA6B,CAAC,OAI7C;IACC,OAAO;;;;;;;;;eASM,OAAO,CAAC,SAAS;eACjB,OAAO,CAAC,SAAS;cAClB,OAAO,CAAC,QAAQ;;;kVAGoT,CAAA;AAClV,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;;;;;;;;oNAQ2M,CAAA;AACpN,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO;;;6IAGoI,CAAA;AAC7I,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAA8B;IACvE,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,OAAO,CAAC,SAAS,OAAO,CAAC,OAAO,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClI,CAAC,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjE,OAAO,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC,CAAC,IAAI,EAAE,CAAA;IAER,OAAO;QACL,mBAAmB;QACnB,4BAA4B,EAAE;QAC9B,GAAG,aAAa;QAChB,GAAG,aAAa;KACjB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BF,CAAA;AACP,CAAC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export declare const DURABLE_ARTIFACT_TOOL_NAME: "wunderkind_write_artifact";
|
|
2
|
-
export type DurableArtifactAgentKey = "marketing-wunderkind" | "creative-director" | "product-wunderkind" | "fullstack-wunderkind" | "ciso" | "legal-counsel";
|
|
3
|
-
export type DurableArtifactKind = "prd" | "plan" | "issue" | "draft" | "docs-output" | "design-md" | "notepad";
|
|
4
2
|
export interface DurableArtifactWriteRequest {
|
|
5
|
-
agentKey: DurableArtifactAgentKey;
|
|
6
|
-
kind: DurableArtifactKind;
|
|
7
3
|
relativePath: string;
|
|
8
4
|
content: string;
|
|
9
5
|
}
|
|
@@ -15,6 +11,6 @@ export interface DurableArtifactWriteResult {
|
|
|
15
11
|
export interface DurableArtifactWriteOptions {
|
|
16
12
|
docsPath?: string;
|
|
17
13
|
}
|
|
18
|
-
export declare function writeDurableArtifact(request: DurableArtifactWriteRequest, cwd: string,
|
|
14
|
+
export declare function writeDurableArtifact(request: DurableArtifactWriteRequest, cwd: string, _options?: DurableArtifactWriteOptions): DurableArtifactWriteResult;
|
|
19
15
|
export declare function readDurableArtifact(filePath: string): string | null;
|
|
20
16
|
//# sourceMappingURL=artifact-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-writer.d.ts","sourceRoot":"","sources":["../src/artifact-writer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artifact-writer.d.ts","sourceRoot":"","sources":["../src/artifact-writer.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,0BAA0B,EAAG,2BAAoC,CAAA;AAE9E,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAkGD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,EACpC,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,2BAA2B,GACrC,0BAA0B,CAoD5B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEnE"}
|
package/dist/artifact-writer.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { existsSync, lstatSync, mkdirSync, readFileSync, realpathSync, statSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { dirname, isAbsolute, join, normalize, relative } from "node:path";
|
|
3
|
-
import { getDocsEligibleAgentKeys } from "./agents/docs-config.js";
|
|
4
|
-
import { resolveProjectLocalDocsPath } from "./cli/docs-output-helper.js";
|
|
5
3
|
export const DURABLE_ARTIFACT_TOOL_NAME = "wunderkind_write_artifact";
|
|
6
|
-
const DOCS_OUTPUT_ELIGIBLE_AGENT_KEYS = new Set(getDocsEligibleAgentKeys());
|
|
7
4
|
function normalizeRelativePath(input) {
|
|
8
5
|
const trimmed = input.trim();
|
|
9
6
|
const normalized = normalize(trimmed).replaceAll("\\", "/");
|
|
@@ -20,19 +17,6 @@ function isPathWithin(parentPath, candidatePath) {
|
|
|
20
17
|
const normalizedSegments = rel.replaceAll("\\", "/").split("/").filter((segment) => segment.length > 0);
|
|
21
18
|
return !normalizedSegments.includes("..");
|
|
22
19
|
}
|
|
23
|
-
function ensurePathHasNoSymlinkSegments(cwd, normalizedRelativePath, errorMessage) {
|
|
24
|
-
const segments = normalizedRelativePath.split("/").filter((segment) => segment.length > 0);
|
|
25
|
-
let lexicalCurrentPath = cwd;
|
|
26
|
-
for (const segment of segments) {
|
|
27
|
-
lexicalCurrentPath = join(lexicalCurrentPath, segment);
|
|
28
|
-
if (!existsSync(lexicalCurrentPath)) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
if (lstatSync(lexicalCurrentPath).isSymbolicLink()) {
|
|
32
|
-
throw new Error(errorMessage);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
20
|
function ensureSafeRelativePath(relativePath) {
|
|
37
21
|
const normalized = normalizeRelativePath(relativePath);
|
|
38
22
|
if (normalized === "" || normalized === ".") {
|
|
@@ -43,56 +27,11 @@ function ensureSafeRelativePath(relativePath) {
|
|
|
43
27
|
}
|
|
44
28
|
return normalized;
|
|
45
29
|
}
|
|
46
|
-
function
|
|
47
|
-
return
|
|
30
|
+
function isAppendOnlyPath(normalizedRelativePath) {
|
|
31
|
+
return normalizedRelativePath.startsWith(".sisyphus/notepads/") || normalizedRelativePath.startsWith(".sisyphus/evidence/");
|
|
48
32
|
}
|
|
49
|
-
function
|
|
50
|
-
return
|
|
51
|
-
}
|
|
52
|
-
function directoryLane(path) {
|
|
53
|
-
return { path, exactFile: false };
|
|
54
|
-
}
|
|
55
|
-
function exactFileLane(path) {
|
|
56
|
-
return { path, exactFile: true };
|
|
57
|
-
}
|
|
58
|
-
function getAllowedArtifactRoots(agentKey, docsOutputRoot) {
|
|
59
|
-
switch (agentKey) {
|
|
60
|
-
case "product-wunderkind":
|
|
61
|
-
return [
|
|
62
|
-
directoryLane(".sisyphus/prds"),
|
|
63
|
-
directoryLane(".sisyphus/plans"),
|
|
64
|
-
directoryLane(".sisyphus/issues"),
|
|
65
|
-
directoryLane(".sisyphus/drafts"),
|
|
66
|
-
directoryLane(".sisyphus/notepads"),
|
|
67
|
-
directoryLane(docsOutputRoot),
|
|
68
|
-
];
|
|
69
|
-
case "creative-director":
|
|
70
|
-
return [exactFileLane("DESIGN.md"), directoryLane(".wunderkind/stitch"), directoryLane(".sisyphus/notepads"), directoryLane(docsOutputRoot)];
|
|
71
|
-
case "marketing-wunderkind":
|
|
72
|
-
return [directoryLane(docsOutputRoot), directoryLane(".sisyphus/notepads")];
|
|
73
|
-
case "ciso":
|
|
74
|
-
return [directoryLane(docsOutputRoot), directoryLane(".sisyphus/notepads")];
|
|
75
|
-
case "fullstack-wunderkind":
|
|
76
|
-
return [
|
|
77
|
-
directoryLane(docsOutputRoot),
|
|
78
|
-
directoryLane(".sisyphus/notepads"),
|
|
79
|
-
directoryLane(".sisyphus/prds"),
|
|
80
|
-
directoryLane(".sisyphus/plans"),
|
|
81
|
-
directoryLane(".sisyphus/issues"),
|
|
82
|
-
exactFileLane("DESIGN.md"),
|
|
83
|
-
directoryLane(".wunderkind/stitch"),
|
|
84
|
-
];
|
|
85
|
-
case "legal-counsel":
|
|
86
|
-
return [directoryLane(".sisyphus/notepads")];
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
function isAllowedArtifactPath(agentKey, normalizedRelativePath, docsOutputRoot) {
|
|
90
|
-
return getAllowedArtifactRoots(agentKey, docsOutputRoot).some((allowedLane) => {
|
|
91
|
-
if (allowedLane.exactFile) {
|
|
92
|
-
return normalizedRelativePath === allowedLane.path;
|
|
93
|
-
}
|
|
94
|
-
return normalizedRelativePath === allowedLane.path || normalizedRelativePath.startsWith(`${allowedLane.path}/`);
|
|
95
|
-
});
|
|
33
|
+
function isAllowedArtifactPath(normalizedRelativePath) {
|
|
34
|
+
return isAppendOnlyPath(normalizedRelativePath);
|
|
96
35
|
}
|
|
97
36
|
function resolveWritableParentPath(rootRealPath, cwd, normalizedRelativePath) {
|
|
98
37
|
const parentRelativePath = normalizeRelativePath(dirname(normalizedRelativePath));
|
|
@@ -125,60 +64,21 @@ function resolveWritableParentPath(rootRealPath, cwd, normalizedRelativePath) {
|
|
|
125
64
|
}
|
|
126
65
|
return resolvedCurrentPath;
|
|
127
66
|
}
|
|
128
|
-
function
|
|
129
|
-
if (
|
|
130
|
-
|
|
67
|
+
function validateProtectedArtifactPath(normalizedRelativePath) {
|
|
68
|
+
if (normalizedRelativePath.startsWith(".sisyphus/notepads/")) {
|
|
69
|
+
return;
|
|
131
70
|
}
|
|
132
|
-
if (
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
if (kind === "plan" && (agentKey !== "product-wunderkind" && agentKey !== "fullstack-wunderkind")) {
|
|
136
|
-
throw new Error(`${agentKey} may not write plan artifacts`);
|
|
137
|
-
}
|
|
138
|
-
if (kind === "plan" && !normalizedRelativePath.startsWith(".sisyphus/plans/")) {
|
|
139
|
-
throw new Error("plan artifacts must stay under .sisyphus/plans/");
|
|
140
|
-
}
|
|
141
|
-
if (kind === "issue" && (agentKey !== "product-wunderkind" && agentKey !== "fullstack-wunderkind")) {
|
|
142
|
-
throw new Error(`${agentKey} may not write issue artifacts`);
|
|
143
|
-
}
|
|
144
|
-
if (kind === "issue" && !normalizedRelativePath.startsWith(".sisyphus/issues/")) {
|
|
145
|
-
throw new Error("issue artifacts must stay under .sisyphus/issues/");
|
|
146
|
-
}
|
|
147
|
-
if (kind === "design-md" && agentKey !== "creative-director" && agentKey !== "fullstack-wunderkind") {
|
|
148
|
-
throw new Error(`${agentKey} may not write design artifacts`);
|
|
149
|
-
}
|
|
150
|
-
if (kind === "design-md" && normalizedRelativePath !== "DESIGN.md") {
|
|
151
|
-
throw new Error("design-md artifacts must write exactly to DESIGN.md");
|
|
152
|
-
}
|
|
153
|
-
if (kind === "draft" && !normalizedRelativePath.startsWith(".sisyphus/drafts/")) {
|
|
154
|
-
throw new Error("draft artifacts must stay under .sisyphus/drafts/");
|
|
155
|
-
}
|
|
156
|
-
if (kind === "docs-output" && !DOCS_OUTPUT_ELIGIBLE_AGENT_KEYS.has(agentKey)) {
|
|
157
|
-
throw new Error(`${agentKey} may not write docs-output artifacts`);
|
|
158
|
-
}
|
|
159
|
-
if (kind === "docs-output" && !normalizedRelativePath.startsWith(`${docsOutputRoot}/`)) {
|
|
160
|
-
throw new Error(`docs-output artifacts must stay under ${docsOutputRoot}/`);
|
|
161
|
-
}
|
|
162
|
-
if (kind === "notepad" && !normalizedRelativePath.startsWith(".sisyphus/notepads/")) {
|
|
163
|
-
throw new Error("notepad artifacts must stay under .sisyphus/notepads/");
|
|
71
|
+
if (normalizedRelativePath.startsWith(".sisyphus/evidence/")) {
|
|
72
|
+
return;
|
|
164
73
|
}
|
|
74
|
+
throw new Error("durable artifacts must stay inside append-only Wunderkind memory lanes");
|
|
165
75
|
}
|
|
166
|
-
export function writeDurableArtifact(request, cwd,
|
|
76
|
+
export function writeDurableArtifact(request, cwd, _options) {
|
|
167
77
|
const normalizedRelativePath = ensureSafeRelativePath(request.relativePath);
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
if (docsOutputRoot === null) {
|
|
171
|
-
throw new Error("docs-output artifacts require a resolved docsPath");
|
|
172
|
-
}
|
|
173
|
-
if (isReservedDesignMdPath(docsOutputRoot)) {
|
|
174
|
-
throw new Error("docs-output artifacts may not use DESIGN.md as docsPath because that path is reserved for design-md");
|
|
175
|
-
}
|
|
176
|
-
ensurePathHasNoSymlinkSegments(cwd, docsOutputRoot, "docs-output lane must not include symlinked segments");
|
|
177
|
-
}
|
|
178
|
-
if (!isAllowedArtifactPath(request.agentKey, normalizedRelativePath, docsOutputRoot ?? "__docs-output-disabled__")) {
|
|
179
|
-
throw new Error(`${request.agentKey} may not write outside its bounded durable-artifact lanes`);
|
|
78
|
+
if (!isAllowedArtifactPath(normalizedRelativePath)) {
|
|
79
|
+
throw new Error("durable artifacts must stay inside append-only Wunderkind memory lanes");
|
|
180
80
|
}
|
|
181
|
-
|
|
81
|
+
validateProtectedArtifactPath(normalizedRelativePath);
|
|
182
82
|
const rootRealPath = realpathSync(cwd);
|
|
183
83
|
const resolvedAbsolutePath = resolveWritableParentPath(rootRealPath, cwd, normalizedRelativePath);
|
|
184
84
|
if (!isPathWithin(rootRealPath, resolvedAbsolutePath)) {
|
|
@@ -207,7 +107,10 @@ export function writeDurableArtifact(request, cwd, options) {
|
|
|
207
107
|
throw new Error("durable artifact path must point to a file, not a directory");
|
|
208
108
|
}
|
|
209
109
|
const created = !existsSync(finalAbsolutePath);
|
|
210
|
-
|
|
110
|
+
const nextContent = existsSync(finalAbsolutePath)
|
|
111
|
+
? `${readFileSync(finalAbsolutePath, "utf-8")}${request.content}`
|
|
112
|
+
: request.content;
|
|
113
|
+
writeFileSync(finalAbsolutePath, nextContent, "utf-8");
|
|
211
114
|
return {
|
|
212
115
|
absolutePath: finalAbsolutePath,
|
|
213
116
|
relativePath: normalizedRelativePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-writer.js","sourceRoot":"","sources":["../src/artifact-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC/G,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"artifact-writer.js","sourceRoot":"","sources":["../src/artifact-writer.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAkIjD,QAAA,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAkIjD,QAAA,MAAM,gBAAgB,EAAE,MA+JvB,CAAA;AAED,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ function getDocsOutputRuntimeState(configuredDocsPath) {
|
|
|
17
17
|
return {
|
|
18
18
|
displayDocsPath: configuredDocsPath,
|
|
19
19
|
docsTargets: "- docs-output invalid: configured docsPath conflicts with reserved design-md path DESIGN.md",
|
|
20
|
-
warning: `The configured docsPath (${configuredDocsPath}) is invalid for docs-output because it conflicts with the reserved design-md path \`DESIGN.md\`.
|
|
20
|
+
warning: `The configured docsPath (${configuredDocsPath}) is invalid for docs-output because it conflicts with the reserved design-md path \`DESIGN.md\`. Normal docs-output writes should be redirected to a non-conflicting directory before continuing.`,
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
return {
|
|
@@ -34,7 +34,7 @@ function getDocsOutputRuntimeState(configuredDocsPath) {
|
|
|
34
34
|
return {
|
|
35
35
|
displayDocsPath: configuredDocsPath,
|
|
36
36
|
docsTargets: `- docs-output invalid: configured docsPath is invalid (${reason})`,
|
|
37
|
-
warning: `The configured docsPath (${configuredDocsPath}) is invalid for docs-output: ${reason}.
|
|
37
|
+
warning: `The configured docsPath (${configuredDocsPath}) is invalid for docs-output: ${reason}. Normal docs-output writes should be redirected to a valid project-local directory before continuing.`,
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -112,17 +112,8 @@ const WunderkindPlugin = async (_input) => {
|
|
|
112
112
|
return {
|
|
113
113
|
tool: {
|
|
114
114
|
[DURABLE_ARTIFACT_TOOL_NAME]: tool({
|
|
115
|
-
description: "
|
|
115
|
+
description: "Append durable memory only inside protected Wunderkind lanes such as .sisyphus/notepads or .sisyphus/evidence. Use normal Write/Edit for ordinary repo files, docs-output, DESIGN.md, Stitch files, and planning files.",
|
|
116
116
|
args: {
|
|
117
|
-
agentKey: tool.schema.enum([
|
|
118
|
-
"marketing-wunderkind",
|
|
119
|
-
"creative-director",
|
|
120
|
-
"product-wunderkind",
|
|
121
|
-
"fullstack-wunderkind",
|
|
122
|
-
"ciso",
|
|
123
|
-
"legal-counsel",
|
|
124
|
-
]),
|
|
125
|
-
kind: tool.schema.enum(["prd", "plan", "issue", "draft", "docs-output", "design-md", "notepad"]),
|
|
126
117
|
relativePath: tool.schema.string().min(1),
|
|
127
118
|
content: tool.schema.string(),
|
|
128
119
|
},
|
|
@@ -131,24 +122,16 @@ const WunderkindPlugin = async (_input) => {
|
|
|
131
122
|
const durableArtifactOptions = typeof wunderkindConfig?.docsPath === "string"
|
|
132
123
|
? { docsPath: wunderkindConfig.docsPath }
|
|
133
124
|
: undefined;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
metadata: {
|
|
139
|
-
title: `Write durable artifact: ${args.relativePath}`,
|
|
140
|
-
agentKey: args.agentKey,
|
|
141
|
-
kind: args.kind,
|
|
142
|
-
},
|
|
143
|
-
});
|
|
144
|
-
const result = writeDurableArtifact(args, context.directory, durableArtifactOptions);
|
|
125
|
+
const result = writeDurableArtifact({
|
|
126
|
+
relativePath: args.relativePath,
|
|
127
|
+
content: args.content,
|
|
128
|
+
}, context.directory, durableArtifactOptions);
|
|
145
129
|
context.metadata({
|
|
146
130
|
title: `Durable artifact written: ${result.relativePath}`,
|
|
147
131
|
metadata: {
|
|
148
132
|
path: result.relativePath,
|
|
149
133
|
created: result.created,
|
|
150
|
-
|
|
151
|
-
kind: args.kind,
|
|
134
|
+
mode: "append",
|
|
152
135
|
},
|
|
153
136
|
});
|
|
154
137
|
return `Durable artifact written to ${result.relativePath}`;
|
|
@@ -261,7 +244,7 @@ Legacy delegation shorthand remains valid: Use marketing-wunderkind for GTM, bra
|
|
|
261
244
|
|
|
262
245
|
- Use \`task(...)\` for retained-agent or subagent delegation; always include explicit \`load_skills\` and \`run_in_background\`.
|
|
263
246
|
- Use \`skill(name="...")\` for shipped skills and sub-skills.
|
|
264
|
-
|
|
247
|
+
- Use normal \`Write\`/\`Edit\` for ordinary repo files, docs-output, \`DESIGN.md\`, \`.wunderkind/stitch/\`, and managed \`.sisyphus/\` planning files. Use \`${DURABLE_ARTIFACT_TOOL_NAME}(...)\` only for append-only Wunderkind memory lanes such as \`.sisyphus/notepads/\` and \`.sisyphus/evidence/\`.
|
|
265
248
|
|
|
266
249
|
### Project Configuration
|
|
267
250
|
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEpE,MAAM,oBAAoB,GAAG,uCAAuC,CAAA;AAEpE,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IAClE,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;AAC1E,CAAC;AAED,SAAS,yBAAyB,CAAC,kBAA0B;IAK3D,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAA;QAE5F,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,eAAe,EAAE,kBAAkB;gBACnC,WAAW,EAAE,6FAA6F;gBAC1G,OAAO,EACL,4BAA4B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grant-vine/wunderkind",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.2",
|
|
4
4
|
"description": "Wunderkind \u2014 specialist AI agent addon for OpenCode with 6 retained specialist agents for any software product team",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|