@captain_z/zsk 1.8.5 → 1.8.7

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 (78) hide show
  1. package/dist/bin.js +128 -0
  2. package/dist/bin.js.map +1 -1
  3. package/dist/commands/add-flow.js +7 -1
  4. package/dist/commands/add-flow.js.map +1 -1
  5. package/dist/commands/add.js +22 -5
  6. package/dist/commands/add.js.map +1 -1
  7. package/dist/commands/config.js +3 -2
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/dispatch.d.ts +4 -0
  10. package/dist/commands/dispatch.js +483 -7
  11. package/dist/commands/dispatch.js.map +1 -1
  12. package/dist/commands/doctor.js +21 -5
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/issue.d.ts +1 -0
  15. package/dist/commands/issue.js +2 -2
  16. package/dist/commands/issue.js.map +1 -1
  17. package/dist/commands/prepare.js +7 -0
  18. package/dist/commands/prepare.js.map +1 -1
  19. package/dist/commands/project-init.js +15 -8
  20. package/dist/commands/project-init.js.map +1 -1
  21. package/dist/commands/work.d.ts +34 -0
  22. package/dist/commands/work.js +1769 -0
  23. package/dist/commands/work.js.map +1 -0
  24. package/dist/commands/workflow.d.ts +32 -0
  25. package/dist/commands/workflow.js +270 -0
  26. package/dist/commands/workflow.js.map +1 -0
  27. package/dist/core/config.d.ts +29 -0
  28. package/dist/core/config.js +173 -4
  29. package/dist/core/config.js.map +1 -1
  30. package/dist/core/prepare-lifecycle.d.ts +2 -0
  31. package/dist/core/prepare-lifecycle.js +49 -0
  32. package/dist/core/prepare-lifecycle.js.map +1 -1
  33. package/dist/core/skill-classification.d.ts +13 -0
  34. package/dist/core/skill-classification.js +50 -0
  35. package/dist/core/skill-classification.js.map +1 -0
  36. package/dist/core/stage-clarity-verification.js +58 -7
  37. package/dist/core/stage-clarity-verification.js.map +1 -1
  38. package/dist/core/template-registry.js +26 -7
  39. package/dist/core/template-registry.js.map +1 -1
  40. package/dist/core/work-ledger.d.ts +44 -0
  41. package/dist/core/work-ledger.js +88 -0
  42. package/dist/core/work-ledger.js.map +1 -0
  43. package/dist/core/work-provider-adapters.d.ts +110 -0
  44. package/dist/core/work-provider-adapters.js +484 -0
  45. package/dist/core/work-provider-adapters.js.map +1 -0
  46. package/dist/core/workflow-graph.d.ts +100 -0
  47. package/dist/core/workflow-graph.js +655 -0
  48. package/dist/core/workflow-graph.js.map +1 -0
  49. package/dist/core/workspace-conformance.js +55 -0
  50. package/dist/core/workspace-conformance.js.map +1 -1
  51. package/dist/core/workspace-layout.d.ts +3 -1
  52. package/dist/core/workspace-layout.js +4 -0
  53. package/dist/core/workspace-layout.js.map +1 -1
  54. package/package.json +2 -2
  55. package/schemas/zsk-config.schema.json +112 -1
  56. package/templates/module/frontend-module/CONTEXT.md +22 -0
  57. package/templates/module/frontend-module/design.md +1 -1
  58. package/templates/module/frontend-module/proposal.md +1 -1
  59. package/templates/module/frontend-module/spec.md +1 -1
  60. package/templates/module/frontend-module/tasks.md +14 -1
  61. package/templates/project-init/.zsk/CONTEXT.md +35 -0
  62. package/templates/project-init/.zsk/README.md +108 -15
  63. package/templates/project-init/.zsk/config.yaml +12 -6
  64. package/templates/project-init/.zsk/docs/CONFIG-SCHEMA.md +21 -5
  65. package/templates/project-init/.zsk/docs/PROJECT-CONFIG.md +48 -14
  66. package/templates/project-init/.zsk/docs/SYSTEM-SPEC.md +10 -4
  67. package/templates/project-init/.zsk/raws/README.md +7 -2
  68. package/templates/project-init/.zsk/team.yaml +218 -0
  69. package/templates/project-init/.zsk/templates/config.examples.yaml +29 -8
  70. package/templates/project-init/.zsk/work.yaml +75 -0
  71. package/templates/project-init/.zsk/evidence/README.md +0 -15
  72. package/templates/project-init/.zsk/issues/README.md +0 -10
  73. package/templates/project-init/.zsk/templates/module/README.md +0 -13
  74. package/templates/project-init/.zsk/templates/module/design.md +0 -22
  75. package/templates/project-init/.zsk/templates/module/module.yaml +0 -15
  76. package/templates/project-init/.zsk/templates/module/proposal.md +0 -20
  77. package/templates/project-init/.zsk/templates/module/spec.md +0 -22
  78. package/templates/project-init/.zsk/templates/module/tasks.md +0 -16
