@godv61/dsh-task-engine 0.25.0 → 0.26.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/.acceptance.mjs +150 -150
- package/.assessment-batch1.mjs +20 -20
- package/.enforce-test.mjs +138 -138
- package/.evidence-test.mjs +118 -119
- package/.filter-test.mjs +92 -92
- package/.hook-test.mjs +195 -195
- package/.p0-test.mjs +59 -59
- package/.preset-test.mjs +160 -160
- package/.revision-test.mjs +30 -16
- package/.roundtrip-test.mjs +178 -63
- package/.workflow-test.mjs +86 -0
- package/README.md +8 -8
- package/cordis.patch.yml +10 -10
- package/defaults/eng.json +70 -22
- package/docs/BRIEF-FOR-REVIEW.md +162 -162
- package/docs/CHANGELOG.md +18 -0
- package/docs/README.md +40 -40
- package/docs/configuration.md +14 -9
- package/docs/development.md +1 -1
- package/docs/faq.md +4 -4
- package/docs/listing/godv61__dsh-task-engine.yml +5 -5
- package/docs/listing/submission.md +83 -83
- package/docs/manual.html +32 -27
- package/docs/releases/0.23.2.md +21 -21
- package/docs/roadmap.md +34 -34
- 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
- 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
- package/docs/testing/0.23.2//346/265/213/350/257/225/346/212/245/345/221/212.md +65 -65
- package/hooks/commit-msg +70 -1
- package/lib/client.js +870 -571
- package/lib/client.js.map +3 -3
- package/lib/controller.d.ts +2 -1
- package/lib/controller.js +6 -3
- package/lib/controller.js.map +1 -1
- package/lib/dev-task.js +83 -15
- package/lib/dev-task.js.map +1 -1
- package/lib/engine.d.ts +15 -0
- package/lib/engine.js +29 -5
- package/lib/engine.js.map +1 -1
- package/lib/hook.js +3 -0
- package/lib/hook.js.map +1 -1
- package/lib/skill-audit.js +3 -3
- package/lib/skill-audit.js.map +1 -1
- package/lib/workflows.d.ts +4 -1
- package/lib/workflows.js +90 -2
- package/lib/workflows.js.map +1 -1
- package/package.json +1 -1
- package/preset/agent.cordis.yml +22 -22
- package/preset/enable.mjs +87 -87
- package/preset/persona.md +5 -5
- package/preset/preset.yml +1 -1
- package/rules/coding-conventions.md +6 -6
- package/rules/commit-conventions.md +6 -6
- package/rules/security-redlines.md +5 -5
- package/scripts/verify-dsh-compat.mjs +144 -144
- package/skills/code-implement/SKILL.md +1 -1
- package/skills/code-verify/SKILL.md +3 -3
- package/skills/eng-delivery/SKILL.md +10 -31
package/lib/skill-audit.js.map
CHANGED
|
@@ -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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"}
|
package/lib/workflows.d.ts
CHANGED
|
@@ -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 (
|
|
251
|
-
|
|
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
|
package/lib/workflows.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH;;;;;;;;;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,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,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,MAAO,CAAC,CAAA;YAC1E,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;IAChC,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,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;AAiBD;;;;;;;;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"}
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@godv61/dsh-task-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.1",
|
|
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",
|
package/preset/agent.cordis.yml
CHANGED
|
@@ -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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- id: task-engine-agent
|
|
22
|
-
name: '@godv61/dsh-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`;它拒绝时按返回的条件修正,不绕过。具体工作方法以当前任务冻结的用户配置为准,远程操作或发布由用户明确决定。
|
|
20
|
+
|
|
21
|
+
- id: task-engine-agent
|
|
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
|
-
|
|
4
|
-
|
|
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
|
+
|
|
5
|
+
阶段流转、确认、验证、评审、任务完成及受控提交通过 `dev_task`;它拒绝时按返回的条件修正,不绕过。具体工作方法以当前任务冻结的用户配置为准,远程操作或发布由用户明确决定。
|
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
|
- 权限与关键业务校验必须在服务端执行,前端校验不是安全边界。
|