musubix2 0.5.5 → 0.5.6

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.
@@ -1 +1 @@
1
- {"generator":"musubix2","version":"0.5.5","timestamp":"2026-07-09T09:31:00.078Z"}
1
+ {"generator":"musubix2","version":"0.5.6","timestamp":"2026-07-09T09:46:29.695Z"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0",
3
- "generatedAt": "2026-07-09T09:31:00.109Z",
3
+ "generatedAt": "2026-07-09T09:46:29.725Z",
4
4
  "entries": [
5
5
  {
6
6
  "platform": "copilot",
package/dist/cli.d.ts CHANGED
@@ -67,10 +67,26 @@ export declare function handleTasksValidate(filePath: string): Promise<ExitCodeV
67
67
  export declare function handleTasksList(filePath?: string): Promise<ExitCodeValue>;
68
68
  export declare function handleTasksStats(filePath?: string): Promise<ExitCodeValue>;
69
69
  export declare function handleInit(targetPath?: string, name?: string, force?: boolean): Promise<ExitCodeValue>;
70
- export declare function handleTrace(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
71
- export declare function handleTraceVerify(): Promise<ExitCodeValue>;
70
+ interface CodeTraceData {
71
+ requirementIds: string[];
72
+ fileIds: string[];
73
+ links: Array<{
74
+ source: string;
75
+ target: string;
76
+ verified: boolean;
77
+ }>;
78
+ refsByReq: Map<string, string[]>;
79
+ }
80
+ /**
81
+ * Build real traceability data by parsing requirement ids from the specs file
82
+ * and scanning source files for `REQ-XXX-NNN` references. A requirement is
83
+ * "covered" when at least one source file references it.
84
+ */
85
+ export declare function buildCodeTraceData(specsFile: string, srcDir: string): CodeTraceData;
86
+ export declare function handleTrace(sub: string | undefined, args: string[], flags?: Record<string, unknown>): Promise<ExitCodeValue>;
87
+ export declare function handleTraceVerify(flags?: Record<string, unknown>): Promise<ExitCodeValue>;
72
88
  export declare function handlePolicy(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
73
- export declare function handleOntology(sub: string | undefined): Promise<ExitCodeValue>;
89
+ export declare function handleOntology(sub: string | undefined, args?: string[]): Promise<ExitCodeValue>;
74
90
  /**
75
91
  * Collect files from a path. A file returns itself; a directory is walked
76
92
  * recursively (skipping common vendor/build dirs). Optionally filter by
@@ -104,7 +120,7 @@ export declare function handleRepl(): Promise<ExitCodeValue>;
104
120
  export declare function handleScaffold(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
105
121
  export declare function handleExplain(input: string | undefined): Promise<ExitCodeValue>;
106
122
  export declare function handleLearn(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
107
- export declare function handleSynthesis(sub: string | undefined, args: string[]): Promise<ExitCodeValue>;
123
+ export declare function handleSynthesis(sub: string | undefined, args: string[], flags?: Record<string, unknown>): Promise<ExitCodeValue>;
108
124
  export declare function handleWatch(pattern: string | undefined): Promise<ExitCodeValue>;
109
125
  /**
110
126
  * Resolve the file/name target for a command, tolerating an optional leading
@@ -116,4 +132,5 @@ export declare function handleWatch(pattern: string | undefined): Promise<ExitCo
116
132
  export declare function resolveTarget(args: Record<string, unknown>, verbs: string[]): string | undefined;
117
133
  export declare function getDefaultCommands(): CLICommand[];
118
134
  export declare function createCLIDispatcher(): CLIDispatcher;
135
+ export {};
119
136
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAgC9D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAmDpD;AAwGD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBjD;AAID,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1E,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAID,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE,SAAS;IAI7B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAInC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IAM3C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIhD,YAAY,IAAI,UAAU,EAAE;IAItB,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUhC,OAAO,IAAI,MAAM;IAajB,UAAU,IAAI,MAAM;IAIpB;;;OAGG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;CAwClD;AAID,OAAO,EAGL,KAAK,QAAQ,EAKd,MAAM,2BAA2B,CAAC;AAInC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmBzD;AAWD,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAWlF;AAED,wBAAsB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAc/E;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsBhF;AAMD,wBAAsB,UAAU,CAC9B,UAAU,GAAE,MAAY,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,CAyDxB;AAOD,UAAU,aAAa;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAoCnF;AASD,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,OAAO,CAAC,aAAa,CAAC,CA8CxB;AAID,wBAAsB,iBAAiB,CACrC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,OAAO,CAAC,aAAa,CAAC,CAuBxB;AAID,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,aAAa,CAAC,CA2CxB;AA+BD,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,GAAE,MAAM,EAAO,GAClB,OAAO,CAAC,aAAa,CAAC,CAuDxB;AAcD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CAmB3F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAYtF;AAED,4DAA4D;AAC5D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,aAAa,CAAC,CAqFxB;AAMD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,CAAC,CA+DxB;AAuBD,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,aAAa,CAAC,CAgDxB;AAID,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAiB3D;AAkBD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAgDhF;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,CAe9D;AASD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAyG9F;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAwBnF;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAkB,GACxB,OAAO,CAAC,aAAa,CAAC,CA2BxB;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAyBjF;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAgB,GACrB,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA0B5E;AAID,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,aAAa,CAAC,CA2DxB;AAID,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,aAAa,CAAC,CA4GxB;AAID,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,aAAa,CAAC,CAyFxB;AAID,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,aAAa,CAAC,CAkDxB;AAID,wBAAsB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC,CAOzD;AAID,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,aAAa,CAAC,CA0FxB;AAID,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAAC,aAAa,CAAC,CAgCxB;AAID,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,aAAa,CAAC,CAiExB;AAID,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,OAAO,CAAC,aAAa,CAAC,CAyExB;AAID,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,aAAa,CAAC,CAexB;AAID;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAUhG;AAiBD,wBAAgB,kBAAkB,IAAI,UAAU,EAAE,CA0djD;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CASnD"}
package/dist/cli.js CHANGED
@@ -15392,12 +15392,12 @@ var COMMAND_HELP = {
15392
15392
  description: "\u30BF\u30B9\u30AF\u7BA1\u7406"
15393
15393
  },
15394
15394
  trace: {
15395
- usage: "musubix trace <matrix|validate|impact> [args]",
15396
- description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3"
15395
+ usage: "musubix trace <matrix|validate|impact> [--specs <file>] [--src <dir>]",
15396
+ description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3\uFF08\u8981\u4EF6 \u2192 \u30B3\u30FC\u30C9\u306E REQ-ID \u53C2\u7167\u3092\u89E3\u6790\uFF09"
15397
15397
  },
15398
15398
  "trace:verify": {
15399
- usage: "musubix trace:verify",
15400
- description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3\u691C\u8A3C"
15399
+ usage: "musubix trace:verify [--specs <file>] [--src <dir>] [--strict]",
15400
+ description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3\u691C\u8A3C\uFF08\u672A\u53C2\u7167\u8981\u4EF6\u3092\u691C\u51FA\uFF09"
15401
15401
  },
15402
15402
  policy: {
15403
15403
  usage: "musubix policy <validate|list|info> [args]",
@@ -15412,7 +15412,7 @@ var COMMAND_HELP = {
15412
15412
  description: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u72B6\u6CC1"
15413
15413
  },
15414
15414
  ontology: {
15415
- usage: "musubix ontology <validate|stats>",
15415
+ usage: "musubix ontology <add|list|validate|stats> [args]",
15416
15416
  description: "\u30AA\u30F3\u30C8\u30ED\u30B8\u30FC\u7BA1\u7406"
15417
15417
  },
15418
15418
  cg: {
@@ -15684,13 +15684,68 @@ async function handleInit(targetPath = ".", name, force) {
15684
15684
  }
15685
15685
  return ExitCode.SUCCESS;
15686
15686
  }
15687
- async function handleTrace(sub, args) {
15687
+ var REQ_ID_RE = /REQ-[A-Z]{3}-\d{3}/g;
15688
+ function buildCodeTraceData(specsFile, srcDir) {
15689
+ const reqIds = [];
15690
+ if (existsSync11(specsFile)) {
15691
+ const content = readFileSync6(specsFile, "utf-8");
15692
+ for (const line of content.split("\n")) {
15693
+ const m = line.match(/^#{1,4}\s+(REQ-[A-Z]{3}-\d{3})\b/);
15694
+ if (m)
15695
+ reqIds.push(m[1]);
15696
+ }
15697
+ if (reqIds.length === 0) {
15698
+ for (const m of content.matchAll(REQ_ID_RE))
15699
+ reqIds.push(m[0]);
15700
+ }
15701
+ }
15702
+ const requirementIds = [...new Set(reqIds)];
15703
+ const reqSet = new Set(requirementIds);
15704
+ const refsByReq = /* @__PURE__ */ new Map();
15705
+ const fileSet = /* @__PURE__ */ new Set();
15706
+ const links = [];
15707
+ if (existsSync11(srcDir)) {
15708
+ for (const file of collectFiles(srcDir, (ext) => ext in EXT_TO_LANG)) {
15709
+ const code = readFileSync6(file, "utf-8");
15710
+ const refs = /* @__PURE__ */ new Set();
15711
+ for (const m of code.matchAll(REQ_ID_RE)) {
15712
+ if (reqSet.has(m[0]))
15713
+ refs.add(m[0]);
15714
+ }
15715
+ for (const reqId of refs) {
15716
+ fileSet.add(file);
15717
+ links.push({ source: reqId, target: file, verified: false });
15718
+ const arr = refsByReq.get(reqId) ?? [];
15719
+ arr.push(file);
15720
+ refsByReq.set(reqId, arr);
15721
+ }
15722
+ }
15723
+ }
15724
+ return { requirementIds, fileIds: [...fileSet].sort(), links, refsByReq };
15725
+ }
15726
+ function resolveTraceInputs(flags) {
15727
+ return {
15728
+ specsFile: flags["specs"] ?? "storage/specs/requirements.md",
15729
+ srcDir: flags["src"] ?? (existsSync11("src") ? "src" : ".")
15730
+ };
15731
+ }
15732
+ async function handleTrace(sub, args, flags = {}) {
15688
15733
  switch (sub) {
15689
15734
  case "matrix": {
15735
+ const { specsFile, srcDir } = resolveTraceInputs(flags);
15736
+ const data = buildCodeTraceData(specsFile, srcDir);
15737
+ if (data.requirementIds.length === 0) {
15738
+ console.log(`No requirements found in ${specsFile} \u2014 nothing to trace.`);
15739
+ console.log("\u2139 Pass --specs <file> to point at your requirements document.");
15740
+ return ExitCode.SUCCESS;
15741
+ }
15690
15742
  const generator = createMatrixGenerator();
15691
- const report = generator.generate([], [], []);
15743
+ const report = generator.generate(data.requirementIds, data.fileIds, data.links);
15692
15744
  console.log(generator.toMarkdown(report));
15693
- console.log("\n\u2139 No traceability data loaded \u2014 matrix is empty (completeness is N/A).");
15745
+ const covered = data.requirementIds.filter((r) => (data.refsByReq.get(r)?.length ?? 0) > 0);
15746
+ const pct = Math.round(covered.length / data.requirementIds.length * 100);
15747
+ console.log(`
15748
+ Requirements: ${data.requirementIds.length}, referenced in code: ${covered.length} (${pct}%), source files: ${data.fileIds.length} (scanned ${srcDir}).`);
15694
15749
  return ExitCode.SUCCESS;
15695
15750
  }
15696
15751
  case "validate": {
@@ -15719,23 +15774,27 @@ async function handleTrace(sub, args) {
15719
15774
  return ExitCode.SUCCESS;
15720
15775
  }
15721
15776
  }
15722
- async function handleTraceVerify() {
15723
- const validator = createTraceabilityValidator();
15724
- const report = validator.validateCoverage([], [], [], []);
15725
- if (report.totalRequirements === 0) {
15726
- console.log("No traceability data loaded \u2014 nothing to verify.");
15777
+ async function handleTraceVerify(flags = {}) {
15778
+ const { specsFile, srcDir } = resolveTraceInputs(flags);
15779
+ const data = buildCodeTraceData(specsFile, srcDir);
15780
+ if (data.requirementIds.length === 0) {
15781
+ console.log(`No requirements found in ${specsFile} \u2014 nothing to verify.`);
15727
15782
  console.log("\u2139 Coverage cannot be computed with 0 requirements (reported as N/A).");
15728
15783
  return ExitCode.SUCCESS;
15729
15784
  }
15730
- console.log(`Coverage: ${report.coveragePercent}%`);
15731
- console.log(`Requirements: ${report.coveredRequirements}/${report.totalRequirements}`);
15732
- if (report.gaps.length > 0) {
15733
- console.log("Gaps:");
15734
- for (const gap of report.gaps) {
15735
- console.log(` - ${JSON.stringify(gap)}`);
15736
- }
15785
+ const covered = data.requirementIds.filter((r) => (data.refsByReq.get(r)?.length ?? 0) > 0);
15786
+ const gaps = data.requirementIds.filter((r) => (data.refsByReq.get(r)?.length ?? 0) === 0);
15787
+ const pct = Math.round(covered.length / data.requirementIds.length * 100);
15788
+ console.log(`Coverage: ${pct}%`);
15789
+ console.log(`Requirements: ${covered.length}/${data.requirementIds.length} referenced in ${srcDir}`);
15790
+ if (gaps.length > 0) {
15791
+ console.log("Gaps (requirements not referenced in code):");
15792
+ for (const id of gaps)
15793
+ console.log(` - ${id}`);
15794
+ if (flags["strict"] === true)
15795
+ return ExitCode.VALIDATION_ERROR;
15737
15796
  } else {
15738
- console.log("No gaps found");
15797
+ console.log("No gaps found \u2014 every requirement is referenced in code.");
15739
15798
  }
15740
15799
  return ExitCode.SUCCESS;
15741
15800
  }
@@ -15783,23 +15842,70 @@ async function handlePolicy(sub, args) {
15783
15842
  return ExitCode.SUCCESS;
15784
15843
  }
15785
15844
  }
15786
- async function handleOntology(sub) {
15845
+ var ONTOLOGY_STATE_FILE = ".musubix/ontology.json";
15846
+ function loadOntologyStore() {
15847
+ const store = createOntologyStore();
15848
+ try {
15849
+ if (existsSync11(ONTOLOGY_STATE_FILE)) {
15850
+ const triples = JSON.parse(readFileSync6(ONTOLOGY_STATE_FILE, "utf-8"));
15851
+ store.addTriples(triples);
15852
+ }
15853
+ } catch {
15854
+ }
15855
+ return store;
15856
+ }
15857
+ function saveOntologyStore(store) {
15858
+ mkdirSync3(dirnamePath(ONTOLOGY_STATE_FILE), { recursive: true });
15859
+ writeFileSync3(ONTOLOGY_STATE_FILE, JSON.stringify(store.getAll(), null, 2), "utf-8");
15860
+ }
15861
+ async function handleOntology(sub, args = []) {
15787
15862
  switch (sub) {
15863
+ case "add": {
15864
+ const [subject, predicate, object] = args;
15865
+ if (!subject || !predicate || !object) {
15866
+ console.error("\u274C Usage: musubix ontology add <subject> <predicate> <object>");
15867
+ return ExitCode.VALIDATION_ERROR;
15868
+ }
15869
+ const store = loadOntologyStore();
15870
+ store.addTriple({ subject, predicate, object });
15871
+ saveOntologyStore(store);
15872
+ console.log(`\u2705 Added triple: ${subject} \u2014[${predicate}]\u2192 ${object}`);
15873
+ console.log(` Total triples: ${store.size()}`);
15874
+ return ExitCode.SUCCESS;
15875
+ }
15876
+ case "list": {
15877
+ const store = loadOntologyStore();
15878
+ const triples = store.getAll();
15879
+ if (triples.length === 0) {
15880
+ console.log("No triples stored yet. Add one with: musubix ontology add <s> <p> <o>");
15881
+ } else {
15882
+ console.log(`Triples (${triples.length}):`);
15883
+ for (const t of triples) {
15884
+ console.log(` ${t.subject} \u2014[${t.predicate}]\u2192 ${t.object}`);
15885
+ }
15886
+ }
15887
+ return ExitCode.SUCCESS;
15888
+ }
15788
15889
  case "validate": {
15789
- const store = createOntologyStore();
15890
+ const store = loadOntologyStore();
15790
15891
  const validator = createConsistencyValidator();
15791
15892
  const result = validator.validate(store);
15792
- console.log(`Consistent: ${result.consistent ? "\u2705" : "\u274C"}`);
15893
+ if (store.size() === 0) {
15894
+ console.log("No triples stored \u2014 nothing to validate.");
15895
+ return ExitCode.SUCCESS;
15896
+ }
15897
+ console.log(`Consistent: ${result.consistent ? "\u2705" : "\u274C"} (${store.size()} triples)`);
15793
15898
  if (result.violations.length > 0) {
15794
15899
  console.log("Violations:");
15795
15900
  for (const v of result.violations) {
15796
15901
  console.log(` - ${JSON.stringify(v)}`);
15797
15902
  }
15903
+ return ExitCode.VALIDATION_ERROR;
15798
15904
  }
15799
15905
  return ExitCode.SUCCESS;
15800
15906
  }
15801
15907
  case "stats": {
15802
- const store = createOntologyStore();
15908
+ const store = loadOntologyStore();
15803
15909
  console.log(`Triples: ${store.size()}`);
15804
15910
  return ExitCode.SUCCESS;
15805
15911
  }
@@ -16853,7 +16959,7 @@ async function handleLearn(sub, args) {
16853
16959
  return ExitCode.SUCCESS;
16854
16960
  }
16855
16961
  }
16856
- async function handleSynthesis(sub, args) {
16962
+ async function handleSynthesis(sub, args, flags = {}) {
16857
16963
  switch (sub) {
16858
16964
  case "fromExamples": {
16859
16965
  const { createSynthesisEngine: createSynthesisEngine2 } = await Promise.resolve().then(() => (init_dist12(), dist_exports12));
@@ -16876,12 +16982,66 @@ async function handleSynthesis(sub, args) {
16876
16982
  const builder = createDSLBuilder2();
16877
16983
  const input = args[0];
16878
16984
  if (!input) {
16879
- console.error("\u274C Usage: musubix synthesis dsl <input>");
16985
+ console.error("\u274C Usage: musubix synthesis dsl <input> --ops <op[:arg...],...>");
16986
+ console.error(" ops: trim, upper, lower, reverse, capitalize, camelCase, snakeCase,");
16987
+ console.error(" replace:from:to, prefixRemove:p, suffixAppend:s, repeat:n");
16880
16988
  return ExitCode.GENERAL_ERROR;
16881
16989
  }
16990
+ const opsSpec = flags["ops"] ?? "";
16991
+ const ops = opsSpec.split(",").map((o) => o.trim()).filter(Boolean);
16992
+ if (ops.length === 0) {
16993
+ console.error("\u274C No transforms given. Pass --ops <op,...> (e.g. --ops trim,camelCase).");
16994
+ return ExitCode.VALIDATION_ERROR;
16995
+ }
16996
+ for (const op of ops) {
16997
+ const [name, ...opArgs] = op.split(":");
16998
+ switch (name) {
16999
+ case "trim":
17000
+ builder.trim();
17001
+ break;
17002
+ case "upper":
17003
+ case "toUpperCase":
17004
+ builder.toUpperCase();
17005
+ break;
17006
+ case "lower":
17007
+ case "toLowerCase":
17008
+ builder.toLowerCase();
17009
+ break;
17010
+ case "reverse":
17011
+ builder.reverse();
17012
+ break;
17013
+ case "capitalize":
17014
+ builder.capitalize();
17015
+ break;
17016
+ case "camelCase":
17017
+ case "camel":
17018
+ builder.camelCase();
17019
+ break;
17020
+ case "snakeCase":
17021
+ case "snake":
17022
+ builder.snakeCase();
17023
+ break;
17024
+ case "replace":
17025
+ builder.replace(opArgs[0] ?? "", opArgs[1] ?? "");
17026
+ break;
17027
+ case "prefixRemove":
17028
+ builder.prefixRemove(opArgs[0] ?? "");
17029
+ break;
17030
+ case "suffixAppend":
17031
+ builder.suffixAppend(opArgs[0] ?? "");
17032
+ break;
17033
+ case "repeat":
17034
+ builder.repeat(Number.parseInt(opArgs[0] ?? "1", 10) || 1);
17035
+ break;
17036
+ default:
17037
+ console.error(`\u274C Unknown DSL op: ${name}`);
17038
+ return ExitCode.VALIDATION_ERROR;
17039
+ }
17040
+ }
16882
17041
  const result = builder.execute(input);
16883
17042
  console.log(`DSL output:`);
16884
- console.log(` Input: ${input}`);
17043
+ console.log(` Input: ${input}`);
17044
+ console.log(` Ops: ${ops.join(" \u2192 ")}`);
16885
17045
  console.log(` Result: ${result}`);
16886
17046
  return ExitCode.SUCCESS;
16887
17047
  }
@@ -17154,7 +17314,7 @@ function getDefaultCommands() {
17154
17314
  }
17155
17315
  const sub = args["subcommand"];
17156
17316
  const positionalArgs = args["args"] ?? [];
17157
- return await handleTrace(sub, positionalArgs);
17317
+ return await handleTrace(sub, positionalArgs, args);
17158
17318
  }
17159
17319
  },
17160
17320
  {
@@ -17165,7 +17325,7 @@ function getDefaultCommands() {
17165
17325
  console.log(showHelp("trace:verify"));
17166
17326
  return;
17167
17327
  }
17168
- return await handleTraceVerify();
17328
+ return await handleTraceVerify(args);
17169
17329
  }
17170
17330
  },
17171
17331
  {
@@ -17190,7 +17350,8 @@ function getDefaultCommands() {
17190
17350
  return;
17191
17351
  }
17192
17352
  const sub = args["subcommand"];
17193
- return await handleOntology(sub);
17353
+ const positionalArgs = args["args"] ?? [];
17354
+ return await handleOntology(sub, positionalArgs);
17194
17355
  }
17195
17356
  },
17196
17357
  {
@@ -17359,7 +17520,7 @@ function getDefaultCommands() {
17359
17520
  }
17360
17521
  const sub = args["subcommand"];
17361
17522
  const positionalArgs = args["args"] ?? [];
17362
- return await handleSynthesis(sub, positionalArgs);
17523
+ return await handleSynthesis(sub, positionalArgs, args);
17363
17524
  }
17364
17525
  },
17365
17526
  {
@@ -17409,6 +17570,7 @@ function createCLIDispatcher() {
17409
17570
  }
17410
17571
  export {
17411
17572
  CLIDispatcher,
17573
+ buildCodeTraceData,
17412
17574
  collectFiles,
17413
17575
  createCLIDispatcher,
17414
17576
  getDefaultCommands,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15396,12 +15396,12 @@ var COMMAND_HELP = {
15396
15396
  description: "\u30BF\u30B9\u30AF\u7BA1\u7406"
15397
15397
  },
15398
15398
  trace: {
15399
- usage: "musubix trace <matrix|validate|impact> [args]",
15400
- description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3"
15399
+ usage: "musubix trace <matrix|validate|impact> [--specs <file>] [--src <dir>]",
15400
+ description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3\uFF08\u8981\u4EF6 \u2192 \u30B3\u30FC\u30C9\u306E REQ-ID \u53C2\u7167\u3092\u89E3\u6790\uFF09"
15401
15401
  },
15402
15402
  "trace:verify": {
15403
- usage: "musubix trace:verify",
15404
- description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3\u691C\u8A3C"
15403
+ usage: "musubix trace:verify [--specs <file>] [--src <dir>] [--strict]",
15404
+ description: "\u30C8\u30EC\u30FC\u30B5\u30D3\u30EA\u30C6\u30A3\u691C\u8A3C\uFF08\u672A\u53C2\u7167\u8981\u4EF6\u3092\u691C\u51FA\uFF09"
15405
15405
  },
15406
15406
  policy: {
15407
15407
  usage: "musubix policy <validate|list|info> [args]",
@@ -15416,7 +15416,7 @@ var COMMAND_HELP = {
15416
15416
  description: "\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u72B6\u6CC1"
15417
15417
  },
15418
15418
  ontology: {
15419
- usage: "musubix ontology <validate|stats>",
15419
+ usage: "musubix ontology <add|list|validate|stats> [args]",
15420
15420
  description: "\u30AA\u30F3\u30C8\u30ED\u30B8\u30FC\u7BA1\u7406"
15421
15421
  },
15422
15422
  cg: {
@@ -15688,13 +15688,68 @@ async function handleInit(targetPath = ".", name, force) {
15688
15688
  }
15689
15689
  return ExitCode.SUCCESS;
15690
15690
  }
15691
- async function handleTrace(sub, args) {
15691
+ var REQ_ID_RE = /REQ-[A-Z]{3}-\d{3}/g;
15692
+ function buildCodeTraceData(specsFile, srcDir) {
15693
+ const reqIds = [];
15694
+ if (existsSync11(specsFile)) {
15695
+ const content = readFileSync6(specsFile, "utf-8");
15696
+ for (const line of content.split("\n")) {
15697
+ const m = line.match(/^#{1,4}\s+(REQ-[A-Z]{3}-\d{3})\b/);
15698
+ if (m)
15699
+ reqIds.push(m[1]);
15700
+ }
15701
+ if (reqIds.length === 0) {
15702
+ for (const m of content.matchAll(REQ_ID_RE))
15703
+ reqIds.push(m[0]);
15704
+ }
15705
+ }
15706
+ const requirementIds = [...new Set(reqIds)];
15707
+ const reqSet = new Set(requirementIds);
15708
+ const refsByReq = /* @__PURE__ */ new Map();
15709
+ const fileSet = /* @__PURE__ */ new Set();
15710
+ const links = [];
15711
+ if (existsSync11(srcDir)) {
15712
+ for (const file of collectFiles(srcDir, (ext) => ext in EXT_TO_LANG)) {
15713
+ const code = readFileSync6(file, "utf-8");
15714
+ const refs = /* @__PURE__ */ new Set();
15715
+ for (const m of code.matchAll(REQ_ID_RE)) {
15716
+ if (reqSet.has(m[0]))
15717
+ refs.add(m[0]);
15718
+ }
15719
+ for (const reqId of refs) {
15720
+ fileSet.add(file);
15721
+ links.push({ source: reqId, target: file, verified: false });
15722
+ const arr = refsByReq.get(reqId) ?? [];
15723
+ arr.push(file);
15724
+ refsByReq.set(reqId, arr);
15725
+ }
15726
+ }
15727
+ }
15728
+ return { requirementIds, fileIds: [...fileSet].sort(), links, refsByReq };
15729
+ }
15730
+ function resolveTraceInputs(flags) {
15731
+ return {
15732
+ specsFile: flags["specs"] ?? "storage/specs/requirements.md",
15733
+ srcDir: flags["src"] ?? (existsSync11("src") ? "src" : ".")
15734
+ };
15735
+ }
15736
+ async function handleTrace(sub, args, flags = {}) {
15692
15737
  switch (sub) {
15693
15738
  case "matrix": {
15739
+ const { specsFile, srcDir } = resolveTraceInputs(flags);
15740
+ const data = buildCodeTraceData(specsFile, srcDir);
15741
+ if (data.requirementIds.length === 0) {
15742
+ console.log(`No requirements found in ${specsFile} \u2014 nothing to trace.`);
15743
+ console.log("\u2139 Pass --specs <file> to point at your requirements document.");
15744
+ return ExitCode.SUCCESS;
15745
+ }
15694
15746
  const generator = createMatrixGenerator();
15695
- const report = generator.generate([], [], []);
15747
+ const report = generator.generate(data.requirementIds, data.fileIds, data.links);
15696
15748
  console.log(generator.toMarkdown(report));
15697
- console.log("\n\u2139 No traceability data loaded \u2014 matrix is empty (completeness is N/A).");
15749
+ const covered = data.requirementIds.filter((r) => (data.refsByReq.get(r)?.length ?? 0) > 0);
15750
+ const pct = Math.round(covered.length / data.requirementIds.length * 100);
15751
+ console.log(`
15752
+ Requirements: ${data.requirementIds.length}, referenced in code: ${covered.length} (${pct}%), source files: ${data.fileIds.length} (scanned ${srcDir}).`);
15698
15753
  return ExitCode.SUCCESS;
15699
15754
  }
15700
15755
  case "validate": {
@@ -15723,23 +15778,27 @@ async function handleTrace(sub, args) {
15723
15778
  return ExitCode.SUCCESS;
15724
15779
  }
15725
15780
  }
15726
- async function handleTraceVerify() {
15727
- const validator = createTraceabilityValidator();
15728
- const report = validator.validateCoverage([], [], [], []);
15729
- if (report.totalRequirements === 0) {
15730
- console.log("No traceability data loaded \u2014 nothing to verify.");
15781
+ async function handleTraceVerify(flags = {}) {
15782
+ const { specsFile, srcDir } = resolveTraceInputs(flags);
15783
+ const data = buildCodeTraceData(specsFile, srcDir);
15784
+ if (data.requirementIds.length === 0) {
15785
+ console.log(`No requirements found in ${specsFile} \u2014 nothing to verify.`);
15731
15786
  console.log("\u2139 Coverage cannot be computed with 0 requirements (reported as N/A).");
15732
15787
  return ExitCode.SUCCESS;
15733
15788
  }
15734
- console.log(`Coverage: ${report.coveragePercent}%`);
15735
- console.log(`Requirements: ${report.coveredRequirements}/${report.totalRequirements}`);
15736
- if (report.gaps.length > 0) {
15737
- console.log("Gaps:");
15738
- for (const gap of report.gaps) {
15739
- console.log(` - ${JSON.stringify(gap)}`);
15740
- }
15789
+ const covered = data.requirementIds.filter((r) => (data.refsByReq.get(r)?.length ?? 0) > 0);
15790
+ const gaps = data.requirementIds.filter((r) => (data.refsByReq.get(r)?.length ?? 0) === 0);
15791
+ const pct = Math.round(covered.length / data.requirementIds.length * 100);
15792
+ console.log(`Coverage: ${pct}%`);
15793
+ console.log(`Requirements: ${covered.length}/${data.requirementIds.length} referenced in ${srcDir}`);
15794
+ if (gaps.length > 0) {
15795
+ console.log("Gaps (requirements not referenced in code):");
15796
+ for (const id of gaps)
15797
+ console.log(` - ${id}`);
15798
+ if (flags["strict"] === true)
15799
+ return ExitCode.VALIDATION_ERROR;
15741
15800
  } else {
15742
- console.log("No gaps found");
15801
+ console.log("No gaps found \u2014 every requirement is referenced in code.");
15743
15802
  }
15744
15803
  return ExitCode.SUCCESS;
15745
15804
  }
@@ -15787,23 +15846,70 @@ async function handlePolicy(sub, args) {
15787
15846
  return ExitCode.SUCCESS;
15788
15847
  }
15789
15848
  }
15790
- async function handleOntology(sub) {
15849
+ var ONTOLOGY_STATE_FILE = ".musubix/ontology.json";
15850
+ function loadOntologyStore() {
15851
+ const store = createOntologyStore();
15852
+ try {
15853
+ if (existsSync11(ONTOLOGY_STATE_FILE)) {
15854
+ const triples = JSON.parse(readFileSync6(ONTOLOGY_STATE_FILE, "utf-8"));
15855
+ store.addTriples(triples);
15856
+ }
15857
+ } catch {
15858
+ }
15859
+ return store;
15860
+ }
15861
+ function saveOntologyStore(store) {
15862
+ mkdirSync3(dirnamePath(ONTOLOGY_STATE_FILE), { recursive: true });
15863
+ writeFileSync3(ONTOLOGY_STATE_FILE, JSON.stringify(store.getAll(), null, 2), "utf-8");
15864
+ }
15865
+ async function handleOntology(sub, args = []) {
15791
15866
  switch (sub) {
15867
+ case "add": {
15868
+ const [subject, predicate, object] = args;
15869
+ if (!subject || !predicate || !object) {
15870
+ console.error("\u274C Usage: musubix ontology add <subject> <predicate> <object>");
15871
+ return ExitCode.VALIDATION_ERROR;
15872
+ }
15873
+ const store = loadOntologyStore();
15874
+ store.addTriple({ subject, predicate, object });
15875
+ saveOntologyStore(store);
15876
+ console.log(`\u2705 Added triple: ${subject} \u2014[${predicate}]\u2192 ${object}`);
15877
+ console.log(` Total triples: ${store.size()}`);
15878
+ return ExitCode.SUCCESS;
15879
+ }
15880
+ case "list": {
15881
+ const store = loadOntologyStore();
15882
+ const triples = store.getAll();
15883
+ if (triples.length === 0) {
15884
+ console.log("No triples stored yet. Add one with: musubix ontology add <s> <p> <o>");
15885
+ } else {
15886
+ console.log(`Triples (${triples.length}):`);
15887
+ for (const t of triples) {
15888
+ console.log(` ${t.subject} \u2014[${t.predicate}]\u2192 ${t.object}`);
15889
+ }
15890
+ }
15891
+ return ExitCode.SUCCESS;
15892
+ }
15792
15893
  case "validate": {
15793
- const store = createOntologyStore();
15894
+ const store = loadOntologyStore();
15794
15895
  const validator = createConsistencyValidator();
15795
15896
  const result = validator.validate(store);
15796
- console.log(`Consistent: ${result.consistent ? "\u2705" : "\u274C"}`);
15897
+ if (store.size() === 0) {
15898
+ console.log("No triples stored \u2014 nothing to validate.");
15899
+ return ExitCode.SUCCESS;
15900
+ }
15901
+ console.log(`Consistent: ${result.consistent ? "\u2705" : "\u274C"} (${store.size()} triples)`);
15797
15902
  if (result.violations.length > 0) {
15798
15903
  console.log("Violations:");
15799
15904
  for (const v of result.violations) {
15800
15905
  console.log(` - ${JSON.stringify(v)}`);
15801
15906
  }
15907
+ return ExitCode.VALIDATION_ERROR;
15802
15908
  }
15803
15909
  return ExitCode.SUCCESS;
15804
15910
  }
15805
15911
  case "stats": {
15806
- const store = createOntologyStore();
15912
+ const store = loadOntologyStore();
15807
15913
  console.log(`Triples: ${store.size()}`);
15808
15914
  return ExitCode.SUCCESS;
15809
15915
  }
@@ -16857,7 +16963,7 @@ async function handleLearn(sub, args) {
16857
16963
  return ExitCode.SUCCESS;
16858
16964
  }
16859
16965
  }
16860
- async function handleSynthesis(sub, args) {
16966
+ async function handleSynthesis(sub, args, flags = {}) {
16861
16967
  switch (sub) {
16862
16968
  case "fromExamples": {
16863
16969
  const { createSynthesisEngine: createSynthesisEngine2 } = await Promise.resolve().then(() => (init_dist12(), dist_exports12));
@@ -16880,12 +16986,66 @@ async function handleSynthesis(sub, args) {
16880
16986
  const builder = createDSLBuilder2();
16881
16987
  const input = args[0];
16882
16988
  if (!input) {
16883
- console.error("\u274C Usage: musubix synthesis dsl <input>");
16989
+ console.error("\u274C Usage: musubix synthesis dsl <input> --ops <op[:arg...],...>");
16990
+ console.error(" ops: trim, upper, lower, reverse, capitalize, camelCase, snakeCase,");
16991
+ console.error(" replace:from:to, prefixRemove:p, suffixAppend:s, repeat:n");
16884
16992
  return ExitCode.GENERAL_ERROR;
16885
16993
  }
16994
+ const opsSpec = flags["ops"] ?? "";
16995
+ const ops = opsSpec.split(",").map((o) => o.trim()).filter(Boolean);
16996
+ if (ops.length === 0) {
16997
+ console.error("\u274C No transforms given. Pass --ops <op,...> (e.g. --ops trim,camelCase).");
16998
+ return ExitCode.VALIDATION_ERROR;
16999
+ }
17000
+ for (const op of ops) {
17001
+ const [name, ...opArgs] = op.split(":");
17002
+ switch (name) {
17003
+ case "trim":
17004
+ builder.trim();
17005
+ break;
17006
+ case "upper":
17007
+ case "toUpperCase":
17008
+ builder.toUpperCase();
17009
+ break;
17010
+ case "lower":
17011
+ case "toLowerCase":
17012
+ builder.toLowerCase();
17013
+ break;
17014
+ case "reverse":
17015
+ builder.reverse();
17016
+ break;
17017
+ case "capitalize":
17018
+ builder.capitalize();
17019
+ break;
17020
+ case "camelCase":
17021
+ case "camel":
17022
+ builder.camelCase();
17023
+ break;
17024
+ case "snakeCase":
17025
+ case "snake":
17026
+ builder.snakeCase();
17027
+ break;
17028
+ case "replace":
17029
+ builder.replace(opArgs[0] ?? "", opArgs[1] ?? "");
17030
+ break;
17031
+ case "prefixRemove":
17032
+ builder.prefixRemove(opArgs[0] ?? "");
17033
+ break;
17034
+ case "suffixAppend":
17035
+ builder.suffixAppend(opArgs[0] ?? "");
17036
+ break;
17037
+ case "repeat":
17038
+ builder.repeat(Number.parseInt(opArgs[0] ?? "1", 10) || 1);
17039
+ break;
17040
+ default:
17041
+ console.error(`\u274C Unknown DSL op: ${name}`);
17042
+ return ExitCode.VALIDATION_ERROR;
17043
+ }
17044
+ }
16886
17045
  const result = builder.execute(input);
16887
17046
  console.log(`DSL output:`);
16888
- console.log(` Input: ${input}`);
17047
+ console.log(` Input: ${input}`);
17048
+ console.log(` Ops: ${ops.join(" \u2192 ")}`);
16889
17049
  console.log(` Result: ${result}`);
16890
17050
  return ExitCode.SUCCESS;
16891
17051
  }
@@ -17158,7 +17318,7 @@ function getDefaultCommands() {
17158
17318
  }
17159
17319
  const sub = args["subcommand"];
17160
17320
  const positionalArgs = args["args"] ?? [];
17161
- return await handleTrace(sub, positionalArgs);
17321
+ return await handleTrace(sub, positionalArgs, args);
17162
17322
  }
17163
17323
  },
17164
17324
  {
@@ -17169,7 +17329,7 @@ function getDefaultCommands() {
17169
17329
  console.log(showHelp("trace:verify"));
17170
17330
  return;
17171
17331
  }
17172
- return await handleTraceVerify();
17332
+ return await handleTraceVerify(args);
17173
17333
  }
17174
17334
  },
17175
17335
  {
@@ -17194,7 +17354,8 @@ function getDefaultCommands() {
17194
17354
  return;
17195
17355
  }
17196
17356
  const sub = args["subcommand"];
17197
- return await handleOntology(sub);
17357
+ const positionalArgs = args["args"] ?? [];
17358
+ return await handleOntology(sub, positionalArgs);
17198
17359
  }
17199
17360
  },
17200
17361
  {
@@ -17363,7 +17524,7 @@ function getDefaultCommands() {
17363
17524
  }
17364
17525
  const sub = args["subcommand"];
17365
17526
  const positionalArgs = args["args"] ?? [];
17366
- return await handleSynthesis(sub, positionalArgs);
17527
+ return await handleSynthesis(sub, positionalArgs, args);
17367
17528
  }
17368
17529
  },
17369
17530
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musubix2",
3
- "version": "0.5.5",
3
+ "version": "0.5.6",
4
4
  "description": "MUSUBIX2 — Specification Driven Development System",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",