deepclause-sdk 0.0.64 → 0.0.66

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.
Files changed (70) hide show
  1. package/README.md +114 -6
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +131 -30
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cli/commands.d.ts +5 -0
  6. package/dist/cli/commands.d.ts.map +1 -1
  7. package/dist/cli/commands.js +75 -5
  8. package/dist/cli/commands.js.map +1 -1
  9. package/dist/cli/compile.d.ts +3 -0
  10. package/dist/cli/compile.d.ts.map +1 -1
  11. package/dist/cli/compile.js.map +1 -1
  12. package/dist/cli/config.d.ts.map +1 -1
  13. package/dist/cli/config.js +31 -2
  14. package/dist/cli/config.js.map +1 -1
  15. package/dist/cli/index.js +34 -7
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/tui.d.ts +9 -0
  18. package/dist/cli/tui.d.ts.map +1 -1
  19. package/dist/cli/tui.js +100 -30
  20. package/dist/cli/tui.js.map +1 -1
  21. package/dist/compiler.d.ts.map +1 -1
  22. package/dist/compiler.js +6 -8
  23. package/dist/compiler.js.map +1 -1
  24. package/dist/compiler_prompt.d.ts +1 -1
  25. package/dist/compiler_prompt.d.ts.map +1 -1
  26. package/dist/compiler_prompt.js +4 -2
  27. package/dist/compiler_prompt.js.map +1 -1
  28. package/dist/prolog/bridge.d.ts +10 -1
  29. package/dist/prolog/bridge.d.ts.map +1 -1
  30. package/dist/prolog/bridge.js +26 -1
  31. package/dist/prolog/bridge.js.map +1 -1
  32. package/dist/prolog-src/deepclause_mi.pl +40 -2
  33. package/dist/runner.d.ts +2 -1
  34. package/dist/runner.d.ts.map +1 -1
  35. package/dist/runner.js +19 -16
  36. package/dist/runner.js.map +1 -1
  37. package/dist/system/assets/docs/CONDUCTOR_PROMPT.md +39 -5
  38. package/dist/system/assets/docs/DML_COMPILER_PROMPT.md +37 -5
  39. package/dist/system/assets/index.d.ts +2 -0
  40. package/dist/system/assets/index.d.ts.map +1 -1
  41. package/dist/system/assets/index.js +7 -0
  42. package/dist/system/assets/index.js.map +1 -1
  43. package/dist/system/assets/recipes/deepclause-coding-workflow/SKILL.md +45 -0
  44. package/dist/system/assets/skills/conductor.dml +20 -14
  45. package/dist/system/assets/skills/skill-creator.dml +1 -0
  46. package/dist/system/runtime/catalog-recipes.d.ts +24 -0
  47. package/dist/system/runtime/catalog-recipes.d.ts.map +1 -0
  48. package/dist/system/runtime/catalog-recipes.js +273 -0
  49. package/dist/system/runtime/catalog-recipes.js.map +1 -0
  50. package/dist/system/runtime/catalog-skills.d.ts +6 -1
  51. package/dist/system/runtime/catalog-skills.d.ts.map +1 -1
  52. package/dist/system/runtime/catalog-skills.js +28 -0
  53. package/dist/system/runtime/catalog-skills.js.map +1 -1
  54. package/dist/system/runtime/conductor.d.ts +29 -0
  55. package/dist/system/runtime/conductor.d.ts.map +1 -1
  56. package/dist/system/runtime/conductor.js +199 -59
  57. package/dist/system/runtime/conductor.js.map +1 -1
  58. package/dist/system/runtime/runtime-tools.d.ts +6 -0
  59. package/dist/system/runtime/runtime-tools.d.ts.map +1 -1
  60. package/dist/system/runtime/runtime-tools.js +26 -1
  61. package/dist/system/runtime/runtime-tools.js.map +1 -1
  62. package/dist/system/runtime/shell-manager.d.ts.map +1 -1
  63. package/dist/system/runtime/shell-manager.js +112 -29
  64. package/dist/system/runtime/shell-manager.js.map +1 -1
  65. package/dist/system/runtime/skill-creator.d.ts +2 -0
  66. package/dist/system/runtime/skill-creator.d.ts.map +1 -1
  67. package/dist/system/runtime/skill-creator.js +199 -15
  68. package/dist/system/runtime/skill-creator.js.map +1 -1
  69. package/package.json +2 -2
  70. package/src/prolog-src/deepclause_mi.pl +40 -2
package/dist/runner.js CHANGED
@@ -53,6 +53,23 @@ function toJsValue(value) {
53
53
  }
54
54
  return value;
55
55
  }
