@godv61/dsh-task-engine 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.acceptance.mjs +150 -150
  2. package/.assessment-batch1.mjs +20 -20
  3. package/.enforce-test.mjs +138 -138
  4. package/.evidence-test.mjs +118 -119
  5. package/.filter-test.mjs +92 -92
  6. package/.hook-test.mjs +195 -195
  7. package/.p0-test.mjs +59 -59
  8. package/.preset-test.mjs +160 -160
  9. package/.revision-test.mjs +30 -16
  10. package/.roundtrip-test.mjs +178 -63
  11. package/.workflow-test.mjs +86 -0
  12. package/README.md +7 -7
  13. package/cordis.patch.yml +10 -10
  14. package/defaults/eng.json +70 -22
  15. package/docs/BRIEF-FOR-REVIEW.md +162 -162
  16. package/docs/CHANGELOG.md +12 -0
  17. package/docs/README.md +40 -40
  18. package/docs/configuration.md +12 -9
  19. package/docs/development.md +1 -1
  20. package/docs/faq.md +4 -4
  21. package/docs/listing/godv61__dsh-task-engine.yml +5 -5
  22. package/docs/listing/submission.md +83 -83
  23. package/docs/manual.html +31 -26
  24. package/docs/releases/0.23.2.md +21 -21
  25. package/docs/roadmap.md +34 -34
  26. package/docs/testing/0.23.2/R02/344/270/232/345/212/241/346/265/213/350/257/225/346/230/216/347/273/206.md +56 -56
  27. package/docs/testing/0.23.2/R03/344/270/232/345/212/241/346/265/213/350/257/225/346/230/216/347/273/206.md +38 -38
  28. package/docs/testing/0.23.2//346/265/213/350/257/225/346/212/245/345/221/212.md +65 -65
  29. package/hooks/commit-msg +70 -1
  30. package/lib/client.js +825 -570
  31. package/lib/client.js.map +3 -3
  32. package/lib/controller.d.ts +2 -1
  33. package/lib/controller.js +6 -3
  34. package/lib/controller.js.map +1 -1
  35. package/lib/dev-task.js +79 -11
  36. package/lib/dev-task.js.map +1 -1
  37. package/lib/engine.d.ts +15 -0
  38. package/lib/engine.js +29 -5
  39. package/lib/engine.js.map +1 -1
  40. package/lib/hook.js +3 -0
  41. package/lib/hook.js.map +1 -1
  42. package/lib/skill-audit.js +3 -3
  43. package/lib/skill-audit.js.map +1 -1
  44. package/lib/workflows.d.ts +4 -1
  45. package/lib/workflows.js +90 -2
  46. package/lib/workflows.js.map +1 -1
  47. package/package.json +1 -1
  48. package/preset/agent.cordis.yml +21 -21
  49. package/preset/enable.mjs +87 -87
  50. package/preset/persona.md +4 -4
  51. package/preset/preset.yml +1 -1
  52. package/rules/coding-conventions.md +6 -6
  53. package/rules/commit-conventions.md +6 -6
  54. package/rules/security-redlines.md +5 -5
  55. package/scripts/verify-dsh-compat.mjs +144 -144
  56. package/skills/code-verify/SKILL.md +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"skill-audit.js","sourceRoot":"","sources":["../src/skill-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-audit.js","sourceRoot":"","sources":["../src/skill-audit.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * @module dsh-task-engine/workflows
15
15
  */
16
- import type { ArtifactDef, CommitRule, ReviewDepth, StageBinding, WorkflowConfig } from './engine.ts';
16
+ import type { ArtifactDef, CommitRule, ReviewDepth, SkillProfile, StageBinding, WorkflowConfig } from './engine.ts';
17
17
  /** A preset workflow a project can select by id. */
18
18
  export interface FlowOption {
19
19
  id: string;
@@ -115,11 +115,14 @@ export declare function adoptRecommendation(presetId: string, current?: ProjectC
115
115
  export interface ProjectConfig {
116
116
  flow: string;
117
117
  stage_bindings?: Record<string, StageBinding>;
118
+ skill_profiles?: Record<string, SkillProfile>;
118
119
  commit?: CommitRule;
119
120
  artifacts?: ArtifactDef[];
120
121
  review_depth?: ReviewDepth;
121
122
  commit_required?: boolean;
122
123
  }
124
+ /** Persist stages as references and each skill's rules exactly once. */
125
+ export declare function compactProjectConfig(project: ProjectConfig): ProjectConfig;
123
126
  /**
124
127
  * Resolve a preset workflow plus a project's stage-binding additions into the
125
128
  * complete engine config. Unknown `flow` ids fail closed with an explicit
package/lib/workflows.js CHANGED
@@ -13,6 +13,7 @@
13
13
  *
14
14
  * @module dsh-task-engine/workflows
15
15
  */
16
+ import { formatResourceRef } from "./engine.js";
16
17
  /**
17
18
  * Build one skill binding from a bare name plus its bundled rules.
18
19
  *
@@ -244,17 +245,88 @@ function applyProjectConfig(base, project) {
244
245
  return base;
245
246
  const next = { ...base };
246
247
  if (project.stage_bindings !== undefined) {
248
+ const profiles = { ...(project.skill_profiles ?? {}) };
249
+ const explicitProfiles = new Set(Object.keys(project.skill_profiles ?? {}));
250
+ const problems = [];
247
251
  const bindings = {};
248
252
  for (const [stage, binding] of Object.entries(project.stage_bindings)) {
249
253
  const entry = {};
250
- if ((binding.skills ?? []).length > 0)
251
- entry.skills = [...binding.skills];
254
+ if (binding === null || typeof binding !== 'object') {
255
+ problems.push(`stage_bindings "${stage}" must be an object`);
256
+ bindings[stage] = entry;
257
+ continue;
258
+ }
259
+ if (binding.skill_refs !== undefined && binding.skills !== undefined) {
260
+ problems.push(`stage_bindings "${stage}" has both skill_refs and legacy skills`);
261
+ }
262
+ if (binding.skill_refs !== undefined) {
263
+ if (!Array.isArray(binding.skill_refs)) {
264
+ problems.push(`stage_bindings "${stage}" skill_refs must be an array`);
265
+ }
266
+ entry.skills = (Array.isArray(binding.skill_refs) ? binding.skill_refs : []).flatMap(ref => {
267
+ if (ref === null || typeof ref !== 'object') {
268
+ problems.push(`stage_bindings "${stage}" has an invalid skill reference`);
269
+ return [];
270
+ }
271
+ const key = formatResourceRef(ref);
272
+ const profile = profiles[key];
273
+ if (profile === undefined) {
274
+ problems.push(`skill profile "${key}" is missing`);
275
+ return [];
276
+ }
277
+ if (profile === null || !Array.isArray(profile.rules)) {
278
+ problems.push(`skill profile "${key}" must declare a rules array`);
279
+ return [];
280
+ }
281
+ return [{ skill: ref, rules: profile.rules, ...(profile.evidence !== undefined ? { evidence: profile.evidence } : {}) }];
282
+ });
283
+ }
284
+ else if (binding.skills !== undefined) {
285
+ // Read pre-migration inline bindings, then normalize their rule lists to
286
+ // a single profile per skill. Divergent copies cannot be reconciled by
287
+ // guessing which stage should win.
288
+ if (!Array.isArray(binding.skills)) {
289
+ problems.push(`stage_bindings "${stage}" skills must be an array`);
290
+ }
291
+ entry.skills = (Array.isArray(binding.skills) ? binding.skills : []).flatMap(skill => {
292
+ if (skill === null || typeof skill !== 'object' || skill.skill === null || typeof skill.skill !== 'object') {
293
+ problems.push(`stage_bindings "${stage}" has an invalid skill binding`);
294
+ return [];
295
+ }
296
+ const key = formatResourceRef(skill.skill);
297
+ if (explicitProfiles.has(key)) {
298
+ // The project profile is authoritative. Inline methods are a legacy
299
+ // transport shape and may be stale after the skill is edited.
300
+ const profile = profiles[key];
301
+ if (profile === null || !Array.isArray(profile?.rules)) {
302
+ problems.push(`skill profile "${key}" must declare a rules array`);
303
+ return [];
304
+ }
305
+ return [{ skill: skill.skill, rules: profile.rules,
306
+ ...(profile.evidence !== undefined ? { evidence: profile.evidence } : {}) }];
307
+ }
308
+ const candidate = { rules: skill.rules ?? [], ...(skill.evidence !== undefined ? { evidence: skill.evidence } : {}) };
309
+ const existing = profiles[key];
310
+ if (existing !== undefined && JSON.stringify(existing) !== JSON.stringify(candidate)) {
311
+ problems.push(`skill "${key}" has different rules or evidence in multiple stages; copy it as a distinct skill`);
312
+ }
313
+ else
314
+ profiles[key] = candidate;
315
+ return [skill];
316
+ });
317
+ }
252
318
  const legacy = dedupe(binding.legacy_rules ?? []);
253
319
  if (legacy.length > 0)
254
320
  entry.legacy_rules = legacy;
255
321
  bindings[stage] = entry;
256
322
  }
257
323
  next.stage_bindings = bindings;
324
+ next.skill_profiles = profiles;
325
+ if (problems.length > 0)
326
+ next.configuration_errors = problems;
327
+ }
328
+ else if (project.skill_profiles !== undefined) {
329
+ next.skill_profiles = project.skill_profiles;
258
330
  }
259
331
  if (project.commit !== undefined)
260
332
  next.commit = project.commit;
@@ -299,6 +371,7 @@ export function adoptRecommendation(presetId, current) {
299
371
  const config = {
300
372
  flow: presetId,
301
373
  stage_bindings: current?.stage_bindings ?? rec.stage_bindings ?? {},
374
+ ...(current?.skill_profiles !== undefined ? { skill_profiles: current.skill_profiles } : {}),
302
375
  commit,
303
376
  artifacts: current?.artifacts ?? rec.artifacts ?? preset.config.artifacts,
304
377
  ...(current?.review_depth !== undefined
@@ -308,6 +381,21 @@ export function adoptRecommendation(presetId, current) {
308
381
  };
309
382
  return config;
310
383
  }
384
+ /** Persist stages as references and each skill's rules exactly once. */
385
+ export function compactProjectConfig(project) {
386
+ const resolved = resolveFlow(project.flow, project);
387
+ if (!resolved.ok)
388
+ return project;
389
+ const profiles = resolved.config.skill_profiles ?? {};
390
+ const bindings = {};
391
+ for (const [stage, binding] of Object.entries(resolved.config.stage_bindings ?? {})) {
392
+ bindings[stage] = {
393
+ skill_refs: (binding.skills ?? []).map(entry => entry.skill),
394
+ ...(binding.legacy_rules?.length ? { legacy_rules: binding.legacy_rules } : {}),
395
+ };
396
+ }
397
+ return { ...project, stage_bindings: bindings, skill_profiles: profiles };
398
+ }
311
399
  /**
312
400
  * Resolve a preset workflow plus a project's stage-binding additions into the
313
401
  * complete engine config. Unknown `flow` ids fail closed with an explicit
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAU/C;;;;;;;;;GASG;AACH,SAAS,OAAO,CAAC,KAAa,EAAE,GAAG,KAAe;IAChD,MAAM,GAAG,GAAG,CAAC,IAAY,EAAe,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;AACrD,CAAC;AAoDD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,oDAAoD,EAAE;IACpG,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,wCAAwC,EAAE;IACrF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,2BAA2B,EAAE;CAC3E,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,QAAQ,GAAmB;IAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE;QACX,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,EAAE;QACvF,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,EAAE;QAClF,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;QAClD,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;QAClD,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC,EAAE;KAC7E;IACD,gFAAgF;IAChF,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;IAC/G,+BAA+B,EAAE,IAAI;CACtC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAuB;IAClD,MAAM,EAAE;QACN,uEAAuE;QACvE,oEAAoE;QACpE,eAAe,EAAE,6BAA6B;QAC9C,YAAY,EAAE,6DAA6D;KAC5E;IACD,SAAS,EAAE;QACT,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE;QAC5F,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;QACpF,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;KAChF;IACD,cAAc,EAAE;QACd,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,EAAE;QAC1E,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE;QAC9C,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACxF,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE;QAC1C,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,OAAO,CAAC,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;gBACjE,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC;aAC7C;SACF;KACF;CACF,CAAA;AAED,kDAAkD;AAClD,MAAM,KAAK,GAAmB;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAChC,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,EAAE;QAChE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;QAClD,qEAAqE;QACrE,6EAA6E;QAC7E,wEAAwE;QACxE,6EAA6E;QAC7E,sEAAsE;QACtE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;KACvC;IACD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;IAC7G,+BAA+B,EAAE,KAAK;IACtC,0EAA0E;IAC1E,sEAAsE;IACtE,0EAA0E;IAC1E,sDAAsD;IACtD,iBAAiB,EAAE,CAAC,eAAe,CAAC;CACrC,CAAA;AAED,8EAA8E;AAC9E,MAAM,oBAAoB,GAAuB;IAC/C,MAAM,EAAE;QACN,0EAA0E;QAC1E,8EAA8E;QAC9E,yDAAyD;QACzD,eAAe,EAAE,6BAA6B;QAC9C,YAAY,EAAE,8DAA8D;KAC7E;IACD,SAAS,EAAE;QACT,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;QACnE,8EAA8E;QAC9E,4EAA4E;QAC5E,gFAAgF;QAChF,+DAA+D;QAC/D,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;KAC9E;IACD,cAAc,EAAE;QACd,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACxE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACxF,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,EAAE;QACxF,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,EAAE;KACtF;CACF,CAAA;AAED,iDAAiD;AACjD,MAAM,OAAO,GAAmB;IAC9B,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE;KACnD;IACD,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE;IAC9G,+BAA+B,EAAE,KAAK;CACvC,CAAA;AAED,gFAAgF;AAChF,MAAM,sBAAsB,GAAuB;IACjD,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,YAAY,EAAE,QAAQ;IACtB,cAAc,EAAE;QACd,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACxF,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,EAAE;KACjE;CACF,CAAA;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,MAAsB;IAChD,MAAM,IAAI,GAAyB,EAAE,CAAA;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;IACzE,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC1D,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IACzD,IAAI,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC/D,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU;QAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACrD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,MAAM,CACb,EAAU,EACV,OAAe,EACf,KAAa,EACb,WAAmB,EACnB,MAAsB,EACtB,cAAmC;IAEnC,OAAO;QACL,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW;QAC/B,YAAY,EAAE,kBAAkB,CAAC,MAAM,CAAC;QACxC,MAAM;QACN,iEAAiE;QACjE,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAA+B;IACtD,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,oDAAoD,EAAE,QAAQ,EAAE,uBAAuB,CAAC;IAChI,+EAA+E;IAC/E,iFAAiF;IACjF,mEAAmE;IACnE,EAAE;IACF,+EAA+E;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,wCAAwC,EAAE,KAAK,EAAE,oBAAoB,CAAC;IACxG,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,kCAAkC,EAAE,OAAO,EAAE,sBAAsB,CAAC;CAC3G,CAAA;AAED,gDAAgD;AAChD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAkC;IAC5E,mBAAmB;IACnB,YAAY;IACZ,aAAa;CACd,CAAA;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAuC;IACjF,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACtC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AACjE,CAAC;AAmBD,qEAAqE;AACrE,SAAS,MAAM,CAAC,KAAe;IAC7B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,kBAAkB,CAAC,IAAoB,EAAE,OAAuB;IACvE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACtC,MAAM,IAAI,GAAmB,EAAE,GAAG,IAAI,EAAE,CAAA;IACxC,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAiC,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,CAAA;QACpF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3E,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,MAAM,QAAQ,GAAiC,EAAE,CAAA;QACjD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACtE,MAAM,KAAK,GAAiB,EAAE,CAAA;YAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpD,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,qBAAqB,CAAC,CAAA;gBAC5D,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;gBACvB,SAAQ;YACV,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,yCAAyC,CAAC,CAAA;YAClF,CAAC;YACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,+BAA+B,CAAC,CAAA;gBACxE,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACzF,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,kCAAkC,CAAC,CAAA;wBACzE,OAAO,EAAE,CAAA;oBACX,CAAC;oBACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;oBAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;oBAC7B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC1B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC,CAAA;wBAClD,OAAO,EAAE,CAAA;oBACX,CAAC;oBACD,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,8BAA8B,CAAC,CAAA;wBAClE,OAAO,EAAE,CAAA;oBACX,CAAC;oBACD,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;gBAC1H,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxC,yEAAyE;gBACzE,uEAAuE;gBACvE,mCAAmC;gBACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,2BAA2B,CAAC,CAAA;gBACpE,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACnF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAC3G,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,gCAAgC,CAAC,CAAA;wBACvE,OAAO,EAAE,CAAA;oBACX,CAAC;oBACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBAC1C,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9B,oEAAoE;wBACpE,8DAA8D;wBAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;wBAC7B,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;4BACvD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,GAAG,8BAA8B,CAAC,CAAA;4BAClE,OAAO,EAAE,CAAA;wBACX,CAAC;wBACD,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;gCAChD,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;oBAChF,CAAC;oBACD,MAAM,SAAS,GAAiB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;oBACnI,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;oBAC9B,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;wBACrF,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,mFAAmF,CAAC,CAAA;oBACjH,CAAC;;wBAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;oBAChC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAChB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;YACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAA;YAClD,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;QAC9B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAA;IAC/D,CAAC;SAAM,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9D,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACvE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IAChF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;QAAE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;IACzF,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,OAAuB;IAEvB,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAA;IACjC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAA;IAC5D,8EAA8E;IAC9E,2DAA2D;IAC3D,EAAE;IACF,gFAAgF;IAChF,iFAAiF;IACjF,sEAAsE;IACtE,gFAAgF;IAChF,4EAA4E;IAC5E,MAAM,MAAM,GAAe;QACzB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM;QACvB,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;KAC3B,CAAA;IACD,MAAM,MAAM,GAAkB;QAC5B,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,GAAG,CAAC,cAAc,IAAI,EAAE;QACnE,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,MAAM;QACN,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS;QACzE,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE;YACxC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChG,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAkBD,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,OAAsB;IACzD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,OAAO,CAAA;IAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;IACrD,MAAM,QAAQ,GAAiC,EAAE,CAAA;IACjD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,CAAC;QACpF,QAAQ,CAAC,KAAK,CAAC,GAAG;YAChB,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5D,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAA;IACH,CAAC;IACD,OAAO,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAA;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,OAAuB;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAA;IACzF,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,IAAI,EAAE,CAAA;IACvD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;AAC3F,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@godv61/dsh-task-engine",
3
- "version": "0.25.0",
3
+ "version": "0.26.0",
4
4
  "description": "Workflow engine for DeepSeek Harness: a `dev_task` tool that hard-gates stage transitions and commit scope/message, per-node skill bindings with progressive disclosure, and a workbench to configure flows and mount skills. A preset is a flow SKELETON — state control only — and one reasonable engineering setup is offered separately for explicit adoption; which skills run, which rules they follow and what a commit message must look like stay the user's decisions.",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -1,22 +1,22 @@
1
- # dsh-task-engine — agent-plane opt-in fragment.
2
- #
3
- # Copy these two rows into a preset's `agent.cordis.yml` to activate the
4
- # engineering-delivery flow for that preset's sessions. Start from a copy of
5
- # `standard`, then REPLACE its `persona` row with the one below and ADD the
6
- # `task-engine-agent` row. (The bundle must also be installed via
7
- # `dsh plugin add @godv61/dsh-task-engine` so the engine and workbench exist.)
8
- #
9
- # `{{model}}` and `{{cwd}}` resolve from the agent's own route and workspace.
10
-
11
- - id: persona
12
- name: '@deepseek-ai/dsh-persona'
13
- config:
14
- text: |-
15
- You are an engineering-delivery coding agent, powered by the {{model}} model, running on DeepSeek Harness. Your working directory is {{cwd}}.
16
-
17
- 本仓库采用工程化交付流程,由 `dev_task` 工具硬性持有任务状态机:需求评审 → 设计 → 开发 → 交付 → 代码审核。阶段、流转门槛、提交格式都来自项目根 `.dsh/eng.json`(没有该文件则用内置默认)。任何开发类请求开始前,先加载 `eng-delivery` 技能。
18
-
19
- 铁律:一切阶段流转、确认、验证、评审和提交都必须通过 `dev_task`——它拒绝时是硬事实,必须修正前置条件,禁止绕过。只做任务范围内的本地提交;绝不 push、合并、创建 PR、执行数据库、操作 Jenkins、部署或发布。
20
-
21
- - id: task-engine-agent
1
+ # dsh-task-engine — agent-plane opt-in fragment.
2
+ #
3
+ # Copy these two rows into a preset's `agent.cordis.yml` to activate the
4
+ # engineering-delivery flow for that preset's sessions. Start from a copy of
5
+ # `standard`, then REPLACE its `persona` row with the one below and ADD the
6
+ # `task-engine-agent` row. (The bundle must also be installed via
7
+ # `dsh plugin add @godv61/dsh-task-engine` so the engine and workbench exist.)
8
+ #
9
+ # `{{model}}` and `{{cwd}}` resolve from the agent's own route and workspace.
10
+
11
+ - id: persona
12
+ name: '@deepseek-ai/dsh-persona'
13
+ config:
14
+ text: |-
15
+ You are an engineering-delivery coding agent, powered by the {{model}} model, running on DeepSeek Harness. Your working directory is {{cwd}}.
16
+
17
+ 本仓库采用工程化交付流程,由 `dev_task` 工具硬性持有任务状态机:需求评审 → 设计 → 开发 → 交付 → 代码审核。阶段、流转门槛、提交格式都来自项目根 `.dsh/eng.json`(没有该文件则用内置默认)。任何开发类请求开始前,先加载 `eng-delivery` 技能。
18
+
19
+ 铁律:一切阶段流转、确认、验证、评审和提交都必须通过 `dev_task`——它拒绝时是硬事实,必须修正前置条件,禁止绕过。只做任务范围内的本地提交;绝不 push、合并、创建 PR、执行数据库、操作 Jenkins、部署或发布。
20
+
21
+ - id: task-engine-agent
22
22
  name: '@godv61/dsh-task-engine/agent'
package/preset/enable.mjs CHANGED
@@ -1,88 +1,88 @@
1
- #!/usr/bin/env node
2
- /**
3
- * One-shot activation helper: copy the shipped `standard` preset to a `eng`
4
- * preset under `$DSH_HOME/.agent-presets`, swap its persona for the engineering
5
- * persona, and append the `@godv61/dsh-task-engine/agent` row.
6
- *
7
- * Run after `dsh plugin --profile <name> add @godv61/dsh-task-engine`:
8
- * node <this-file>
9
- *
10
- * The script writes files only under `$DSH_HOME/.agent-presets/eng`; it never
11
- * touches the shipped preset install.
12
- */
13
-
14
- import { createRequire } from 'node:module'
15
- import { cp, mkdir, readFile, writeFile, stat } from 'node:fs/promises'
16
- import { homedir } from 'node:os'
17
- import { join } from 'node:path'
18
- import { fileURLToPath } from 'node:url'
19
-
20
- const require = createRequire(import.meta.url)
21
-
22
- /** The persona block `standard` ships, in its exact indentation. */
23
- const SHIPPED_PERSONA_BLOCK =
24
- ' text: >-\n'
25
- + ' You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.\n'
26
-
27
- const AGENT_ROW = "\n- id: task-engine-agent\n name: '@godv61/dsh-task-engine/agent'\n"
28
-
29
- async function exists(path) {
30
- try {
31
- await stat(path)
32
- return true
33
- } catch {
34
- return false
35
- }
36
- }
37
-
38
- async function main() {
39
- let shippedRoot
40
- try {
41
- ;({ SHIPPED_PRESET_ROOT: shippedRoot } = require('@deepseek-ai/dsh-agent-presets'))
42
- } catch {
43
- console.error('未找到 @deepseek-ai/dsh-agent-presets —— 请先执行 dsh plugin --profile <name> add @godv61/dsh-task-engine')
44
- process.exitCode = 1
45
- return
46
- }
47
-
48
- const home = process.env.DSH_HOME ?? join(homedir(), '.dsh')
49
- const source = join(shippedRoot, 'standard')
50
- const target = join(home, '.agent-presets', 'eng')
51
-
52
- if (await exists(target)) {
53
- console.error(`预设 "eng" 已存在(${target}),本脚本不会覆盖;请先删除它再重跑,或改用它已有的 agent.cordis.yml。`)
54
- process.exitCode = 1
55
- return
56
- }
57
-
58
- await mkdir(join(home, '.agent-presets'), { recursive: true })
59
- await cp(source, target, { recursive: true })
60
-
61
- const compPath = join(target, 'agent.cordis.yml')
62
- let comp = await readFile(compPath, 'utf8')
63
-
64
- const persona = (await readFile(fileURLToPath(new URL('./persona.md', import.meta.url)), 'utf8')).trimEnd()
65
- if (comp.includes(SHIPPED_PERSONA_BLOCK)) {
66
- const block = ' text: |-\n' + persona.split('\n').map(line => ' ' + line).join('\n') + '\n'
67
- comp = comp.replace(SHIPPED_PERSONA_BLOCK, block)
68
- } else {
69
- console.warn('未能定位 standard 的 persona 段,跳过 persona 替换(仍会追加 agent 行)。')
70
- }
71
-
72
- if (!comp.includes("name: '@godv61/dsh-task-engine/agent'")) {
73
- comp = comp.trimEnd() + '\n' + AGENT_ROW
74
- }
75
- await writeFile(compPath, comp, 'utf8')
76
-
77
- await writeFile(
78
- join(target, 'preset.yml'),
79
- 'name: 工程化开发引擎\n'
80
- + 'description: 通过 dev_task 工具硬性持有需求评审→设计→开发→交付→代码审核的状态机,按项目 .dsh/eng.json 配置流转与提交门禁。\n',
81
- 'utf8',
82
- )
83
-
84
- console.log('完成。已创建预设 "eng":persona 已替换为工程人设,并追加了 @godv61/dsh-task-engine/agent 行。')
85
- console.log('新建会话时选择「工程化开发引擎」即可激活流程。')
86
- }
87
-
1
+ #!/usr/bin/env node
2
+ /**
3
+ * One-shot activation helper: copy the shipped `standard` preset to a `eng`
4
+ * preset under `$DSH_HOME/.agent-presets`, swap its persona for the engineering
5
+ * persona, and append the `@godv61/dsh-task-engine/agent` row.
6
+ *
7
+ * Run after `dsh plugin --profile <name> add @godv61/dsh-task-engine`:
8
+ * node <this-file>
9
+ *
10
+ * The script writes files only under `$DSH_HOME/.agent-presets/eng`; it never
11
+ * touches the shipped preset install.
12
+ */
13
+
14
+ import { createRequire } from 'node:module'
15
+ import { cp, mkdir, readFile, writeFile, stat } from 'node:fs/promises'
16
+ import { homedir } from 'node:os'
17
+ import { join } from 'node:path'
18
+ import { fileURLToPath } from 'node:url'
19
+
20
+ const require = createRequire(import.meta.url)
21
+
22
+ /** The persona block `standard` ships, in its exact indentation. */
23
+ const SHIPPED_PERSONA_BLOCK =
24
+ ' text: >-\n'
25
+ + ' You are a coding agent powered by the {{model}} model. Your working directory is {{cwd}}.\n'
26
+
27
+ const AGENT_ROW = "\n- id: task-engine-agent\n name: '@godv61/dsh-task-engine/agent'\n"
28
+
29
+ async function exists(path) {
30
+ try {
31
+ await stat(path)
32
+ return true
33
+ } catch {
34
+ return false
35
+ }
36
+ }
37
+
38
+ async function main() {
39
+ let shippedRoot
40
+ try {
41
+ ;({ SHIPPED_PRESET_ROOT: shippedRoot } = require('@deepseek-ai/dsh-agent-presets'))
42
+ } catch {
43
+ console.error('未找到 @deepseek-ai/dsh-agent-presets —— 请先执行 dsh plugin --profile <name> add @godv61/dsh-task-engine')
44
+ process.exitCode = 1
45
+ return
46
+ }
47
+
48
+ const home = process.env.DSH_HOME ?? join(homedir(), '.dsh')
49
+ const source = join(shippedRoot, 'standard')
50
+ const target = join(home, '.agent-presets', 'eng')
51
+
52
+ if (await exists(target)) {
53
+ console.error(`预设 "eng" 已存在(${target}),本脚本不会覆盖;请先删除它再重跑,或改用它已有的 agent.cordis.yml。`)
54
+ process.exitCode = 1
55
+ return
56
+ }
57
+
58
+ await mkdir(join(home, '.agent-presets'), { recursive: true })
59
+ await cp(source, target, { recursive: true })
60
+
61
+ const compPath = join(target, 'agent.cordis.yml')
62
+ let comp = await readFile(compPath, 'utf8')
63
+
64
+ const persona = (await readFile(fileURLToPath(new URL('./persona.md', import.meta.url)), 'utf8')).trimEnd()
65
+ if (comp.includes(SHIPPED_PERSONA_BLOCK)) {
66
+ const block = ' text: |-\n' + persona.split('\n').map(line => ' ' + line).join('\n') + '\n'
67
+ comp = comp.replace(SHIPPED_PERSONA_BLOCK, block)
68
+ } else {
69
+ console.warn('未能定位 standard 的 persona 段,跳过 persona 替换(仍会追加 agent 行)。')
70
+ }
71
+
72
+ if (!comp.includes("name: '@godv61/dsh-task-engine/agent'")) {
73
+ comp = comp.trimEnd() + '\n' + AGENT_ROW
74
+ }
75
+ await writeFile(compPath, comp, 'utf8')
76
+
77
+ await writeFile(
78
+ join(target, 'preset.yml'),
79
+ 'name: 工程化开发引擎\n'
80
+ + 'description: 通过 dev_task 工具硬性持有需求评审→设计→开发→交付→代码审核的状态机,按项目 .dsh/eng.json 配置流转与提交门禁。\n',
81
+ 'utf8',
82
+ )
83
+
84
+ console.log('完成。已创建预设 "eng":persona 已替换为工程人设,并追加了 @godv61/dsh-task-engine/agent 行。')
85
+ console.log('新建会话时选择「工程化开发引擎」即可激活流程。')
86
+ }
87
+
88
88
  await main()
package/preset/persona.md CHANGED
@@ -1,5 +1,5 @@
1
- You are an engineering-delivery coding agent, powered by the {{model}} model, running on DeepSeek Harness. Your working directory is {{cwd}}.
2
-
3
- 本仓库采用工程化交付流程,由 `dev_task` 工具硬性持有任务状态机:需求评审 → 设计 → 开发 → 交付 → 代码审核。阶段、流转门槛、提交格式都来自项目根 `.dsh/eng.json`(没有该文件则用内置默认)。任何开发类请求开始前,先加载 `eng-delivery` 技能。
4
-
1
+ You are an engineering-delivery coding agent, powered by the {{model}} model, running on DeepSeek Harness. Your working directory is {{cwd}}.
2
+
3
+ 本仓库采用工程化交付流程,由 `dev_task` 工具硬性持有任务状态机:需求评审 → 设计 → 开发 → 交付 → 代码审核。阶段、流转门槛、提交格式都来自项目根 `.dsh/eng.json`(没有该文件则用内置默认)。任何开发类请求开始前,先加载 `eng-delivery` 技能。
4
+
5
5
  铁律:一切阶段流转、确认、验证、评审和提交都必须通过 `dev_task`——它拒绝时是硬事实,必须修正前置条件,禁止绕过。只做任务范围内的本地提交;绝不 push、合并、创建 PR、执行数据库、操作 Jenkins、部署或发布。
package/preset/preset.yml CHANGED
@@ -1,2 +1,2 @@
1
- name: 工程化开发引擎
1
+ name: 工程化开发引擎
2
2
  description: 通过 dev_task 工具硬性持有需求评审→设计→开发→交付→代码审核的状态机,按项目 .dsh/eng.json 配置流转与提交门禁。
@@ -1,7 +1,7 @@
1
- # 通用编码规范
2
-
3
- - 复用相邻实现与现有代码;单一调用方不为形式统一新增抽象层、包装层或额外分层。
4
- - 禁止空 catch、printStackTrace、调试输出;吞错必须写清原因。
5
- - 禁止无条件全表更新、删除或无边界查询。
6
- - 命名清晰表达意图;不引入超过当前技术基线的语法、框架或 API。
1
+ # 通用编码规范
2
+
3
+ - 复用相邻实现与现有代码;单一调用方不为形式统一新增抽象层、包装层或额外分层。
4
+ - 禁止空 catch、printStackTrace、调试输出;吞错必须写清原因。
5
+ - 禁止无条件全表更新、删除或无边界查询。
6
+ - 命名清晰表达意图;不引入超过当前技术基线的语法、框架或 API。
7
7
  - 不覆盖已有文件、用户改动或生成目标;不顺带重构无关历史。
@@ -1,6 +1,6 @@
1
- # 提交规范
2
-
3
- - 内置流程的提交消息使用 `【<task_id>】【TASK】说明` 或 `【<task_id>】【Tn】说明`,第一段必须是当前任务 id,不能填模块名;第二段使用 `dev_task status` 返回的 `commit.label`。自定义格式以任务冻结流程中的 `commit.message_hint` 和 `message_pattern` 为准。说明写结果,不写"修改代码"这类空泛动作。
4
- - 只提交任务 files 范围内的文件;逐文件暂存,禁止 `git add .` / `git add -A`。
5
- - 提交前 `git diff --cached --check`;发现范围外文件、密钥或环境配置时停止。
6
- - 不 push、不合并、不建 PR、不部署、不发布。
1
+ # 提交规范
2
+
3
+ - 内置流程的提交消息使用 `【<task_id>】【TASK】说明` 或 `【<task_id>】【Tn】说明`,第一段必须是当前任务 id,不能填模块名;第二段使用 `dev_task status` 返回的 `commit.label`。自定义格式以任务冻结流程中的 `commit.message_hint` 和 `message_pattern` 为准。说明写结果,不写"修改代码"这类空泛动作。
4
+ - 只提交任务 files 范围内的文件;逐文件暂存,禁止 `git add .` / `git add -A`。
5
+ - 提交前 `git diff --cached --check`;发现范围外文件、密钥或环境配置时停止。
6
+ - 不 push、不合并、不建 PR、不部署、不发布。
@@ -1,6 +1,6 @@
1
- # 安全红线
2
-
3
- - 禁止读取、展示或修改密码、Token、私钥和生产凭据。
4
- - 禁止把敏感请求体、文件正文或凭据写入日志。
5
- - 禁止用户输入直接拼接 SQL、表名、列名、排序、路径或命令。
1
+ # 安全红线
2
+
3
+ - 禁止读取、展示或修改密码、Token、私钥和生产凭据。
4
+ - 禁止把敏感请求体、文件正文或凭据写入日志。
5
+ - 禁止用户输入直接拼接 SQL、表名、列名、排序、路径或命令。
6
6
  - 权限与关键业务校验必须在服务端执行,前端校验不是安全边界。