musubi-sdd 5.0.0 → 5.6.1

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 (232) hide show
  1. package/README.ja.md +106 -48
  2. package/README.md +110 -32
  3. package/bin/musubi-analyze.js +74 -67
  4. package/bin/musubi-browser.js +27 -26
  5. package/bin/musubi-change.js +48 -47
  6. package/bin/musubi-checkpoint.js +10 -7
  7. package/bin/musubi-convert.js +25 -25
  8. package/bin/musubi-costs.js +27 -10
  9. package/bin/musubi-gui.js +52 -46
  10. package/bin/musubi-init.js +1952 -10
  11. package/bin/musubi-orchestrate.js +327 -239
  12. package/bin/musubi-remember.js +69 -56
  13. package/bin/musubi-resolve.js +53 -45
  14. package/bin/musubi-trace.js +51 -22
  15. package/bin/musubi-validate.js +39 -30
  16. package/bin/musubi-workflow.js +33 -34
  17. package/bin/musubi.js +39 -2
  18. package/package.json +1 -1
  19. package/src/agents/agent-loop.js +94 -95
  20. package/src/agents/agentic/code-generator.js +119 -109
  21. package/src/agents/agentic/code-reviewer.js +105 -108
  22. package/src/agents/agentic/index.js +4 -4
  23. package/src/agents/browser/action-executor.js +13 -13
  24. package/src/agents/browser/ai-comparator.js +11 -10
  25. package/src/agents/browser/context-manager.js +6 -6
  26. package/src/agents/browser/index.js +5 -5
  27. package/src/agents/browser/nl-parser.js +31 -46
  28. package/src/agents/browser/screenshot.js +2 -2
  29. package/src/agents/browser/test-generator.js +6 -4
  30. package/src/agents/function-tool.js +71 -65
  31. package/src/agents/index.js +7 -7
  32. package/src/agents/schema-generator.js +98 -94
  33. package/src/analyzers/ast-extractor.js +164 -145
  34. package/src/analyzers/codegraph-auto-update.js +858 -0
  35. package/src/analyzers/complexity-analyzer.js +536 -0
  36. package/src/analyzers/context-optimizer.js +247 -125
  37. package/src/analyzers/impact-analyzer.js +1 -1
  38. package/src/analyzers/large-project-analyzer.js +766 -0
  39. package/src/analyzers/repository-map.js +83 -80
  40. package/src/analyzers/security-analyzer.js +19 -11
  41. package/src/analyzers/stuck-detector.js +19 -17
  42. package/src/converters/index.js +78 -57
  43. package/src/converters/ir/types.js +12 -12
  44. package/src/converters/parsers/musubi-parser.js +134 -126
  45. package/src/converters/parsers/openapi-parser.js +70 -53
  46. package/src/converters/parsers/speckit-parser.js +239 -175
  47. package/src/converters/writers/musubi-writer.js +123 -118
  48. package/src/converters/writers/speckit-writer.js +124 -113
  49. package/src/generators/rust-migration-generator.js +512 -0
  50. package/src/gui/public/index.html +1365 -1211
  51. package/src/gui/server.js +41 -40
  52. package/src/gui/services/file-watcher.js +23 -8
  53. package/src/gui/services/project-scanner.js +26 -20
  54. package/src/gui/services/replanning-service.js +27 -23
  55. package/src/gui/services/traceability-service.js +8 -8
  56. package/src/gui/services/workflow-service.js +14 -7
  57. package/src/index.js +151 -0
  58. package/src/integrations/cicd.js +90 -104
  59. package/src/integrations/codegraph-mcp.js +643 -0
  60. package/src/integrations/documentation.js +142 -103
  61. package/src/integrations/examples.js +95 -80
  62. package/src/integrations/github-client.js +17 -17
  63. package/src/integrations/index.js +5 -5
  64. package/src/integrations/mcp/index.js +21 -21
  65. package/src/integrations/mcp/mcp-context-provider.js +76 -78
  66. package/src/integrations/mcp/mcp-discovery.js +74 -72
  67. package/src/integrations/mcp/mcp-tool-registry.js +99 -94
  68. package/src/integrations/mcp-connector.js +70 -66
  69. package/src/integrations/platforms.js +50 -49
  70. package/src/integrations/tool-discovery.js +37 -31
  71. package/src/llm-providers/anthropic-provider.js +11 -11
  72. package/src/llm-providers/base-provider.js +16 -18
  73. package/src/llm-providers/copilot-provider.js +22 -19
  74. package/src/llm-providers/index.js +26 -25
  75. package/src/llm-providers/ollama-provider.js +11 -11
  76. package/src/llm-providers/openai-provider.js +12 -12
  77. package/src/managers/agent-memory.js +36 -24
  78. package/src/managers/checkpoint-manager.js +4 -8
  79. package/src/managers/delta-spec.js +19 -19
  80. package/src/managers/index.js +13 -4
  81. package/src/managers/memory-condenser.js +35 -45
  82. package/src/managers/repo-skill-manager.js +57 -31
  83. package/src/managers/skill-loader.js +25 -22
  84. package/src/managers/skill-tools.js +36 -72
  85. package/src/managers/workflow.js +30 -22
  86. package/src/monitoring/cost-tracker.js +53 -44
  87. package/src/monitoring/incident-manager.js +123 -103
  88. package/src/monitoring/index.js +144 -134
  89. package/src/monitoring/observability.js +82 -59
  90. package/src/monitoring/quality-dashboard.js +51 -39
  91. package/src/monitoring/release-manager.js +70 -50
  92. package/src/orchestration/agent-skill-binding.js +39 -47
  93. package/src/orchestration/error-handler.js +65 -107
  94. package/src/orchestration/guardrails/base-guardrail.js +26 -24
  95. package/src/orchestration/guardrails/guardrail-rules.js +50 -64
  96. package/src/orchestration/guardrails/index.js +5 -5
  97. package/src/orchestration/guardrails/input-guardrail.js +58 -45
  98. package/src/orchestration/guardrails/output-guardrail.js +104 -81
  99. package/src/orchestration/guardrails/safety-check.js +79 -79
  100. package/src/orchestration/index.js +38 -55
  101. package/src/orchestration/mcp-tool-adapters.js +96 -99
  102. package/src/orchestration/orchestration-engine.js +21 -21
  103. package/src/orchestration/pattern-registry.js +60 -45
  104. package/src/orchestration/patterns/auto.js +34 -47
  105. package/src/orchestration/patterns/group-chat.js +59 -65
  106. package/src/orchestration/patterns/handoff.js +67 -65
  107. package/src/orchestration/patterns/human-in-loop.js +51 -72
  108. package/src/orchestration/patterns/nested.js +25 -40
  109. package/src/orchestration/patterns/sequential.js +35 -34
  110. package/src/orchestration/patterns/swarm.js +63 -56
  111. package/src/orchestration/patterns/triage.js +150 -109
  112. package/src/orchestration/reasoning/index.js +9 -9
  113. package/src/orchestration/reasoning/planning-engine.js +143 -140
  114. package/src/orchestration/reasoning/reasoning-engine.js +206 -144
  115. package/src/orchestration/reasoning/self-correction.js +121 -128
  116. package/src/orchestration/replanning/adaptive-goal-modifier.js +107 -112
  117. package/src/orchestration/replanning/alternative-generator.js +37 -42
  118. package/src/orchestration/replanning/config.js +63 -59
  119. package/src/orchestration/replanning/goal-progress-tracker.js +98 -100
  120. package/src/orchestration/replanning/index.js +24 -20
  121. package/src/orchestration/replanning/plan-evaluator.js +49 -50
  122. package/src/orchestration/replanning/plan-monitor.js +32 -28
  123. package/src/orchestration/replanning/proactive-path-optimizer.js +175 -178
  124. package/src/orchestration/replanning/replan-history.js +33 -26
  125. package/src/orchestration/replanning/replanning-engine.js +106 -108
  126. package/src/orchestration/skill-executor.js +107 -109
  127. package/src/orchestration/skill-registry.js +85 -89
  128. package/src/orchestration/workflow-examples.js +228 -231
  129. package/src/orchestration/workflow-executor.js +65 -68
  130. package/src/orchestration/workflow-orchestrator.js +72 -73
  131. package/src/phase4-integration.js +47 -40
  132. package/src/phase5-integration.js +89 -30
  133. package/src/reporters/coverage-report.js +82 -30
  134. package/src/reporters/hierarchical-reporter.js +498 -0
  135. package/src/reporters/traceability-matrix-report.js +29 -20
  136. package/src/resolvers/issue-resolver.js +43 -31
  137. package/src/steering/advanced-validation.js +133 -124
  138. package/src/steering/auto-updater.js +60 -73
  139. package/src/steering/index.js +6 -6
  140. package/src/steering/quality-metrics.js +41 -35
  141. package/src/steering/steering-auto-update.js +83 -86
  142. package/src/steering/steering-validator.js +98 -106
  143. package/src/steering/template-constraints.js +53 -54
  144. package/src/templates/agents/claude-code/CLAUDE.md +32 -32
  145. package/src/templates/agents/claude-code/skills/agent-assistant/SKILL.md +13 -5
  146. package/src/templates/agents/claude-code/skills/ai-ml-engineer/mlops-guide.md +23 -23
  147. package/src/templates/agents/claude-code/skills/ai-ml-engineer/model-card-template.md +60 -41
  148. package/src/templates/agents/claude-code/skills/api-designer/api-patterns.md +27 -19
  149. package/src/templates/agents/claude-code/skills/api-designer/openapi-template.md +11 -7
  150. package/src/templates/agents/claude-code/skills/bug-hunter/SKILL.md +4 -3
  151. package/src/templates/agents/claude-code/skills/bug-hunter/root-cause-analysis.md +37 -15
  152. package/src/templates/agents/claude-code/skills/change-impact-analyzer/dependency-graph-patterns.md +36 -42
  153. package/src/templates/agents/claude-code/skills/change-impact-analyzer/impact-analysis-template.md +69 -60
  154. package/src/templates/agents/claude-code/skills/cloud-architect/aws-patterns.md +31 -38
  155. package/src/templates/agents/claude-code/skills/cloud-architect/azure-patterns.md +28 -23
  156. package/src/templates/agents/claude-code/skills/code-reviewer/SKILL.md +61 -0
  157. package/src/templates/agents/claude-code/skills/code-reviewer/best-practices.md +27 -0
  158. package/src/templates/agents/claude-code/skills/code-reviewer/review-checklist.md +29 -10
  159. package/src/templates/agents/claude-code/skills/code-reviewer/review-standards.md +29 -24
  160. package/src/templates/agents/claude-code/skills/constitution-enforcer/SKILL.md +8 -6
  161. package/src/templates/agents/claude-code/skills/constitution-enforcer/constitutional-articles.md +62 -26
  162. package/src/templates/agents/claude-code/skills/constitution-enforcer/phase-minus-one-gates.md +35 -16
  163. package/src/templates/agents/claude-code/skills/database-administrator/backup-recovery.md +27 -17
  164. package/src/templates/agents/claude-code/skills/database-administrator/tuning-guide.md +25 -20
  165. package/src/templates/agents/claude-code/skills/database-schema-designer/schema-patterns.md +39 -22
  166. package/src/templates/agents/claude-code/skills/devops-engineer/ci-cd-templates.md +25 -22
  167. package/src/templates/agents/claude-code/skills/issue-resolver/SKILL.md +24 -21
  168. package/src/templates/agents/claude-code/skills/orchestrator/SKILL.md +148 -63
  169. package/src/templates/agents/claude-code/skills/orchestrator/patterns.md +35 -16
  170. package/src/templates/agents/claude-code/skills/orchestrator/selection-matrix.md +69 -64
  171. package/src/templates/agents/claude-code/skills/performance-engineer/optimization-playbook.md +47 -47
  172. package/src/templates/agents/claude-code/skills/performance-optimizer/SKILL.md +69 -0
  173. package/src/templates/agents/claude-code/skills/performance-optimizer/benchmark-template.md +63 -45
  174. package/src/templates/agents/claude-code/skills/performance-optimizer/optimization-patterns.md +33 -35
  175. package/src/templates/agents/claude-code/skills/project-manager/SKILL.md +7 -6
  176. package/src/templates/agents/claude-code/skills/project-manager/agile-ceremonies.md +47 -28
  177. package/src/templates/agents/claude-code/skills/project-manager/project-templates.md +94 -78
  178. package/src/templates/agents/claude-code/skills/quality-assurance/SKILL.md +20 -17
  179. package/src/templates/agents/claude-code/skills/quality-assurance/qa-plan-template.md +63 -49
  180. package/src/templates/agents/claude-code/skills/release-coordinator/SKILL.md +5 -5
  181. package/src/templates/agents/claude-code/skills/release-coordinator/feature-flag-guide.md +30 -26
  182. package/src/templates/agents/claude-code/skills/release-coordinator/release-plan-template.md +67 -35
  183. package/src/templates/agents/claude-code/skills/requirements-analyst/ears-format.md +54 -42
  184. package/src/templates/agents/claude-code/skills/requirements-analyst/validation-rules.md +36 -33
  185. package/src/templates/agents/claude-code/skills/security-auditor/SKILL.md +77 -19
  186. package/src/templates/agents/claude-code/skills/security-auditor/audit-checklists.md +24 -24
  187. package/src/templates/agents/claude-code/skills/security-auditor/owasp-top-10.md +61 -20
  188. package/src/templates/agents/claude-code/skills/security-auditor/vulnerability-patterns.md +43 -11
  189. package/src/templates/agents/claude-code/skills/site-reliability-engineer/SKILL.md +1 -0
  190. package/src/templates/agents/claude-code/skills/site-reliability-engineer/incident-response-template.md +55 -25
  191. package/src/templates/agents/claude-code/skills/site-reliability-engineer/observability-patterns.md +78 -68
  192. package/src/templates/agents/claude-code/skills/site-reliability-engineer/slo-sli-guide.md +73 -53
  193. package/src/templates/agents/claude-code/skills/software-developer/solid-principles.md +83 -37
  194. package/src/templates/agents/claude-code/skills/software-developer/test-first-workflow.md +38 -31
  195. package/src/templates/agents/claude-code/skills/steering/SKILL.md +1 -0
  196. package/src/templates/agents/claude-code/skills/steering/auto-update-rules.md +31 -0
  197. package/src/templates/agents/claude-code/skills/system-architect/adr-template.md +25 -7
  198. package/src/templates/agents/claude-code/skills/system-architect/c4-model-guide.md +74 -61
  199. package/src/templates/agents/claude-code/skills/technical-writer/doc-templates/documentation-templates.md +70 -52
  200. package/src/templates/agents/claude-code/skills/test-engineer/SKILL.md +2 -0
  201. package/src/templates/agents/claude-code/skills/test-engineer/ears-test-mapping.md +75 -71
  202. package/src/templates/agents/claude-code/skills/test-engineer/test-types.md +85 -63
  203. package/src/templates/agents/claude-code/skills/traceability-auditor/coverage-matrix-template.md +39 -36
  204. package/src/templates/agents/claude-code/skills/traceability-auditor/gap-detection-rules.md +22 -17
  205. package/src/templates/agents/claude-code/skills/ui-ux-designer/SKILL.md +1 -0
  206. package/src/templates/agents/claude-code/skills/ui-ux-designer/accessibility-guidelines.md +49 -75
  207. package/src/templates/agents/claude-code/skills/ui-ux-designer/design-system-components.md +71 -59
  208. package/src/templates/agents/codex/AGENTS.md +74 -42
  209. package/src/templates/agents/cursor/AGENTS.md +74 -42
  210. package/src/templates/agents/gemini-cli/GEMINI.md +74 -42
  211. package/src/templates/agents/github-copilot/AGENTS.md +83 -51
  212. package/src/templates/agents/qwen-code/QWEN.md +74 -42
  213. package/src/templates/agents/windsurf/AGENTS.md +74 -42
  214. package/src/templates/architectures/README.md +41 -0
  215. package/src/templates/architectures/clean-architecture/README.md +113 -0
  216. package/src/templates/architectures/event-driven/README.md +162 -0
  217. package/src/templates/architectures/hexagonal/README.md +130 -0
  218. package/src/templates/index.js +6 -1
  219. package/src/templates/locale-manager.js +16 -16
  220. package/src/templates/shared/delta-spec-template.md +20 -13
  221. package/src/templates/shared/github-actions/musubi-issue-resolver.yml +5 -5
  222. package/src/templates/shared/github-actions/musubi-security-check.yml +3 -3
  223. package/src/templates/shared/github-actions/musubi-validate.yml +4 -4
  224. package/src/templates/shared/steering/structure.md +95 -0
  225. package/src/templates/skills/browser-agent.md +21 -16
  226. package/src/templates/skills/web-gui.md +8 -0
  227. package/src/templates/template-constraints.js +50 -53
  228. package/src/validators/advanced-validation.js +30 -36
  229. package/src/validators/constitutional-validator.js +77 -73
  230. package/src/validators/critic-system.js +49 -59
  231. package/src/validators/delta-format.js +59 -55
  232. package/src/validators/traceability-validator.js +7 -11
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @fileoverview Safety Check integration for Guardrails
3
- *
3
+ *
4
4
  * Provides safety checks that can integrate with MUSUBI's