@@ -1,8 +1,7 @@
1
1
  import { Ajv } from "ajv/dist/ajv.js";
2
2
  import { readFile, readdir, access, stat } from "node:fs/promises";
3
- import { isAbsolute, join, resolve } from "node:path";
3
+ import { basename, dirname, isAbsolute, join, resolve } from "node:path";
4
4
  import { fileURLToPath } from "node:url";
5
- import { dirname } from "node:path";
6
5
  import { createRequire } from "node:module";
7
6
  import YAML from "yaml";
8
7
  import { PREPARE_RAW_LANES, getWorkspacePath, resolveWorkspaceLayout, } from "./workspace-layout.js";
@@ -11,6 +10,7 @@ import { inferSourceOrigin } from "./origin-detection.js";
11
10
  import { loadProviderPolicy } from "./provider-policy.js";
12
11
  import { interpretSourceAdapter } from "./source-adapter-normalization.js";
13
12
  import { resolveEffectiveProjectConfig, resolveTemplateId, templateIdFromConfig, } from "./template-registry.js";
13
+ import { workProviderAdapters, } from "./work-provider-adapters.js";
14
14
  export const JIRA_LOCAL_FILE_ORIGIN_KEYS = ["csvPath", "csv", "exportPath"];
15
15
  export const DESIGN_LOCAL_FILE_ORIGIN_KEYS = ["exportPath", "assetPath", "filePath"];
16
16
  export const ADAPTER_LOCAL_FILE_ORIGIN_KEYS = Array.from(new Set([...JIRA_LOCAL_FILE_ORIGIN_KEYS, ...DESIGN_LOCAL_FILE_ORIGIN_KEYS]));
@@ -18,6 +18,16 @@ const PROJECT_SCHEMA = "zsk-config.schema.json";
18
18
  const MODULE_SCHEMA = "module.schema.json";
19
19
  const CONFIG_FILE = join(".zsk", "config.yaml");
