@captain_z/zsk 1.8.7 → 1.8.8

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.
Files changed (41) hide show
  1. package/README.md +34 -16
  2. package/dist/bin.js +6 -0
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/prepare.js +3 -0
  5. package/dist/commands/prepare.js.map +1 -1
  6. package/dist/core/anchor-drift.d.ts +79 -0
  7. package/dist/core/anchor-drift.js +198 -0
  8. package/dist/core/anchor-drift.js.map +1 -0
  9. package/dist/core/decoupling-eval.d.ts +53 -0
  10. package/dist/core/decoupling-eval.js +260 -0
  11. package/dist/core/decoupling-eval.js.map +1 -0
  12. package/dist/core/issue-publish-adapter.d.ts +50 -0
  13. package/dist/core/issue-publish-adapter.js +371 -0
  14. package/dist/core/issue-publish-adapter.js.map +1 -0
  15. package/dist/core/prepare-artifacts.d.ts +2 -0
  16. package/dist/core/prepare-artifacts.js +2 -0
  17. package/dist/core/prepare-artifacts.js.map +1 -1
  18. package/dist/core/prepare-readiness.d.ts +40 -0
  19. package/dist/core/prepare-readiness.js +268 -0
  20. package/dist/core/prepare-readiness.js.map +1 -0
  21. package/dist/core/prepare-sync.d.ts +2 -0
  22. package/dist/core/prepare-sync.js +8 -16
  23. package/dist/core/prepare-sync.js.map +1 -1
  24. package/dist/core/review-skill-policy.d.ts +74 -0
  25. package/dist/core/review-skill-policy.js +278 -0
  26. package/dist/core/review-skill-policy.js.map +1 -0
  27. package/dist/core/source-snapshot-adapters.d.ts +3 -0
  28. package/dist/core/source-snapshot-adapters.js.map +1 -1
  29. package/dist/core/task-decomposition.d.ts +64 -0
  30. package/dist/core/task-decomposition.js +325 -0
  31. package/dist/core/task-decomposition.js.map +1 -0
  32. package/dist/core/task-plan-adapter.d.ts +57 -0
  33. package/dist/core/task-plan-adapter.js +298 -0
  34. package/dist/core/task-plan-adapter.js.map +1 -0
  35. package/dist/core/validation-packet.d.ts +86 -0
  36. package/dist/core/validation-packet.js +313 -0
  37. package/dist/core/validation-packet.js.map +1 -0
  38. package/dist/core/workflow-orchestration-policy.d.ts +92 -0
  39. package/dist/core/workflow-orchestration-policy.js +215 -0
  40. package/dist/core/workflow-orchestration-policy.js.map +1 -0
  41. package/package.json +2 -2
