specweave 1.0.579 → 1.0.581
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/dashboard/assets/{index-C434W7yF.js → index-Dpn4T2Mx.js} +7 -7
- package/dist/dashboard/index.html +1 -1
- package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts +6 -1
- package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts.map +1 -1
- package/dist/src/core/hooks/LifecycleHookDispatcher.js +66 -8
- package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
- package/dist/src/core/increment/completion-validator.d.ts +18 -0
- package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
- package/dist/src/core/increment/completion-validator.js +75 -0
- package/dist/src/core/increment/completion-validator.js.map +1 -1
- package/dist/src/core/increment/status-commands.d.ts.map +1 -1
- package/dist/src/core/increment/status-commands.js +16 -1
- package/dist/src/core/increment/status-commands.js.map +1 -1
- package/dist/src/core/reflect-nudge/aggregator.d.ts +33 -0
- package/dist/src/core/reflect-nudge/aggregator.d.ts.map +1 -0
- package/dist/src/core/reflect-nudge/aggregator.js +80 -0
- package/dist/src/core/reflect-nudge/aggregator.js.map +1 -0
- package/dist/src/core/reflect-nudge/eligibility.d.ts +27 -0
- package/dist/src/core/reflect-nudge/eligibility.d.ts.map +1 -0
- package/dist/src/core/reflect-nudge/eligibility.js +114 -0
- package/dist/src/core/reflect-nudge/eligibility.js.map +1 -0
- package/dist/src/core/reflect-nudge/index.d.ts +14 -0
- package/dist/src/core/reflect-nudge/index.d.ts.map +1 -0
- package/dist/src/core/reflect-nudge/index.js +14 -0
- package/dist/src/core/reflect-nudge/index.js.map +1 -0
- package/dist/src/core/reflect-nudge/interactive-prompt.d.ts +28 -0
- package/dist/src/core/reflect-nudge/interactive-prompt.d.ts.map +1 -0
- package/dist/src/core/reflect-nudge/interactive-prompt.js +52 -0
- package/dist/src/core/reflect-nudge/interactive-prompt.js.map +1 -0
- package/dist/src/core/reflect-nudge/prompt-renderer.d.ts +23 -0
- package/dist/src/core/reflect-nudge/prompt-renderer.d.ts.map +1 -0
- package/dist/src/core/reflect-nudge/prompt-renderer.js +26 -0
- package/dist/src/core/reflect-nudge/prompt-renderer.js.map +1 -0
- package/dist/src/core/reflect-nudge/session-end-nudge.d.ts +31 -0
- package/dist/src/core/reflect-nudge/session-end-nudge.d.ts.map +1 -0
- package/dist/src/core/reflect-nudge/session-end-nudge.js +44 -0
- package/dist/src/core/reflect-nudge/session-end-nudge.js.map +1 -0
- package/dist/src/core/reflection/reflect-handler.d.ts +2 -0
- package/dist/src/core/reflection/reflect-handler.d.ts.map +1 -1
- package/dist/src/core/reflection/reflect-handler.js +4 -0
- package/dist/src/core/reflection/reflect-handler.js.map +1 -1
- package/dist/src/core/rubric/rubric-evaluator.d.ts +15 -0
- package/dist/src/core/rubric/rubric-evaluator.d.ts.map +1 -1
- package/dist/src/core/rubric/rubric-evaluator.js +59 -0
- package/dist/src/core/rubric/rubric-evaluator.js.map +1 -1
- package/dist/src/core/skill-attribution.d.ts +78 -0
- package/dist/src/core/skill-attribution.d.ts.map +1 -0
- package/dist/src/core/skill-attribution.js +168 -0
- package/dist/src/core/skill-attribution.js.map +1 -0
- package/dist/src/core/skill-refine/aggregator.d.ts +36 -0
- package/dist/src/core/skill-refine/aggregator.d.ts.map +1 -0
- package/dist/src/core/skill-refine/aggregator.js +58 -0
- package/dist/src/core/skill-refine/aggregator.js.map +1 -0
- package/dist/src/core/skill-refine/apply.d.ts +48 -0
- package/dist/src/core/skill-refine/apply.d.ts.map +1 -0
- package/dist/src/core/skill-refine/apply.js +97 -0
- package/dist/src/core/skill-refine/apply.js.map +1 -0
- package/dist/src/core/skill-refine/approval.d.ts +71 -0
- package/dist/src/core/skill-refine/approval.d.ts.map +1 -0
- package/dist/src/core/skill-refine/approval.js +113 -0
- package/dist/src/core/skill-refine/approval.js.map +1 -0
- package/dist/src/core/skill-refine/haiku-diff.d.ts +66 -0
- package/dist/src/core/skill-refine/haiku-diff.d.ts.map +1 -0
- package/dist/src/core/skill-refine/haiku-diff.js +111 -0
- package/dist/src/core/skill-refine/haiku-diff.js.map +1 -0
- package/dist/src/core/skill-refine/ledger.d.ts +34 -0
- package/dist/src/core/skill-refine/ledger.d.ts.map +1 -0
- package/dist/src/core/skill-refine/ledger.js +81 -0
- package/dist/src/core/skill-refine/ledger.js.map +1 -0
- package/dist/src/core/skill-signal-emit.d.ts +46 -0
- package/dist/src/core/skill-signal-emit.d.ts.map +1 -0
- package/dist/src/core/skill-signal-emit.js +59 -0
- package/dist/src/core/skill-signal-emit.js.map +1 -0
- package/dist/src/core/skill-signals/index.d.ts +9 -0
- package/dist/src/core/skill-signals/index.d.ts.map +1 -0
- package/dist/src/core/skill-signals/index.js +9 -0
- package/dist/src/core/skill-signals/index.js.map +1 -0
- package/dist/src/core/skill-signals/reader.d.ts +30 -0
- package/dist/src/core/skill-signals/reader.d.ts.map +1 -0
- package/dist/src/core/skill-signals/reader.js +102 -0
- package/dist/src/core/skill-signals/reader.js.map +1 -0
- package/dist/src/core/skill-signals/writer.d.ts +34 -0
- package/dist/src/core/skill-signals/writer.d.ts.map +1 -0
- package/dist/src/core/skill-signals/writer.js +62 -0
- package/dist/src/core/skill-signals/writer.js.map +1 -0
- package/dist/src/core/skills/skill-judge.d.ts +8 -0
- package/dist/src/core/skills/skill-judge.d.ts.map +1 -1
- package/dist/src/core/skills/skill-judge.js +55 -0
- package/dist/src/core/skills/skill-judge.js.map +1 -1
- package/dist/src/skills/reflect-status.d.ts +23 -0
- package/dist/src/skills/reflect-status.d.ts.map +1 -0
- package/dist/src/skills/reflect-status.js +55 -0
- package/dist/src/skills/reflect-status.js.map +1 -0
- package/dist/src/skills/skill-refine.d.ts +81 -0
- package/dist/src/skills/skill-refine.d.ts.map +1 -0
- package/dist/src/skills/skill-refine.js +226 -0
- package/dist/src/skills/skill-refine.js.map +1 -0
- package/dist/src/sync/sync-coordinator.d.ts +14 -4
- package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
- package/dist/src/sync/sync-coordinator.js +100 -38
- package/dist/src/sync/sync-coordinator.js.map +1 -1
- package/dist/src/types/skill-refinements.d.ts +75 -0
- package/dist/src/types/skill-refinements.d.ts.map +1 -0
- package/dist/src/types/skill-refinements.js +43 -0
- package/dist/src/types/skill-refinements.js.map +1 -0
- package/dist/src/types/skill-signals.d.ts +200 -0
- package/dist/src/types/skill-signals.d.ts.map +1 -0
- package/dist/src/types/skill-signals.js +115 -0
- package/dist/src/types/skill-signals.js.map +1 -0
- package/package.json +2 -2
- package/plugins/specweave/commands/reflect.md +48 -0
- package/plugins/specweave/skills/code-reviewer/SKILL.md +4 -0
- package/plugins/specweave/skills/judge-llm/SKILL.md +4 -0
- package/plugins/specweave/skills/skill-gen/SKILL.md +8 -0
- package/plugins/specweave/skills/skill-refine/SKILL.md +96 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reflect-handler.js","sourceRoot":"","sources":["../../../../src/core/reflection/reflect-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reflect-handler.js","sourceRoot":"","sources":["../../../../src/core/reflection/reflect-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,21 @@ interface EvaluateOptions {
|
|
|
3
3
|
grillReport?: string;
|
|
4
4
|
codeReviewReport?: string;
|
|
5
5
|
judgeLlmReport?: string;
|
|
6
|
+
/**
|
|
7
|
+
* 0671: enable refinement-signal emission. When `projectRoot` and
|
|
8
|
+
* `incrementId` are provided, each failed criterion whose evidence cites a
|
|
9
|
+
* specific skill triggers an append to `.specweave/state/skill-signals.json`.
|
|
10
|
+
*
|
|
11
|
+
* Both fields must be present; emission is silently skipped otherwise, so
|
|
12
|
+
* existing call sites continue to work unchanged.
|
|
13
|
+
*/
|
|
14
|
+
projectRoot?: string;
|
|
15
|
+
incrementId?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Optional skills directory for pattern-match attribution. Defaults to
|
|
18
|
+
* `<projectRoot>/plugins/specweave/skills` when `projectRoot` is set.
|
|
19
|
+
*/
|
|
20
|
+
skillsRoot?: string;
|
|
6
21
|
}
|
|
7
22
|
/**
|
|
8
23
|
* Evaluate all criteria in a rubric document against gate reports.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rubric-evaluator.d.ts","sourceRoot":"","sources":["../../../../src/core/rubric/rubric-evaluator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAGd,aAAa,EACd,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rubric-evaluator.d.ts","sourceRoot":"","sources":["../../../../src/core/rubric/rubric-evaluator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EAGd,aAAa,EACd,MAAM,YAAY,CAAC;AAIpB,UAAU,eAAe;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAuDzB;AAuED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,CAuBtE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from '../../utils/fs-native.js';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
+
import { emitRefinementIfAttributable } from '../skill-signal-emit.js';
|
|
3
4
|
async function loadReport(reportsDir, filename) {
|
|
4
5
|
const filePath = path.join(reportsDir, filename);
|
|
5
6
|
const content = await fs.readFile(filePath, 'utf-8');
|
|
@@ -105,8 +106,66 @@ export async function evaluateRubric(rubric, reportsDir, options = {}) {
|
|
|
105
106
|
}
|
|
106
107
|
evaluatedCriteria.push({ ...criterion, result });
|
|
107
108
|
}
|
|
109
|
+
// 0671 T-005: emit refinement signals for failed criteria whose rationale
|
|
110
|
+
// traces to a specific skill's instructions. Best-effort — never throws.
|
|
111
|
+
await maybeEmitRefinementSignals(evaluatedCriteria, options);
|
|
108
112
|
return { ...rubric, criteria: evaluatedCriteria };
|
|
109
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Post-evaluation emission step. Iterates failed criteria, attributes each
|
|
116
|
+
* failure to a skill via `attributeSkill`, and appends one refinement signal
|
|
117
|
+
* per distinct attributed skill. Silent when the caller doesn't provide the
|
|
118
|
+
* project/increment context (backward compatible).
|
|
119
|
+
*/
|
|
120
|
+
async function maybeEmitRefinementSignals(criteria, options) {
|
|
121
|
+
if (!options.projectRoot || !options.incrementId)
|
|
122
|
+
return;
|
|
123
|
+
const projectRoot = options.projectRoot;
|
|
124
|
+
const incrementId = options.incrementId;
|
|
125
|
+
const skillsRoot = options.skillsRoot
|
|
126
|
+
?? path.join(projectRoot, 'plugins', 'specweave', 'skills');
|
|
127
|
+
const { attributeSkill } = await import('../skill-attribution.js');
|
|
128
|
+
// One signal per distinct attributed skill within a single rubric pass —
|
|
129
|
+
// a rubric with 5 failed criteria all blaming the same skill should emit
|
|
130
|
+
// one signal (at the highest observed severity), not five.
|
|
131
|
+
const perSkill = new Map();
|
|
132
|
+
for (const criterion of criteria) {
|
|
133
|
+
if (criterion.result?.status !== 'fail')
|
|
134
|
+
continue;
|
|
135
|
+
const evidenceParts = [
|
|
136
|
+
criterion.result.evidence ?? '',
|
|
137
|
+
criterion.verify ?? '',
|
|
138
|
+
criterion.threshold ?? '',
|
|
139
|
+
].filter((s) => s.length > 0);
|
|
140
|
+
const evidenceText = evidenceParts.join(' | ');
|
|
141
|
+
const attrib = attributeSkill({ evidenceText, skillsRoot });
|
|
142
|
+
if (!attrib.skill)
|
|
143
|
+
continue;
|
|
144
|
+
const severity = criterion.severity === 'blocking' ? 'high' : 'medium';
|
|
145
|
+
const existing = perSkill.get(attrib.skill);
|
|
146
|
+
if (!existing || severityRank(severity) > severityRank(existing.severity)) {
|
|
147
|
+
perSkill.set(attrib.skill, { severity, evidence: evidenceText });
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
for (const [skill, { severity, evidence }] of perSkill) {
|
|
151
|
+
try {
|
|
152
|
+
await emitRefinementIfAttributable({
|
|
153
|
+
projectRoot,
|
|
154
|
+
source: 'rubric',
|
|
155
|
+
severity,
|
|
156
|
+
incrementId,
|
|
157
|
+
evidence,
|
|
158
|
+
attribution: { toolCallOrigin: skill },
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// Best-effort: rubric evaluation must not fail because of signal I/O.
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
function severityRank(sev) {
|
|
167
|
+
return sev === 'high' ? 3 : sev === 'medium' ? 2 : 1;
|
|
168
|
+
}
|
|
110
169
|
/**
|
|
111
170
|
* Summarize rubric evaluation results.
|
|
112
171
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rubric-evaluator.js","sourceRoot":"","sources":["../../../../src/core/rubric/rubric-evaluator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rubric-evaluator.js","sourceRoot":"","sources":["../../../../src/core/rubric/rubric-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Attribution Heuristics
|
|
3
|
+
*
|
|
4
|
+
* When a closure gate (judge-llm, rubric, code-reviewer) fails, it may or may
|
|
5
|
+
* not be possible to trace the failure to a specific skill's instructions.
|
|
6
|
+
* This module applies the attribution heuristics defined in 0671's plan.md
|
|
7
|
+
* and returns the attributed skill slug (or null when attribution is
|
|
8
|
+
* ambiguous — precision over recall).
|
|
9
|
+
*
|
|
10
|
+
* Priority order (first match wins):
|
|
11
|
+
* 1. direct — the failing step's originating tool call was made from a
|
|
12
|
+
* skill's Task() prompt
|
|
13
|
+
* 2. slash — the increment was initiated with `/sw:<skill>`
|
|
14
|
+
* 3. pattern — the failure evidence text contains a 6+ word phrase from a
|
|
15
|
+
* skill's SKILL.md (exact-match)
|
|
16
|
+
* 4. none — no signal is emitted
|
|
17
|
+
*
|
|
18
|
+
* @module core/skill-attribution
|
|
19
|
+
*/
|
|
20
|
+
export type AttributionMethod = 'direct' | 'slash' | 'pattern' | 'none';
|
|
21
|
+
export interface AttributeSkillInput {
|
|
22
|
+
/**
|
|
23
|
+
* The skill slug that originated the currently-executing Task() prompt,
|
|
24
|
+
* if known. When present, this is the authoritative attribution.
|
|
25
|
+
*/
|
|
26
|
+
toolCallOrigin?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The slash command that initiated the increment, e.g. `/sw:architect`.
|
|
29
|
+
* Accepts either `/sw:architect` or `sw:architect`.
|
|
30
|
+
*/
|
|
31
|
+
slashCommand?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The failure evidence text (e.g. judge-llm concerns, rubric rationale,
|
|
34
|
+
* code-review finding description) to scan for skill-authored phrases.
|
|
35
|
+
*/
|
|
36
|
+
evidenceText?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Directory containing skill plugin folders (each with a `SKILL.md`). Used
|
|
39
|
+
* only for pattern-match attribution. When omitted, pattern-match is
|
|
40
|
+
* skipped.
|
|
41
|
+
*/
|
|
42
|
+
skillsRoot?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface AttributionResult {
|
|
45
|
+
/** Skill slug (e.g. "sw:architect") or null when attribution fails. */
|
|
46
|
+
skill: string | null;
|
|
47
|
+
/** Which heuristic produced the result. */
|
|
48
|
+
method: AttributionMethod;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Attribute a gate failure to a specific skill. Returns `{skill: null,
|
|
52
|
+
* method: "none"}` when no heuristic matches with enough confidence to emit.
|
|
53
|
+
*
|
|
54
|
+
* Attribution is intentionally precision-biased: gates should not emit a
|
|
55
|
+
* refinement signal against a skill that may not have been at fault.
|
|
56
|
+
*/
|
|
57
|
+
export declare function attributeSkill(input: AttributeSkillInput): AttributionResult;
|
|
58
|
+
/**
|
|
59
|
+
* Extract a skill slug from a slash command, if one is present. Accepts
|
|
60
|
+
* `/sw:architect`, `sw:architect`, or `/sw:architect some-args`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function parseSlashCommand(cmd: string | undefined): string | null;
|
|
63
|
+
/**
|
|
64
|
+
* Extract skill slugs referenced directly in evidence text (e.g. "skill
|
|
65
|
+
* 'sw:architect' advised microservices"). Used as a low-cost fallback before
|
|
66
|
+
* the more expensive SKILL.md pattern scan.
|
|
67
|
+
*/
|
|
68
|
+
export declare function extractSlugsFromEvidence(evidenceText: string): string[];
|
|
69
|
+
/**
|
|
70
|
+
* Scan skill plugin directories under `skillsRoot` for SKILL.md files and
|
|
71
|
+
* check whether any contiguous 6-word phrase from a skill's SKILL.md appears
|
|
72
|
+
* verbatim in the evidence text. Returns the first skill slug whose content
|
|
73
|
+
* matches (skills are scanned in alphabetical order for deterministic output).
|
|
74
|
+
*
|
|
75
|
+
* Best-effort: swallows I/O errors and returns null rather than throwing.
|
|
76
|
+
*/
|
|
77
|
+
export declare function matchEvidenceToSkill(evidenceText: string, skillsRoot: string): string | null;
|
|
78
|
+
//# sourceMappingURL=skill-attribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-attribution.d.ts","sourceRoot":"","sources":["../../../src/core/skill-attribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,2CAA2C;IAC3C,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAKD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,CAmB5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAMxE;AAWD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAQvE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,IAAI,CAuCf"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Attribution Heuristics
|
|
3
|
+
*
|
|
4
|
+
* When a closure gate (judge-llm, rubric, code-reviewer) fails, it may or may
|
|
5
|
+
* not be possible to trace the failure to a specific skill's instructions.
|
|
6
|
+
* This module applies the attribution heuristics defined in 0671's plan.md
|
|
7
|
+
* and returns the attributed skill slug (or null when attribution is
|
|
8
|
+
* ambiguous — precision over recall).
|
|
9
|
+
*
|
|
10
|
+
* Priority order (first match wins):
|
|
11
|
+
* 1. direct — the failing step's originating tool call was made from a
|
|
12
|
+
* skill's Task() prompt
|
|
13
|
+
* 2. slash — the increment was initiated with `/sw:<skill>`
|
|
14
|
+
* 3. pattern — the failure evidence text contains a 6+ word phrase from a
|
|
15
|
+
* skill's SKILL.md (exact-match)
|
|
16
|
+
* 4. none — no signal is emitted
|
|
17
|
+
*
|
|
18
|
+
* @module core/skill-attribution
|
|
19
|
+
*/
|
|
20
|
+
import * as fs from 'fs';
|
|
21
|
+
import * as path from 'path';
|
|
22
|
+
const MIN_PATTERN_WORDS = 6;
|
|
23
|
+
const SKILL_SLUG_RE = /\b(sw:[a-z][a-z0-9-]+)\b/i;
|
|
24
|
+
/**
|
|
25
|
+
* Attribute a gate failure to a specific skill. Returns `{skill: null,
|
|
26
|
+
* method: "none"}` when no heuristic matches with enough confidence to emit.
|
|
27
|
+
*
|
|
28
|
+
* Attribution is intentionally precision-biased: gates should not emit a
|
|
29
|
+
* refinement signal against a skill that may not have been at fault.
|
|
30
|
+
*/
|
|
31
|
+
export function attributeSkill(input) {
|
|
32
|
+
// 1. Direct trace — highest priority.
|
|
33
|
+
if (input.toolCallOrigin && isSkillSlug(input.toolCallOrigin)) {
|
|
34
|
+
return { skill: normalizeSlug(input.toolCallOrigin), method: 'direct' };
|
|
35
|
+
}
|
|
36
|
+
// 2. Slash-command trace.
|
|
37
|
+
const slashSkill = parseSlashCommand(input.slashCommand);
|
|
38
|
+
if (slashSkill) {
|
|
39
|
+
return { skill: slashSkill, method: 'slash' };
|
|
40
|
+
}
|
|
41
|
+
// 3. Evidence pattern match against skills' SKILL.md.
|
|
42
|
+
if (input.evidenceText && input.skillsRoot) {
|
|
43
|
+
const matched = matchEvidenceToSkill(input.evidenceText, input.skillsRoot);
|
|
44
|
+
if (matched)
|
|
45
|
+
return { skill: matched, method: 'pattern' };
|
|
46
|
+
}
|
|
47
|
+
return { skill: null, method: 'none' };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Extract a skill slug from a slash command, if one is present. Accepts
|
|
51
|
+
* `/sw:architect`, `sw:architect`, or `/sw:architect some-args`.
|
|
52
|
+
*/
|
|
53
|
+
export function parseSlashCommand(cmd) {
|
|
54
|
+
if (!cmd)
|
|
55
|
+
return null;
|
|
56
|
+
const trimmed = cmd.trim().replace(/^\//, '');
|
|
57
|
+
const match = SKILL_SLUG_RE.exec(trimmed);
|
|
58
|
+
if (!match)
|
|
59
|
+
return null;
|
|
60
|
+
return normalizeSlug(match[1]);
|
|
61
|
+
}
|
|
62
|
+
function isSkillSlug(value) {
|
|
63
|
+
return SKILL_SLUG_RE.test(value);
|
|
64
|
+
}
|
|
65
|
+
function normalizeSlug(value) {
|
|
66
|
+
const match = SKILL_SLUG_RE.exec(value);
|
|
67
|
+
return match ? match[1].toLowerCase() : value.toLowerCase();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Extract skill slugs referenced directly in evidence text (e.g. "skill
|
|
71
|
+
* 'sw:architect' advised microservices"). Used as a low-cost fallback before
|
|
72
|
+
* the more expensive SKILL.md pattern scan.
|
|
73
|
+
*/
|
|
74
|
+
export function extractSlugsFromEvidence(evidenceText) {
|
|
75
|
+
const out = new Set();
|
|
76
|
+
const re = /\b(sw:[a-z][a-z0-9-]+)\b/gi;
|
|
77
|
+
let m;
|
|
78
|
+
while ((m = re.exec(evidenceText)) !== null) {
|
|
79
|
+
out.add(m[1].toLowerCase());
|
|
80
|
+
}
|
|
81
|
+
return Array.from(out);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Scan skill plugin directories under `skillsRoot` for SKILL.md files and
|
|
85
|
+
* check whether any contiguous 6-word phrase from a skill's SKILL.md appears
|
|
86
|
+
* verbatim in the evidence text. Returns the first skill slug whose content
|
|
87
|
+
* matches (skills are scanned in alphabetical order for deterministic output).
|
|
88
|
+
*
|
|
89
|
+
* Best-effort: swallows I/O errors and returns null rather than throwing.
|
|
90
|
+
*/
|
|
91
|
+
export function matchEvidenceToSkill(evidenceText, skillsRoot) {
|
|
92
|
+
// Cheap path: an explicit mention of a slug in the evidence is already a
|
|
93
|
+
// strong signal. Verify the slug corresponds to a real skill under
|
|
94
|
+
// skillsRoot before returning.
|
|
95
|
+
const mentioned = extractSlugsFromEvidence(evidenceText);
|
|
96
|
+
for (const slug of mentioned) {
|
|
97
|
+
const dir = slugToDirName(slug);
|
|
98
|
+
const candidate = path.join(skillsRoot, dir, 'SKILL.md');
|
|
99
|
+
if (safeExists(candidate)) {
|
|
100
|
+
return slug;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const normalizedEvidence = normalizeForMatch(evidenceText);
|
|
104
|
+
let entries;
|
|
105
|
+
try {
|
|
106
|
+
entries = fs.readdirSync(skillsRoot).sort();
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
for (const entry of entries) {
|
|
112
|
+
const skillMd = path.join(skillsRoot, entry, 'SKILL.md');
|
|
113
|
+
if (!safeExists(skillMd))
|
|
114
|
+
continue;
|
|
115
|
+
let content;
|
|
116
|
+
try {
|
|
117
|
+
content = fs.readFileSync(skillMd, 'utf-8');
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (containsNGramMatch(normalizedEvidence, normalizeForMatch(content))) {
|
|
123
|
+
return `sw:${entry}`;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
function safeExists(file) {
|
|
129
|
+
try {
|
|
130
|
+
return fs.existsSync(file);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
function slugToDirName(slug) {
|
|
137
|
+
// `sw:architect` → `architect`; fall back to the raw value when malformed.
|
|
138
|
+
const idx = slug.indexOf(':');
|
|
139
|
+
return idx >= 0 ? slug.slice(idx + 1) : slug;
|
|
140
|
+
}
|
|
141
|
+
function normalizeForMatch(text) {
|
|
142
|
+
// Lowercase + collapse whitespace. No stemming — we require exact 6-word
|
|
143
|
+
// phrase matches which makes accidental overlap very unlikely.
|
|
144
|
+
return text.toLowerCase().replace(/\s+/g, ' ').trim();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* True when `haystack` contains any contiguous N-word window from
|
|
148
|
+
* `needleSource` (N = MIN_PATTERN_WORDS). Linear in the length of
|
|
149
|
+
* `needleSource`.
|
|
150
|
+
*/
|
|
151
|
+
function containsNGramMatch(haystack, needleSource) {
|
|
152
|
+
const words = needleSource.split(' ').filter(Boolean);
|
|
153
|
+
if (words.length < MIN_PATTERN_WORDS)
|
|
154
|
+
return false;
|
|
155
|
+
for (let i = 0; i + MIN_PATTERN_WORDS <= words.length; i++) {
|
|
156
|
+
const phrase = words.slice(i, i + MIN_PATTERN_WORDS).join(' ');
|
|
157
|
+
// Skip phrases that are too generic (all words < 3 chars) — reduces
|
|
158
|
+
// false positives from markdown boilerplate like "## use this tool to".
|
|
159
|
+
if (phrase.replace(/[a-z0-9]/gi, '').length === phrase.length)
|
|
160
|
+
continue;
|
|
161
|
+
if (phrase.split(' ').every((w) => w.length < 3))
|
|
162
|
+
continue;
|
|
163
|
+
if (haystack.includes(phrase))
|
|
164
|
+
return true;
|
|
165
|
+
}
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=skill-attribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-attribution.js","sourceRoot":"","sources":["../../../src/core/skill-attribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signal aggregator for `sw:skill-refine`.
|
|
3
|
+
*
|
|
4
|
+
* Wraps `listRefinementsForSkill` and produces a shape consumed by both the
|
|
5
|
+
* Haiku diff prompt and the `--show-signals` output: counts by source,
|
|
6
|
+
* severity distribution, evidence excerpts, and the N-increment window.
|
|
7
|
+
*
|
|
8
|
+
* @module core/skill-refine/aggregator
|
|
9
|
+
*/
|
|
10
|
+
import type { RefinementSignal, SignalSeverity, SignalSource } from '../../types/skill-signals';
|
|
11
|
+
export interface AggregateResult {
|
|
12
|
+
targetSkill: string;
|
|
13
|
+
window: {
|
|
14
|
+
lastNIncrements: number;
|
|
15
|
+
};
|
|
16
|
+
totalSignals: number;
|
|
17
|
+
bySource: Record<SignalSource, number>;
|
|
18
|
+
bySeverity: Record<SignalSeverity, number>;
|
|
19
|
+
incrementIds: string[];
|
|
20
|
+
signals: RefinementSignal[];
|
|
21
|
+
evidence: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface AggregateOptions {
|
|
24
|
+
lastNIncrements?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Load + summarize refinement signals for `targetSkill` from the signals
|
|
28
|
+
* file at `signalsFilePath`. When no signals exist, the result still carries
|
|
29
|
+
* a valid shape with zeroed counts — callers can downstream-check `totalSignals`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function aggregate(signalsFilePath: string, targetSkill: string, opts?: AggregateOptions): Promise<AggregateResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Pure summarizer — exposed for tests that want to feed signals directly.
|
|
34
|
+
*/
|
|
35
|
+
export declare function summarize(signals: RefinementSignal[], targetSkill: string, lastN: number): AggregateResult;
|
|
36
|
+
//# sourceMappingURL=aggregator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../../src/core/skill-refine/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,eAAe,CA+BjB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signal aggregator for `sw:skill-refine`.
|
|
3
|
+
*
|
|
4
|
+
* Wraps `listRefinementsForSkill` and produces a shape consumed by both the
|
|
5
|
+
* Haiku diff prompt and the `--show-signals` output: counts by source,
|
|
6
|
+
* severity distribution, evidence excerpts, and the N-increment window.
|
|
7
|
+
*
|
|
8
|
+
* @module core/skill-refine/aggregator
|
|
9
|
+
*/
|
|
10
|
+
import { listRefinementsForSkill } from '../skill-signals/reader';
|
|
11
|
+
const DEFAULT_LAST_N = 5;
|
|
12
|
+
/**
|
|
13
|
+
* Load + summarize refinement signals for `targetSkill` from the signals
|
|
14
|
+
* file at `signalsFilePath`. When no signals exist, the result still carries
|
|
15
|
+
* a valid shape with zeroed counts — callers can downstream-check `totalSignals`.
|
|
16
|
+
*/
|
|
17
|
+
export async function aggregate(signalsFilePath, targetSkill, opts = {}) {
|
|
18
|
+
const lastN = opts.lastNIncrements ?? DEFAULT_LAST_N;
|
|
19
|
+
const signals = await listRefinementsForSkill(signalsFilePath, targetSkill, {
|
|
20
|
+
lastNIncrements: lastN,
|
|
21
|
+
});
|
|
22
|
+
return summarize(signals, targetSkill, lastN);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Pure summarizer — exposed for tests that want to feed signals directly.
|
|
26
|
+
*/
|
|
27
|
+
export function summarize(signals, targetSkill, lastN) {
|
|
28
|
+
const bySource = {
|
|
29
|
+
'judge-llm': 0,
|
|
30
|
+
rubric: 0,
|
|
31
|
+
'code-reviewer': 0,
|
|
32
|
+
};
|
|
33
|
+
const bySeverity = {
|
|
34
|
+
low: 0,
|
|
35
|
+
medium: 0,
|
|
36
|
+
high: 0,
|
|
37
|
+
};
|
|
38
|
+
const incrementIdSet = new Set();
|
|
39
|
+
const evidence = [];
|
|
40
|
+
for (const s of signals) {
|
|
41
|
+
bySource[s.source] += 1;
|
|
42
|
+
bySeverity[s.severity] += 1;
|
|
43
|
+
incrementIdSet.add(s.incrementId);
|
|
44
|
+
if (s.evidence)
|
|
45
|
+
evidence.push(s.evidence);
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
targetSkill,
|
|
49
|
+
window: { lastNIncrements: lastN },
|
|
50
|
+
totalSignals: signals.length,
|
|
51
|
+
bySource,
|
|
52
|
+
bySeverity,
|
|
53
|
+
incrementIds: Array.from(incrementIdSet).sort().reverse(),
|
|
54
|
+
signals,
|
|
55
|
+
evidence,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=aggregator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../../src/core/skill-refine/aggregator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAsBlE,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,eAAuB,EACvB,WAAmB,EACnB,OAAyB,EAAE;IAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,IAAI,cAAc,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,eAAe,EAAE,WAAW,EAAE;QAC1E,eAAe,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CACvB,OAA2B,EAC3B,WAAmB,EACnB,KAAa;IAEb,MAAM,QAAQ,GAAiC;QAC7C,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,CAAC;KACnB,CAAC;IACF,MAAM,UAAU,GAAmC;QACjD,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;KACR,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,WAAW;QACX,MAAM,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;QAClC,YAAY,EAAE,OAAO,CAAC,MAAM;QAC5B,QAAQ;QACR,UAAU;QACV,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE;QACzD,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apply an approved diff to a SKILL.md file, commit the change, and record
|
|
3
|
+
* the event in the ledger.
|
|
4
|
+
*
|
|
5
|
+
* AC-US2-04: writes the diff AND runs `git commit -m "refine(<skill>): <rationale>"`.
|
|
6
|
+
* NEVER pushes.
|
|
7
|
+
* AC-US2-05: records the refinement in `.specweave/state/skill-refinements.json`.
|
|
8
|
+
*
|
|
9
|
+
* Git operations go through `execFileNoThrow` so arguments cannot be shell-
|
|
10
|
+
* interpolated. If any step fails the SKILL.md is restored from the pre-diff
|
|
11
|
+
* snapshot and no ledger entry is written.
|
|
12
|
+
*
|
|
13
|
+
* @module core/skill-refine/apply
|
|
14
|
+
*/
|
|
15
|
+
import { dirname } from 'path';
|
|
16
|
+
import { type ExecResult } from '../../utils/execFileNoThrow';
|
|
17
|
+
import { type RefinementLedgerEntry } from './ledger';
|
|
18
|
+
export interface ApplyOptions {
|
|
19
|
+
/** Absolute path to the SKILL.md being refined. */
|
|
20
|
+
skillPath: string;
|
|
21
|
+
/** Unified diff from Haiku (or user-edited). */
|
|
22
|
+
diff: string;
|
|
23
|
+
/** Haiku-generated rationale (goes into commit message + ledger). */
|
|
24
|
+
rationale: string;
|
|
25
|
+
/** Signal IDs that motivated this refinement (for ledger provenance). */
|
|
26
|
+
signalIds: string[];
|
|
27
|
+
/** Target skill slug (e.g. `sw:architect`) — used in commit message + ledger. */
|
|
28
|
+
targetSkill: string;
|
|
29
|
+
/** Absolute path to `.specweave/state/skill-refinements.json`. */
|
|
30
|
+
ledgerPath: string;
|
|
31
|
+
/** Absolute path to the git repo that holds `skillPath`. */
|
|
32
|
+
repoRoot: string;
|
|
33
|
+
/** Optional override — defaults to `git config user.email` then 'unknown'. */
|
|
34
|
+
author?: string;
|
|
35
|
+
/** Injection seam for tests. Defaults to the real execFileNoThrow. */
|
|
36
|
+
runGit?: (args: string[], cwd: string) => Promise<ExecResult>;
|
|
37
|
+
}
|
|
38
|
+
export interface ApplyResult {
|
|
39
|
+
commitSha: string;
|
|
40
|
+
ledgerEntry: RefinementLedgerEntry;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Apply the diff + commit + record. Throws on any step failure; callers
|
|
44
|
+
* translate the error into user-facing text.
|
|
45
|
+
*/
|
|
46
|
+
export declare function applyRefinement(opts: ApplyOptions): Promise<ApplyResult>;
|
|
47
|
+
export { dirname };
|
|
48
|
+
//# sourceMappingURL=apply.d.ts.map
|