@captain_z/zsk 1.8.6 → 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 (108) hide show
  1. package/README.md +34 -16
  2. package/dist/bin.js +134 -0
  3. package/dist/bin.js.map +1 -1
  4. package/dist/commands/add-flow.js +7 -1
  5. package/dist/commands/add-flow.js.map +1 -1
  6. package/dist/commands/add.js +22 -5
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/dispatch.d.ts +4 -0
  9. package/dist/commands/dispatch.js +483 -7
  10. package/dist/commands/dispatch.js.map +1 -1
  11. package/dist/commands/doctor.js +21 -5
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/issue.d.ts +1 -0
  14. package/dist/commands/issue.js +2 -2
  15. package/dist/commands/issue.js.map +1 -1
  16. package/dist/commands/prepare.js +3 -0
  17. package/dist/commands/prepare.js.map +1 -1
  18. package/dist/commands/project-init.js +14 -8
  19. package/dist/commands/project-init.js.map +1 -1
  20. package/dist/commands/work.d.ts +34 -0
  21. package/dist/commands/work.js +1769 -0
  22. package/dist/commands/work.js.map +1 -0
  23. package/dist/commands/workflow.d.ts +32 -0
  24. package/dist/commands/workflow.js +270 -0
  25. package/dist/commands/workflow.js.map +1 -0
  26. package/dist/core/anchor-drift.d.ts +79 -0
  27. package/dist/core/anchor-drift.js +198 -0
  28. package/dist/core/anchor-drift.js.map +1 -0
  29. package/dist/core/config.d.ts +29 -0
  30. package/dist/core/config.js +157 -1
  31. package/dist/core/config.js.map +1 -1
  32. package/dist/core/decoupling-eval.d.ts +53 -0
  33. package/dist/core/decoupling-eval.js +260 -0
  34. package/dist/core/decoupling-eval.js.map +1 -0
  35. package/dist/core/issue-publish-adapter.d.ts +50 -0
  36. package/dist/core/issue-publish-adapter.js +371 -0
  37. package/dist/core/issue-publish-adapter.js.map +1 -0
  38. package/dist/core/prepare-artifacts.d.ts +2 -0
  39. package/dist/core/prepare-artifacts.js +2 -0
  40. package/dist/core/prepare-artifacts.js.map +1 -1
  41. package/dist/core/prepare-readiness.d.ts +40 -0
  42. package/dist/core/prepare-readiness.js +268 -0
  43. package/dist/core/prepare-readiness.js.map +1 -0
  44. package/dist/core/prepare-sync.d.ts +2 -0
  45. package/dist/core/prepare-sync.js +8 -16
  46. package/dist/core/prepare-sync.js.map +1 -1
  47. package/dist/core/review-skill-policy.d.ts +74 -0
  48. package/dist/core/review-skill-policy.js +278 -0
  49. package/dist/core/review-skill-policy.js.map +1 -0
  50. package/dist/core/skill-classification.d.ts +13 -0
  51. package/dist/core/skill-classification.js +50 -0
  52. package/dist/core/skill-classification.js.map +1 -0
  53. package/dist/core/source-snapshot-adapters.d.ts +3 -0
  54. package/dist/core/source-snapshot-adapters.js.map +1 -1
  55. package/dist/core/stage-clarity-verification.js +58 -7
  56. package/dist/core/stage-clarity-verification.js.map +1 -1
  57. package/dist/core/task-decomposition.d.ts +64 -0
  58. package/dist/core/task-decomposition.js +325 -0
  59. package/dist/core/task-decomposition.js.map +1 -0
  60. package/dist/core/task-plan-adapter.d.ts +57 -0
  61. package/dist/core/task-plan-adapter.js +298 -0
  62. package/dist/core/task-plan-adapter.js.map +1 -0
  63. package/dist/core/template-registry.js +26 -7
  64. package/dist/core/template-registry.js.map +1 -1
  65. package/dist/core/validation-packet.d.ts +86 -0
  66. package/dist/core/validation-packet.js +313 -0
  67. package/dist/core/validation-packet.js.map +1 -0
  68. package/dist/core/work-ledger.d.ts +44 -0
  69. package/dist/core/work-ledger.js +88 -0
  70. package/dist/core/work-ledger.js.map +1 -0
  71. package/dist/core/work-provider-adapters.d.ts +110 -0
  72. package/dist/core/work-provider-adapters.js +484 -0
  73. package/dist/core/work-provider-adapters.js.map +1 -0
  74. package/dist/core/workflow-graph.d.ts +100 -0
  75. package/dist/core/workflow-graph.js +655 -0
  76. package/dist/core/workflow-graph.js.map +1 -0
  77. package/dist/core/workflow-orchestration-policy.d.ts +92 -0
  78. package/dist/core/workflow-orchestration-policy.js +215 -0
  79. package/dist/core/workflow-orchestration-policy.js.map +1 -0
  80. package/dist/core/workspace-conformance.js +55 -0
  81. package/dist/core/workspace-conformance.js.map +1 -1
  82. package/dist/core/workspace-layout.d.ts +3 -1
  83. package/dist/core/workspace-layout.js +4 -0
  84. package/dist/core/workspace-layout.js.map +1 -1
  85. package/package.json +2 -2
  86. package/schemas/zsk-config.schema.json +112 -1
  87. package/templates/module/frontend-module/CONTEXT.md +22 -0
  88. package/templates/module/frontend-module/design.md +1 -1
  89. package/templates/module/frontend-module/proposal.md +1 -1
  90. package/templates/module/frontend-module/spec.md +1 -1
  91. package/templates/module/frontend-module/tasks.md +14 -1
  92. package/templates/project-init/.zsk/CONTEXT.md +35 -0
  93. package/templates/project-init/.zsk/README.md +94 -10
  94. package/templates/project-init/.zsk/config.yaml +2 -0
  95. package/templates/project-init/.zsk/docs/CONFIG-SCHEMA.md +13 -1
  96. package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +25 -7
  97. package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +1 -0
  98. package/templates/project-init/.zsk/team.yaml +218 -0
  99. package/templates/project-init/.zsk/work.yaml +75 -0
  100. package/templates/project-init/.zsk/evidence/README.md +0 -21
  101. package/templates/project-init/.zsk/evidence/prepare/README.md +0 -22
  102. package/templates/project-init/.zsk/issues/README.md +0 -10
  103. package/templates/project-init/.zsk/templates/module/README.md +0 -13
  104. package/templates/project-init/.zsk/templates/module/design.md +0 -22
  105. package/templates/project-init/.zsk/templates/module/module.yaml +0 -15
  106. package/templates/project-init/.zsk/templates/module/proposal.md +0 -20
  107. package/templates/project-init/.zsk/templates/module/spec.md +0 -22
  108. package/templates/project-init/.zsk/templates/module/tasks.md +0 -16