@@ -0,0 +1,278 @@
1
+ import { evaluateValidationPacket, } from "./validation-packet.js";
2
+ export function evaluateReviewSkillPolicy(input) {
3
+ const materials = input.materials ?? {};
4
+ const diagnostics = [];
5
+ const missingContext = collectMissingContext(input);
6
+ if (!input.target) {
7
+ diagnostics.push({
8
+ code: "missing-review-target",
9
+ severity: "failure",
10
+ message: "Review needs an explicit diff, branch, file range, path, or provided code target.",
11
+ });
12
+ }
13
+ if (input.mode === "strict" && !materials.gateEvidence) {
14
+ diagnostics.push({
15
+ code: "strict-missing-gate-evidence",
16
+ severity: "failure",
17
+ message: "Strict review is workflow-governed and requires workflow-provided gate evidence.",
18
+ });
19
+ }
20
+ const validationAssessment = materials.validationPacket ? evaluateValidationPacket(materials.validationPacket) : undefined;
21
+ const findings = collectFindings(validationAssessment);
22
+ if (validationAssessment?.status === "untrusted") {
23
+ diagnostics.push({
24
+ code: "untrusted-validation-packet",
25
+ severity: "warning",
26
+ message: "Validation packet contains failures or fake-green indicators; review must report them as findings.",
27
+ });
28
+ }
29
+ else if (validationAssessment?.status === "warning") {
30
+ diagnostics.push({
31
+ code: "validation-packet-warning",
32
+ severity: "warning",
33
+ message: "Validation packet has warning-level evidence gaps; review must surface the confidence impact.",
34
+ });
35
+ }
36
+ const lanes = buildLanes(input, missingContext);
37
+ const status = diagnostics.some((diagnostic) => diagnostic.severity === "failure") ? "blocked" : "reviewable";
38
+ const risks = [
39
+ ...missingContext.map((context) => `${context} missing; related review lanes run at lower confidence.`),
40
+ ...(materials.validationPacket ? [] : ["validation packet missing; test and evidence trust must be checked from raw artifacts."]),
41
+ ...findings.map((finding) => finding.risk),
42
+ ];
43
+ const nextActions = nextActionsFor(status, diagnostics, missingContext);
44
+ return {
45
+ status,
46
+ confidence: confidenceFor(status, input.mode, missingContext, diagnostics),
47
+ quality: qualityFor({
48
+ status,
49
+ mode: input.mode,
50
+ missingContext,
51
+ diagnostics,
52
+ lanes,
53
+ findings,
54
+ nextActions,
55
+ }),
56
+ missingContext,
57
+ risks,
58
+ lanes,
59
+ diagnostics,
60
+ findings,
61
+ nextActions,
62
+ };
63
+ }
64
+ function collectMissingContext(input) {
65
+ const materials = input.materials ?? {};
66
+ const missing = [
67
+ materials.spec ? undefined : "spec",
68
+ materials.tasks ? undefined : "tasks",
69
+ materials.validationPacket ? undefined : "validation-packet",
70
+ materials.anchorPacket || materials.sessionAnchor ? undefined : "anchor-packet",
71
+ ].filter((item) => Boolean(item));
72
+ if (input.mode !== "direct" && !materials.gateEvidence) {
73
+ missing.push("gate-evidence");
74
+ }
75
+ return missing;
76
+ }
77
+ function buildLanes(input, missingContext) {
78
+ const materials = input.materials ?? {};
79
+ const depth = input.depth ?? "standard";
80
+ const deepExecutor = input.staffing?.subagentsAvailable ? "subagent" : "sequential";
81
+ const base = [
82
+ {
83
+ id: "task-goal",
84
+ status: materials.tasks ? "checked" : "risk",
85
+ reason: materials.tasks ? "Task goals are available for target alignment." : "No task material was supplied.",
86
+ },
87
+ {
88
+ id: "spec-alignment",
89
+ status: materials.spec ? "checked" : "risk",
90
+ reason: materials.spec ? "Spec is available for requirement alignment." : "No spec material was supplied.",
91
+ },
92
+ {
93
+ id: "code-quality",
94
+ status: input.target ? "checked" : "not-applicable",
95
+ reason: input.target ? "Review target is available for code-quality inspection." : "No review target was supplied.",
96
+ },
97
+ {
98
+ id: "best-practices",
99
+ status: materials.bestPractices && materials.bestPractices.length > 0 ? "checked" : "risk",
100
+ reason: materials.bestPractices && materials.bestPractices.length > 0
101
+ ? "Best-practice material is available."
102
+ : "No best-practice material was supplied.",
103
+ },
104
+ {
105
+ id: "anchor-session",
106
+ status: missingContext.includes("anchor-packet") ? "risk" : "checked",
107
+ reason: missingContext.includes("anchor-packet")
108
+ ? "No anchor or session packet was supplied."
109
+ : "Anchor or session material is available.",
110
+ },
111
+ {
112
+ id: "tests-evidence",
113
+ status: missingContext.includes("validation-packet") ? "risk" : "checked",
114
+ reason: missingContext.includes("validation-packet")
115
+ ? "No validation packet was supplied."
116
+ : "Validation packet is available for evidence trust checks.",
117
+ executor: depth === "deep" ? deepExecutor : undefined,
118
+ },
119
+ ];
120
+ if (depth !== "deep")
121
+ return base;
122
+ const riskAreas = new Set(input.touchedRiskAreas ?? []);
123
+ return [
124
+ ...base.map((lane) => ({ ...lane, executor: lane.executor ?? deepExecutor })),
125
+ {
126
+ id: "security-data",
127
+ status: riskAreas.has("security") ? "checked" : "risk",
128
+ reason: riskAreas.has("security")
129
+ ? "Security-sensitive surface is included in deep review lanes."
130
+ : "Deep review should confirm whether security/data risk is touched.",
131
+ executor: deepExecutor,
132
+ },
133
+ {
134
+ id: "architecture-api",
135
+ status: riskAreas.has("architecture") ? "checked" : "risk",
136
+ reason: riskAreas.has("architecture")
137
+ ? "Architecture/API surface is included in deep review lanes."
138
+ : "Deep review should confirm whether API or dependency risk is touched.",
139
+ executor: deepExecutor,
140
+ },
141
+ {
142
+ id: "frontend-a11y",
143
+ status: riskAreas.has("frontend") ? "checked" : "not-applicable",
144
+ reason: riskAreas.has("frontend")
145
+ ? "Frontend/a11y surface is included in deep review lanes."
146
+ : "No frontend surface was declared.",
147
+ executor: deepExecutor,
148
+ },
149
+ {
150
+ id: "performance-reliability",
151
+ status: riskAreas.has("performance") ? "checked" : "not-applicable",
152
+ reason: riskAreas.has("performance")
153
+ ? "Performance/reliability surface is included in deep review lanes."
154
+ : "No performance or reliability surface was declared.",
155
+ executor: deepExecutor,
156
+ },
157
+ ];
158
+ }
159
+ function collectFindings(assessment) {
160
+ if (!assessment || assessment.status === "trusted")
161
+ return [];
162
+ const severity = assessment.status === "untrusted" ? "IMPORTANT" : "MINOR";
163
+ return [
164
+ {
165
+ severity,
166
+ title: assessment.status === "untrusted"
167
+ ? "Validation packet is not trustworthy enough to support a PASS verdict."
168
+ : "Validation packet has evidence gaps that lower review confidence.",
169
+ evidence: assessment.diagnostics.map((diagnostic) => `${diagnostic.code}: ${diagnostic.message}`),
170
+ risk: assessment.status === "untrusted"
171
+ ? "Green tests may be fake-green, mock-only, or disconnected from the changed behavior."
172
+ : "Review may overstate confidence if warning-level validation gaps are not called out.",
173
+ suggestedFix: assessment.status === "untrusted"
174
+ ? "Add behavior-level evidence for the real critical path, then rerun review."
175
+ : "Add the missing validation evidence or explicitly report the residual confidence gap.",
176
+ },
177
+ ];
178
+ }
179
+ function confidenceFor(status, mode, missingContext, diagnostics) {
180
+ if (status === "blocked" || diagnostics.some((diagnostic) => diagnostic.severity === "failure"))
181
+ return "low";
182
+ if (diagnostics.some((diagnostic) => diagnostic.severity === "warning"))
183
+ return "medium";
184
+ if (mode === "direct" && missingContext.length > 0)
185
+ return "medium";
186
+ if (missingContext.length >= 4)
187
+ return "low";
188
+ if (missingContext.length > 0)
189
+ return "medium";
190
+ return "high";
191
+ }
192
+ function qualityFor(input) {
193
+ const warningCount = input.diagnostics.filter((diagnostic) => diagnostic.severity === "warning").length;
194
+ const failureCount = input.diagnostics.filter((diagnostic) => diagnostic.severity === "failure").length;
195
+ const untrustedValidationCount = input.diagnostics.filter((diagnostic) => diagnostic.code === "untrusted-validation-packet").length;
196
+ const otherWarningCount = Math.max(0, warningCount - untrustedValidationCount);
197
+ const riskLaneCount = input.lanes.filter((lane) => lane.status === "risk").length;
198
+ const checkedLaneCount = input.lanes.filter((lane) => lane.status === "checked").length;
199
+ const applicableLaneCount = input.lanes.filter((lane) => lane.status !== "not-applicable").length;
200
+ const laneCoverage = applicableLaneCount === 0 ? 0 : Math.round((checkedLaneCount / applicableLaneCount) * 100);
201
+ const hasValidationGap = input.missingContext.includes("validation-packet");
202
+ const hasAnchorGap = input.missingContext.includes("anchor-packet");
203
+ const hasWorkflowGateGap = input.missingContext.includes("gate-evidence");
204
+ const hasEvidenceFinding = input.findings.some((finding) => finding.evidence.length > 0 && finding.suggestedFix.length > 0);
205
+ const coverageScore = clampScore(laneCoverage - input.missingContext.length * 4);
206
+ const evidenceTrustScore = clampScore(100 -
207
+ (hasValidationGap ? 30 : 0) -
208
+ (hasAnchorGap ? 10 : 0) -
209
+ (hasWorkflowGateGap ? 8 : 0) -
210
+ untrustedValidationCount * 45 -
211
+ otherWarningCount * 20 -
212
+ failureCount * 55);
213
+ const findingReadinessScore = clampScore((input.status === "blocked" ? 35 : 85) +
214
+ (hasEvidenceFinding ? 10 : 0) -
215
+ (riskLaneCount > 0 ? Math.min(20, riskLaneCount * 4) : 0) -
216
+ failureCount * 30);
217
+ const riskClarityScore = clampScore(70 +
218
+ input.missingContext.length * 4 +
219
+ input.findings.length * 6 +
220
+ warningCount * 5 -
221
+ failureCount * 20);
222
+ const actionabilityScore = clampScore(input.nextActions.length === 0
223
+ ? 35
224
+ : 75 + Math.min(20, input.nextActions.length * 4) - failureCount * 25);
225
+ const overallScore = clampScore(Math.round(coverageScore * 0.25 +
226
+ evidenceTrustScore * 0.25 +
227
+ findingReadinessScore * 0.2 +
228
+ riskClarityScore * 0.15 +
229
+ actionabilityScore * 0.15));
230
+ return {
231
+ coverageScore,
232
+ evidenceTrustScore,
233
+ findingReadinessScore,
234
+ riskClarityScore,
235
+ actionabilityScore,
236
+ overallScore,
237
+ notes: qualityNotes(input, {
238
+ coverageScore,
239
+ evidenceTrustScore,
240
+ findingReadinessScore,
241
+ riskClarityScore,
242
+ actionabilityScore,
243
+ overallScore,
244
+ }),
245
+ };
246
+ }
247
+ function qualityNotes(input, scores) {
248
+ const notes = [];
249
+ if (input.mode === "direct" && input.missingContext.length > 0) {
250
+ notes.push("Direct review remains reviewable; missing optional context lowers coverage and evidence scores.");
251
+ }
252
+ if (input.mode !== "direct" && input.missingContext.includes("gate-evidence")) {
253
+ notes.push("Governed or strict review is missing workflow-owned gate evidence.");
254
+ }
255
+ if (input.diagnostics.some((diagnostic) => diagnostic.severity === "warning")) {
256
+ notes.push("Warning diagnostics reduce evidence trust and must be surfaced in the review verdict.");
257
+ }
258
+ if (input.status === "blocked") {
259
+ notes.push("Blocked review cannot claim completion until failure diagnostics are resolved.");
260
+ }
261
+ if (scores.overallScore >= 90) {
262
+ notes.push("Quality signal is strong enough for a high-confidence review verdict when findings support it.");
263
+ }
264
+ return notes;
265
+ }
266
+ function clampScore(value) {
267
+ return Math.max(0, Math.min(100, Math.round(value)));
268
+ }
269
+ function nextActionsFor(status, diagnostics, missingContext) {
270
+ if (status === "blocked") {
271
+ return diagnostics.map((diagnostic) => `${diagnostic.code}: ${diagnostic.message}`);
272
+ }
273
+ return [
274
+ "Produce findings first with severity, file/line, risk, evidence, and suggested fix.",
275
+ ...missingContext.map((context) => `Declare missing ${context} and lower related lane confidence.`),
276
+ ];
277
+ }
278
+ //# sourceMappingURL=review-skill-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review-skill-policy.js","sourceRoot":"","sources":["../../src/core/review-skill-policy.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@ import { type OriginInference } from "./origin-detection.js";
3
3
  import { type SourceSnapshotAdapterId } from "./source-adapter-normalization.js";