5
5
  * Constitutional Articles for governance compliance.
6
- *
6
+ *
7
7
  * @module orchestration/guardrails/safety-check
8
8
  * @version 3.9.0
9
9
  */
@@ -24,7 +24,7 @@ const SafetyLevel = {
24
24
  /** Strict safety checks with constitutional compliance */
25
25
  STRICT: 'strict',
26
26
  /** Maximum safety with all checks enabled */
27
- PARANOID: 'paranoid'
27
+ PARANOID: 'paranoid',
28
28
  };
29
29
 
30
30
  /**
@@ -35,56 +35,56 @@ const ConstitutionalMapping = {
35
35
  SPEC_SUPREMACY: {
36
36
  article: 'I',
37
37
  title: 'Spec Supremacy',
38
- checks: ['required', 'format']
38
+ checks: ['required', 'format'],
39
39
  },
40
- // Article II: Traceability Mandate
40
+ // Article II: Traceability Mandate
41
41
  TRACEABILITY: {
42
42
  article: 'II',
43
43
  title: 'Traceability Mandate',
44
- checks: ['traceId']
44
+ checks: ['traceId'],
45
45
  },
46
46
  // Article III: Immutable History
47
47
  IMMUTABLE_HISTORY: {
48
48
  article: 'III',
49
49
  title: 'Immutable History',
50
- checks: ['noModification']
50
+ checks: ['noModification'],
51
51
  },
52
52
  // Article IV: Validation Gates
53
53
  VALIDATION_GATES: {
54
54
  article: 'IV',
55
55
  title: 'Validation Gates',
56
- checks: ['validate']
56
+ checks: ['validate'],
57
57
  },
58
58
  // Article V: Agent Boundaries
59
59
  AGENT_BOUNDARIES: {
60
60
  article: 'V',
61
61
  title: 'Agent Boundaries',
62
- checks: ['agentScope']
62
+ checks: ['agentScope'],
63
63
  },
64
64
  // Article VI: Graceful Degradation
65
65
  GRACEFUL_DEGRADATION: {
66
66
  article: 'VI',
67
67
  title: 'Graceful Degradation',
68
- checks: ['fallback']
68
+ checks: ['fallback'],
69
69
  },
70
70
  // Article VII: Quality Assurance
71
71
  QUALITY_ASSURANCE: {
72
72
  article: 'VII',
73
73
  title: 'Quality Assurance',
74
- checks: ['quality']
74
+ checks: ['quality'],
75
75
  },
76
76
  // Article VIII: Human Override
77
77
  HUMAN_OVERRIDE: {
78
78
  article: 'VIII',
79
79
  title: 'Human Override',
80
- checks: ['humanApproval']
80
+ checks: ['humanApproval'],
81
81
  },
82
82
  // Article IX: Continuous Improvement
83
83
  CONTINUOUS_IMPROVEMENT: {
84
84
  article: 'IX',
85
85
  title: 'Continuous Improvement',
86
- checks: ['metrics']
87
- }
86
+ checks: ['metrics'],
87
+ },
88
88
  };
89
89
 
90
90
  /**
@@ -116,7 +116,7 @@ class SafetyCheckGuardrail extends BaseGuardrail {
116
116
  enabled: config.enabled,
117
117
  failFast: config.failFast,
118
118
  severity: config.severity || 'error',
119
- tripwireEnabled: config.tripwireEnabled
119
+ tripwireEnabled: config.tripwireEnabled,
120
120
  });
121
121
 
122
122
  this.level = config.level || SafetyLevel.STANDARD;
@@ -142,18 +142,11 @@ class SafetyCheckGuardrail extends BaseGuardrail {
142
142
  break;
143
143
 
144
144
  case SafetyLevel.STANDARD:
145
- builder
146
- .required()
147
- .maxLength(50000)
148
- .noInjection({ sql: true, xss: true, command: false });
145
+ builder.required().maxLength(50000).noInjection({ sql: true, xss: true, command: false });
149
146
  break;
150
147
 
151
148
  case SafetyLevel.STRICT:
152
- builder
153
- .required()
154
- .maxLength(50000)
155
- .noInjection()
156
- .noPII();
149
+ builder.required().maxLength(50000).noInjection().noPII();
157
150
  break;
158
151
 
159
152
  case SafetyLevel.PARANOID:
@@ -190,19 +183,16 @@ class SafetyCheckGuardrail extends BaseGuardrail {
190
183
  let passed = typeof result === 'object' ? result.passed : result;
191
184
 
192
185
  if (!passed) {
193
- violations.push(this.createViolation(
194
- rule.id.toUpperCase(),
195
- rule.message,
196
- rule.severity || 'error',
197
- { rule: rule.id }
198
- ));
186
+ violations.push(
187
+ this.createViolation(rule.id.toUpperCase(), rule.message, rule.severity || 'error', {
188
+ rule: rule.id,
189
+ })
190
+ );
199
191
  }
200
192
  } catch (error) {
201
- violations.push(this.createViolation(
202
- 'RULE_ERROR',
203
- `Rule '${rule.id}' error: ${error.message}`,
204
- 'error'
205
- ));
193
+ violations.push(
194
+ this.createViolation('RULE_ERROR', `Rule '${rule.id}' error: ${error.message}`, 'error')
195
+ );
206
196
  }
207
197
  }
208
198
 
@@ -218,20 +208,24 @@ class SafetyCheckGuardrail extends BaseGuardrail {
218
208
  try {
219
209
  const result = await checkFn(input, context);
220
210
  scores[checkName] = result.score || (result.passed ? 1.0 : 0.0);
221
-
211
+
222
212
  if (!result.passed) {
223
- violations.push(this.createViolation(
224
- `CUSTOM_${checkName.toUpperCase()}`,
225
- result.message || `Custom check '${checkName}' failed`,
226
- result.severity || 'warning'
227
- ));
213
+ violations.push(
214
+ this.createViolation(
215
+ `CUSTOM_${checkName.toUpperCase()}`,
216
+ result.message || `Custom check '${checkName}' failed`,
217
+ result.severity || 'warning'
218
+ )
219
+ );
228
220
  }
229
221
  } catch (error) {
230
- violations.push(this.createViolation(
231
- 'CUSTOM_CHECK_ERROR',
232
- `Custom check '${checkName}' error: ${error.message}`,
233
- 'warning'
234
- ));
222
+ violations.push(
223
+ this.createViolation(
224
+ 'CUSTOM_CHECK_ERROR',
225
+ `Custom check '${checkName}' error: ${error.message}`,
226
+ 'warning'
227
+ )
228
+ );
235
229
  }
236
230
  }
237
231
 
@@ -250,7 +244,7 @@ class SafetyCheckGuardrail extends BaseGuardrail {
250
244
  safe,
251
245
  constitutionalCompliance: this.enforceConstitution,
252
246
  constitutionalViolations,
253
- scores
247
+ scores,
254
248
  }
255
249
  );
256
250
  }
@@ -276,12 +270,14 @@ class SafetyCheckGuardrail extends BaseGuardrail {
276
270
 
277
271
  if (!articleResult.compliant) {
278
272
  complianceScore -= (1 / this.enabledArticles.length) * (1 - articleResult.score);
279
- violations.push(this.createViolation(
280
- `CONSTITUTIONAL_ARTICLE_${mapping.article}`,
281
- `Constitutional Article ${mapping.article} (${mapping.title}) violation: ${articleResult.message}`,
282
- 'error',
283
- { article: mapping.article, title: mapping.title }
284
- ));
273
+ violations.push(
274
+ this.createViolation(
275
+ `CONSTITUTIONAL_ARTICLE_${mapping.article}`,
276
+ `Constitutional Article ${mapping.article} (${mapping.title}) violation: ${articleResult.message}`,
277
+ 'error',
278
+ { article: mapping.article, title: mapping.title }
279
+ )
280
+ );
285
281
  }
286
282
  }
287
283
 
@@ -289,7 +285,7 @@ class SafetyCheckGuardrail extends BaseGuardrail {
289
285
  compliant: violations.length === 0,
290
286
  score: Math.max(0, complianceScore),
291
287
  violations,
292
- articleScores
288
+ articleScores,
293
289
  };
294
290
  }
295
291
 
@@ -333,13 +329,15 @@ class SafetyCheckGuardrail extends BaseGuardrail {
333
329
  */
