@captain_z/zsk 1.8.7 → 1.8.9
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/README.md +34 -16
- package/dist/bin.js +6 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/prepare.js +3 -0
- package/dist/commands/prepare.js.map +1 -1
- package/dist/core/anchor-drift.d.ts +79 -0
- package/dist/core/anchor-drift.js +198 -0
- package/dist/core/anchor-drift.js.map +1 -0
- package/dist/core/decoupling-eval.d.ts +53 -0
- package/dist/core/decoupling-eval.js +260 -0
- package/dist/core/decoupling-eval.js.map +1 -0
- package/dist/core/installer.js +2 -2
- package/dist/core/installer.js.map +1 -1
- package/dist/core/issue-publish-adapter.d.ts +50 -0
- package/dist/core/issue-publish-adapter.js +371 -0
- package/dist/core/issue-publish-adapter.js.map +1 -0
- package/dist/core/prepare-artifacts.d.ts +2 -0
- package/dist/core/prepare-artifacts.js +2 -0
- package/dist/core/prepare-artifacts.js.map +1 -1
- package/dist/core/prepare-readiness.d.ts +40 -0
- package/dist/core/prepare-readiness.js +268 -0
- package/dist/core/prepare-readiness.js.map +1 -0
- package/dist/core/prepare-sync.d.ts +2 -0
- package/dist/core/prepare-sync.js +8 -16
- package/dist/core/prepare-sync.js.map +1 -1
- package/dist/core/review-skill-policy.d.ts +74 -0
- package/dist/core/review-skill-policy.js +278 -0
- package/dist/core/review-skill-policy.js.map +1 -0
- package/dist/core/skills.js +38 -14
- package/dist/core/skills.js.map +1 -1
- package/dist/core/source-snapshot-adapters.d.ts +3 -0
- package/dist/core/source-snapshot-adapters.js.map +1 -1
- package/dist/core/stage-clarity-verification.js +30 -16
- package/dist/core/stage-clarity-verification.js.map +1 -1
- package/dist/core/task-decomposition.d.ts +64 -0
- package/dist/core/task-decomposition.js +325 -0
- package/dist/core/task-decomposition.js.map +1 -0
- package/dist/core/task-plan-adapter.d.ts +57 -0
- package/dist/core/task-plan-adapter.js +298 -0
- package/dist/core/task-plan-adapter.js.map +1 -0
- package/dist/core/validation-packet.d.ts +86 -0
- package/dist/core/validation-packet.js +313 -0
- package/dist/core/validation-packet.js.map +1 -0
- package/dist/core/workflow-orchestration-policy.d.ts +92 -0
- package/dist/core/workflow-orchestration-policy.js +215 -0
- package/dist/core/workflow-orchestration-policy.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor-drift.js","sourceRoot":"","sources":["../../src/core/anchor-drift.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export type DecouplingSkillSource = {
|
|
2
|
+
slug: string;
|
|
3
|
+
kind?: string;
|
|
4
|
+
skillType?: string;
|
|
5
|
+
contract?: DecouplingSkillContract;
|
|
6
|
+
body: string;
|
|
7
|
+
};
|
|
8
|
+
export type DecouplingSkillContract = {
|
|
9
|
+
responsibility?: string;
|
|
10
|
+
nonGoals?: string[];
|
|
11
|
+
modeRequirements?: {
|
|
12
|
+
direct?: DecouplingModeRequirement;
|
|
13
|
+
governed?: DecouplingModeRequirement;
|
|
14
|
+
strict?: DecouplingModeRequirement;
|
|
15
|
+
};
|
|
16
|
+
workflowOwnedConstraints?: string[];
|
|
17
|
+
qualityRubric?: string[];
|
|
18
|
+
};
|
|
19
|
+
export type DecouplingModeRequirement = {
|
|
20
|
+
hardInputs?: string[];
|
|
21
|
+
optionalInputs?: string[];
|
|
22
|
+
};
|
|
23
|
+
export type DecouplingWarningCategory = "orchestration" | "gate" | "dispatch" | "staffing" | "approval" | "issue-side-effect";
|
|
24
|
+
export type DecouplingWarning = {
|
|
25
|
+
level: "warning";
|
|
26
|
+
skill: string;
|
|
27
|
+
category: DecouplingWarningCategory;
|
|
28
|
+
phrase: string;
|
|
29
|
+
message: string;
|
|
30
|
+
};
|
|
31
|
+
export type DecouplingScenarioId = "direct-review-no-gates" | "governed-review" | "direct-coding" | "strict-gate";
|
|
32
|
+
export type DecouplingScenarioResult = {
|
|
33
|
+
id: DecouplingScenarioId;
|
|
34
|
+
label: string;
|
|
35
|
+
skill: string;
|
|
36
|
+
mode: "direct" | "governed" | "strict";
|
|
37
|
+
outcome: "useful" | "blocked" | "warning";
|
|
38
|
+
blockedReason?: string;
|
|
39
|
+
firstUsefulOutputLatencyProxy: number;
|
|
40
|
+
readFileCountProxy: number;
|
|
41
|
+
contextScaleProxy: number;
|
|
42
|
+
};
|
|
43
|
+
export type DecouplingBaselineReport = {
|
|
44
|
+
status: "warning-only";
|
|
45
|
+
hasFailures: false;
|
|
46
|
+
scenarios: DecouplingScenarioResult[];
|
|
47
|
+
warnings: DecouplingWarning[];
|
|
48
|
+
};
|
|
49
|
+
export type DecouplingBaselineInput = {
|
|
50
|
+
skills: DecouplingSkillSource[];
|
|
51
|
+
};
|
|
52
|
+
export declare function evaluateDecouplingBaseline(input: DecouplingBaselineInput): DecouplingBaselineReport;
|
|
53
|
+
export declare function formatDecouplingBaselineReport(report: DecouplingBaselineReport): string;
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
const scenarioOrder = [
|
|
2
|
+
"direct-review-no-gates",
|
|
3
|
+
"governed-review",
|
|
4
|
+
"direct-coding",
|
|
5
|
+
"strict-gate",
|
|
6
|
+
];
|
|
7
|
+
const leakagePatterns = [
|
|
8
|
+
{ category: "orchestration", phrase: "orchestration", pattern: /\borchestration\b/i },
|
|
9
|
+
{ category: "orchestration", phrase: "workflow owns", pattern: /\bworkflow owns\b/i },
|
|
10
|
+
{ category: "gate", phrase: "zsk gate assess", pattern: /\bzsk\s+gate\s+assess\b/i },
|
|
11
|
+
{ category: "gate", phrase: "gate assess", pattern: /\bgate\s+assess\b/i },
|
|
12
|
+
{ category: "gate", phrase: "stage gate", pattern: /\bstage\s+gates?\b/i },
|
|
13
|
+
{ category: "dispatch", phrase: "dispatch plan", pattern: /\bdispatch\s+plan\b/i },
|
|
14
|
+
{ category: "dispatch", phrase: "dispatch", pattern: /\bdispatch\b/i },
|
|
15
|
+
{ category: "staffing", phrase: "staffing", pattern: /\bstaffing\b/i },
|
|
16
|
+
{ category: "approval", phrase: "approval is required", pattern: /\bapproval\s+is\s+required\b/i },
|
|
17
|
+
{ category: "approval", phrase: "must be approved", pattern: /\bmust\s+be\s+approved\b/i },
|
|
18
|
+
{ category: "approval", phrase: "explicit approval", pattern: /\bexplicit\s+approval\b/i },
|
|
19
|
+
{
|
|
20
|
+
category: "issue-side-effect",
|
|
21
|
+
phrase: "create or update issue",
|
|
22
|
+
pattern: /\bcreate\s+or\s+update\s+(?:an?\s+)?issues?\b/i,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
category: "issue-side-effect",
|
|
26
|
+
phrase: "must create issue",
|
|
27
|
+
pattern: /\bmust\s+(?:create|open|file|record|persist|update|sync)\s+(?:an?\s+)?issues?\b/i,
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
const directReviewBlockerPatterns = [
|
|
31
|
+
{
|
|
32
|
+
phrase: "must run workflow gate before review",
|
|
33
|
+
pattern: /\bbefore\s+(?:any\s+)?review\b[^.\n]{0,160}\b(?:must|required|requires?)\b[^.\n]{0,120}\b(?:zsk\s+gate\s+assess|gate\s+assess|dispatch\s+plan|dispatch|approval|signoff|issue)\b/i,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
phrase: "workflow approval is required before review output",
|
|
37
|
+
pattern: /\b(?:approval|signoff|gate|dispatch|issue)\b[^.\n]{0,120}\b(?:is|are)\s+required\b[^.\n]{0,120}\bbefore\b[^.\n]{0,80}\b(?:reviewer|review|findings|output)\b/i,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
phrase: "issue side effect is required before findings",
|
|
41
|
+
pattern: /\bmust\s+(?:create|open|file|record|persist|update|sync)\s+(?:or\s+update\s+)?(?:an?\s+)?issues?\b[^.\n]{0,120}\bbefore\b[^.\n]{0,80}\b(?:reporting\s+)?findings?\b/i,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
phrase: "missing workflow evidence blocks direct review",
|
|
45
|
+
pattern: /\bmissing\b[^.\n]{0,80}\b(?:gate|signoff|approval|dispatch|issue|validation\s+packet|anchor\s+packet)\b[^.\n]{0,120}\b(?:blocks?|blocked|must\s+stop|cannot\s+review|do\s+not\s+review)\b/i,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
phrase: "review is forbidden without workflow evidence",
|
|
49
|
+
pattern: /\bdo\s+not\s+review\b[^.\n]{0,120}\b(?:without|until)\b[^.\n]{0,120}\b(?:gate|signoff|approval|dispatch|issue|validation\s+packet|anchor\s+packet)\b/i,
|
|
50
|
+
},
|
|
51
|
+
];
|
|
52
|
+
const workflowOwnedInputPatterns = [
|
|
53
|
+
{ category: "orchestration", pattern: /\b(?:workflow|workflow-packet|workflow-required-evidence|peer-skill)\b/i },
|
|
54
|
+
{ category: "gate", pattern: /\b(?:gate|gate-evidence|stage-gate|smoke)\b/i },
|
|
55
|
+
{ category: "dispatch", pattern: /\b(?:dispatch|route|routing)\b/i },
|
|
56
|
+
{ category: "staffing", pattern: /\b(?:staff|staffing|subagent|role-lane)\b/i },
|
|
57
|
+
{ category: "approval", pattern: /\b(?:approval|approve|signoff|sign-off|waiver)\b/i },
|
|
58
|
+
{ category: "issue-side-effect", pattern: /\b(?:issue|ticket|record)\b/i },
|
|
59
|
+
];
|
|
60
|
+
export function evaluateDecouplingBaseline(input) {
|
|
61
|
+
const warnings = input.skills.flatMap((skill) => collectSkillWarnings(skill));
|
|
62
|
+
const scenarios = scenarioOrder.map((id) => buildScenario(id, input.skills, warnings));
|
|
63
|
+
return {
|
|
64
|
+
status: "warning-only",
|
|
65
|
+
hasFailures: false,
|
|
66
|
+
scenarios,
|
|
67
|
+
warnings,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export function formatDecouplingBaselineReport(report) {
|
|
71
|
+
const lines = [
|
|
72
|
+
"# Decoupling Eval Baseline",
|
|
73
|
+
"",
|
|
74
|
+
`Status: ${report.status}`,
|
|
75
|
+
`Failure mode: ${report.hasFailures ? "failing" : "warning-only"}`,
|
|
76
|
+
"",
|
|
77
|
+
"## Scenarios",
|
|
78
|
+
"",
|
|
79
|
+
"| Scenario | Skill | Mode | Outcome | Blocked reason | Latency proxy | File proxy | Context proxy |",
|
|
80
|
+
"| --- | --- | --- | --- | --- | ---: | ---: | ---: |",
|
|
81
|
+
...report.scenarios.map((scenario) => `| ${scenario.id} | ${scenario.skill} | ${scenario.mode} | ${scenario.outcome} | ${escapeTableCell(scenario.blockedReason ?? "")} | ${scenario.firstUsefulOutputLatencyProxy} | ${scenario.readFileCountProxy} | ${scenario.contextScaleProxy} |`),
|
|
82
|
+
"",
|
|
83
|
+
"## Decoupling Warnings",
|
|
84
|
+
"",
|
|
85
|
+
];
|
|
86
|
+
if (report.warnings.length === 0) {
|
|
87
|
+
lines.push("No workflow responsibility leakage warnings detected.");
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
lines.push("| Skill | Category | Phrase | Message |");
|
|
91
|
+
lines.push("| --- | --- | --- | --- |");
|
|
92
|
+
for (const warning of report.warnings) {
|
|
93
|
+
lines.push(`| ${warning.skill} | ${warning.category} | ${escapeTableCell(warning.phrase)} | ${escapeTableCell(warning.message)} |`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return `${lines.join("\n")}\n`;
|
|
97
|
+
}
|
|
98
|
+
function collectSkillWarnings(skill) {
|
|
99
|
+
if (isWorkflowSkill(skill)) {
|
|
100
|
+
return [];
|
|
101
|
+
}
|
|
102
|
+
const seen = new Set();
|
|
103
|
+
const warnings = [];
|
|
104
|
+
const contractBlocker = findWorkflowOwnedDirectHardInput(skill.contract);
|
|
105
|
+
if (contractBlocker) {
|
|
106
|
+
warnings.push({
|
|
107
|
+
level: "warning",
|
|
108
|
+
skill: skill.slug,
|
|
109
|
+
category: contractBlocker.category,
|
|
110
|
+
phrase: `contract direct hard input: ${contractBlocker.input}`,
|
|
111
|
+
message: `${skill.slug} declares ${contractBlocker.input} as a direct-mode hard input. ` +
|
|
112
|
+
"Single-skill direct mode should treat workflow-owned material as optional context unless a workflow invokes strict mode.",
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
for (const leakage of leakagePatterns) {
|
|
116
|
+
if (!leakage.pattern.test(skill.body)) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const key = `${skill.slug}:${leakage.category}:${leakage.phrase}`;
|
|
120
|
+
if (seen.has(key)) {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
seen.add(key);
|
|
124
|
+
warnings.push({
|
|
125
|
+
level: "warning",
|
|
126
|
+
skill: skill.slug,
|
|
127
|
+
category: leakage.category,
|
|
128
|
+
phrase: leakage.phrase,
|
|
129
|
+
message: `${skill.slug} mentions ${leakage.phrase}, which may be workflow-owned responsibility. ` +
|
|
130
|
+
"Keep single skills focused on intrinsic responsibilities and let workflows own orchestration.",
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return warnings;
|
|
134
|
+
}
|
|
135
|
+
function buildScenario(id, skills, warnings) {
|
|
136
|
+
switch (id) {
|
|
137
|
+
case "direct-review-no-gates":
|
|
138
|
+
return buildDirectReviewScenario(skills, warnings);
|
|
139
|
+
case "governed-review":
|
|
140
|
+
return buildGovernedReviewScenario(skills, warnings);
|
|
141
|
+
case "direct-coding":
|
|
142
|
+
return buildDirectCodingScenario(skills, warnings);
|
|
143
|
+
case "strict-gate":
|
|
144
|
+
return buildStrictGateScenario(skills);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function buildDirectReviewScenario(skills, warnings) {
|
|
148
|
+
const skill = findSkill(skills, "review");
|
|
149
|
+
const skillWarnings = warningsForSkill(warnings, "review");
|
|
150
|
+
const blocker = skill === undefined ? undefined : findDirectReviewBlocker(skill);
|
|
151
|
+
const outcome = blocker ? "blocked" : skillWarnings.length > 0 ? "warning" : "useful";
|
|
152
|
+
const blockedReason = blocker
|
|
153
|
+
? `Direct review has hard prerequisite ${blocker.source}: ${blocker.phrase}.`
|
|
154
|
+
: undefined;
|
|
155
|
+
return scenarioResult({
|
|
156
|
+
id: "direct-review-no-gates",
|
|
157
|
+
label: "Direct review can produce useful findings without workflow evidence gates.",
|
|
158
|
+
skill,
|
|
159
|
+
skillSlug: "review",
|
|
160
|
+
mode: "direct",
|
|
161
|
+
outcome,
|
|
162
|
+
blockedReason,
|
|
163
|
+
warnings: skillWarnings,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function buildGovernedReviewScenario(skills, warnings) {
|
|
167
|
+
const skill = findSkill(skills, "review");
|
|
168
|
+
return scenarioResult({
|
|
169
|
+
id: "governed-review",
|
|
170
|
+
label: "Workflow supplies sequencing and evidence, while review owns findings.",
|
|
171
|
+
skill,
|
|
172
|
+
skillSlug: "review",
|
|
173
|
+
mode: "governed",
|
|
174
|
+
outcome: "useful",
|
|
175
|
+
warnings: warningsForSkill(warnings, "review"),
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
function buildDirectCodingScenario(skills, warnings) {
|
|
179
|
+
const skill = findSkill(skills, "coding");
|
|
180
|
+
const skillWarnings = warningsForSkill(warnings, "coding");
|
|
181
|
+
return scenarioResult({
|
|
182
|
+
id: "direct-coding",
|
|
183
|
+
label: "Coding can make progress from a scoped issue without depending on peer skills.",
|
|
184
|
+
skill,
|
|
185
|
+
skillSlug: "coding",
|
|
186
|
+
mode: "direct",
|
|
187
|
+
outcome: skillWarnings.length > 0 ? "warning" : "useful",
|
|
188
|
+
warnings: skillWarnings,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
function buildStrictGateScenario(skills) {
|
|
192
|
+
const skill = findSkill(skills, "zsk");
|
|
193
|
+
return scenarioResult({
|
|
194
|
+
id: "strict-gate",
|
|
195
|
+
label: "Strict gates remain workflow-owned and can block when required evidence is missing.",
|
|
196
|
+
skill,
|
|
197
|
+
skillSlug: "zsk",
|
|
198
|
+
mode: "strict",
|
|
199
|
+
outcome: "blocked",
|
|
200
|
+
blockedReason: "Strict gate requires workflow-owned evidence before downstream execution.",
|
|
201
|
+
warnings: [],
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
function scenarioResult(input) {
|
|
205
|
+
const bodyLength = input.skill?.body.length ?? 0;
|
|
206
|
+
const blockedPenalty = input.outcome === "blocked" ? 2 : 0;
|
|
207
|
+
const governedPenalty = input.mode === "direct" ? 0 : 2;
|
|
208
|
+
const readFileCountProxy = Math.max(1, 1 + governedPenalty + blockedPenalty + input.warnings.length);
|
|
209
|
+
const firstUsefulOutputLatencyProxy = Math.max(1, 1 + blockedPenalty + input.warnings.length);
|
|
210
|
+
return {
|
|
211
|
+
id: input.id,
|
|
212
|
+
label: input.label,
|
|
213
|
+
skill: input.skill?.slug ?? input.skillSlug,
|
|
214
|
+
mode: input.mode,
|
|
215
|
+
outcome: input.outcome,
|
|
216
|
+
blockedReason: input.blockedReason,
|
|
217
|
+
firstUsefulOutputLatencyProxy,
|
|
218
|
+
readFileCountProxy,
|
|
219
|
+
contextScaleProxy: Math.max(1, Math.ceil(bodyLength / 240) + readFileCountProxy),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
function findSkill(skills, slug) {
|
|
223
|
+
return skills.find((skill) => skill.slug === slug);
|
|
224
|
+
}
|
|
225
|
+
function warningsForSkill(warnings, slug) {
|
|
226
|
+
return warnings.filter((warning) => warning.skill === slug);
|
|
227
|
+
}
|
|
228
|
+
function findDirectReviewBlocker(skill) {
|
|
229
|
+
const contractBlocker = findWorkflowOwnedDirectHardInput(skill.contract);
|
|
230
|
+
if (contractBlocker) {
|
|
231
|
+
return {
|
|
232
|
+
source: "contract",
|
|
233
|
+
phrase: `${contractBlocker.input} is declared as a direct-mode hard input`,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
const bodyBlocker = directReviewBlockerPatterns.find((blocker) => blocker.pattern.test(skill.body));
|
|
237
|
+
return bodyBlocker ? { source: "body", phrase: bodyBlocker.phrase } : undefined;
|
|
238
|
+
}
|
|
239
|
+
function findWorkflowOwnedDirectHardInput(contract) {
|
|
240
|
+
const hardInputs = contract?.modeRequirements?.direct?.hardInputs ?? [];
|
|
241
|
+
for (const input of hardInputs) {
|
|
242
|
+
const matched = workflowOwnedInputPatterns.find((entry) => entry.pattern.test(input));
|
|
243
|
+
if (matched) {
|
|
244
|
+
return { input, category: matched.category };
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return undefined;
|
|
248
|
+
}
|
|
249
|
+
function isWorkflowSkill(skill) {
|
|
250
|
+
const skillType = skill.skillType?.toLowerCase();
|
|
251
|
+
if (skillType) {
|
|
252
|
+
return skillType === "workflow";
|
|
253
|
+
}
|
|
254
|
+
const kind = skill.kind?.toLowerCase();
|
|
255
|
+
return kind === "workflow" || kind === "workflow-orchestrator";
|
|
256
|
+
}
|
|
257
|
+
function escapeTableCell(value) {
|
|
258
|
+
return value.replaceAll("|", "\\|").replaceAll("\n", " ");
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=decoupling-eval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoupling-eval.js","sourceRoot":"","sources":["../../src/core/decoupling-eval.ts"],"names":[],"mappings":"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"}
|
package/dist/core/installer.js
CHANGED
|
@@ -83,9 +83,9 @@ export function skillRelPath(skill, layout = "flat") {
|
|
|
83
83
|
}
|
|
84
84
|
async function toClaudePluginSkill(skill) {
|
|
85
85
|
const raw = await readFile(skill.file, "utf8");
|
|
86
|
-
// Package-installed skills are namespaced as zsk
|
|
86
|
+
// Package-installed skills are namespaced as zsk-<slug>. Claude plugin
|
|
87
87
|
// skills should keep the bare slug so slash commands resolve as /zsk:<slug>.
|
|
88
|
-
return raw.replace(/^name:\s+zsk
|
|
88
|
+
return raw.replace(/^name:\s+zsk[:-]([a-z0-9-]+)\s*$/m, `name: ${skill.slug}`);
|
|
89
89
|
}
|
|
90
90
|
async function stageClaudePluginFiles(stagingDir, skillNames, zskVersion) {
|
|
91
91
|
const pluginDir = join(stagingDir, ".claude-plugin");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type TaskCandidate, type TaskDecompositionAssessment, type TaskDecompositionResult } from "./task-decomposition.js";
|
|
2
|
+
export type IssuePublishMode = "dry-run" | "write";
|
|
3
|
+
export type IssuePublishOptions = {
|
|
4
|
+
featureSlug: string;
|
|
5
|
+
parentPath: string;
|
|
6
|
+
mode?: IssuePublishMode;
|
|
7
|
+
selectedCandidateIds?: string[];
|
|
8
|
+
targetRoot?: string;
|
|
9
|
+
};
|
|
10
|
+
export type PublishedIssueDraft = {
|
|
11
|
+
candidateId: string;
|
|
12
|
+
number: string;
|
|
13
|
+
title: string;
|
|
14
|
+
path: string;
|
|
15
|
+
status: "ready-for-agent" | "ready-for-human";
|
|
16
|
+
workMode: TaskCandidate["workMode"];
|
|
17
|
+
blockedBy: string[];
|
|
18
|
+
unblocks: string[];
|
|
19
|
+
priority: TaskCandidate["priority"];
|
|
20
|
+
body: string;
|
|
21
|
+
};
|
|
22
|
+
export type IssuePublishPlan = {
|
|
23
|
+
version: 1;
|
|
24
|
+
kind: "issue-publish-plan";
|
|
25
|
+
sourceEngine: "task-decomposition";
|
|
26
|
+
source: TaskDecompositionResult["source"];
|
|
27
|
+
assessment: TaskDecompositionAssessment;
|
|
28
|
+
mode: IssuePublishMode;
|
|
29
|
+
parentPath: string;
|
|
30
|
+
featureSlug: string;
|
|
31
|
+
selectedCandidateIds: string[];
|
|
32
|
+
localSideEffects: "none" | "write-issue-markdown";
|
|
33
|
+
workflowSideEffects: [];
|
|
34
|
+
issues: PublishedIssueDraft[];
|
|
35
|
+
};
|
|
36
|
+
export type IssuePublishDiagnostic = {
|
|
37
|
+
code: string;
|
|
38
|
+
severity: "warning" | "failure";
|
|
39
|
+
candidateId?: string;
|
|
40
|
+
message: string;
|
|
41
|
+
evidence: string[];
|
|
42
|
+
};
|
|
43
|
+
export type IssuePublishAssessment = {
|
|
44
|
+
status: "valid" | "warning" | "invalid";
|
|
45
|
+
targetScore: 100;
|
|
46
|
+
score: number;
|
|
47
|
+
diagnostics: IssuePublishDiagnostic[];
|
|
48
|
+
};
|
|
49
|
+
export declare function createIssuePublishPlan(decomposition: TaskDecompositionResult, options: IssuePublishOptions): IssuePublishPlan;
|
|
50
|
+
export declare function evaluateIssuePublishPlan(plan: IssuePublishPlan): IssuePublishAssessment;
|