4
4
  export type PrepareSyncOptions = {
5
5
  source?: string;
6
+ resource?: string;
7
+ lane?: string;
8
+ consumer?: string;
6
9
  all?: boolean;
7
10
  allowNetwork?: boolean;
8
11
  authState?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"source-snapshot-adapters.js","sourceRoot":"","sources":["../../src/core/source-snapshot-adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,qBAAqB,GAItB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAwB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AAwE3C,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,MAAqB,EACrB,KAAkB,EAClB,IAAwB,EACxB,uBAA8E;IAE9E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,IAAI,GAAoB;QAC5B,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,KAAK,CAAC,EAAE;QACnB,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,QAAQ;QACR,oBAAoB;KACrB,CAAC;IACF,OAAO;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,IAAI;QACJ,QAAQ;QACR,YAAY;QACZ,oBAAoB;QACpB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA8B,EAC9B,QAAuC;IAEvC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,2BAA2B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,gCAAgC,CAAC;IAChE,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,0BAA0B,CAAC;IAC/D,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,iCAAiC,CAAC;IAC/D,OAAO,4BAA4B,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"source-snapshot-adapters.js","sourceRoot":"","sources":["../../src/core/source-snapshot-adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,qBAAqB,GAItB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAwB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACL,2BAA2B,GAE5B,MAAM,mCAAmC,CAAC;AA2E3C,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,MAAqB,EACrB,KAAkB,EAClB,IAAwB,EACxB,uBAA8E;IAE9E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,IAAI,GAAoB;QAC5B,eAAe,EAAE,CAAC;QAClB,SAAS,EAAE,KAAK,CAAC,EAAE;QACnB,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,QAAQ;QACR,oBAAoB;KACrB,CAAC;IACF,OAAO;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,IAAI;QACJ,QAAQ;QACR,YAAY;QACZ,oBAAoB;QACpB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAA8B,EAC9B,QAAuC;IAEvC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,2BAA2B,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChF,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,gCAAgC,CAAC;IAChE,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,0BAA0B,CAAC;IAC/D,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,iCAAiC,CAAC;IAC/D,OAAO,4BAA4B,CAAC;AACtC,CAAC"}
@@ -0,0 +1,64 @@
1
+ export type TaskDecompositionSourceKind = "plan" | "prd" | "spec" | "conversation-summary" | "issue";
2
+ export type TaskPriority = "P0" | "P1" | "P2" | "P3";
3
+ export type TaskWorkMode = "AFK" | "HITL";
4
+ export type TaskCandidateType = "feature" | "bugfix" | "implementation" | "validation" | "documentation" | "migration" | "spike" | "decision";
5
+ export type TaskCheckpointMap = {
6
+ ready: string;
7
+ red?: string;
8
+ green: string;
9
+ refactor?: string;
10
+ review: string;
11
+ verify: string;
12
+ done?: string;
13
+ };
14
+ export type TaskValidationHook = string | {
15
+ kind: "unit" | "integration" | "smoke" | "static" | "manual" | "review" | "eval";
16
+ command?: string;
17
+ expected: string;
18
+ };
19
+ export type TaskCandidate = {
20
+ id: string;
21
+ title: string;
22
+ group: string;
23
+ priority: TaskPriority;
24
+ type: TaskCandidateType;
25
+ workMode: TaskWorkMode;
26
+ hitlReason?: "human-decision" | "credentials" | "external-environment" | "destructive-operation";
27
+ blockedBy: string[];
28
+ unblocks: string[];
29
+ acceptanceCriteria: string[];
30
+ todo: string[];
31
+ checkpoints: TaskCheckpointMap;
32
+ validation: TaskValidationHook[];
33
+ sourceRefs?: string[];
34
+ };
35
+ export type TaskDecompositionInput = {
36
+ kind: TaskDecompositionSourceKind;
37
+ title?: string;
38
+ body?: string;
39
+ candidates?: TaskCandidate[];
40
+ };
41
+ export type TaskDecompositionResult = {
42
+ version: 1;
43
+ source: {
44
+ kind: TaskDecompositionSourceKind;
45
+ title?: string;
46
+ };
47
+ candidates: TaskCandidate[];
48
+ };
49
+ export type TaskDecompositionDiagnosticSeverity = "warning" | "failure";
50
+ export type TaskDecompositionDiagnostic = {
51
+ code: string;
52
+ severity: TaskDecompositionDiagnosticSeverity;
53
+ candidateId?: string;
54
+ message: string;
55
+ evidence: string[];
56
+ };
57
+ export type TaskDecompositionAssessment = {
58
+ status: "valid" | "warning" | "invalid";
59
+ targetScore: 100;
60
+ score: number;
61
+ diagnostics: TaskDecompositionDiagnostic[];
62
+ };
63
+ export declare function createTaskDecomposition(input: TaskDecompositionInput): TaskDecompositionResult;
64
+ export declare function evaluateTaskDecomposition(result: TaskDecompositionResult): TaskDecompositionAssessment;