20
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
+ ];
21
31
  export async function checkProjectConfig(target) {
22
32
  const root = resolve(target);
23
33
  const issues = [];
@@ -46,6 +56,7 @@ export async function checkProjectConfig(target) {
46
56
  validateProjectBoundaries(root, projectConfig, projectFile, issues);
47
57
  await validateProjectReferences(root, projectConfig, projectFile, issues);
48
58
  await validateSourceAdapterPolicies(root, projectConfig, projectFile, issues, warnings);
59
+ await validateWorkManagementConfig(root, projectConfig, projectFile, issues, warnings);
49
60
  return {
50
61
  ok: issues.length === 0,
51
62
  issues,
@@ -232,7 +243,7 @@ function validateProjectBoundaries(root, config, file, issues) {
232
243
  if (config.staffing?.rolePool) {
233
244
  validateUnder(root, config.staffing.rolePool, resolvePath(root, ".zsk"), file, "/staffing/rolePool", issues);
234
245
  }
235
- for (const key of ["roles", "workflow", "providers", "gates"]) {
246
+ for (const key of ["roles", "team", "work", "workflow", "providers", "gates"]) {
236
247
  const value = config.customize?.[key];
237
248
  if (typeof value === "string" && value.trim().length > 0) {
238
249
  validateUnder(root, value, resolvePath(root, ".zsk"), file, `/customize/${key}`, issues);
@@ -304,6 +315,150 @@ async function validateSourceAdapterPolicies(root, config, file, issues, warning
304
315
  }
305
316
  }
306
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
+ }
307
462
  export function flattenProjectSources(sources) {
308
463
  const entries = [];
309
464
  visitSourceTree(sources, [], entries);
@@ -342,9 +497,16 @@ export function flattenPrepareEntries(config) {
342
497
  export function resolveSourceSnapshot(config, entry) {
343
498
  const explicit = entry.source.snapshot ?? entry.source.output;
344
499
  if (explicit)
345
- return explicit;
500
+ return resolveExplicitSourceSnapshot(entry.source, explicit);
346
501
  return join(getWorkspacePath(config, "resourcesRoot"), ...sourceRawSegments(entry.segments, entry.provider), "source.md");
347
502
  }
503
+ function resolveExplicitSourceSnapshot(source, explicit) {
504
+ if (looksLikeFilePath(explicit))
505
+ return explicit;
506
+ if (isRepositoryDirectorySnapshot(source, explicit))
507
+ return join(dirname(explicit), "snapshot.md");
508
+ return explicit;
509
+ }
348
510
  function isResourceConfig(value) {
349
511
  return isObject(value) &&
350
512
  typeof value.id === "string" &&
@@ -449,6 +611,13 @@ function defaultResourceArea(type) {
449
611
  function looksLikeFilePath(value) {
450
612
  return /(^|[/\\])[^/\\]+\.[A-Za-z0-9]+$/.test(value);
451
613
  }
614
+ function isRepositoryDirectorySnapshot(source, explicit) {
615
+ const type = sourceSegmentSlug(source.type ?? source.kind ?? "");
616
+ const originKind = sourceSegmentSlug(source.origin?.kind ?? "");
617
+ const leaf = sourceSegmentSlug(basename(explicit));
618
+ const repositoryTokens = new Set(["backend-repo", "repository", "repositories", "repo", "repos", "git", "git-submodule", "submodule"]);
619
+ return repositoryTokens.has(type) || repositoryTokens.has(originKind) || ["repository", "repo", "checkout"].includes(leaf);
620
+ }
452
621
  function firstString(...values) {
453
622
  for (const value of values) {
454
623
  if (typeof value === "string" && value.trim().length > 0)
@@ -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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"}
@@ -39,6 +39,7 @@ export type PrepareArtifacts = {
39
39
  acquisitionPlanPath: string;
40
40
  blockedSourcesPath: string;
41
41
  correspondenceQuestionsPath: string;
42
+ sourcePromotionPath: string;
42
43
  };
43
44
  export type PrepareArtifactBundle = {
44
45
  inventory: RepoInventory;
@@ -46,6 +47,7 @@ export type PrepareArtifactBundle = {
46
47
  acquisitionPlan: AcquisitionPlan;
47
48
  blockedSources: string;
48
49
  correspondenceQuestions: string;
50
+ sourcePromotionSuggestions: string;
49
51
  artifacts: PrepareArtifacts;
50
52
  };
51
53
  export declare function buildPrepareArtifactBundle(target: string, config: ProjectConfig, runId?: string): Promise<PrepareArtifactBundle>;
@@ -18,6 +18,7 @@ export async function buildPrepareArtifactBundle(target, config, runId = createP
18
18
  acquisitionPlan,
19
19
  blockedSources: renderBlockedSources(acquisitionPlan),
20
20
  correspondenceQuestions: renderCorrespondenceQuestions(acquisitionPlan),
21
+ sourcePromotionSuggestions: renderSourcePromotionSuggestions(acquisitionPlan),
21
22
  artifacts,
22
23
  };
23
24
  }
@@ -29,6 +30,7 @@ export async function writePrepareArtifactBundle(bundle) {
29
30
  await writeFile(artifacts.acquisitionPlanPath, `${JSON.stringify(bundle.acquisitionPlan, null, 2)}\n`, "utf8");
30
31
  await writeFile(artifacts.blockedSourcesPath, bundle.blockedSources, "utf8");
31
32
  await writeFile(artifacts.correspondenceQuestionsPath, bundle.correspondenceQuestions, "utf8");
33
+ await writeFile(artifacts.sourcePromotionPath, bundle.sourcePromotionSuggestions, "utf8");
32
34
  }
33
35
  export function resolvePrepareArtifacts(target, config, runId) {
34
36
  const root = resolve(target, getWorkspacePath(config, "evidenceRoot"), "prepare", runId);
@@ -40,6 +42,7 @@ export function resolvePrepareArtifacts(target, config, runId) {
40
42
  acquisitionPlanPath: join(root, "acquisition-plan.json"),
41
43
  blockedSourcesPath: join(root, "blocked-sources.md"),
42
44
  correspondenceQuestionsPath: join(root, "correspondence-questions.md"),
45
+ sourcePromotionPath: join(root, "source-promotion-suggestions.md"),
43
46
  };
44
47
  }
45
48
  export function createPrepareRunId(now = new Date()) {
@@ -267,6 +270,52 @@ function renderCorrespondenceQuestions(plan) {
267
270
  ];
268
271
  return `${lines.join("\n")}\n`;
269
272
  }
273
+ function renderSourcePromotionSuggestions(plan) {
274
+ const draftRecords = plan.records.filter((record) => record.source === "draft");
275
+ const ready = draftRecords.filter((record) => record.status === "ready");
276
+ const needsReview = draftRecords.filter((record) => record.status !== "ready");
277
+ const lines = [
278
+ "# Source Promotion Suggestions",
279
+ "",
280
+ "Generated from repository/source scanning. This file is advisory: do not update `.zsk/config.yaml` automatically from these entries.",
281
+ "",
282
+ "- Review `config-draft.yaml` for the full candidate tree.",
283
+ "- Promote only stable, authority-bearing entry sources into `.zsk/config.yaml`.",
284
+ "- Keep auto-discovered child pages, nodes, issues, or files in evidence/raw indexes until a human confirms they should become durable config.",
285
+ "",
286
+ "## Recommended Promotions",
287
+ "",
288
+ ];
289
+ if (ready.length === 0) {
290
+ lines.push("No ready draft source promotions.");
291
+ }
292
+ else {
293
+ for (const record of ready) {
294
+ lines.push(`- \`${record.sourcePath}\``);
295
+ lines.push(` - origin: \`${record.originRef ?? "-"}\``);
296
+ if (record.snapshot)
297
+ lines.push(` - inferred snapshot: \`${record.snapshot}\``);
298
+ lines.push(` - rationale: ${record.reason}`);
299
+ lines.push(" - action: confirm this entry before applying it to `.zsk/config.yaml`.");
300
+ }
301
+ }
302
+ lines.push("", "## Needs Review", "");
303
+ if (needsReview.length === 0) {
304
+ lines.push("No draft source promotions need review.");
305
+ }
306
+ else {
307
+ for (const record of needsReview) {
308
+ lines.push(`- \`${record.sourcePath}\` [${record.status}]`);
309
+ lines.push(` - origin: \`${record.originRef ?? record.provider}\``);
310
+ if (record.snapshot)
311
+ lines.push(` - inferred snapshot: \`${record.snapshot}\``);
312
+ lines.push(` - reason: ${record.reason}`);
313
+ lines.push(" - action: confirm the lane, authority, and acquisition method before applying it to `.zsk/config.yaml`.");
314
+ }
315
+ }
316
+ lines.push("");
317
+ return `${lines.join("\n")}\n`;
318
+ }
270
319
  async function describeFile(path) {
271
320
  const info = await safeStat(path);
272
321
  if (!info) {
@@ -1 +1 @@
1
- {"version":3,"file":"prepare-lifecycle.js","sourceRoot":"","sources":["../../src/core/prepare-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare-lifecycle.js","sourceRoot":"","sources":["../../src/core/prepare-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type SkillPrimary = "entry" | "stage" | "capability" | "gate" | "mode" | "deprecated" | "missing";
2
+ export type SkillClassificationEntry = {
3
+ targetPrimary?: SkillPrimary;
4
+ disposition?: string;
5
+ rationale?: string;
6
+ };
7
+ export type SkillClassification = {
8
+ skills?: Record<string, SkillClassificationEntry>;
9
+ };
10
+ export declare function loadSkillClassification(): Promise<SkillClassification>;
11
+ export declare function skillSlugFromName(name: string): string;
12
+ export declare function classifySkillPrimary(classification: SkillClassification, skillName: string): SkillPrimary;
13
+ export declare function skillClassificationEntry(classification: SkillClassification, skillName: string): SkillClassificationEntry | undefined;
@@ -0,0 +1,50 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { createRequire } from "node:module";
3
+ import { dirname, resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { parse as parseYaml } from "yaml";
6
+ let classificationCache = null;
7
+ export async function loadSkillClassification() {
8
+ if (classificationCache)
9
+ return classificationCache;
10
+ for (const path of await classificationCandidatePaths()) {
11
+ try {
12
+ const parsed = parseYaml(await readFile(path, "utf8"));
13
+ classificationCache = parsed ?? {};
14
+ return classificationCache;
15
+ }
16
+ catch {
17
+ // Try the next candidate. Older published packages may not ship the
18
+ // contract yet, so classification must degrade to "missing".
19
+ }
20
+ }
21
+ classificationCache = {};
22
+ return classificationCache;
23
+ }
24
+ export function skillSlugFromName(name) {
25
+ return name.replace(/^zsk:/, "");
26
+ }
27
+ export function classifySkillPrimary(classification, skillName) {
28
+ return classification.skills?.[skillSlugFromName(skillName)]?.targetPrimary ?? "missing";
29
+ }
30
+ export function skillClassificationEntry(classification, skillName) {
31
+ return classification.skills?.[skillSlugFromName(skillName)];
32
+ }
33
+ async function classificationCandidatePaths() {
34
+ const thisDir = dirname(fileURLToPath(import.meta.url));
35
+ const devRoot = resolve(thisDir, "../../../..");
36
+ const candidates = [
37
+ resolve(devRoot, "harness/contracts/skill-classification.yaml"),
38
+ ];
39
+ const require = createRequire(import.meta.url);
40
+ try {
41
+ const packageRoot = dirname(require.resolve("@captain_z/zsk-skills/package.json"));
42
+ candidates.push(resolve(packageRoot, "zsk/harness/contracts/skill-classification.yaml"), resolve(packageRoot, "harness/contracts/skill-classification.yaml"));
43
+ }
44
+ catch {
45
+ // The skills package is always present for normal CLI installs, but source
46
+ // tests may exercise helpers before package resolution is available.
47
+ }
48
+ return candidates;
49
+ }
50
+ //# sourceMappingURL=skill-classification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-classification.js","sourceRoot":"","sources":["../../src/core/skill-classification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAqB1C,IAAI,mBAAmB,GAA+B,IAAI,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,IAAI,mBAAmB;QAAE,OAAO,mBAAmB,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,MAAM,4BAA4B,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAwB,CAAC;YAC9E,mBAAmB,GAAG,MAAM,IAAI,EAAE,CAAC;YACnC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,6DAA6D;QAC/D,CAAC;IACH,CAAC;IAED,mBAAmB,GAAG,EAAE,CAAC;IACzB,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,cAAmC,EACnC,SAAiB;IAEjB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,IAAI,SAAS,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,cAAmC,EACnC,SAAiB;IAEjB,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,KAAK,UAAU,4BAA4B;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,OAAO,EAAE,6CAA6C,CAAC;KAChE,CAAC;IAEF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,CAAC;QACnF,UAAU,CAAC,IAAI,CACb,OAAO,CAAC,WAAW,EAAE,iDAAiD,CAAC,EACvE,OAAO,CAAC,WAAW,EAAE,6CAA6C,CAAC,CACpE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,qEAAqE;IACvE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}