daedalus-cli 3.41.0 → 3.41.1
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [3.41.1](https://github.com/bgill55/daedalus/compare/v3.41.0...v3.41.1) (2026-08-24)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **skills:** don't synthesize a skill draft from praise / verification-summary turns ([8b777fe](https://github.com/bgill55/daedalus/commit/8b777fe3ebb7073ca01b7633f60c0b2444c1efa3))
|
|
7
|
+
|
|
1
8
|
# [3.41.0](https://github.com/bgill55/daedalus/compare/v3.40.13...v3.41.0) (2026-08-24)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-synthesis.d.ts","sourceRoot":"","sources":["../../src/skills/auto-synthesis.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAgBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAiBD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,eAAe,
|
|
1
|
+
{"version":3,"file":"auto-synthesis.d.ts","sourceRoot":"","sources":["../../src/skills/auto-synthesis.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAgBD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAiBD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,eAAe,CA2CjB"}
|
|
@@ -47,6 +47,15 @@ export function synthesizeSkillFromTurn(userPrompt, turnSummary) {
|
|
|
47
47
|
// happens to exceed the length floor would synthesize a spurious draft.
|
|
48
48
|
if (!DID_WORK_SUMMARY_RE.test(turnSummary))
|
|
49
49
|
return { synthesized: false };
|
|
50
|
+
// A skill playbook must contain a REUSABLE RECIPE, not just a status report. A turn
|
|
51
|
+
// that says "all 60 tests pass / verified on disk / changes made" has a work verb but
|
|
52
|
+
// no procedure — it is a verification summary, not a how-to. Synthesizing a draft from
|
|
53
|
+
// it (e.g. from a "good job" praise turn) pollutes the .drafts store with junk. Require
|
|
54
|
+
// at least one procedural signal: a shell command, a code/file block, an ordered step
|
|
55
|
+
// list, or an explicit patched-file reference, before proposing a skill.
|
|
56
|
+
const PROCEDURAL_SUMMARY_RE = /(^|\n)\s*(?:[*-]|\d+[.)])\s|npm |npx |git |pnpm |yarn |bun |cd \/|patch |read_file|write_file|(src\/|tests?\/\.ts|\.js|\.json)|diff --git|@@ -\d/i;
|
|
57
|
+
if (!PROCEDURAL_SUMMARY_RE.test(turnSummary))
|
|
58
|
+
return { synthesized: false };
|
|
50
59
|
const slug = slugify(userPrompt);
|
|
51
60
|
if (!slug || slug.length < 3)
|
|
52
61
|
return { synthesized: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-synthesis.js","sourceRoot":"","sources":["../../src/skills/auto-synthesis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto-synthesis.js","sourceRoot":"","sources":["../../src/skills/auto-synthesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ describe('Auto Skill Synthesis', () => {
|
|
|
34
34
|
});
|
|
35
35
|
it('prevents duplicate skill synthesis if a draft already exists', () => {
|
|
36
36
|
const prompt = 'Configure Helmet CSP headers for Express production app';
|
|
37
|
-
const summary = 'Installed helmet and updated contentSecurityPolicy settings.';
|
|
37
|
+
const summary = 'Installed helmet and updated contentSecurityPolicy settings in src/app.ts. Ran `npm run build`.';
|
|
38
38
|
const first = synthesizeSkillFromTurn(prompt, summary);
|
|
39
39
|
expect(first.synthesized).toBe(true);
|
|
40
40
|
expect(listSkillDrafts().length).toBe(1);
|
|
@@ -80,5 +80,25 @@ describe('Auto Skill Synthesis', () => {
|
|
|
80
80
|
const res = synthesizeSkillFromTurn(prompt, summary);
|
|
81
81
|
expect(res.synthesized).toBe(false);
|
|
82
82
|
});
|
|
83
|
+
it('skips synthesis for a praise / verification-summary turn with no reusable recipe', () => {
|
|
84
|
+
// Regression: a "good job" praise turn whose summary only restates verified work
|
|
85
|
+
// ("60 tests pass / verified on disk / changes made") has work verbs but NO procedure.
|
|
86
|
+
// It is a status report, not a playbook, so it must not synthesize a draft. Note the
|
|
87
|
+
// summary deliberately avoids naming any command/file (e.g. "npm run lint") so it is a
|
|
88
|
+
// pure status report, not a recipe.
|
|
89
|
+
const prompt = 'well done Daedalus, i just checked the work you did 10/10';
|
|
90
|
+
const summary = 'All 60 tests passed and typecheck is clean. The changes are verified on disk. ' +
|
|
91
|
+
'The changes are real and on disk and the suite is green.';
|
|
92
|
+
const res = synthesizeSkillFromTurn(prompt, summary);
|
|
93
|
+
expect(res.synthesized).toBe(false);
|
|
94
|
+
});
|
|
95
|
+
it('still synthesizes when the summary carries a real procedural recipe', () => {
|
|
96
|
+
// The gate must NOT block turns that actually contain a reusable how-to (commands,
|
|
97
|
+
// file refs, or step lists) alongside the work verbs.
|
|
98
|
+
const prompt = 'Fix typescript module resolution error in Express router';
|
|
99
|
+
const summary = 'Installed @types/express and ran `npm run build`. Updated tsconfig.json moduleResolution to bundler. Steps:\n1. add @types/express\n2. set moduleResolution';
|
|
100
|
+
const res = synthesizeSkillFromTurn(prompt, summary);
|
|
101
|
+
expect(res.synthesized).toBe(true);
|
|
102
|
+
});
|
|
83
103
|
});
|
|
84
104
|
//# sourceMappingURL=auto-synthesis.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-synthesis.test.js","sourceRoot":"","sources":["../../src/skills/auto-synthesis.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAI,MAAc,CAAC;IAEnB,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACxE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,0DAA0D,CAAC;QAC1E,MAAM,OAAO,GAAG,iFAAiF,CAAC;QAClG,MAAM,GAAG,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAE3E,sFAAsF;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC;QAC1F,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAC7E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACvF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,MAAM,GAAG,yDAAyD,CAAC;QACzE,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"auto-synthesis.test.js","sourceRoot":"","sources":["../../src/skills/auto-synthesis.test.ts"],"names":[],"mappings":"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"}
|