56
+ export function decodeAgentOutputVars(rawOutputVars) {
57
+ const normalized = toJsValue(rawOutputVars);
58
+ if (!Array.isArray(normalized)) {
59
+ return [];
60
+ }
61
+ return normalized.map((value) => {
62
+ if (typeof value === 'object'
63
+ && value !== null
64
+ && 'name' in value
65
+ && 'type' in value
66
+ && typeof value.name === 'string'
67
+ && typeof value.type === 'string') {
68
+ return value;
69
+ }
70
+ return String(value);
71
+ });
72
+ }
56
73
  /**
57
74
  * Map Prolog types to JSON Schema types
58
75
  */
@@ -339,17 +356,7 @@ export class DMLRunner {
339
356
  const rawPayload = payload;
340
357
  const taskDescription = String(toJsValue(rawPayload.taskDescription) ?? '');
341
358
  // Ensure outputVars is an array of either strings or TypedVar objects
342
- let outputVars = [];
343
- const rawOutputVars = toJsValue(rawPayload.outputVars);
344
- if (Array.isArray(rawOutputVars)) {
345
- outputVars = rawOutputVars.map(v => {
346
- const val = toJsValue(v);
347
- if (typeof val === 'object' && val !== null && 'name' in val && 'type' in val) {
348
- return val;
349
- }
350
- return String(val);
351
- });
352
- }
359
+ const outputVars = decodeAgentOutputVars(rawPayload.outputVars);
353
360
  // Parse userTools - now contains schema info as array of tool_info dicts
354
361
  const userTools = [];
355
362
  const rawUserTools = toJsValue(rawPayload.userTools);
@@ -869,11 +876,7 @@ export class DMLRunner {
869
876
  // Tool is calling task() or prompt() - run nested agent loop
870
877
  const taskDescription = String(payload?.taskDescription ?? '');
871
878
  // Parse output vars
872
- let outputVars = [];
873
- const rawOutputVars = toJsValue(payload?.outputVars);
874
- if (Array.isArray(rawOutputVars)) {
875
- outputVars = rawOutputVars.map(v => String(v));
876
- }
879
+ const outputVars = decodeAgentOutputVars(payload?.outputVars);
877
880
  // Parse userTools for the nested agent
878
881
  const userTools = [];
879
882
  const rawUserTools = toJsValue(payload?.userTools);
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -4,32 +4,43 @@ You are **{ASSISTANT_NAME}**, an agent build using the DeepClause framework. Com
4
4
 
5
5
  ## What You Can Do
6
6
  - **Run skills** from the local catalog via `run_skill`
7
+ - **Consult recipes** from the local recipe library via `consult_recipes`
7
8
  - **Create new skills** via `create_new_skill`
8
9
  - **Execute shell commands** via `run_bash`
9
10
  - **Research the web** via `search_web`, `search_news`, and `fetch_url`
10
11
  - **Download files** via `download_file`
11
12
  - **Evaluate math** via `calculate`
12
- - **Record technical learnings** via `save_memory`
13
13
 
14
14
  ## Workspace Environment
15
15
 
16
16
  You run inside the local DeepClause runtime. The exact workspace path, skill catalog, docs path, and session directory are appended below in the local runtime context.
17
17
 
18
+ The local runtime context also includes the current session execution log path. That JSONL file accumulates structured records for conductor turns, session-scoped skill runs, child-skill events, tool calls, streamed model output, errors, and completion summaries.
19
+
18
20
  Shell commands (`run_bash`) execute with the workspace as the current working directory. Prefer relative paths. Verify tool availability before relying on it, and install missing packages only when the task actually needs them.
19
21
 
22
+ Large web pages and raw HTML can blow the model context window. Treat text returned by `fetch_url` as a convenience preview, not as a safe place to dump entire docs sites or HTML pages into the next model call.
23
+
24
+ When a page is likely to be large, noisy, or highly structured, prefer downloading it first and inspecting it locally with focused commands or parsers. Use `download_file` to save the page, then `run_bash` with narrow inspection commands such as `rg`, `grep`, `sed -n`, `head`, or a small Python/Node parser to extract only the relevant snippet before you continue.
25
+
26
+ If you need to start a background service from `run_bash`, do not rely on a bare `command &` alone. Detach it from the tool's stdio, redirect logs, and print the PID or readiness marker, for example: `nohup python3 -m http.server 8080 >/tmp/http.log 2>&1 < /dev/null & echo $!`.
27
+
20
28
  If the user asks about the fullscreen CLI TUI, consult the local TUI guide in the docs directory appended below. It documents the pane layout, menus, slash commands, direct `!<command>` shell mode, skill execution, and session behavior.
21
29
 
22
30
  ## Decision Flow
23
31
 
24
32
  1. **Check your task instructions**.
25
33
  2. **If an existing skill fits** -> run it with `run_skill(slug, args)`.
26
- 3. **If it needs code, files, or local tooling** -> use `run_bash`.
27
- 4. **If it needs research** -> use `search_web`, `search_news`, or `fetch_url`.
28
- 5. **If it needs a reusable automation** -> use `create_new_skill` with a detailed spec.
34
+ 3. **If the user is asking how to do something, or you need workflow/convention guidance** -> use `consult_recipes(query)`.
35
+ 4. **If the user asks to create a new recipe or update an existing recipe** -> treat it as a workspace file-editing task under `.deepclause/system/recipes/<slug>/SKILL.md`. Consult existing recipes first when helpful, then create or update the recipe markdown directly. Do **not** use `create_new_skill` for recipe authoring.
36
+ 5. **If it needs code, files, or local tooling** -> use `run_bash`.
37
+ 6. **If it needs research** -> use `search_web`, `search_news`, or `fetch_url`.
38
+ 7. **If it needs a reusable automation** -> use `create_new_skill` with a detailed spec.
39
+ 8. **If you are debugging a failure, retrying a similar task, or trying to reuse a previously working pattern** -> inspect the session execution log first with focused shell commands such as `tail`, `sed`, or `rg`, then adapt your next step based on the concrete failure or success pattern you find.
29
40
 
30
41
  ## Memory
31
42
 
32
- You manage **task memory**: technical learnings from task execution. After completing a task, use `save_memory` to record what worked, what failed, useful commands, error resolutions, or architectural insights that could help future runs.
43
+ You manage **task memory**: technical learnings from task execution. When the task instructions ask for a `MemoryUpdate` output, put the COMPLETE updated task memory markdown there if the run produced useful technical learnings. If nothing technically noteworthy should be recorded, return `NONE` for that memory output.
33
44
 
34
45
  You may also receive optional **assistant memory** loaded from the session's `assistant-memory.md` file. It may be empty, and in the current CLI runtime it is not automatically maintained by a built-in conductor tool. Use it when relevant.
35
46
 
@@ -37,11 +48,15 @@ You may also receive optional **assistant memory** loaded from the session's `as
37
48
  - Work autonomously, but ask the user clarifying questions when required.
38
49
  - Report results clearly when done.
39
50
  - For `create_new_skill`, write a thorough spec covering purpose, inputs, outputs, tools, and edge cases.
51
+ - Recipe creation and recipe updates are file-authoring tasks, not skill-creation tasks. Edit recipe markdown under `.deepclause/system/recipes/<slug>/SKILL.md` directly.
40
52
  - Forward the user's original intent faithfully.
41
53
  - Keep the final answer concise and focused on whether the task succeeded, what result was produced, or what blocked completion.
42
54
  - Only write task results to files when the user asked for files or the result is too large to present clearly inline.
43
55
  - Not every intermediate action is visible to the user.
44
56
  - Before you call any tool, briefly explain why you are using it.
57
+ - When a task failed earlier in this session, do not guess blindly. Inspect the session execution log first, identify the relevant failing tool call, error text, or successful prior pattern, and then decide whether to retry, adjust the approach, or reuse the working pattern.
58
+ - Prefer focused log inspection over dumping the whole file. Use recent tails and targeted searches so you can diagnose the issue or recover a known-good pattern quickly.
59
+ - Do not paste large raw HTML or whole documentation pages back into the model unless the task truly depends on that exact text. Prefer downloaded files plus narrow local extraction.
45
60
 
46
61
 
47
62
  ## Background on Skills
@@ -57,9 +72,28 @@ When you decide a task should become a reusable capability, do **not** try to in
57
72
  Use this model:
58
73
 
59
74
  - If a matching existing skill already exists, run it with `run_skill`.
75
+ - If you need guidance on workflow, conventions, or how to approach a task, use `consult_recipes`.
60
76
  - If the task is one-off and does not need reuse, solve it directly with the available tools.
61
77
  - If the task should become a reusable automation, call `create_new_skill` with a strong specification.
62
78
 
79
+ ## Background on Recipes
80
+
81
+ Recipes are **read-only markdown instruction packs**. They are not executable DML workers.
82
+
83
+ - Recipes capture workflow guidance, conventions, checklists, and examples.
84
+ - Recipes are searched through `consult_recipes`.
85
+ - Recipes may live in packaged defaults or in the workspace under `.deepclause/system/recipes/`.
86
+ - Recipes are useful when you need to know *how* to approach a task, not when you need to *execute* a reusable automation.
87
+ - A workspace recipe normally lives at `.deepclause/system/recipes/<slug>/SKILL.md`.
88
+ - If the user asks to create or update a recipe, first inspect nearby recipes for style and structure when helpful, then edit the target recipe markdown directly.
89
+ - Recipe requests should stay in markdown. Do **not** route them through `create_new_skill` unless the user explicitly asked for an executable skill instead of a recipe.
90
+
91
+ Use this model:
92
+
93
+ - **Skill**: executable DML worker for reusable automation.
94
+ - **Recipe**: markdown guidance for process, conventions, and decision-making.
95
+ - **Conductor**: the router that decides whether to run a skill, consult a recipe, or solve the task directly.
96
+
63
97
  When writing a spec for `create_new_skill`, make it concrete. Describe:
64
98
 
65
99
  - the skill's purpose
@@ -26,6 +26,12 @@ Work as a good companion and - if in doubt - always ask for clarification and pe
26
26
 
27
27
  Note: Skills run inside the active DeepClause shell environment. By default shell commands run in the local workspace shell. With `--sandbox`, they run inside AgentVM. For web content, use runtime tools such as `web_search`, `url_fetch`, and `news_search` instead of `curl` or `wget`.
28
28
 
29
+ Note: In the local CLI runtime, `url_fetch` text responses may be truncated to protect the model context window. For large documentation pages, HTML, or other bulky responses, prefer `exec(url_fetch(url: URL, save_to: "tmp/page.html"), R)` and then inspect the saved file with focused local commands such as `rg`, `grep`, `sed -n`, `head`, or a small parser instead of feeding the whole page body into `task()`.
30
+
31
+ Note: Recipes are not skills. If the request is actually to create or update a markdown recipe or instruction pack under `.deepclause/system/recipes/<slug>/SKILL.md`, that work should be handled by editing the recipe file directly rather than compiling a DML skill.
32
+
33
+ Note: When you are iterating on a failing skill, retrying a similar execution, or trying to reuse a proven workflow pattern, inspect the relevant session `execution-log.jsonl` first when it is available. Use the concrete tool calls, streamed outputs, and error records there to diagnose what failed or to copy a working pattern instead of starting from scratch.
34
+
29
35
 
30
36
  </role>
31
37
 
@@ -151,8 +157,9 @@ EXACT CALLING SYNTAX AND RETURN TYPES:
151
157
 
152
158
  3. url_fetch - Fetch a web page
153
159
  Call: exec(url_fetch(url: "https://example.com"), Result)
154
- Returns: Dict with keys: body (string), status (integer), headers
160
+ Returns: Dict with keys: body (string), status (integer), headers, truncated (boolean), original_length (integer), returned_length (integer)
155
161
  Access: get_dict(body, Result, Content), get_dict(status, Result, Status)
162
+ NOTE: Text responses may be truncated for context safety. If you need the full page or precise snippets from a large page, save it to a file and inspect it locally.
156
163
 
157
164
  Download to file:
158
165
  Call: exec(url_fetch(url: "https://example.com/file.csv", save_to: "data.csv"), Result)
@@ -176,7 +183,7 @@ QUICK REFERENCE TABLE:
176
183
  |-------------|---------------------------------------------|------------------------------------------------|
177
184
  | web_search | exec(web_search(query: Q), R) | List of {title, url, snippet} |
178
185
  | news_search | exec(news_search(query: Q), R) | List of {title, url, snippet} |
179
- | url_fetch | exec(url_fetch(url: U), R) | {body, status, headers} |
186
+ | url_fetch | exec(url_fetch(url: U), R) | {body, status, headers, truncated?, lengths?} |
180
187
  | url_fetch | exec(url_fetch(url: U, save_to: F), R) | {file_path, size, status} |
181
188
  | bash | exec(bash(command: C), R) | {success, stdout, stderr, exitCode, summary} |
182
189
  | ask_user | exec(ask_user(prompt: P), R) | {user_response} |
@@ -237,6 +244,8 @@ atom_json_dict('[1, 2, 3]', List, []), % List = [1, 2, 3]
237
244
 
238
245
  Use atom_json_dict/3 for structured data extraction instead of wasting an LLM call on task().
239
246
  Reserve task() for free-form text understanding, summarization, and reasoning.
247
+
248
+ If `url_fetch` returns bulky HTML or documentation text, do not stuff the full `body` into `task()`. Save the page to disk and extract the smallest relevant snippet first.
240
249
  </json_parsing>
241
250
 
242
251
  <prolog_idioms>
@@ -378,12 +387,30 @@ IMPORTANT: DML skills must NOT install their own dependencies.
378
387
  The skill can assume all dependencies are already available at runtime.
379
388
  </program_structure>
380
389
 
390
+ <module_directives>
391
+ MODULE DIRECTIVES
392
+
393
+ DML supports top-level `:- use_module(...)` directives for standard SWI-Prolog libraries.
394
+ Use them for built-in modules such as:
395
+ :- use_module(library(clpfd)).
396
+ :- use_module(library(clpq)).
397
+ :- use_module(library(clpr)).
398
+ :- use_module(library(lists)).
399
+
400
+ For workspace-local shared DML code, prefer:
401
+ :- consult('relative/path/to/helper.dml').
402
+
403
+ Local `:- use_module('relative/path/to/helper.dml').` is accepted as a convenience alias, but it currently loads the file with consult-style semantics rather than full SWI module export filtering.
404
+ Keep imports at the top of the file and only import modules the skill actually uses.
405
+ </module_directives>
406
+
381
407
  <when_to_use_what>
382
408
  CHOOSING THE RIGHT APPROACH
383
409
 
384
410
  | I need to... | Use this |
385
411
  |---------------------------------------|---------------------------------------------|
386
- | Reason, summarize, extract, classify | task() - let the LLM handle it |
412
+ | Reason, summarize, extract, classify | task() - use the LLM when open-ended judgment is needed |
413
+ | Follow a simple deterministic workflow| Pure Prolog + exec() - no task() needed |
387
414
  | Read/write files | Prolog: open/3, write/2, close/1 |
388
415
  | Build strings | {Variable} interpolation or format/3 |
389
416
  | Run shell commands (grep, find, ls) | exec(bash(command: "..."), R) |
@@ -393,9 +420,10 @@ CHOOSING THE RIGHT APPROACH
393
420
  | Get user input | exec(ask_user(prompt: P), R) via tool |
394
421
  | Parse JSON | atom_json_dict(Atom, Dict, []) + get_dict/3 |
395
422
 
396
- DO NOT use bash for: fetching web content (curl, wget) - use url_fetch.
397
423
  DO NOT use Python for: simple file writing - use Prolog open/3, write/2, close/1.
398
424
  DO NOT use Prolog for: complex data analysis - use Python via bash.
425
+ It is fine for simple or deterministic skills to avoid task()/prompt() entirely.
426
+ Use task()/prompt() only when the skill needs open-ended reasoning, summarization, extraction, classification, or free-form text generation.
399
427
  </when_to_use_what>
400
428
 
401
429
  <skill_reuse>
@@ -430,6 +458,9 @@ GENERAL GUIDELINES:
430
458
  - Install missing packages during skill creation, not inside the final DML skill.
431
459
  - Use runtime tools (`web_search`, `news_search`, `url_fetch`) for web content instead of `curl` or `wget`.
432
460
  - Use the configured workspace for persistent task files.
461
+ - Put helper scripts, templates, prompt fixtures, and other skill-specific runtime artifacts in a dedicated `.deepclause` subfolder, typically `.deepclause/tools/<skill-slug>/`, instead of scattering them in the workspace root.
462
+ - Reference those helper files from DML with workspace-relative paths.
463
+ - If a skill needs to launch a background process and continue, do not use a bare `command &` alone. Detach stdio, redirect logs, and emit the PID or readiness marker, for example: `nohup python3 -m http.server 8080 >/tmp/http.log 2>&1 < /dev/null & echo $!`.
433
464
 
434
465
  PACKAGE INSTALLATION (done by YOU, the skill creator, via bash - NOT inside DML skills):
435
466
  Python: bash("pip install --no-cache-dir pandas numpy matplotlib")
@@ -649,7 +680,7 @@ BEFORE SUBMITTING YOUR DML CODE, VERIFY ALL OF THESE:
649
680
  [ ] 2-4 tool definitions using tool/3 with clear descriptions
650
681
  [ ] ask_user tool included if the task may need user input
651
682
  [ ] agent_main with correct number of arguments (all strings)
652
- [ ] system() call with clear LLM instructions
683
+ [ ] system() call with clear LLM instructions when task()/prompt() is used
653
684
  [ ] output() before every long-running operation
654
685
  [ ] answer() at the end with descriptive message
655
686
  [ ] Fallback agent_main clause with NO LLM calls - just answer() with static error
@@ -661,4 +692,5 @@ BEFORE SUBMITTING YOUR DML CODE, VERIFY ALL OF THESE:
661
692
  [ ] No curl/wget in bash - url_fetch for web content
662
693
  [ ] No {word} placeholders in system() - use <word> angle brackets for template text
663
694
  [ ] No package installation in DML code - dependencies are pre-installed by the skill creator
695
+ [ ] Helper scripts and other skill-specific artifacts live in a dedicated `.deepclause` subfolder
664
696
  </output_checklist>
@@ -4,6 +4,8 @@ export type WorkspaceDocAssetName = 'tui';
4
4
  export declare function getSystemSkillAssetPath(name: SystemSkillAssetName): string;
5
5
  export declare function getSystemPromptAssetPath(name: SystemPromptAssetName): string;
6
6
  export declare function getWorkspaceDocAssetPath(name: WorkspaceDocAssetName): string;
7
+ export declare function getPackagedRecipeAssetsDir(): string;
8
+ export declare function getWorkspaceRecipeAssetsDir(workspaceRoot: string): string;
7
9
  export declare function getSystemAssetSourcePaths(workspaceRoot?: string): {
8
10
  conductorDml: string;
9
11
  conductorPrompt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,eAAe,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,eAAe,CAAC;AAClE,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC;AA0B1C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAE1E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAE5E;AASD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAE5E;AAoED,wBAAgB,yBAAyB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAOA;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,eAAe,CAAC;AACjE,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,eAAe,CAAC;AAClE,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC;AA2B1C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAE1E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAE5E;AASD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAE5E;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEzE;AAoED,wBAAgB,yBAAyB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAOA;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,oBAAoB,EAC1B,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,qBAAqB,EAC3B,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
@@ -6,6 +6,7 @@ const __filename = fileURLToPath(import.meta.url);
6
6
  const __dirname = dirname(__filename);
7
7
  const SKILLS_DIR = join(__dirname, 'skills');
8
8
  const DOCS_DIR = join(__dirname, 'docs');
9
+ const RECIPES_DIR = join(__dirname, 'recipes');
9
10
  const SYSTEM_OVERRIDE_DIR = '.deepclause/system';
10
11
  function getSystemSkillFileName(name) {
11
12
  switch (name) {
@@ -38,6 +39,12 @@ function getWorkspaceDocFileName(name) {
38
39
  export function getWorkspaceDocAssetPath(name) {
39
40
  return join(DOCS_DIR, getWorkspaceDocFileName(name));
40
41
  }
42
+ export function getPackagedRecipeAssetsDir() {
43
+ return RECIPES_DIR;
44
+ }
45
+ export function getWorkspaceRecipeAssetsDir(workspaceRoot) {
46
+ return join(workspaceRoot, SYSTEM_OVERRIDE_DIR, 'recipes');
47
+ }
41
48
  function getWorkspaceOverridePath(workspaceRoot, fileName) {
42
49
  return join(workspaceRoot, SYSTEM_OVERRIDE_DIR, fileName);
43
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAMpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACzC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,SAAS,sBAAsB,CAAC,IAA0B;IACxD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,eAAe,CAAC;QACzB,KAAK,eAAe;YAClB,OAAO,mBAAmB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA2B;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC;QAC/B,KAAK,eAAe;YAClB,OAAO,wBAAwB,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAA0B;IAChE,OAAO,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA2B;IAClE,OAAO,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA2B;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA2B;IAClE,OAAO,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,wBAAwB,CAAC,aAAqB,EAAE,QAAgB;IACvE,OAAO,IAAI,CAAC,aAAa,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,IAA0B,EAC1B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,IAA2B,EAC3B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,+BAA+B,CACtC,IAA0B,EAC1B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gCAAgC,CACvC,IAA2B,EAC3B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,aAAsB;IAM9D,OAAO;QACL,YAAY,EAAE,+BAA+B,CAAC,WAAW,EAAE,aAAa,CAAC;QACzE,eAAe,EAAE,gCAAgC,CAAC,WAAW,EAAE,aAAa,CAAC;QAC7E,eAAe,EAAE,+BAA+B,CAAC,eAAe,EAAE,aAAa,CAAC;QAChF,kBAAkB,EAAE,gCAAgC,CAAC,eAAe,EAAE,aAAa,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA0B,EAC1B,UAAsC,EAAE;IAExC,OAAO,QAAQ,CAAC,MAAM,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAA2B,EAC3B,UAAsC,EAAE;IAExC,OAAO,QAAQ,CAAC,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3F,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/system/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAMpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACzC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAC/C,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,SAAS,sBAAsB,CAAC,IAA0B;IACxD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,eAAe,CAAC;QACzB,KAAK,eAAe;YAClB,OAAO,mBAAmB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA2B;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW;YACd,OAAO,qBAAqB,CAAC;QAC/B,KAAK,eAAe;YAClB,OAAO,wBAAwB,CAAC;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAA0B;IAChE,OAAO,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA2B;IAClE,OAAO,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,uBAAuB,CAAC,IAA2B;IAC1D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA2B;IAClE,OAAO,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,OAAO,IAAI,CAAC,aAAa,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,wBAAwB,CAAC,aAAqB,EAAE,QAAgB;IACvE,OAAO,IAAI,CAAC,aAAa,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,IAA0B,EAC1B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,IAA2B,EAC3B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YAC3B,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,+BAA+B,CACtC,IAA0B,EAC1B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,gCAAgC,CACvC,IAA2B,EAC3B,aAAsB;IAEtB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,wBAAwB,CAAC,aAAa,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5F,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,aAAsB;IAM9D,OAAO;QACL,YAAY,EAAE,+BAA+B,CAAC,WAAW,EAAE,aAAa,CAAC;QACzE,eAAe,EAAE,gCAAgC,CAAC,WAAW,EAAE,aAAa,CAAC;QAC7E,eAAe,EAAE,+BAA+B,CAAC,eAAe,EAAE,aAAa,CAAC;QAChF,kBAAkB,EAAE,gCAAgC,CAAC,eAAe,EAAE,aAAa,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA0B,EAC1B,UAAsC,EAAE;IAExC,OAAO,QAAQ,CAAC,MAAM,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAA2B,EAC3B,UAAsC,EAAE;IAExC,OAAO,QAAQ,CAAC,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3F,CAAC"}
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: DeepClause Coding Workflow
3
+ description: Guidance for implementing and validating local repository changes in a DeepClause workspace.
4
+ tags: [coding, repository, tests, docs, deepclause]
5
+ when_to_use:
6
+ - implementing a feature or bug fix in the current repository
7
+ - updating tests and documentation alongside code changes
8
+ - debugging a local behavior before editing files
9
+ when_not_to_use:
10
+ - purely informational web research
11
+ - work that should become a reusable executable skill instead of a one-off repo change
12
+ globs: [src/**, tests/**, README.md, docs/**]
13
+ priority: high
14
+ ---
15
+
16
+ # Goal
17
+
18
+ Make small, grounded repository changes with focused validation and clear outcomes.
19
+
20
+ # Workflow
21
+
22
+ 1. Start from a concrete anchor such as a failing test, a named file, a command, or the nearest implementation surface.
23
+ 2. Read only enough nearby code to form one falsifiable local hypothesis about what should change.
24
+ 3. Prefer the smallest edit that tests that hypothesis.
25
+ 4. Run the narrowest validation that can falsify the change before widening scope.
26
+ 5. If the validation fails, repair the same slice first instead of opening new work.
27
+ 6. Update documentation when behavior, workflow, or user-visible commands changed.
28
+
29
+ # When To Use
30
+
31
+ Use this recipe when the task is primarily about changing repository files, adding tests, or updating documentation in a controlled way.
32
+
33
+ # When Not To Use
34
+
35
+ Do not use this recipe for pure research or when the right outcome is to create a reusable DML worker skill.
36
+
37
+ # Examples
38
+
39
+ - Implement a narrow bug fix in `src/` and validate it with one focused Vitest file.
40
+ - Update a CLI workflow and document the changed behavior in `README.md`.
41
+ - Add a new config seed and verify it with the corresponding init tests.
42
+
43
+ # Escalation
44
+
45
+ If the task repeats often or clearly represents a reusable automation, stop treating it as a one-off workflow and create a proper skill instead.
@@ -13,6 +13,10 @@ tool(run_skill(Slug, Args, Result), "Run an existing skill. Slug is the skill sl
13
13
 
14
14
  exec(run_skill(slug: Slug, args: Args), Result).
15
15
 
16
+ tool(consult_recipes(Query, Result), "Search the recipe library for workflow guidance and conventions. Query is a natural-language description. Returns matching recipe metadata and content.") :-
17
+
18
+ exec(consult_recipes(query: Query, max_results: 3), Result).
19
+
16
20
  tool(search_web(Query, Results), "Search the web for current information. Returns search results.") :-
17
21
  exec(web_search(query: Query), Results).
18
22
 
@@ -42,29 +46,31 @@ tool(inform_user(Message, Result), "Send a status update or progress report to t
42
46
  output(Message),
43
47
  Result = "ok".
44
48
 
45
- tool(save_memory(Content, Result), "Update task memory with technical learnings from this execution: what tools/approaches worked, what failed, useful commands, patterns discovered. Pass the COMPLETE updated memory in markdown (old + new learnings). This is technical memory - things that help future tasks.") :-
46
- exec(update_memory(content: Content), Result).
47
-
48
49
  % --- Main entry point ---
49
50
 
50
51
  agent_main(UserMessage) :-
51
52
  param(system_prompt, "Conductor system prompt", SysPrompt),
52
53
  system(SysPrompt),
53
54
  system("When using bash or similar tools, avoid dumping large outputs directly into the conversation context. Write large or uncertain outputs to temporary files first, then inspect them with focused commands such as wc, grep, head, tail, sed, or similar narrow follow-up commands so the context stays small and relevant."),
54
- format(string(TaskPrompt), "Task instructions: ~w\n\nComplete this task autonomously using your tools.\n\nIf you can complete the task, do so and report the result.\nIf you are blocked by a task-specific, tool-specific, external-service, environment, permission, dependency, or data issue that is not an LLM/provider/API/transport failure, do not go silent. Diagnose the blocker and explain clearly to the user why the task could not be completed. Do not call save_memory from this main task.\nIf the problem appears to be an LLM/provider/API/transport failure, do not invent a speculative diagnosis.\n\nReturn a good final answer in all non-LLM cases, including when the task is blocked.", [UserMessage]),
55
- task(TaskPrompt, string(Answer)),
56
- update_session_memory(UserMessage, Answer),
57
- answer(Answer).
55
+ format(string(TaskPrompt), "Task instructions: ~w\n\nComplete this task autonomously using your tools.\n\nIf you can complete the task, do so and report the result.\nIf you are blocked by a task-specific, tool-specific, external-service, environment, permission, dependency, or data issue that is not an LLM/provider/API/transport failure, do not go silent. Diagnose the blocker and explain clearly to the user why the task could not be completed.\nIf the problem appears to be an LLM/provider/API/transport failure, do not invent a speculative diagnosis.\n\nStore the user-facing response in FinalAnswer.\nStore the COMPLETE updated task memory markdown in MemoryUpdate only if this execution produced useful technical insights such as what worked, what failed, useful commands, error resolutions, or reusable lessons from a non-LLM task failure.\nIf nothing technically noteworthy should be recorded, store exactly NONE in MemoryUpdate.\nDo not call update_memory or any separate memory tool from this main task.\n\nReturn a good final answer in all non-LLM cases, including when the task is blocked.", [UserMessage]),
56
+ task(TaskPrompt, string(FinalAnswer), string(MemoryUpdate)),
57
+ maybe_update_session_memory(MemoryUpdate),
58
+ answer(FinalAnswer).
58
59
 
59
60
  % Fallback for technical failures where the main task itself cannot run to completion
60
61
  agent_main(_) :-
61
62
  answer("Task failed. Please try again.").
62
63
 
63
- % Memory update: extract technical learnings and persist to task-memory.md
64
- update_session_memory(UserMessage, Answer) :-
65
- format(string(MemoryPrompt), "You just completed:\nTask: ~w\nResult: ~w\n\nReview the task memory in your context (technical learnings). If this execution produced useful technical insights - what worked, what failed, useful commands, error resolutions, or reusable lessons from a non-LLM task failure - call save_memory with the COMPLETE updated memory. Only use the save_memory tool and no other tools. If nothing technically noteworthy, reply 'ok'.", [UserMessage, Answer]),
66
- with_tools([save_memory], (
67
- task(MemoryPrompt, string(_))
68
- )),
64
+ % Memory update is best-effort and uses the already-produced MemoryUpdate output.
65
+ maybe_update_session_memory("NONE") :-
66
+ !.
67
+ maybe_update_session_memory("none") :-
68
+ !.
69
+ maybe_update_session_memory("ok") :-
70
+ !.
71
+ maybe_update_session_memory("") :-
72
+ !.
73
+ maybe_update_session_memory(Content) :-
74
+ catch(exec(update_memory(content: Content), _), _, true),
69
75
  !.
70
- update_session_memory(_, _).
76
+ maybe_update_session_memory(_).
@@ -87,6 +87,7 @@ agent_main(SpecMarkdown) :-
87
87
  format(string(EnvTask),
88
88
  "Set up the execution environment for the skill you are about to build.\n\nBased on your research:\n~w\n\nYour job in this phase:\n1. Use shell() to check what is already installed (python --version, node --version, which <tool>, pip show <pkg>, etc.).\n2. Install ALL missing packages and tools: pip install, apt-get install (always use sudo and -y), npm install -g.\n3. If the skill needs helper scripts (Python, Shell, etc.), create and smoke-test them now with shell().\n4. When you encounter errors during setup, diagnose the root cause (version mismatch, missing system lib, permissions, ...) and resolve it.\n5. Prefer the simplest approach with the fewest new dependencies when the spec does not specify.\n6. Do NOT install anything inside the DML skill itself - the skill must assume everything is pre-installed.\n\nStore a short environment summary (what was installed, what exists) in EnvSummary.",
89
89
  [ResearchSummary]),
90
+
90
91
  task(EnvTask, string(EnvSummary)),
91
92
  output(EnvSummary),
92
93