334
330
  async checkSpecSupremacy(input, context) {
335
331
  // Check if the operation references specification
336
- const hasSpecRef = context.specId || context.requirementId ||
337
- (typeof input === 'object' && (input.specId || input.requirementId));
338
-
332
+ const hasSpecRef =
333
+ context.specId ||
334
+ context.requirementId ||
335
+ (typeof input === 'object' && (input.specId || input.requirementId));
336
+
339
337
  return {
340
338
  compliant: hasSpecRef !== false,
341
339
  score: hasSpecRef ? 1.0 : 0.5,
342
- message: hasSpecRef ? 'Specification reference found' : 'No specification reference'
340
+ message: hasSpecRef ? 'Specification reference found' : 'No specification reference',
343
341
  };
344
342
  }
345
343
 
@@ -348,13 +346,15 @@ class SafetyCheckGuardrail extends BaseGuardrail {
348
346
  * @private
349
347
  */
350
348
  async checkTraceability(input, context) {
351
- const hasTraceId = context.traceId || context.correlationId ||
352
- (typeof input === 'object' && (input.traceId || input.correlationId));
353
-
349
+ const hasTraceId =
350
+ context.traceId ||
351
+ context.correlationId ||
352
+ (typeof input === 'object' && (input.traceId || input.correlationId));
353
+
354
354
  return {
355
355
  compliant: hasTraceId !== false,
356
356
  score: hasTraceId ? 1.0 : 0.5,
357
- message: hasTraceId ? 'Trace ID found' : 'No trace ID'
357
+ message: hasTraceId ? 'Trace ID found' : 'No trace ID',
358
358
  };
359
359
  }
360
360
 
@@ -363,13 +363,13 @@ class SafetyCheckGuardrail extends BaseGuardrail {
363
363
  * @private
364
364
  */
365
365
  async checkValidationGates(input, context) {
366
- const isValidated = context.validated === true ||
367
- (typeof input === 'object' && input.validated === true);
368
-
366
+ const isValidated =
367
+ context.validated === true || (typeof input === 'object' && input.validated === true);
368
+
369
369
  return {
370
370
  compliant: true, // Validation is optional at input stage
371
371
  score: isValidated ? 1.0 : 0.7,
372
- message: isValidated ? 'Content validated' : 'Content not yet validated'
372
+ message: isValidated ? 'Content validated' : 'Content not yet validated',
373
373
  };
374
374
  }
375
375
 
@@ -380,19 +380,19 @@ class SafetyCheckGuardrail extends BaseGuardrail {
380
380
  async checkAgentBoundaries(input, context) {
381
381
  const agentId = context.agentId || (typeof input === 'object' && input.agentId);
382
382
  const allowedAgents = context.allowedAgents || [];
383
-
383
+
384
384
  if (!agentId) {
385
385
  return { compliant: true, score: 0.8, message: 'No agent specified' };
386
386
  }
387
-
387
+
388
388
  if (allowedAgents.length > 0 && !allowedAgents.includes(agentId)) {
389
389
  return {
390
390
  compliant: false,
391
391
  score: 0.0,
392
- message: `Agent '${agentId}' not in allowed list`
392
+ message: `Agent '${agentId}' not in allowed list`,
393
393
  };
394
394
  }
395
-
395
+
396
396
  return { compliant: true, score: 1.0, message: 'Agent within boundaries' };
397
397
  }
398
398
 
@@ -418,7 +418,7 @@ class SafetyCheckGuardrail extends BaseGuardrail {
418
418
  level: this.level,
419
419
  enforceConstitution: this.enforceConstitution,
420
420
  enabledArticles: this.enabledArticles,
421
- customChecksCount: Object.keys(this.customChecks).length
421
+ customChecksCount: Object.keys(this.customChecks).length,
422
422
  };
423
423
  }
424
424
  }
@@ -433,33 +433,33 @@ function createSafetyCheckGuardrail(preset = 'standard', overrides = {}) {
433
433
  const presets = {
434
434
  basic: {
435
435
  name: 'BasicSafetyGuardrail',
436
- level: SafetyLevel.BASIC
436
+ level: SafetyLevel.BASIC,
437
437
  },
438
438
  standard: {
439
439
  name: 'StandardSafetyGuardrail',
440
- level: SafetyLevel.STANDARD
440
+ level: SafetyLevel.STANDARD,
441
441
  },
442
442
  strict: {
443
443
  name: 'StrictSafetyGuardrail',
444
444
  level: SafetyLevel.STRICT,
445
- enforceConstitution: true
445
+ enforceConstitution: true,
446
446
  },
447
447
  paranoid: {
448
448
  name: 'ParanoidSafetyGuardrail',
449
449
  level: SafetyLevel.PARANOID,
450
450
  enforceConstitution: true,
451
451
  tripwireEnabled: true,
452
- failFast: true
452
+ failFast: true,
453
453
  },
454
454
  constitutional: {
455
455
  name: 'ConstitutionalGuardrail',
456
456
  level: SafetyLevel.STANDARD,
457
457
  enforceConstitution: true,
458
- enabledArticles: Object.keys(ConstitutionalMapping)
459
- }
458
+ enabledArticles: Object.keys(ConstitutionalMapping),
459
+ },
460
460
  };
461
461
 
462
- const config = { ...presets[preset] || presets.standard, ...overrides };
462
+ const config = { ...(presets[preset] || presets.standard), ...overrides };
463
463
  return new SafetyCheckGuardrail(config);
464
464
  }
