@lmzhen/dsh-evolution-maintenance 0.3.57 → 0.3.59
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/lib/index.js +10 -0
- package/lib/tools.js +3 -1
- package/lib/types/tools.d.ts +6 -0
- package/package.json +3 -2
package/lib/index.js
CHANGED
|
@@ -213,6 +213,16 @@ function validateAndNormalizeMaintainPlan(raw, report, validSignals) {
|
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
const notes = Array.isArray(raw.notes) ? raw.notes.filter((note) => isNonEmptyString(note)) : [];
|
|
216
|
+
const overSignals = /* @__PURE__ */ new Set();
|
|
217
|
+
for (const signal of report.library) if (signal.verdict === "over") overSignals.add(signal.id);
|
|
218
|
+
for (const skill of report.skills) for (const signal of skill.signals) if (signal.verdict === "over") overSignals.add(signal.id);
|
|
219
|
+
const covered = new Set(plan.flatMap((item) => item.evidence.map((ev) => ev.signal)));
|
|
220
|
+
const notesText = notes.join("\n");
|
|
221
|
+
if (verdict === "issues") if (plan.length === 0 && notes.length === 0 && overSignals.size > 0) errors.push("completeness: verdict=issues with an empty plan AND no notes — every over signal must be covered by evidence or named in a note (§3)");
|
|
222
|
+
else {
|
|
223
|
+
const uncovered = [...overSignals].filter((id) => !covered.has(id) && !notesText.includes(id));
|
|
224
|
+
if (uncovered.length > 0) errors.push(`completeness: over signal(s) not covered by any plan evidence nor named in a note (${uncovered.join(", ")}) — §3 requires each over signal to be addressed or explicitly explained away`);
|
|
225
|
+
}
|
|
216
226
|
if (errors.length > 0) return {
|
|
217
227
|
ok: false,
|
|
218
228
|
errors,
|
package/lib/tools.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { i as snapshotFromLibrary, n as PROBE_SIGNALS, r as computeProbe, t as buildEnrichment } from "./enrichment-B7tEHkM5.js";
|
|
2
2
|
import { SkillLibrary, redactSecrets, resolveSkillsRoot } from "@lmzhen/dsh-evolution-core";
|
|
3
|
+
import z from "@deepseek-ai/schemastery";
|
|
3
4
|
import { defineTool } from "@deepseek-ai/dsh-tools";
|
|
4
5
|
//#region lib/types/tools.js
|
|
5
6
|
/**
|
|
@@ -13,6 +14,7 @@ import { defineTool } from "@deepseek-ai/dsh-tools";
|
|
|
13
14
|
* @module @lmzhen/dsh-evolution-maintenance-tools
|
|
14
15
|
*/
|
|
15
16
|
const name = "evolution-maintenance-tools";
|
|
17
|
+
const Config = z.object({ skillsRoot: z.string().default("") });
|
|
16
18
|
function apply(ctx, rawConfig = {}) {
|
|
17
19
|
const config = rawConfig;
|
|
18
20
|
ctx.inject(["tools"], (toolCtx) => {
|
|
@@ -79,4 +81,4 @@ function apply(ctx, rawConfig = {}) {
|
|
|
79
81
|
});
|
|
80
82
|
}
|
|
81
83
|
//#endregion
|
|
82
|
-
export { apply, name };
|
|
84
|
+
export { Config, apply, name };
|
package/lib/types/tools.d.ts
CHANGED
|
@@ -9,11 +9,17 @@
|
|
|
9
9
|
* @module @lmzhen/dsh-evolution-maintenance-tools
|
|
10
10
|
*/
|
|
11
11
|
import type { Context } from '@deepseek-ai/cordis';
|
|
12
|
+
import z from '@deepseek-ai/schemastery';
|
|
12
13
|
export declare const name = "evolution-maintenance-tools";
|
|
13
14
|
export interface Config {
|
|
14
15
|
/** Skill-tree root for probe reads; empty uses skillsRoot(). Align with
|
|
15
16
|
* tool-skill-manage/skill-usage/evolution-skill-catalog/commands rows (A7). */
|
|
16
17
|
skillsRoot?: string | undefined;
|
|
17
18
|
}
|
|
19
|
+
export declare const Config: z<Schemastery.ObjectS<{
|
|
20
|
+
skillsRoot: z<string, string>;
|
|
21
|
+
}>, Schemastery.ObjectT<{
|
|
22
|
+
skillsRoot: z<string, string>;
|
|
23
|
+
}>>;
|
|
18
24
|
export declare function apply(ctx: Context, rawConfig?: Config): void;
|
|
19
25
|
//# sourceMappingURL=tools.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lmzhen/dsh-evolution-maintenance",
|
|
3
3
|
"description": "Deterministic maintenance-scan surface: skill-library snapshot assembly, drift signals and mechanical-facts rendering (design 011) (community build)",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.59",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -34,7 +34,8 @@
|
|
|
34
34
|
],
|
|
35
35
|
"license": "MIT",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@
|
|
37
|
+
"@deepseek-ai/schemastery": "^3.18.1",
|
|
38
|
+
"@lmzhen/dsh-evolution-core": "^0.3.59"
|
|
38
39
|
},
|
|
39
40
|
"peerDependencies": {
|
|
40
41
|
"@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
|