@phamvuhoang/otto-core 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.
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/skill-validation.d.ts +155 -0
- package/dist/skill-validation.d.ts.map +1 -0
- package/dist/skill-validation.js +376 -0
- package/dist/skill-validation.js.map +1 -0
- package/dist/skills-cli.d.ts +7 -0
- package/dist/skills-cli.d.ts.map +1 -1
- package/dist/skills-cli.js +80 -2
- package/dist/skills-cli.js.map +1 -1
- package/dist/skills.d.ts +40 -4
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +43 -1
- package/dist/skills.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -31,9 +31,10 @@ export { checkApprovalRequired, checkCommand, checkNetworkDomain, checkWritePath
|
|
|
31
31
|
export { TAINT_SOURCES, UNTRUSTED_WARNING, wrapUntrusted, type TaintSource, } from "./taint.js";
|
|
32
32
|
export { authorizeToolInvocation, parseTool, readToolConfig, readTools, selectToolsForStage, toolEnabledForStage, toolPath, toolsDir, type ToolAuthorization, type ToolConfig, type ToolDefinition, type ToolInvocation, type ToolKind, type ToolOverride, type ToolResult, type ToolSelection, } from "./tools.js";
|
|
33
33
|
export { auditTools, auditToolPolicyConflicts, formatToolsAudit, formatToolsList, formatToolsWhy, runTools, type ToolAuditFinding, type ToolsDeps, } from "./tools-cli.js";
|
|
34
|
-
export { findSkillCandidates, globMatch, listSkillIds, parseSkill, readSkill, readSkills, recordValidation, selectSkills, skillDir, skillExists, skillInstructionsPath, skillManifestPath, skillsDir, skillStatus, toSkillName, writeSkill, type CandidateRun, type Skill, type SkillCandidate, type SkillMatch, type SkillMatchContext, type ImportedSkillProvenance, type SkillStatus, type SkillTrust, type SkillValidation, } from "./skills.js";
|
|
34
|
+
export { findSkillCandidates, globMatch, listSkillIds, parseSkill, readSkill, readSkills, recordStaticValidation, recordValidation, selectSkills, skillDir, skillExists, skillInstructionsPath, skillManifestPath, skillsDir, skillStatus, toSkillName, writeSkill, type CandidateRun, type Skill, type SkillCandidate, type SkillMatch, type SkillMatchContext, type ImportedSkillProvenance, type SkillCompatibility, type SkillStatus, type SkillTrust, type SkillValidation, type StaticValidationOutcome, } from "./skills.js";
|
|
35
35
|
export { addSource, applySync, auditExternal, discoverPackages, importedChecksum, lockPath, normalizePackage, parseFrontmatter, parseSource, planSync, readLock, readSources, removeSource, sourcesPath, writeLock, writeSources, type DiscoveredPackage, type ExternalAuditFinding, type ExternalSkillLock, type ExternalSkillLockEntry, type ExternalSkillSource, type ExternalSourceType, type SyncAction, type SyncPlan, type SyncPlanItem, } from "./external-skills.js";
|
|
36
|
-
export { formatCandidates, formatExternalAudit, formatSkillsAudit, formatSkillsReport, formatSources, formatSyncPlan, formatWhy, runSkills, type SkillsDeps, } from "./skills-cli.js";
|
|
36
|
+
export { formatCandidates, formatExternalAudit, formatSkillsAudit, formatSkillsReport, formatSources, formatSyncPlan, formatValidationReport, formatWhy, runSkills, type SkillsDeps, } from "./skills-cli.js";
|
|
37
|
+
export { checkProvenance, classifyCompatibility, extractCapabilities, lintManifest, scanInstructionRisks, skillChecksum, validateSkill, type SkillCheckFinding, type SkillCheckKind, type SkillCheckSeverity, type SkillValidationReport, } from "./skill-validation.js";
|
|
37
38
|
export { compareTrajectories, scoreTrajectory, type EvalSignals, type LabelledSignals, } from "./eval.js";
|
|
38
39
|
export { PLAN_CRITERIA, detectScopeDrift, extractPlanFileMap, formatPlanDepthRubric, formatPlanRubric, scorePlanDepth, scorePlanQuality, type PlanDepthCriterion, type PlanDepthCriterionResult, type PlanDepthScore, type PlanCriterion, type PlanCriterionResult, type PlanRubricScore, type ScopeDriftResult, } from "./plan-rubric.js";
|
|
39
40
|
export { buildFallbackRunReport, extractRunReport, finalizeReportText, summarizeReviewSeverity, type FinalizeReportContext, type ReviewSeveritySummary, type ScopeDriftSummary, } from "./report-finalize.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,OAAO,EACP,iBAAiB,EACjB,KAAK,QAAQ,EACb,KAAK,UAAU,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACtB,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,QAAQ,EACR,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,9 +31,10 @@ export { checkApprovalRequired, checkCommand, checkNetworkDomain, checkWritePath
|
|
|
31
31
|
export { TAINT_SOURCES, UNTRUSTED_WARNING, wrapUntrusted, } from "./taint.js";
|
|
32
32
|
export { authorizeToolInvocation, parseTool, readToolConfig, readTools, selectToolsForStage, toolEnabledForStage, toolPath, toolsDir, } from "./tools.js";
|
|
33
33
|
export { auditTools, auditToolPolicyConflicts, formatToolsAudit, formatToolsList, formatToolsWhy, runTools, } from "./tools-cli.js";
|
|
34
|
-
export { findSkillCandidates, globMatch, listSkillIds, parseSkill, readSkill, readSkills, recordValidation, selectSkills, skillDir, skillExists, skillInstructionsPath, skillManifestPath, skillsDir, skillStatus, toSkillName, writeSkill, } from "./skills.js";
|
|
34
|
+
export { findSkillCandidates, globMatch, listSkillIds, parseSkill, readSkill, readSkills, recordStaticValidation, recordValidation, selectSkills, skillDir, skillExists, skillInstructionsPath, skillManifestPath, skillsDir, skillStatus, toSkillName, writeSkill, } from "./skills.js";
|
|
35
35
|
export { addSource, applySync, auditExternal, discoverPackages, importedChecksum, lockPath, normalizePackage, parseFrontmatter, parseSource, planSync, readLock, readSources, removeSource, sourcesPath, writeLock, writeSources, } from "./external-skills.js";
|
|
36
|
-
export { formatCandidates, formatExternalAudit, formatSkillsAudit, formatSkillsReport, formatSources, formatSyncPlan, formatWhy, runSkills, } from "./skills-cli.js";
|
|
36
|
+
export { formatCandidates, formatExternalAudit, formatSkillsAudit, formatSkillsReport, formatSources, formatSyncPlan, formatValidationReport, formatWhy, runSkills, } from "./skills-cli.js";
|
|
37
|
+
export { checkProvenance, classifyCompatibility, extractCapabilities, lintManifest, scanInstructionRisks, skillChecksum, validateSkill, } from "./skill-validation.js";
|
|
37
38
|
export { compareTrajectories, scoreTrajectory, } from "./eval.js";
|
|
38
39
|
export { PLAN_CRITERIA, detectScopeDrift, extractPlanFileMap, formatPlanDepthRubric, formatPlanRubric, scorePlanDepth, scorePlanQuality, } from "./plan-rubric.js";
|
|
39
40
|
export { buildFallbackRunReport, extractRunReport, finalizeReportText, summarizeReviewSeverity, } from "./report-finalize.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { type Skill, type SkillCompatibility } from "./skills.js";
|
|
2
|
+
/**
|
|
3
|
+
* Skill compatibility & validation gate (issue #113 P17). Before an imported or
|
|
4
|
+
* repo-authored skill is eligible to influence a live run, it must pass a gate:
|
|
5
|
+
* static manifest lint, frontmatter/capability extraction, license/provenance
|
|
6
|
+
* checks (this slice, #132), an instruction-risk scan (#133), and a derived
|
|
7
|
+
* compatibility class persisted back to `skill.json` (#134).
|
|
8
|
+
*
|
|
9
|
+
* This module is **pure** — no fs, no model, deterministic over a {@link Skill}
|
|
10
|
+
* value — mirroring `skills.ts`/`safety-policy.ts`. The bin reads a skill, runs
|
|
11
|
+
* {@link validateSkill}, and prints the report; persistence and selection are
|
|
12
|
+
* separate concerns layered on later. Validation never makes a skill eligible by
|
|
13
|
+
* itself: "validated" means "passed the gate", not "auto-applied".
|
|
14
|
+
*/
|
|
15
|
+
/** Severity of one validation finding. `error` blocks; `warn`/`info` advise. */
|
|
16
|
+
export type SkillCheckSeverity = "error" | "warn" | "info";
|
|
17
|
+
/** Which axis of the gate a finding came from. */
|
|
18
|
+
export type SkillCheckKind = "manifest" | "provenance" | "risk";
|
|
19
|
+
/**
|
|
20
|
+
* One validation finding. `rule` is the stable check id (for tests + remediation
|
|
21
|
+
* lookup); `message` says what is wrong; `remediation` says how to fix it — the
|
|
22
|
+
* issue's "failures explain the exact blocker + remediation path".
|
|
23
|
+
*/
|
|
24
|
+
export type SkillCheckFinding = {
|
|
25
|
+
kind: SkillCheckKind;
|
|
26
|
+
severity: SkillCheckSeverity;
|
|
27
|
+
rule: string;
|
|
28
|
+
message: string;
|
|
29
|
+
remediation: string;
|
|
30
|
+
};
|
|
31
|
+
/** The aggregate result of validating one skill. */
|
|
32
|
+
export type SkillValidationReport = {
|
|
33
|
+
/** Skill name validated. */
|
|
34
|
+
skill: string;
|
|
35
|
+
/** Capabilities extracted from the manifest + instruction frontmatter. */
|
|
36
|
+
capabilities: string[];
|
|
37
|
+
findings: SkillCheckFinding[];
|
|
38
|
+
/**
|
|
39
|
+
* True when no `error`-severity finding fired AND no applicable behavior drill
|
|
40
|
+
* failed — the skill clears the gate.
|
|
41
|
+
*/
|
|
42
|
+
ok: boolean;
|
|
43
|
+
/** Derived compatibility class (issue #134). */
|
|
44
|
+
compatibility: SkillCompatibility;
|
|
45
|
+
/** Stages a `stage-scoped` skill is valid for; empty otherwise. */
|
|
46
|
+
stages: string[];
|
|
47
|
+
/** sha256 of the instruction body validated (for drift detection, #135). */
|
|
48
|
+
checksum: string;
|
|
49
|
+
/** Behavior-drill outcomes (issue #135). */
|
|
50
|
+
drills: DrillResult[];
|
|
51
|
+
};
|
|
52
|
+
/** sha256 of a skill's instruction body, hex. The hash domain matches the */
|
|
53
|
+
/** imported-package checksum in `external-skills.ts` so drift compares cleanly. */
|
|
54
|
+
export declare function skillChecksum(instructions: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* Derive a {@link SkillCompatibility} class from a validation report (issue
|
|
57
|
+
* #134), as a priority ladder: an error-severity finding → `blocked` (cannot be
|
|
58
|
+
* applied anywhere); an interactive hard stop → `interactive-only` (needs a human,
|
|
59
|
+
* so AFK-unsafe even when otherwise valid); capabilities that imply specific
|
|
60
|
+
* stages → `stage-scoped` (with the stage list); otherwise `afk-safe`. Pure.
|
|
61
|
+
*/
|
|
62
|
+
export declare function classifyCompatibility(report: SkillValidationReport): {
|
|
63
|
+
compatibility: SkillCompatibility;
|
|
64
|
+
stages: string[];
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Static manifest/schema lint. Checks the structural invariants a usable skill
|
|
68
|
+
* package must hold: a filesystem-safe name, a non-empty instruction body, at
|
|
69
|
+
* least one capability (the retrieval key), and a set version. Returns one
|
|
70
|
+
* finding per broken rule; a well-formed manifest yields `[]`.
|
|
71
|
+
*/
|
|
72
|
+
export declare function lintManifest(skill: Skill): SkillCheckFinding[];
|
|
73
|
+
/**
|
|
74
|
+
* Extract the skill's effective capabilities: the manifest `capabilities` plus
|
|
75
|
+
* any declared in a leading frontmatter block in the instruction body (skill
|
|
76
|
+
* packs often carry `capabilities:` there). De-duplicated, manifest order first.
|
|
77
|
+
*/
|
|
78
|
+
export declare function extractCapabilities(skill: Skill): string[];
|
|
79
|
+
/**
|
|
80
|
+
* License/provenance check. For an imported skill (has `provenance`): the
|
|
81
|
+
* upstream ref must be pinned and a license declared, and when an explicit
|
|
82
|
+
* `--source` is given it must match the recorded source. For a repo-authored
|
|
83
|
+
* skill (no provenance) there is nothing external to check — but asserting a
|
|
84
|
+
* `--source` against it is an error, since it was never imported.
|
|
85
|
+
*/
|
|
86
|
+
export declare function checkProvenance(skill: Skill, source?: string): SkillCheckFinding[];
|
|
87
|
+
/**
|
|
88
|
+
* Scan a skill's instruction body for the six P17 risk categories (issue #133):
|
|
89
|
+
* unsafe shell advice, secret handling, network use, interactive hard stops,
|
|
90
|
+
* unsupported tool assumptions, and conflicting hierarchy (a skill trying to
|
|
91
|
+
* overrule repo policy). Each finding names the exact matched phrase and a
|
|
92
|
+
* remediation. Pure, deterministic, conservative — benign guidance yields `[]`.
|
|
93
|
+
*/
|
|
94
|
+
export declare function scanInstructionRisks(instructions: string): SkillCheckFinding[];
|
|
95
|
+
/**
|
|
96
|
+
* A small behavior drill (issue #135): a declarative expectation about how a
|
|
97
|
+
* skill of a given kind must classify. Drills are the cheap, deterministic half
|
|
98
|
+
* of "static rules + small behavioral drills" — they assert that an imported
|
|
99
|
+
* methodology lands in a usable, non-contradictory class for its intended stage,
|
|
100
|
+
* without paying for a model run. `appliesTo` (any-match against the skill's
|
|
101
|
+
* capabilities) decides whether a drill is in scope for a skill.
|
|
102
|
+
*/
|
|
103
|
+
export type SkillDrill = {
|
|
104
|
+
name: string;
|
|
105
|
+
description: string;
|
|
106
|
+
/** Capabilities that bring this drill into scope (any-match). */
|
|
107
|
+
appliesTo: string[];
|
|
108
|
+
/** Compatibility classes this drill accepts. */
|
|
109
|
+
expectClassIn: SkillCompatibility[];
|
|
110
|
+
/** Finding rules that must NOT be present for the drill to pass. */
|
|
111
|
+
forbidRules: string[];
|
|
112
|
+
};
|
|
113
|
+
/** One drill's outcome against a report. */
|
|
114
|
+
export type DrillResult = {
|
|
115
|
+
drill: string;
|
|
116
|
+
/** Whether the drill was in scope for this skill. */
|
|
117
|
+
applied: boolean;
|
|
118
|
+
/** True when not applied, or applied and satisfied. */
|
|
119
|
+
passed: boolean;
|
|
120
|
+
detail: string;
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* The standard drills from the roadmap (issue #135): a Superpowers planning/TDD
|
|
124
|
+
* drill (the methodology must be usable, not interactive-only/blocked), a PM
|
|
125
|
+
* roadmap/PRD drill (must scope to the plan stage), and a review drill (a review
|
|
126
|
+
* skill must not try to overrule repo policy).
|
|
127
|
+
*/
|
|
128
|
+
export declare const STANDARD_DRILLS: SkillDrill[];
|
|
129
|
+
/**
|
|
130
|
+
* Run behavior drills against a validation report (issue #135). A drill applies
|
|
131
|
+
* when the skill declares one of its `appliesTo` capabilities; an applied drill
|
|
132
|
+
* passes when the report's class is in `expectClassIn` and none of its
|
|
133
|
+
* `forbidRules` fired. A non-applicable drill is reported `applied: false,
|
|
134
|
+
* passed: true` so it never blocks an unrelated skill. Pure, deterministic.
|
|
135
|
+
*/
|
|
136
|
+
export declare function runDrills(report: SkillValidationReport, drills?: SkillDrill[]): DrillResult[];
|
|
137
|
+
/**
|
|
138
|
+
* Whether a statically-validated skill must be revalidated before reuse (issue
|
|
139
|
+
* #135). True when the skill carries a recorded `instructionsChecksum` (it was
|
|
140
|
+
* validated) but its current body no longer hashes to it — the skill drifted
|
|
141
|
+
* (e.g. an upstream re-sync changed it) since the gate last ran. A skill that was
|
|
142
|
+
* never statically validated has nothing to revalidate, so this is false. Pure.
|
|
143
|
+
*/
|
|
144
|
+
export declare function needsRevalidation(skill: Skill): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Run the full static gate over one skill and aggregate the result: manifest
|
|
147
|
+
* lint, capability extraction, provenance check (#132), instruction-risk scan
|
|
148
|
+
* (#133), derived compatibility class (#134), and behavior drills (#135). `ok` is
|
|
149
|
+
* false when any `error`-severity finding fired OR an applicable drill failed.
|
|
150
|
+
* Pure — the caller decides whether to persist or print the report.
|
|
151
|
+
*/
|
|
152
|
+
export declare function validateSkill(skill: Skill, opts?: {
|
|
153
|
+
source?: string;
|
|
154
|
+
}): SkillValidationReport;
|
|
155
|
+
//# sourceMappingURL=skill-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-validation.d.ts","sourceRoot":"","sources":["../src/skill-validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { parseFrontmatter } from "./external-skills.js";
|
|
3
|
+
import { toSkillName } from "./skills.js";
|
|
4
|
+
/** sha256 of a skill's instruction body, hex. The hash domain matches the */
|
|
5
|
+
/** imported-package checksum in `external-skills.ts` so drift compares cleanly. */
|
|
6
|
+
export function skillChecksum(instructions) {
|
|
7
|
+
return createHash("sha256").update(instructions).digest("hex");
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Map one capability tag to the stage it scopes to, or null when it does not
|
|
11
|
+
* imply a specific stage (a general capability → afk-safe, not stage-scoped).
|
|
12
|
+
* Mirrors the P18 stage capability tags in the roadmap.
|
|
13
|
+
*/
|
|
14
|
+
const CAPABILITY_STAGE = new Map([
|
|
15
|
+
["planning", "plan"],
|
|
16
|
+
["roadmap-planning", "plan"],
|
|
17
|
+
["prd", "plan"],
|
|
18
|
+
["prioritization", "plan"],
|
|
19
|
+
["problem-framing", "plan"],
|
|
20
|
+
["discovery", "plan"],
|
|
21
|
+
["tdd", "implement"],
|
|
22
|
+
["coding", "implement"],
|
|
23
|
+
["refactor", "implement"],
|
|
24
|
+
["code-review", "review"],
|
|
25
|
+
["review", "review"],
|
|
26
|
+
["security", "review"],
|
|
27
|
+
["structural", "review"],
|
|
28
|
+
["reporting", "report"],
|
|
29
|
+
["report", "report"],
|
|
30
|
+
["journal", "journal"],
|
|
31
|
+
["context-engineering", "tool-output"],
|
|
32
|
+
["compression", "tool-output"],
|
|
33
|
+
]);
|
|
34
|
+
/** The stages a skill's capabilities imply (sorted, de-duplicated). */
|
|
35
|
+
function impliedStages(capabilities) {
|
|
36
|
+
const stages = new Set();
|
|
37
|
+
for (const cap of capabilities) {
|
|
38
|
+
const stage = CAPABILITY_STAGE.get(cap.toLowerCase());
|
|
39
|
+
if (stage)
|
|
40
|
+
stages.add(stage);
|
|
41
|
+
}
|
|
42
|
+
return [...stages].sort();
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Derive a {@link SkillCompatibility} class from a validation report (issue
|
|
46
|
+
* #134), as a priority ladder: an error-severity finding → `blocked` (cannot be
|
|
47
|
+
* applied anywhere); an interactive hard stop → `interactive-only` (needs a human,
|
|
48
|
+
* so AFK-unsafe even when otherwise valid); capabilities that imply specific
|
|
49
|
+
* stages → `stage-scoped` (with the stage list); otherwise `afk-safe`. Pure.
|
|
50
|
+
*/
|
|
51
|
+
export function classifyCompatibility(report) {
|
|
52
|
+
if (report.findings.some((f) => f.severity === "error")) {
|
|
53
|
+
return { compatibility: "blocked", stages: [] };
|
|
54
|
+
}
|
|
55
|
+
if (report.findings.some((f) => f.rule === "interactive-hard-stop")) {
|
|
56
|
+
return { compatibility: "interactive-only", stages: [] };
|
|
57
|
+
}
|
|
58
|
+
const stages = impliedStages(report.capabilities);
|
|
59
|
+
if (stages.length > 0) {
|
|
60
|
+
return { compatibility: "stage-scoped", stages };
|
|
61
|
+
}
|
|
62
|
+
return { compatibility: "afk-safe", stages: [] };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Static manifest/schema lint. Checks the structural invariants a usable skill
|
|
66
|
+
* package must hold: a filesystem-safe name, a non-empty instruction body, at
|
|
67
|
+
* least one capability (the retrieval key), and a set version. Returns one
|
|
68
|
+
* finding per broken rule; a well-formed manifest yields `[]`.
|
|
69
|
+
*/
|
|
70
|
+
export function lintManifest(skill) {
|
|
71
|
+
const findings = [];
|
|
72
|
+
if (toSkillName(skill.name) !== skill.name) {
|
|
73
|
+
findings.push({
|
|
74
|
+
kind: "manifest",
|
|
75
|
+
severity: "error",
|
|
76
|
+
rule: "name-slug",
|
|
77
|
+
message: `name "${skill.name}" is not a filesystem-safe slug`,
|
|
78
|
+
remediation: `rename the package to "${toSkillName(skill.name)}"`,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (skill.instructions.trim().length === 0) {
|
|
82
|
+
findings.push({
|
|
83
|
+
kind: "manifest",
|
|
84
|
+
severity: "error",
|
|
85
|
+
rule: "empty-instructions",
|
|
86
|
+
message: "the skill has no instruction body",
|
|
87
|
+
remediation: "add the procedure to instructions.md",
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
if (skill.capabilities.length === 0) {
|
|
91
|
+
findings.push({
|
|
92
|
+
kind: "manifest",
|
|
93
|
+
severity: "warn",
|
|
94
|
+
rule: "no-capabilities",
|
|
95
|
+
message: "no capabilities declared — retrieval cannot key on this skill",
|
|
96
|
+
remediation: "declare capability tags (e.g. planning, tdd, code-review)",
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
if (skill.version === "0.0.0" || skill.version.trim().length === 0) {
|
|
100
|
+
findings.push({
|
|
101
|
+
kind: "manifest",
|
|
102
|
+
severity: "warn",
|
|
103
|
+
rule: "unversioned",
|
|
104
|
+
message: `version "${skill.version}" looks unset`,
|
|
105
|
+
remediation: "set a real version so drift and revalidation can be tracked",
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return findings;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Extract the skill's effective capabilities: the manifest `capabilities` plus
|
|
112
|
+
* any declared in a leading frontmatter block in the instruction body (skill
|
|
113
|
+
* packs often carry `capabilities:` there). De-duplicated, manifest order first.
|
|
114
|
+
*/
|
|
115
|
+
export function extractCapabilities(skill) {
|
|
116
|
+
const out = [...skill.capabilities];
|
|
117
|
+
const { fields } = parseFrontmatter(skill.instructions);
|
|
118
|
+
const raw = fields.capabilities;
|
|
119
|
+
if (raw) {
|
|
120
|
+
for (const cap of raw
|
|
121
|
+
.replace(/^\[|\]$/g, "")
|
|
122
|
+
.split(",")
|
|
123
|
+
.map((s) => s.trim().replace(/^["']|["']$/g, ""))
|
|
124
|
+
.filter((s) => s.length > 0)) {
|
|
125
|
+
if (!out.includes(cap))
|
|
126
|
+
out.push(cap);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return out;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* License/provenance check. For an imported skill (has `provenance`): the
|
|
133
|
+
* upstream ref must be pinned and a license declared, and when an explicit
|
|
134
|
+
* `--source` is given it must match the recorded source. For a repo-authored
|
|
135
|
+
* skill (no provenance) there is nothing external to check — but asserting a
|
|
136
|
+
* `--source` against it is an error, since it was never imported.
|
|
137
|
+
*/
|
|
138
|
+
export function checkProvenance(skill, source) {
|
|
139
|
+
const findings = [];
|
|
140
|
+
const p = skill.provenance;
|
|
141
|
+
if (!p) {
|
|
142
|
+
if (source !== undefined) {
|
|
143
|
+
findings.push({
|
|
144
|
+
kind: "provenance",
|
|
145
|
+
severity: "error",
|
|
146
|
+
rule: "not-imported",
|
|
147
|
+
message: `--source "${source}" was given but "${skill.name}" is repo-authored (no provenance)`,
|
|
148
|
+
remediation: "drop --source, or import the skill via otto-skills sync",
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return findings;
|
|
152
|
+
}
|
|
153
|
+
if (source !== undefined && p.source !== source) {
|
|
154
|
+
findings.push({
|
|
155
|
+
kind: "provenance",
|
|
156
|
+
severity: "error",
|
|
157
|
+
rule: "source-mismatch",
|
|
158
|
+
message: `--source "${source}" does not match recorded source "${p.source}"`,
|
|
159
|
+
remediation: `validate with --source ${p.source}, or re-import from ${source}`,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (!p.upstreamRef) {
|
|
163
|
+
findings.push({
|
|
164
|
+
kind: "provenance",
|
|
165
|
+
severity: "warn",
|
|
166
|
+
rule: "unpinned-ref",
|
|
167
|
+
message: `imported "${skill.name}" has no pinned upstream ref`,
|
|
168
|
+
remediation: "pin the source: otto-skills sources add <name> <url> --ref <sha-or-tag>",
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
if (!p.license) {
|
|
172
|
+
findings.push({
|
|
173
|
+
kind: "provenance",
|
|
174
|
+
severity: "warn",
|
|
175
|
+
rule: "missing-license",
|
|
176
|
+
message: `imported "${skill.name}" declares no license`,
|
|
177
|
+
remediation: "add a license: field to the upstream SKILL.md and re-sync",
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
return findings;
|
|
181
|
+
}
|
|
182
|
+
const RISK_PATTERNS = [
|
|
183
|
+
// Unsafe shell advice — destructive or self-elevating commands.
|
|
184
|
+
{
|
|
185
|
+
rule: "unsafe-shell",
|
|
186
|
+
severity: "error",
|
|
187
|
+
re: /\brm\s+-[a-z]*[rf][a-z]*\s+(?:-[a-z]+\s+)*(?:\/|~|\$\w|\*)/i,
|
|
188
|
+
message: (h) => `destructive delete in shell advice: "${h.trim()}"`,
|
|
189
|
+
remediation: "scope deletes to a named path; never rm -rf / ~ or $VAR",
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
rule: "unsafe-shell",
|
|
193
|
+
severity: "error",
|
|
194
|
+
re: /\b(?:curl|wget)\b[^\n|]*\|\s*(?:sudo\s+)?(?:ba|z|da|)sh\b/i,
|
|
195
|
+
message: (h) => `pipes a download straight into a shell: "${h.trim()}"`,
|
|
196
|
+
remediation: "download, inspect, then run — never pipe a fetch into a shell",
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
rule: "unsafe-shell",
|
|
200
|
+
severity: "error",
|
|
201
|
+
re: /\bsudo\s+\S+/i,
|
|
202
|
+
message: (h) => `requires elevated privileges: "${h.trim()}"`,
|
|
203
|
+
remediation: "AFK runs unprivileged; remove sudo and operate in the workspace",
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
rule: "unsafe-shell",
|
|
207
|
+
severity: "error",
|
|
208
|
+
re: /\bchmod\s+(?:-[a-z]+\s+)*777\b/i,
|
|
209
|
+
message: (h) => `world-writable permissions: "${h.trim()}"`,
|
|
210
|
+
remediation: "grant least-privilege permissions instead of 777",
|
|
211
|
+
},
|
|
212
|
+
// Secret handling — printing/echoing/logging credentials.
|
|
213
|
+
{
|
|
214
|
+
rule: "secret-handling",
|
|
215
|
+
severity: "error",
|
|
216
|
+
re: /\b(?:echo|print|printf|cat|log|paste|export)\b[^\n]{0,40}\b(?:[A-Z0-9_]*(?:SECRET|PASSWORD|API[_-]?KEY|TOKEN|CREDENTIAL)[A-Z0-9_]*)\b/i,
|
|
217
|
+
message: (h) => `exposes a secret: "${h.trim()}"`,
|
|
218
|
+
remediation: "never echo/log secrets; read them from the environment only",
|
|
219
|
+
},
|
|
220
|
+
// Network use — fetch commands that AFK policy may forbid.
|
|
221
|
+
{
|
|
222
|
+
rule: "network-use",
|
|
223
|
+
severity: "warn",
|
|
224
|
+
re: /\b(?:curl|wget|nc|netcat|ssh|scp|telnet)\s+\S+/i,
|
|
225
|
+
message: (h) => `performs network I/O: "${h.trim()}"`,
|
|
226
|
+
remediation: "AFK network is policy-scoped; declare needed domains in .otto/policy.json or avoid the call",
|
|
227
|
+
},
|
|
228
|
+
// Interactive hard stops — block AFK, mark the skill interactive-only.
|
|
229
|
+
{
|
|
230
|
+
rule: "interactive-hard-stop",
|
|
231
|
+
severity: "warn",
|
|
232
|
+
re: /\b(?:ask|prompt|wait for|confirm with|check with|get approval from)\b[^\n]{0,20}\b(?:the\s+)?(?:user|human|operator|reviewer)\b|\bdo not proceed until\b|\bSTOP and (?:ask|wait)\b|\bwait for (?:confirmation|approval|input)\b/i,
|
|
233
|
+
message: (h) => `requires human interaction: "${h.trim()}"`,
|
|
234
|
+
remediation: "provide an autonomous default for AFK, or classify the skill interactive-only",
|
|
235
|
+
},
|
|
236
|
+
// Unsupported tool assumptions — GUI/IDE/browser the AFK runtime lacks.
|
|
237
|
+
{
|
|
238
|
+
rule: "unsupported-tool",
|
|
239
|
+
severity: "warn",
|
|
240
|
+
re: /\b(?:open your browser|in your IDE|open .{0,20}in (?:vs ?code|the editor)|click (?:the|on)|drag and drop|take a screenshot)\b/i,
|
|
241
|
+
message: (h) => `assumes an interactive tool the AFK runtime lacks: "${h.trim()}"`,
|
|
242
|
+
remediation: "replace GUI/IDE steps with CLI/file operations",
|
|
243
|
+
},
|
|
244
|
+
// Conflicting hierarchy — attempts to overrule repo policy / prior context.
|
|
245
|
+
{
|
|
246
|
+
rule: "conflicting-hierarchy",
|
|
247
|
+
severity: "error",
|
|
248
|
+
re: /\b(?:ignore|disregard|override|bypass|forget)\b[^\n]{0,30}\b(?:previous|prior|above|all)?\s*(?:instructions?|system prompt|repo policy|safety|policy|agents\.md|rules?)\b/i,
|
|
249
|
+
message: (h) => `tries to overrule the instruction hierarchy: "${h.trim()}"`,
|
|
250
|
+
remediation: "skills are advisory; remove overrule language — repo policy and stage contracts win",
|
|
251
|
+
},
|
|
252
|
+
];
|
|
253
|
+
/**
|
|
254
|
+
* Scan a skill's instruction body for the six P17 risk categories (issue #133):
|
|
255
|
+
* unsafe shell advice, secret handling, network use, interactive hard stops,
|
|
256
|
+
* unsupported tool assumptions, and conflicting hierarchy (a skill trying to
|
|
257
|
+
* overrule repo policy). Each finding names the exact matched phrase and a
|
|
258
|
+
* remediation. Pure, deterministic, conservative — benign guidance yields `[]`.
|
|
259
|
+
*/
|
|
260
|
+
export function scanInstructionRisks(instructions) {
|
|
261
|
+
const findings = [];
|
|
262
|
+
for (const p of RISK_PATTERNS) {
|
|
263
|
+
const m = p.re.exec(instructions);
|
|
264
|
+
if (m) {
|
|
265
|
+
findings.push({
|
|
266
|
+
kind: "risk",
|
|
267
|
+
severity: p.severity,
|
|
268
|
+
rule: p.rule,
|
|
269
|
+
message: p.message(m[0]),
|
|
270
|
+
remediation: p.remediation,
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return findings;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* The standard drills from the roadmap (issue #135): a Superpowers planning/TDD
|
|
278
|
+
* drill (the methodology must be usable, not interactive-only/blocked), a PM
|
|
279
|
+
* roadmap/PRD drill (must scope to the plan stage), and a review drill (a review
|
|
280
|
+
* skill must not try to overrule repo policy).
|
|
281
|
+
*/
|
|
282
|
+
export const STANDARD_DRILLS = [
|
|
283
|
+
{
|
|
284
|
+
name: "planning-tdd-usable",
|
|
285
|
+
description: "a planning/TDD skill must be applicable, not interactive-only or blocked",
|
|
286
|
+
appliesTo: ["planning", "tdd"],
|
|
287
|
+
expectClassIn: ["afk-safe", "stage-scoped"],
|
|
288
|
+
forbidRules: [],
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: "pm-roadmap-prd-stage-scoped",
|
|
292
|
+
description: "a PM roadmap/PRD skill must scope to a stage (plan), not be blocked",
|
|
293
|
+
appliesTo: ["roadmap-planning", "prd"],
|
|
294
|
+
expectClassIn: ["stage-scoped", "afk-safe"],
|
|
295
|
+
forbidRules: [],
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
name: "review-respects-policy",
|
|
299
|
+
description: "a review skill must not try to overrule repo policy",
|
|
300
|
+
appliesTo: ["code-review", "review"],
|
|
301
|
+
expectClassIn: ["stage-scoped", "afk-safe"],
|
|
302
|
+
forbidRules: ["conflicting-hierarchy"],
|
|
303
|
+
},
|
|
304
|
+
];
|
|
305
|
+
/**
|
|
306
|
+
* Run behavior drills against a validation report (issue #135). A drill applies
|
|
307
|
+
* when the skill declares one of its `appliesTo` capabilities; an applied drill
|
|
308
|
+
* passes when the report's class is in `expectClassIn` and none of its
|
|
309
|
+
* `forbidRules` fired. A non-applicable drill is reported `applied: false,
|
|
310
|
+
* passed: true` so it never blocks an unrelated skill. Pure, deterministic.
|
|
311
|
+
*/
|
|
312
|
+
export function runDrills(report, drills = STANDARD_DRILLS) {
|
|
313
|
+
const caps = new Set(report.capabilities.map((c) => c.toLowerCase()));
|
|
314
|
+
return drills.map((drill) => {
|
|
315
|
+
const applied = drill.appliesTo.some((c) => caps.has(c.toLowerCase()));
|
|
316
|
+
if (!applied) {
|
|
317
|
+
return {
|
|
318
|
+
drill: drill.name,
|
|
319
|
+
applied: false,
|
|
320
|
+
passed: true,
|
|
321
|
+
detail: "not in scope",
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
const classOk = drill.expectClassIn.includes(report.compatibility);
|
|
325
|
+
const firedForbidden = drill.forbidRules.filter((r) => report.findings.some((f) => f.rule === r));
|
|
326
|
+
const passed = classOk && firedForbidden.length === 0;
|
|
327
|
+
const detail = passed
|
|
328
|
+
? `class ${report.compatibility} accepted`
|
|
329
|
+
: !classOk
|
|
330
|
+
? `class ${report.compatibility} not in {${drill.expectClassIn.join(", ")}}`
|
|
331
|
+
: `forbidden finding(s): ${firedForbidden.join(", ")}`;
|
|
332
|
+
return { drill: drill.name, applied: true, passed, detail };
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Whether a statically-validated skill must be revalidated before reuse (issue
|
|
337
|
+
* #135). True when the skill carries a recorded `instructionsChecksum` (it was
|
|
338
|
+
* validated) but its current body no longer hashes to it — the skill drifted
|
|
339
|
+
* (e.g. an upstream re-sync changed it) since the gate last ran. A skill that was
|
|
340
|
+
* never statically validated has nothing to revalidate, so this is false. Pure.
|
|
341
|
+
*/
|
|
342
|
+
export function needsRevalidation(skill) {
|
|
343
|
+
const recorded = skill.validation.instructionsChecksum;
|
|
344
|
+
if (!recorded)
|
|
345
|
+
return false;
|
|
346
|
+
return skillChecksum(skill.instructions) !== recorded;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Run the full static gate over one skill and aggregate the result: manifest
|
|
350
|
+
* lint, capability extraction, provenance check (#132), instruction-risk scan
|
|
351
|
+
* (#133), derived compatibility class (#134), and behavior drills (#135). `ok` is
|
|
352
|
+
* false when any `error`-severity finding fired OR an applicable drill failed.
|
|
353
|
+
* Pure — the caller decides whether to persist or print the report.
|
|
354
|
+
*/
|
|
355
|
+
export function validateSkill(skill, opts = {}) {
|
|
356
|
+
const findings = [
|
|
357
|
+
...lintManifest(skill),
|
|
358
|
+
...checkProvenance(skill, opts.source),
|
|
359
|
+
...scanInstructionRisks(skill.instructions),
|
|
360
|
+
];
|
|
361
|
+
const base = {
|
|
362
|
+
skill: skill.name,
|
|
363
|
+
capabilities: extractCapabilities(skill),
|
|
364
|
+
findings,
|
|
365
|
+
ok: !findings.some((f) => f.severity === "error"),
|
|
366
|
+
compatibility: "afk-safe",
|
|
367
|
+
stages: [],
|
|
368
|
+
checksum: skillChecksum(skill.instructions),
|
|
369
|
+
drills: [],
|
|
370
|
+
};
|
|
371
|
+
const { compatibility, stages } = classifyCompatibility(base);
|
|
372
|
+
const drills = runDrills({ ...base, compatibility, stages });
|
|
373
|
+
const ok = base.ok && drills.every((d) => d.passed);
|
|
374
|
+
return { ...base, compatibility, stages, drills, ok };
|
|
375
|
+
}
|
|
376
|
+
//# sourceMappingURL=skill-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-validation.js","sourceRoot":"","sources":["../src/skill-validation.ts"],"names":[],"mappings":"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"}
|
package/dist/skills-cli.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ExternalAuditFinding, type ExternalSkillSource, type SyncPlan } from "./external-skills.js";
|
|
2
|
+
import { type SkillValidationReport } from "./skill-validation.js";
|
|
2
3
|
import { type Skill, type SkillCandidate, type SkillMatch } from "./skills.js";
|
|
3
4
|
/**
|
|
4
5
|
* Injectable host surface for {@link runSkills} so the bin stays unit-testable
|
|
@@ -32,6 +33,12 @@ export declare function formatCandidates(candidates: SkillCandidate[]): string;
|
|
|
32
33
|
export declare function formatSources(sources: ExternalSkillSource[]): string;
|
|
33
34
|
/** Render a sync plan; `dryRun` flips the header between preview and applied. Pure. */
|
|
34
35
|
export declare function formatSyncPlan(plan: SyncPlan, dryRun: boolean): string;
|
|
36
|
+
/**
|
|
37
|
+
* Render a skill validation report (issue #113 P17): the extracted capabilities,
|
|
38
|
+
* each finding with its severity/rule/message/remediation, and a pass/fail line.
|
|
39
|
+
* Pure — the bin decides the exit code from `report.ok`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function formatValidationReport(report: SkillValidationReport): string;
|
|
35
42
|
/** Render the external-registry audit findings. Pure. */
|
|
36
43
|
export declare function formatExternalAudit(findings: ExternalAuditFinding[]): string;
|
|
37
44
|
/**
|
package/dist/skills-cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-cli.d.ts","sourceRoot":"","sources":["../src/skills-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,
|
|
1
|
+
{"version":3,"file":"skills-cli.d.ts","sourceRoot":"","sources":["../src/skills-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAUL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EAExB,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAUL,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,CAAC;AAsBF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,GAAE,IAAiB,GACrB,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,KAAK,EAAE,EACf,GAAG,GAAE,IAAiB,GACrB,MAAM,CA6BR;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAUvD;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,MAAM,CAWrE;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAWpE;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAqBtE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CA8B5E;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAK5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,UAAwB,GAC7B,OAAO,CAAC,MAAM,CAAC,CA2GjB"}
|
package/dist/skills-cli.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { resolve } from "node:path";
|
|
2
2
|
import { addSource, applySync, auditExternal, importedChecksum, planSync, readLock, readSources, removeSource, writeSources, } from "./external-skills.js";
|
|
3
3
|
import { listRunIds, readManifest } from "./run-report.js";
|
|
4
|
-
import {
|
|
4
|
+
import { needsRevalidation, validateSkill, } from "./skill-validation.js";
|
|
5
|
+
import { findSkillCandidates, readSkill, readSkills, recordStaticValidation, selectSkills, skillsDir, skillStatus, writeSkill, } from "./skills.js";
|
|
5
6
|
const defaultDeps = {
|
|
6
7
|
env: process.env,
|
|
7
8
|
cwd: process.cwd(),
|
|
@@ -10,6 +11,7 @@ const defaultDeps = {
|
|
|
10
11
|
};
|
|
11
12
|
const USAGE = "Usage: otto-skills <list|audit|candidates>\n" +
|
|
12
13
|
" otto-skills why <changed-path>...\n" +
|
|
14
|
+
" otto-skills validate <skill> [--source <name>]\n" +
|
|
13
15
|
" otto-skills sources <list|add|remove> ...\n" +
|
|
14
16
|
" otto-skills sync [--dry-run]\n" +
|
|
15
17
|
" otto-skills audit --external";
|
|
@@ -54,6 +56,16 @@ export function formatSkillsAudit(skills, now = new Date()) {
|
|
|
54
56
|
for (const { s, st } of notUsable) {
|
|
55
57
|
lines.push(` - ${s.name} [${st}] (run its tests, then record a validating run)`);
|
|
56
58
|
}
|
|
59
|
+
// Body-drift detection (issue #135): a statically-validated skill whose body
|
|
60
|
+
// changed since the gate ran must be revalidated before it is reused.
|
|
61
|
+
const drifted = skills.filter(needsRevalidation);
|
|
62
|
+
lines.push("");
|
|
63
|
+
lines.push(`Needs revalidation — body drifted (${drifted.length}):`);
|
|
64
|
+
if (drifted.length === 0)
|
|
65
|
+
lines.push(" (none)");
|
|
66
|
+
for (const s of drifted) {
|
|
67
|
+
lines.push(` - ${s.name} (re-run: otto-skills validate ${s.name})`);
|
|
68
|
+
}
|
|
57
69
|
return lines.join("\n");
|
|
58
70
|
}
|
|
59
71
|
/**
|
|
@@ -116,6 +128,40 @@ export function formatSyncPlan(plan, dryRun) {
|
|
|
116
128
|
}
|
|
117
129
|
return lines.join("\n");
|
|
118
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Render a skill validation report (issue #113 P17): the extracted capabilities,
|
|
133
|
+
* each finding with its severity/rule/message/remediation, and a pass/fail line.
|
|
134
|
+
* Pure — the bin decides the exit code from `report.ok`.
|
|
135
|
+
*/
|
|
136
|
+
export function formatValidationReport(report) {
|
|
137
|
+
const scope = report.compatibility === "stage-scoped" && report.stages.length
|
|
138
|
+
? ` (${report.stages.join(", ")})`
|
|
139
|
+
: "";
|
|
140
|
+
const lines = [
|
|
141
|
+
`Validating skill '${report.skill}'`,
|
|
142
|
+
` capabilities: ${report.capabilities.length ? report.capabilities.join(", ") : "(none)"}`,
|
|
143
|
+
` compatibility: ${report.compatibility}${scope}`,
|
|
144
|
+
];
|
|
145
|
+
if (report.findings.length === 0) {
|
|
146
|
+
lines.push(" no findings");
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
for (const f of report.findings) {
|
|
150
|
+
lines.push(` [${f.severity}] ${f.rule}: ${f.message}`);
|
|
151
|
+
lines.push(` → ${f.remediation}`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const applied = report.drills.filter((d) => d.applied);
|
|
155
|
+
if (applied.length > 0) {
|
|
156
|
+
lines.push(" drills:");
|
|
157
|
+
for (const d of applied) {
|
|
158
|
+
lines.push(` ${d.passed ? "pass" : "FAIL"} ${d.drill}: ${d.detail}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
lines.push("");
|
|
162
|
+
lines.push(report.ok ? "PASS (no blocking errors)" : "FAIL (blocking errors present)");
|
|
163
|
+
return lines.join("\n");
|
|
164
|
+
}
|
|
119
165
|
/** Render the external-registry audit findings. Pure. */
|
|
120
166
|
export function formatExternalAudit(findings) {
|
|
121
167
|
if (findings.length === 0)
|
|
@@ -143,7 +189,15 @@ export async function runSkills(argv, deps = defaultDeps) {
|
|
|
143
189
|
deps.out(USAGE);
|
|
144
190
|
return 0;
|
|
145
191
|
}
|
|
146
|
-
const known = [
|
|
192
|
+
const known = [
|
|
193
|
+
"list",
|
|
194
|
+
"audit",
|
|
195
|
+
"why",
|
|
196
|
+
"validate",
|
|
197
|
+
"candidates",
|
|
198
|
+
"sources",
|
|
199
|
+
"sync",
|
|
200
|
+
];
|
|
147
201
|
if (arg !== undefined && !known.includes(arg)) {
|
|
148
202
|
deps.err(`Unknown subcommand '${arg}'.\n${USAGE}`);
|
|
149
203
|
return 1;
|
|
@@ -170,6 +224,30 @@ export async function runSkills(argv, deps = defaultDeps) {
|
|
|
170
224
|
deps.out(formatWhy(selectSkills(skills, { changedPaths: paths })));
|
|
171
225
|
return 0;
|
|
172
226
|
}
|
|
227
|
+
if (arg === "validate") {
|
|
228
|
+
const rest = argv.slice(1);
|
|
229
|
+
const name = rest.find((a) => !a.startsWith("--"));
|
|
230
|
+
if (!name) {
|
|
231
|
+
deps.err(`validate needs a skill name.\n${USAGE}`);
|
|
232
|
+
return 1;
|
|
233
|
+
}
|
|
234
|
+
const skill = readSkill(workspaceDir, name);
|
|
235
|
+
if (!skill) {
|
|
236
|
+
deps.err(`No skill named '${name}' under ${skillsDir(workspaceDir)}.`);
|
|
237
|
+
return 1;
|
|
238
|
+
}
|
|
239
|
+
const source = flagValue(rest, "--source");
|
|
240
|
+
const report = validateSkill(skill, source ? { source } : {});
|
|
241
|
+
deps.out(formatValidationReport(report));
|
|
242
|
+
// Persist the static-gate outcome (issue #134). Recording a class does NOT
|
|
243
|
+
// make the skill eligible — selection stays a separate concern (P18).
|
|
244
|
+
writeSkill(workspaceDir, recordStaticValidation(skill, {
|
|
245
|
+
compatibility: report.compatibility,
|
|
246
|
+
stages: report.stages,
|
|
247
|
+
checksum: report.checksum,
|
|
248
|
+
}));
|
|
249
|
+
return report.ok ? 0 : 1;
|
|
250
|
+
}
|
|
173
251
|
if (arg === "candidates") {
|
|
174
252
|
const runs = listRunIds(workspaceDir)
|
|
175
253
|
.map((id) => readManifest(workspaceDir, id))
|
package/dist/skills-cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-cli.js","sourceRoot":"","sources":["../src/skills-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills-cli.js","sourceRoot":"","sources":["../src/skills-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -38,16 +38,37 @@ export type ImportedSkillProvenance = {
|
|
|
38
38
|
license?: string;
|
|
39
39
|
};
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
41
|
+
* Compatibility class from the static validation gate (issue #113 P17). Tells
|
|
42
|
+
* the loop WHERE a validated skill may be applied: `afk-safe` anywhere unattended,
|
|
43
|
+
* `interactive-only` only in `--plan`/human-guided modes (it stops for input),
|
|
44
|
+
* `stage-scoped` only on the stages its capabilities imply, `blocked` nowhere (a
|
|
45
|
+
* policy/safety violation or an unnormalizable manifest). Persisted, not derived.
|
|
46
|
+
*/
|
|
47
|
+
export type SkillCompatibility = "afk-safe" | "interactive-only" | "stage-scoped" | "blocked";
|
|
48
|
+
/**
|
|
49
|
+
* Validation provenance: the successful run that last proved the skill works,
|
|
50
|
+
* plus the static-gate outcome (issue #113 P17). "Require validation before a
|
|
51
|
+
* skill is used automatically" (the issue) is enforced by retrieval filtering on
|
|
52
|
+
* the DERIVED {@link skillStatus}, which is computed from these fields — not by
|
|
53
|
+
* the bin executing the skill's tests.
|
|
45
54
|
*/
|
|
46
55
|
export type SkillValidation = {
|
|
47
56
|
/** Run id whose trajectory last validated this skill (absent = unvalidated). */
|
|
48
57
|
lastValidatedRun?: string;
|
|
49
58
|
/** When that validation happened (ISO). */
|
|
50
59
|
lastValidatedAt?: string;
|
|
60
|
+
/** Compatibility class from the last static validation (P17), if any. */
|
|
61
|
+
compatibility?: SkillCompatibility;
|
|
62
|
+
/** Stages a `stage-scoped` skill is valid for (plan/implement/review/…). */
|
|
63
|
+
stages?: string[];
|
|
64
|
+
/** When the static gate last ran (ISO). */
|
|
65
|
+
staticCheckedAt?: string;
|
|
66
|
+
/**
|
|
67
|
+
* sha256 of the instruction body at static-validation time. A later reuse
|
|
68
|
+
* recomputes it and, on mismatch, knows the skill drifted upstream and must be
|
|
69
|
+
* revalidated before use (issue #135).
|
|
70
|
+
*/
|
|
71
|
+
instructionsChecksum?: string;
|
|
51
72
|
};
|
|
52
73
|
/**
|
|
53
74
|
* One skill package's metadata, stored as `.otto/skills/<name>/skill.json`. The
|
|
@@ -149,6 +170,21 @@ export declare function skillStatus(skill: Skill, now?: Date): SkillStatus;
|
|
|
149
170
|
* validation (recording a validation is a run's job, never the read-only bin's).
|
|
150
171
|
*/
|
|
151
172
|
export declare function recordValidation(skill: Skill, runId: string, now?: Date): Skill;
|
|
173
|
+
/** The persisted outcome of a static validation gate run (issue #113 P17). */
|
|
174
|
+
export type StaticValidationOutcome = {
|
|
175
|
+
compatibility: SkillCompatibility;
|
|
176
|
+
stages: string[];
|
|
177
|
+
/** sha256 of the instruction body that was validated. */
|
|
178
|
+
checksum: string;
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* Return a copy of the skill with the static-gate outcome (issue #134) recorded
|
|
182
|
+
* into its `validation` block, preserving any run-based validation fields. Pure —
|
|
183
|
+
* the caller writes it back. Recording a class does NOT make the skill eligible
|
|
184
|
+
* (validation is separate from selection): it tells the loop WHERE the skill may
|
|
185
|
+
* later be applied, and stores the checksum so a future reuse can detect drift.
|
|
186
|
+
*/
|
|
187
|
+
export declare function recordStaticValidation(skill: Skill, outcome: StaticValidationOutcome, now?: Date): Skill;
|
|
152
188
|
/**
|
|
153
189
|
* Minimal path-glob match: `**` spans path separators, `*` spans a single
|
|
154
190
|
* segment, `?` one char. Used for a skill's scope globs against changed paths.
|
package/dist/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.js
CHANGED
|
@@ -72,6 +72,12 @@ function parseProvenance(raw) {
|
|
|
72
72
|
p.license = o.license;
|
|
73
73
|
return p;
|
|
74
74
|
}
|
|
75
|
+
const COMPATIBILITIES = new Set([
|
|
76
|
+
"afk-safe",
|
|
77
|
+
"interactive-only",
|
|
78
|
+
"stage-scoped",
|
|
79
|
+
"blocked",
|
|
80
|
+
]);
|
|
75
81
|
function parseValidation(raw) {
|
|
76
82
|
if (raw === null || typeof raw !== "object" || Array.isArray(raw))
|
|
77
83
|
return {};
|
|
@@ -83,6 +89,19 @@ function parseValidation(raw) {
|
|
|
83
89
|
if (typeof o.lastValidatedAt === "string") {
|
|
84
90
|
v.lastValidatedAt = o.lastValidatedAt;
|
|
85
91
|
}
|
|
92
|
+
if (typeof o.compatibility === "string" &&
|
|
93
|
+
COMPATIBILITIES.has(o.compatibility)) {
|
|
94
|
+
v.compatibility = o.compatibility;
|
|
95
|
+
}
|
|
96
|
+
const stages = stringArray(o.stages);
|
|
97
|
+
if (stages.length > 0)
|
|
98
|
+
v.stages = stages;
|
|
99
|
+
if (typeof o.staticCheckedAt === "string") {
|
|
100
|
+
v.staticCheckedAt = o.staticCheckedAt;
|
|
101
|
+
}
|
|
102
|
+
if (typeof o.instructionsChecksum === "string") {
|
|
103
|
+
v.instructionsChecksum = o.instructionsChecksum;
|
|
104
|
+
}
|
|
86
105
|
return v;
|
|
87
106
|
}
|
|
88
107
|
/**
|
|
@@ -229,7 +248,30 @@ export function skillStatus(skill, now = new Date()) {
|
|
|
229
248
|
export function recordValidation(skill, runId, now = new Date()) {
|
|
230
249
|
return {
|
|
231
250
|
...skill,
|
|
232
|
-
validation: {
|
|
251
|
+
validation: {
|
|
252
|
+
...skill.validation,
|
|
253
|
+
lastValidatedRun: runId,
|
|
254
|
+
lastValidatedAt: now.toISOString(),
|
|
255
|
+
},
|
|
256
|
+
};
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Return a copy of the skill with the static-gate outcome (issue #134) recorded
|
|
260
|
+
* into its `validation` block, preserving any run-based validation fields. Pure —
|
|
261
|
+
* the caller writes it back. Recording a class does NOT make the skill eligible
|
|
262
|
+
* (validation is separate from selection): it tells the loop WHERE the skill may
|
|
263
|
+
* later be applied, and stores the checksum so a future reuse can detect drift.
|
|
264
|
+
*/
|
|
265
|
+
export function recordStaticValidation(skill, outcome, now = new Date()) {
|
|
266
|
+
return {
|
|
267
|
+
...skill,
|
|
268
|
+
validation: {
|
|
269
|
+
...skill.validation,
|
|
270
|
+
compatibility: outcome.compatibility,
|
|
271
|
+
...(outcome.stages.length > 0 ? { stages: outcome.stages } : {}),
|
|
272
|
+
staticCheckedAt: now.toISOString(),
|
|
273
|
+
instructionsChecksum: outcome.checksum,
|
|
274
|
+
},
|
|
233
275
|
};
|
|
234
276
|
}
|
|
235
277
|
/** Escape regex metacharacters outside the glob wildcards we handle. */
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|