465
465
 
@@ -467,5 +467,5 @@ module.exports = {
467
467
  SafetyCheckGuardrail,
468
468
  createSafetyCheckGuardrail,
469
469
  SafetyLevel,
470
- ConstitutionalMapping
470
+ ConstitutionalMapping,
471
471
  };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * MUSUBI Orchestration Module
3
- *
3
+ *
4
4
  * Multi-skill orchestration with ag2-inspired patterns:
5
5
  * - Auto: Automatic skill selection based on task
6
6
  * - Sequential: Linear skill execution
@@ -12,58 +12,46 @@
12
12
  * - Triage: Request classification and routing (OpenAI Agents SDK inspired)
13
13
  */
14
14
 
15
- const {
16
- OrchestrationEngine,
17
- ExecutionContext,
18
- PatternType,
19
- ExecutionStatus,
20
- Priority
15
+ const {
16
+ OrchestrationEngine,
17
+ ExecutionContext,
18
+ PatternType,
19
+ ExecutionStatus,
20
+ Priority,
21
21
  } = require('./orchestration-engine');
22
22
 
23
- const {
24
- PatternRegistry,
25
- PatternMetadata,
26
- BasePattern,
27
- createDefaultRegistry
23
+ const {
24
+ PatternRegistry,
25
+ PatternMetadata,
26
+ BasePattern,
27
+ createDefaultRegistry,
28
28
  } = require('./pattern-registry');
29
29
 
30
- const {
31
- SequentialPattern,
32
- SequentialOptions,
33
- createSequentialPattern
30
+ const {
31
+ SequentialPattern,
32
+ SequentialOptions,
33
+ createSequentialPattern,
34
34
  } = require('./patterns/sequential');
35
35
 
36
- const {
37
- AutoPattern,
38
- ConfidenceLevel,
39
- createAutoPattern
40
- } = require('./patterns/auto');
36
+ const { AutoPattern, ConfidenceLevel, createAutoPattern } = require('./patterns/auto');
41
37
 
42
- const {
43
- NestedPattern,
44
- createNestedPattern
45
- } = require('./patterns/nested');
38
+ const { NestedPattern, createNestedPattern } = require('./patterns/nested');
46
39
 
47
40
  const {
48
41
  GroupChatPattern,
49
42
  DiscussionMode,
50
43
  ConsensusType,
51
- createGroupChatPattern
44
+ createGroupChatPattern,
52
45
  } = require('./patterns/group-chat');
53
46
 
54
47
  const {
55
48
  HumanInLoopPattern,
56
49
  GateType,
57
50
  GateResult,
58
- createHumanInLoopPattern
51
+ createHumanInLoopPattern,
59
52
  } = require('./patterns/human-in-loop');
60
53
 
61
- const {
62
- SwarmPattern,
63
- PLabel,
64
- SwarmStrategy,
65
- createSwarmPattern
66
- } = require('./patterns/swarm');
54
+ const { SwarmPattern, PLabel, SwarmStrategy, createSwarmPattern } = require('./patterns/swarm');
67
55
 
68
56
  const {
69
57
  HandoffPattern,
@@ -71,7 +59,7 @@ const {
71
59
  EscalationData,
72
60
  HandoffConfig,
73
61
  handoff,
74
- createHandoffPattern
62
+ createHandoffPattern,
75
63
  } = require('./patterns/handoff');
76
64
 
77
65
  const {
@@ -81,7 +69,7 @@ const {
81
69
  AgentCapability,
82
70
  TriageResult,
83
71
  DEFAULT_KEYWORD_MAPPINGS,
84
- createTriagePattern
72
+ createTriagePattern,
85
73
  } = require('./patterns/triage');
86
74
 
87
75
  const {
@@ -89,7 +77,7 @@ const {
89
77
  StepType,
90
78
  WorkflowState,
91
79
  SDDWorkflowTemplates,
92
- createWorkflowOrchestrator
80
+ createWorkflowOrchestrator,
93
81
  } = require('./workflow-orchestrator');
94
82
 
95
83
  const {
@@ -102,7 +90,7 @@ const {
102
90
  ReplanDecision,
103
91
  defaultReplanningConfig,
104
92
  mergeConfig: mergeReplanningConfig,
105
- validateConfig: validateReplanningConfig
93
+ validateConfig: validateReplanningConfig,
106
94
  } = require('./replanning');
107
95
 
108
96
  const {
@@ -124,7 +112,7 @@ const {
124
112
  RuleRegistry,
125
113
  rules,
126
114
  CommonRuleSets,
127
- globalRuleRegistry
115
+ globalRuleRegistry,
128
116
  } = require('./guardrails');
129
117
 
130
118
  // Sprint 3.5: Advanced Workflows
@@ -135,7 +123,7 @@ const {
135
123
  StepResult,
136
124
  StepType: WorkflowStepType,
137
125
  ExecutionState,
138
- RecoveryStrategy
126
+ RecoveryStrategy,
139
127
  } = require('./workflow-executor');
140
128
 
141
129
  const {
@@ -147,7 +135,7 @@ const {
147
135
  WorkflowError,
148
136
  ErrorSeverity,
149
137
  ErrorCategory,
150
- CircuitState
138
+ CircuitState,
151
139
  } = require('./error-handler');
152
140
 
153
141
  const {
@@ -156,23 +144,18 @@ const {
156
144
  codeReviewWorkflow,
157
145
  incidentResponseWorkflow,
158
146
  dataPipelineWorkflow,
159
- createWorkflowFromTemplate
147
+ createWorkflowFromTemplate,
160
148
  } = require('./workflow-examples');
161
149
 
162
150
  // Sprint 3.1-3.3: Skill System Architecture
163
- const {
164
- SkillRegistry,
165
- SkillDefinition,
166
- SkillHealth,
167
- SkillCategory
168
- } = require('./skill-registry');
151
+ const { SkillRegistry, SkillDefinition, SkillHealth, SkillCategory } = require('./skill-registry');
169
152
 
170
153
  const {
171
154
  SkillExecutor,
172
155
  ExecutionPriority,
173
156
  ParallelExecutor,
174
157
  ValidationError,
175
- GuardrailError
158
+ GuardrailError,
176
159
  } = require('./skill-executor');
177
160
 
178
161
  const {
@@ -180,7 +163,7 @@ const {
180
163
  AgentDefinition,
181
164
  BindingRecord,
182
165
  AgentStatus,
183
- CapabilityMatcher
166
+ CapabilityMatcher,
184
167
  } = require('./agent-skill-binding');
185
168
 
186
169
  const {
@@ -190,7 +173,7 @@ const {
190
173
  SchemaTranslator,
191
174
  MCPToSkillAdapter,
192
175
  SkillToMCPAdapter,
193
- MCPAdapterManager
176
+ MCPAdapterManager,
194
177
  } = require('./mcp-tool-adapters');
195
178
 
196
179
  // Phase 4: Agent Loop & Agentic Features
@@ -215,7 +198,7 @@ const {
215
198
  CodeGenerator,
216
199
  CodeReviewer,
217
200
  createCodeGenerator,
218
- createCodeReviewer
201
+ createCodeReviewer,
219
202
  } = phase4;
220
203
 
221
204
  // Phase 5: Advanced Features
@@ -251,13 +234,13 @@ const {
251
234
  createAdvancedValidation,
252
235
  VALIDATION_TYPE,
253
236
  ARTIFACT_TYPE,
254
- GAP_SEVERITY
237
+ GAP_SEVERITY,
255
238
  } = require('../phase5-integration');
256
239
 
257
240
  /**
258
241
  * Create a fully configured orchestration engine
259
242
  * with default patterns registered
260
- *
243
+ *
261
244
  * @param {object} options - Engine options
262
245
  * @returns {OrchestrationEngine} Configured engine
263
246
  */
@@ -283,7 +266,7 @@ function createOrchestrationEngine(options = {}) {
283
266
 
284
267
  /**
285
268
  * Create an orchestration engine with custom patterns
286
- *
269
+ *
287
270
  * @param {object} options - Engine options
288
271
  * @param {object[]} patterns - Custom patterns to register
289
272
  * @returns {OrchestrationEngine} Configured engine
@@ -504,5 +487,5 @@ module.exports = {
504
487
  createAdvancedValidation,
505
488
  VALIDATION_TYPE,
506
489
  ARTIFACT_TYPE,
507
- GAP_SEVERITY
490
+ GAP_SEVERITY,
508
491
  };