@@ -0,0 +1,198 @@
1
+ const TARGET_SCORE = 100;
2
+ const WORKFLOW_SIDE_EFFECT_PATTERNS = [
3
+ /\broute\b/i,
4
+ /\breroute\b/i,
5
+ /\bcreate-?issue\b/i,
6
+ /\bpublish-?issue\b/i,
7
+ /\bgate\b/i,
8
+ /\bdispatch\b/i,
9
+ /\bstaff(?:ing)?\b/i,
10
+ /\bnext-?skill\b/i,
11
+ ];
12
+ export function evaluateAnchorDrift(input) {
13
+ const diagnostics = [
14
+ ...diagnoseAnchorPresence(input),
15
+ ...diagnoseAnchorShape(input.anchor),
16
+ ...diagnoseCheckpoints(input.checkpoints),
17
+ ...diagnoseCapabilitySideEffects(input),
18
+ ];
19
+ const status = statusFor(diagnostics);
20
+ const score = scoreDiagnostics(diagnostics);
21
+ return {
22
+ status,
23
+ targetScore: TARGET_SCORE,
24
+ score,
25
+ confidence: confidenceFor(input, status, score),
26
+ nextActions: nextActionsFor(input, diagnostics),
27
+ diagnostics,
28
+ };
29
+ }
30
+ function diagnoseAnchorPresence(input) {
31
+ if (input.anchor)
32
+ return [];
33
+ return [
34
+ diagnostic({
35
+ code: "missing-anchor-packet",
36
+ severity: input.mode === "direct" ? "warning" : "failure",
37
+ message: input.mode === "direct"
38
+ ? "Direct mode can continue without an anchor packet, but confidence is reduced."
39
+ : "Governed or strict mode should supply an anchor packet as workflow decision input.",
40
+ evidence: [input.mode],
41
+ }),
42
+ ];
43
+ }
44
+ function diagnoseAnchorShape(anchor) {
45
+ if (!anchor)
46
+ return [];
47
+ const diagnostics = [];
48
+ if (anchor.version !== 1) {
49
+ diagnostics.push(diagnostic({
50
+ code: "unsupported-anchor-version",
51
+ severity: "failure",
52
+ message: "Anchor packet must use version 1.",
53
+ evidence: [String(anchor.version)],
54
+ }));
55
+ }
56
+ if (!anchor.intent?.summary?.trim()) {
57
+ diagnostics.push(missingAnchorField("intent.summary"));
58
+ }
59
+ if (!hasText(anchor.scope?.inScope)) {
60
+ diagnostics.push(missingAnchorField("scope.inScope"));
61
+ }
62
+ if (!hasAnchorItems(anchor.acceptanceCriteria, ["id", "description"])) {
63
+ diagnostics.push(missingAnchorField("acceptanceCriteria"));
64
+ }
65
+ if (!hasAnchorItems(anchor.designDecisions, ["id", "decision"])) {
66
+ diagnostics.push(missingAnchorField("designDecisions"));
67
+ }
68
+ if (!hasAnchorItems(anchor.validationExpectations, ["id", "behavior"])) {
69
+ diagnostics.push(missingAnchorField("validationExpectations"));
70
+ }
71
+ if (!hasAnchorItems(anchor.resourceVersions, ["id", "kind", "version"])) {
72
+ diagnostics.push(missingAnchorField("resourceVersions"));
73
+ }
74
+ if (!hasText(anchor.assumptions)) {
75
+ diagnostics.push(missingAnchorField("assumptions"));
76
+ }
77
+ return diagnostics;
78
+ }
79
+ function diagnoseCheckpoints(checkpoints) {
80
+ return checkpoints.flatMap((checkpoint) => {
81
+ const diagnostics = [];
82
+ if (!checkpoint.checkpointName?.trim()) {
83
+ diagnostics.push(checkpointDiagnostic(checkpoint, "missing-checkpoint-name", "failure", "Drift checkpoint must name the lifecycle checkpoint.", []));
84
+ }
85
+ if (!checkpoint.observedChange?.trim()) {
86
+ diagnostics.push(checkpointDiagnostic(checkpoint, "missing-observed-change", "failure", "Drift checkpoint must describe the observed change.", []));
87
+ }
88
+ if (!checkpoint.expectedAnchor?.trim()) {
89
+ diagnostics.push(checkpointDiagnostic(checkpoint, "missing-expected-anchor", "failure", "Drift checkpoint must describe the expected anchor.", []));
90
+ }
91
+ if (!isAllowedAction(checkpoint.severity, checkpoint.recommendedAction)) {
92
+ diagnostics.push(checkpointDiagnostic(checkpoint, "invalid-drift-action", "failure", `Drift severity ${checkpoint.severity} cannot use action ${checkpoint.recommendedAction}.`, [checkpoint.recommendedAction]));
93
+ }
94
+ diagnostics.push(checkpointDiagnostic(checkpoint, `drift-${checkpoint.driftClass}`, severityForDrift(checkpoint.severity), `${checkpoint.severity} ${checkpoint.driftClass} drift at ${checkpoint.checkpointName}: ${checkpoint.observedChange}`, [checkpoint.expectedAnchor]));
95
+ return diagnostics;
96
+ });
97
+ }
98
+ function diagnoseCapabilitySideEffects(input) {
99
+ if (input.producer !== "capability-skill")
100
+ return [];
101
+ const sideEffects = (input.workflowSideEffects ?? []).filter((effect) => WORKFLOW_SIDE_EFFECT_PATTERNS.some((pattern) => pattern.test(effect)));
102
+ if (sideEffects.length === 0)
103
+ return [];
104
+ return [
105
+ diagnostic({
106
+ code: "capability-workflow-side-effect",
107
+ severity: "failure",
108
+ message: "Capability skills may report local drift signals, but workflow owns routing, issue publishing, gates, dispatch, and staffing.",
109
+ evidence: sideEffects,
110
+ }),
111
+ ];
112
+ }
113
+ function severityForDrift(severity) {
114
+ return severity === "P0" ? "failure" : "warning";
115
+ }
116
+ function isAllowedAction(severity, action) {
117
+ if (severity === "P0")
118
+ return action === "clarify-or-hitl";
119
+ if (severity === "P1")
120
+ return action === "reroute-or-update-source" || action === "workflow-decision";
121
+ return action === "record-assumption" || action === "continue";
122
+ }
123
+ function statusFor(diagnostics) {
124
+ if (diagnostics.some((diagnostic) => diagnostic.severity === "failure"))
125
+ return "blocked";
126
+ if (diagnostics.length > 0)
127
+ return "warning";
128
+ return "clear";
129
+ }
130
+ function scoreDiagnostics(diagnostics) {
131
+ const penalty = diagnostics.reduce((total, diagnostic) => {
132
+ return total + (diagnostic.severity === "failure" ? 30 : 10);
133
+ }, 0);
134
+ return Math.max(0, TARGET_SCORE - penalty);
135
+ }
136
+ function confidenceFor(input, status, score) {
137
+ if (status === "blocked" || score < 70)
138
+ return "low";
139
+ if (!input.anchor || status === "warning" || score < 90)
140
+ return "medium";
141
+ return "high";
142
+ }
143
+ function nextActionsFor(input, diagnostics) {
144
+ const actions = new Set();
145
+ if (!input.anchor) {
146
+ actions.add(input.mode === "direct"
147
+ ? "Continue with explicit missing-anchor risk and reduced confidence."
148
+ : "Supply or repair the anchor packet before governed or strict workflow decisions.");
149
+ }
150
+ for (const checkpoint of input.checkpoints) {
151
+ if (checkpoint.severity === "P0") {
152
+ actions.add(`P0: clarify precisely or request HITL for ${checkpoint.checkpointName}.`);
153
+ }
154
+ else if (checkpoint.severity === "P1") {
155
+ actions.add(`P1: ask workflow to reroute or update issue/spec/design for ${checkpoint.checkpointName}.`);
156
+ }
157
+ else {
158
+ actions.add(`P2: record assumption and continue for ${checkpoint.checkpointName}.`);
159
+ }
160
+ }
161
+ if (diagnostics.some((diagnostic) => diagnostic.code === "capability-workflow-side-effect")) {
162
+ actions.add("Remove workflow side effects from capability skill output; return drift signals only.");
163
+ }
164
+ return Array.from(actions);
165
+ }
166
+ function missingAnchorField(field) {
167
+ return diagnostic({
168
+ code: "missing-anchor-field",
169
+ severity: "failure",
170
+ message: `Anchor packet is missing ${field}.`,
171
+ evidence: [field],
172
+ });
173
+ }
174
+ function hasText(values) {
175
+ return Array.isArray(values) && values.some((value) => value.trim().length > 0);
176
+ }
177
+ function hasAnchorItems(values, requiredFields) {
178
+ if (!Array.isArray(values) || values.length === 0)
179
+ return false;
180
+ return values.every((value) => requiredFields.every((field) => typeof value[field] === "string" && String(value[field]).trim().length > 0));
181
+ }
182
+ function diagnostic(input) {
183
+ return {
184
+ evidence: [],
185
+ ...input,
186
+ };
187
+ }
188
+ function checkpointDiagnostic(checkpoint, code, severity, message, evidence) {
189
+ return diagnostic({
190
+ code,
191
+ severity,
192
+ driftClass: checkpoint.driftClass,
193
+ checkpointName: checkpoint.checkpointName,
194
+ message,
195
+ evidence,
196
+ });
197
+ }
198
+ //# sourceMappingURL=anchor-drift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor-drift.js","sourceRoot":"","sources":["../../src/core/anchor-drift.ts"],"names":[],"mappings":"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"}
@@ -94,10 +94,39 @@ export type ProjectConfig = WorkspaceLayoutConfig & {
94
94
  scale?: string;
95
95
  workflow?: {
96
96
  profile?: string;
97
+ strategy?: string;
98
+ stageSelection?: {
99
+ mode?: string;
100
+ allowCustomStages?: boolean;
101
+ preferMinimalStages?: boolean;
102
+ requireStageContract?: boolean;
103
+ preferEvidenceStages?: boolean;
104
+ metadata?: Record<string, unknown>;
105
+ };
106
+ workflowGraph?: {
107
+ output?: string;
108
+ requiresReason?: boolean;
109
+ requiresInputs?: boolean;
110
+ requiresOutputs?: boolean;
111
+ requiresQualityGate?: boolean;
112
+ failureReturnsTo?: string;
113
+ metadata?: Record<string, unknown>;
114
+ };
115
+ capabilities?: {
116
+ enabled?: string[];
117
+ metadata?: Record<string, unknown>;
118
+ };
119
+ qualityGates?: {
120
+ required?: string[];
121
+ optional?: string[];
122
+ metadata?: Record<string, unknown>;
123
+ };
97
124
  metadata?: Record<string, unknown>;
98
125
  };
99
126
  customize?: {
100
127
  roles?: string;
128
+ team?: string;
129
+ work?: string;
101
130
  workflow?: string;
102
131
  providers?: string;
103
132
  gates?: string;
@@ -10,6 +10,7 @@ import { inferSourceOrigin } from "./origin-detection.js";
10
10
  import { loadProviderPolicy } from "./provider-policy.js";
11
11
  import { interpretSourceAdapter } from "./source-adapter-normalization.js";
12
12
  import { resolveEffectiveProjectConfig, resolveTemplateId, templateIdFromConfig, } from "./template-registry.js";
13
+ import { workProviderAdapters, } from "./work-provider-adapters.js";
13
14
  export const JIRA_LOCAL_FILE_ORIGIN_KEYS = ["csvPath", "csv", "exportPath"];
14
15
  export const DESIGN_LOCAL_FILE_ORIGIN_KEYS = ["exportPath", "assetPath", "filePath"];
15
16
  export const ADAPTER_LOCAL_FILE_ORIGIN_KEYS = Array.from(new Set([...JIRA_LOCAL_FILE_ORIGIN_KEYS, ...DESIGN_LOCAL_FILE_ORIGIN_KEYS]));
@@ -17,6 +18,16 @@ const PROJECT_SCHEMA = "zsk-config.schema.json";
17
18
  const MODULE_SCHEMA = "module.schema.json";
18
19
  const CONFIG_FILE = join(".zsk", "config.yaml");
19
20
  const LEGACY_CONFIG_FILE = "zsk.config.yaml";
21
+ const DEFAULT_WORK_CONFIG_FILE = join(".zsk", "work.yaml");
22
+ const REQUIRED_WORK_STATUS_MAPPINGS = [
23
+ "draft",
24
+ "ready",
25
+ "implementing",
26
+ "review",
27
+ "verified",
28
+ "blocked",
29
+ "cancelled",
30
+ ];
20
31
  export async function checkProjectConfig(target) {
21
32
  const root = resolve(target);
22
33
  const issues = [];
@@ -45,6 +56,7 @@ export async function checkProjectConfig(target) {
45
56
  validateProjectBoundaries(root, projectConfig, projectFile, issues);
46
57
  await validateProjectReferences(root, projectConfig, projectFile, issues);
47
58
  await validateSourceAdapterPolicies(root, projectConfig, projectFile, issues, warnings);
59
+ await validateWorkManagementConfig(root, projectConfig, projectFile, issues, warnings);
48
60
  return {
49
61
  ok: issues.length === 0,
50
62
  issues,
@@ -231,7 +243,7 @@ function validateProjectBoundaries(root, config, file, issues) {
231
243
  if (config.staffing?.rolePool) {
232
244
  validateUnder(root, config.staffing.rolePool, resolvePath(root, ".zsk"), file, "/staffing/rolePool", issues);
233
245
  }
234
- for (const key of ["roles", "workflow", "providers", "gates"]) {
246
+ for (const key of ["roles", "team", "work", "workflow", "providers", "gates"]) {
235
247
  const value = config.customize?.[key];
236
248
  if (typeof value === "string" && value.trim().length > 0) {
237
249
  validateUnder(root, value, resolvePath(root, ".zsk"), file, `/customize/${key}`, issues);
@@ -303,6 +315,150 @@ async function validateSourceAdapterPolicies(root, config, file, issues, warning
303
315
  }
304
316
  }
305
317
  }
318
+ async function validateWorkManagementConfig(root, config, projectFile, issues, warnings) {
319
+ const configuredPath = typeof config.customize?.work === "string" && config.customize.work.trim()
320
+ ? config.customize.work.trim()
321
+ : null;
322
+ const workPath = resolvePath(root, configuredPath ?? DEFAULT_WORK_CONFIG_FILE);
323
+ if (!configuredPath && !(await exists(workPath)))
324
+ return;
325
+ if (configuredPath && !(await exists(workPath))) {
326
+ issues.push({
327
+ file: projectFile,
328
+ path: "/customize/work",
329
+ message: "work config file does not exist",
330
+ });
331
+ return;
332
+ }
333
+ const parsed = await readYaml(workPath, issues);
334
+ if (!isObject(parsed)) {
335
+ issues.push({
336
+ file: workPath,
337
+ path: "",
338
+ message: "work config must be an object",
339
+ });
340
+ return;
341
+ }
342
+ const workConfig = parsed;
343
+ if (workConfig.version !== undefined && workConfig.version !== 1) {
344
+ issues.push({
345
+ file: workPath,
346
+ path: "/version",
347
+ message: "work config version must be 1",
348
+ });
349
+ }
350
+ const ledgerPath = workConfig.ledger?.path;
351
+ if (typeof ledgerPath === "string" && ledgerPath.trim().length > 0) {
352
+ validateUnder(root, ledgerPath, resolvePath(root, ".zsk"), workPath, "/ledger/path", issues);
353
+ }
354
+ if (!isObject(workConfig.providers)) {
355
+ issues.push({
356
+ file: workPath,
357
+ path: "/providers",
358
+ message: "work config providers must be an object",
359
+ });
360
+ return;
361
+ }
362
+ const defaultProvider = typeof workConfig.defaultProvider === "string" && workConfig.defaultProvider.trim()
363
+ ? workConfig.defaultProvider.trim()
364
+ : null;
365
+ if (!defaultProvider) {
366
+ issues.push({
367
+ file: workPath,
368
+ path: "/defaultProvider",
369
+ message: "work config defaultProvider is required when providers are configured",
370
+ });
371
+ }
372
+ else if (!workConfig.providers[defaultProvider]) {
373
+ issues.push({
374
+ file: workPath,
375
+ path: "/defaultProvider",
376
+ message: `defaultProvider ${defaultProvider} is not present under providers`,
377
+ });
378
+ }
379
+ for (const [provider, rawProviderConfig] of Object.entries(workConfig.providers)) {
380
+ if (!isObject(rawProviderConfig)) {
381
+ issues.push({
382
+ file: workPath,
383
+ path: `/providers/${provider}`,
384
+ message: "provider config must be an object",
385
+ });
386
+ continue;
387
+ }
388
+ validateWorkProviderConfig(root, workPath, provider, rawProviderConfig, issues, warnings);
389
+ }
390
+ }
391
+ function validateWorkProviderConfig(root, file, provider, providerConfig, issues, warnings) {
392
+ const adapter = typeof providerConfig.adapter === "string" && providerConfig.adapter.trim()
393
+ ? providerConfig.adapter.trim()
394
+ : null;
395
+ const adapterId = adapter ?? provider;
396
+ const commandExecutable = typeof providerConfig.commandPlan?.executable === "string" && providerConfig.commandPlan.executable.trim()
397
+ ? providerConfig.commandPlan.executable.trim()
398
+ : null;
399
+ const registeredAdapter = workProviderAdapters[adapterId];
400
+ if (providerConfig.adapter !== undefined && !adapter) {
401
+ issues.push({
402
+ file,
403
+ path: `/providers/${provider}/adapter`,
404
+ message: "provider adapter must be a non-empty string",
405
+ });
406
+ }
407
+ if (adapter && !registeredAdapter) {
408
+ issues.push({
409
+ file,
410
+ path: `/providers/${provider}/adapter`,
411
+ message: `unknown work provider adapter: ${adapter}`,
412
+ });
413
+ }
414
+ if (!registeredAdapter && !commandExecutable) {
415
+ issues.push({
416
+ file,
417
+ path: `/providers/${provider}/commandPlan/executable`,
418
+ message: "unregistered work provider must configure commandPlan.executable or use a registered adapter",
419
+ });
420
+ }
421
+ if (adapterId === "generic-issue" && !commandExecutable) {
422
+ issues.push({
423
+ file,
424
+ path: `/providers/${provider}/commandPlan/executable`,
425
+ message: "generic-issue work provider adapter requires commandPlan.executable",
426
+ });
427
+ }
428
+ const workspace = typeof providerConfig.workspace === "string" ? providerConfig.workspace.trim() : "";
429
+ if (!workspace || workspace.includes("<") || workspace.includes(">")) {
430
+ warnings.push({
431
+ file,
432
+ path: `/providers/${provider}/workspace`,
433
+ message: "provider workspace is missing or placeholder-only; provider sync will remain blocked until configured",
434
+ });
435
+ }
436
+ const statusMapping = providerConfig.statusMapping;
437
+ if (!isObject(statusMapping)) {
438
+ issues.push({
439
+ file,
440
+ path: `/providers/${provider}/statusMapping`,
441
+ message: `statusMapping must map: ${REQUIRED_WORK_STATUS_MAPPINGS.join(", ")}`,
442
+ });
443
+ }
444
+ else {
445
+ const missing = REQUIRED_WORK_STATUS_MAPPINGS.filter((status) => {
446
+ const mapped = statusMapping[status];
447
+ return typeof mapped !== "string" || mapped.trim().length === 0;
448
+ });
449
+ if (missing.length > 0) {
450
+ issues.push({
451
+ file,
452
+ path: `/providers/${provider}/statusMapping`,
453
+ message: `statusMapping missing: ${missing.join(", ")}`,
454
+ });
455
+ }
456
+ }
457
+ const expertCatalogPath = providerConfig.expertCatalog?.path;
458
+ if (typeof expertCatalogPath === "string" && expertCatalogPath.trim().length > 0) {
459
+ validateUnder(root, expertCatalogPath, resolvePath(root, ".zsk"), file, `/providers/${provider}/expertCatalog/path`, issues);
460
+ }
461
+ }
306
462
  export function flattenProjectSources(sources) {
307
463
  const entries = [];
308
464
  visitSourceTree(sources, [], entries);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.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;