musubi-sdd 5.1.0 → 5.6.2
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.
- package/README.ja.md +106 -48
- package/README.md +110 -32
- package/bin/musubi-analyze.js +74 -67
- package/bin/musubi-browser.js +27 -26
- package/bin/musubi-change.js +48 -47
- package/bin/musubi-checkpoint.js +10 -7
- package/bin/musubi-convert.js +25 -25
- package/bin/musubi-costs.js +27 -10
- package/bin/musubi-gui.js +52 -46
- package/bin/musubi-init.js +1952 -10
- package/bin/musubi-orchestrate.js +327 -239
- package/bin/musubi-remember.js +69 -56
- package/bin/musubi-resolve.js +53 -45
- package/bin/musubi-trace.js +51 -22
- package/bin/musubi-validate.js +39 -30
- package/bin/musubi-workflow.js +33 -34
- package/bin/musubi.js +39 -2
- package/package.json +1 -1
- package/src/agents/agent-loop.js +94 -95
- package/src/agents/agentic/code-generator.js +119 -109
- package/src/agents/agentic/code-reviewer.js +105 -108
- package/src/agents/agentic/index.js +4 -4
- package/src/agents/browser/action-executor.js +13 -13
- package/src/agents/browser/ai-comparator.js +11 -10
- package/src/agents/browser/context-manager.js +6 -6
- package/src/agents/browser/index.js +5 -5
- package/src/agents/browser/nl-parser.js +31 -46
- package/src/agents/browser/screenshot.js +2 -2
- package/src/agents/browser/test-generator.js +6 -4
- package/src/agents/function-tool.js +71 -65
- package/src/agents/index.js +7 -7
- package/src/agents/schema-generator.js +98 -94
- package/src/analyzers/ast-extractor.js +158 -146
- package/src/analyzers/codegraph-auto-update.js +858 -0
- package/src/analyzers/complexity-analyzer.js +536 -0
- package/src/analyzers/context-optimizer.js +241 -126
- package/src/analyzers/impact-analyzer.js +1 -1
- package/src/analyzers/large-project-analyzer.js +766 -0
- package/src/analyzers/repository-map.js +77 -81
- package/src/analyzers/security-analyzer.js +19 -11
- package/src/analyzers/stuck-detector.js +19 -17
- package/src/converters/index.js +78 -57
- package/src/converters/ir/types.js +12 -12
- package/src/converters/parsers/musubi-parser.js +134 -126
- package/src/converters/parsers/openapi-parser.js +70 -53
- package/src/converters/parsers/speckit-parser.js +239 -175
- package/src/converters/writers/musubi-writer.js +123 -118
- package/src/converters/writers/speckit-writer.js +124 -113
- package/src/generators/rust-migration-generator.js +512 -0
- package/src/gui/public/index.html +1365 -1211
- package/src/gui/server.js +41 -40
- package/src/gui/services/file-watcher.js +23 -8
- package/src/gui/services/project-scanner.js +26 -20
- package/src/gui/services/replanning-service.js +27 -23
- package/src/gui/services/traceability-service.js +8 -8
- package/src/gui/services/workflow-service.js +14 -7
- package/src/index.js +151 -0
- package/src/integrations/cicd.js +90 -104
- package/src/integrations/codegraph-mcp.js +643 -0
- package/src/integrations/documentation.js +142 -103
- package/src/integrations/examples.js +95 -80
- package/src/integrations/github-client.js +17 -17
- package/src/integrations/index.js +5 -5
- package/src/integrations/mcp/index.js +21 -21
- package/src/integrations/mcp/mcp-context-provider.js +76 -78
- package/src/integrations/mcp/mcp-discovery.js +74 -72
- package/src/integrations/mcp/mcp-tool-registry.js +99 -94
- package/src/integrations/mcp-connector.js +70 -66
- package/src/integrations/platforms.js +50 -49
- package/src/integrations/tool-discovery.js +37 -31
- package/src/llm-providers/anthropic-provider.js +11 -11
- package/src/llm-providers/base-provider.js +16 -18
- package/src/llm-providers/copilot-provider.js +22 -19
- package/src/llm-providers/index.js +26 -25
- package/src/llm-providers/ollama-provider.js +11 -11
- package/src/llm-providers/openai-provider.js +12 -12
- package/src/managers/agent-memory.js +36 -24
- package/src/managers/checkpoint-manager.js +4 -8
- package/src/managers/delta-spec.js +19 -19
- package/src/managers/index.js +13 -4
- package/src/managers/memory-condenser.js +35 -45
- package/src/managers/repo-skill-manager.js +57 -31
- package/src/managers/skill-loader.js +25 -22
- package/src/managers/skill-tools.js +36 -72
- package/src/managers/workflow.js +30 -22
- package/src/monitoring/cost-tracker.js +48 -46
- package/src/monitoring/incident-manager.js +116 -106
- package/src/monitoring/index.js +144 -134
- package/src/monitoring/observability.js +75 -62
- package/src/monitoring/quality-dashboard.js +45 -41
- package/src/monitoring/release-manager.js +63 -53
- package/src/orchestration/agent-skill-binding.js +39 -47
- package/src/orchestration/error-handler.js +65 -107
- package/src/orchestration/guardrails/base-guardrail.js +26 -24
- package/src/orchestration/guardrails/guardrail-rules.js +50 -64
- package/src/orchestration/guardrails/index.js +5 -5
- package/src/orchestration/guardrails/input-guardrail.js +58 -45
- package/src/orchestration/guardrails/output-guardrail.js +104 -81
- package/src/orchestration/guardrails/safety-check.js +79 -79
- package/src/orchestration/index.js +38 -55
- package/src/orchestration/mcp-tool-adapters.js +96 -99
- package/src/orchestration/orchestration-engine.js +21 -21
- package/src/orchestration/pattern-registry.js +60 -45
- package/src/orchestration/patterns/auto.js +34 -47
- package/src/orchestration/patterns/group-chat.js +59 -65
- package/src/orchestration/patterns/handoff.js +67 -65
- package/src/orchestration/patterns/human-in-loop.js +51 -72
- package/src/orchestration/patterns/nested.js +25 -40
- package/src/orchestration/patterns/sequential.js +35 -34
- package/src/orchestration/patterns/swarm.js +63 -56
- package/src/orchestration/patterns/triage.js +150 -109
- package/src/orchestration/reasoning/index.js +9 -9
- package/src/orchestration/reasoning/planning-engine.js +143 -140
- package/src/orchestration/reasoning/reasoning-engine.js +206 -144
- package/src/orchestration/reasoning/self-correction.js +121 -128
- package/src/orchestration/replanning/adaptive-goal-modifier.js +107 -112
- package/src/orchestration/replanning/alternative-generator.js +37 -42
- package/src/orchestration/replanning/config.js +63 -59
- package/src/orchestration/replanning/goal-progress-tracker.js +98 -100
- package/src/orchestration/replanning/index.js +24 -20
- package/src/orchestration/replanning/plan-evaluator.js +49 -50
- package/src/orchestration/replanning/plan-monitor.js +32 -28
- package/src/orchestration/replanning/proactive-path-optimizer.js +175 -178
- package/src/orchestration/replanning/replan-history.js +33 -26
- package/src/orchestration/replanning/replanning-engine.js +106 -108
- package/src/orchestration/skill-executor.js +107 -109
- package/src/orchestration/skill-registry.js +85 -89
- package/src/orchestration/workflow-examples.js +228 -231
- package/src/orchestration/workflow-executor.js +65 -68
- package/src/orchestration/workflow-orchestrator.js +72 -73
- package/src/phase4-integration.js +47 -40
- package/src/phase5-integration.js +89 -30
- package/src/reporters/coverage-report.js +82 -30
- package/src/reporters/hierarchical-reporter.js +498 -0
- package/src/reporters/traceability-matrix-report.js +29 -20
- package/src/resolvers/issue-resolver.js +43 -31
- package/src/steering/advanced-validation.js +133 -124
- package/src/steering/auto-updater.js +60 -73
- package/src/steering/index.js +6 -6
- package/src/steering/quality-metrics.js +41 -35
- package/src/steering/steering-auto-update.js +83 -86
- package/src/steering/steering-validator.js +98 -106
- package/src/steering/template-constraints.js +53 -54
- package/src/templates/agents/claude-code/CLAUDE.md +32 -32
- package/src/templates/agents/claude-code/skills/agent-assistant/SKILL.md +13 -5
- package/src/templates/agents/claude-code/skills/ai-ml-engineer/mlops-guide.md +23 -23
- package/src/templates/agents/claude-code/skills/ai-ml-engineer/model-card-template.md +60 -41
- package/src/templates/agents/claude-code/skills/api-designer/api-patterns.md +27 -19
- package/src/templates/agents/claude-code/skills/api-designer/openapi-template.md +11 -7
- package/src/templates/agents/claude-code/skills/bug-hunter/SKILL.md +4 -3
- package/src/templates/agents/claude-code/skills/bug-hunter/root-cause-analysis.md +37 -15
- package/src/templates/agents/claude-code/skills/change-impact-analyzer/dependency-graph-patterns.md +36 -42
- package/src/templates/agents/claude-code/skills/change-impact-analyzer/impact-analysis-template.md +69 -60
- package/src/templates/agents/claude-code/skills/cloud-architect/aws-patterns.md +31 -38
- package/src/templates/agents/claude-code/skills/cloud-architect/azure-patterns.md +28 -23
- package/src/templates/agents/claude-code/skills/code-reviewer/SKILL.md +61 -0
- package/src/templates/agents/claude-code/skills/code-reviewer/best-practices.md +27 -0
- package/src/templates/agents/claude-code/skills/code-reviewer/review-checklist.md +29 -10
- package/src/templates/agents/claude-code/skills/code-reviewer/review-standards.md +29 -24
- package/src/templates/agents/claude-code/skills/constitution-enforcer/SKILL.md +8 -6
- package/src/templates/agents/claude-code/skills/constitution-enforcer/constitutional-articles.md +62 -26
- package/src/templates/agents/claude-code/skills/constitution-enforcer/phase-minus-one-gates.md +35 -16
- package/src/templates/agents/claude-code/skills/database-administrator/backup-recovery.md +27 -17
- package/src/templates/agents/claude-code/skills/database-administrator/tuning-guide.md +25 -20
- package/src/templates/agents/claude-code/skills/database-schema-designer/schema-patterns.md +39 -22
- package/src/templates/agents/claude-code/skills/devops-engineer/ci-cd-templates.md +25 -22
- package/src/templates/agents/claude-code/skills/issue-resolver/SKILL.md +24 -21
- package/src/templates/agents/claude-code/skills/orchestrator/SKILL.md +148 -63
- package/src/templates/agents/claude-code/skills/orchestrator/patterns.md +35 -16
- package/src/templates/agents/claude-code/skills/orchestrator/selection-matrix.md +69 -64
- package/src/templates/agents/claude-code/skills/performance-engineer/optimization-playbook.md +47 -47
- package/src/templates/agents/claude-code/skills/performance-optimizer/SKILL.md +69 -0
- package/src/templates/agents/claude-code/skills/performance-optimizer/benchmark-template.md +63 -45
- package/src/templates/agents/claude-code/skills/performance-optimizer/optimization-patterns.md +33 -35
- package/src/templates/agents/claude-code/skills/project-manager/SKILL.md +7 -6
- package/src/templates/agents/claude-code/skills/project-manager/agile-ceremonies.md +47 -28
- package/src/templates/agents/claude-code/skills/project-manager/project-templates.md +94 -78
- package/src/templates/agents/claude-code/skills/quality-assurance/SKILL.md +20 -17
- package/src/templates/agents/claude-code/skills/quality-assurance/qa-plan-template.md +63 -49
- package/src/templates/agents/claude-code/skills/release-coordinator/SKILL.md +5 -5
- package/src/templates/agents/claude-code/skills/release-coordinator/feature-flag-guide.md +30 -26
- package/src/templates/agents/claude-code/skills/release-coordinator/release-plan-template.md +67 -35
- package/src/templates/agents/claude-code/skills/requirements-analyst/ears-format.md +54 -42
- package/src/templates/agents/claude-code/skills/requirements-analyst/validation-rules.md +36 -33
- package/src/templates/agents/claude-code/skills/security-auditor/SKILL.md +77 -19
- package/src/templates/agents/claude-code/skills/security-auditor/audit-checklists.md +24 -24
- package/src/templates/agents/claude-code/skills/security-auditor/owasp-top-10.md +61 -20
- package/src/templates/agents/claude-code/skills/security-auditor/vulnerability-patterns.md +43 -11
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/SKILL.md +1 -0
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/incident-response-template.md +55 -25
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/observability-patterns.md +78 -68
- package/src/templates/agents/claude-code/skills/site-reliability-engineer/slo-sli-guide.md +73 -53
- package/src/templates/agents/claude-code/skills/software-developer/solid-principles.md +83 -37
- package/src/templates/agents/claude-code/skills/software-developer/test-first-workflow.md +38 -31
- package/src/templates/agents/claude-code/skills/steering/SKILL.md +1 -0
- package/src/templates/agents/claude-code/skills/steering/auto-update-rules.md +31 -0
- package/src/templates/agents/claude-code/skills/system-architect/adr-template.md +25 -7
- package/src/templates/agents/claude-code/skills/system-architect/c4-model-guide.md +74 -61
- package/src/templates/agents/claude-code/skills/technical-writer/doc-templates/documentation-templates.md +70 -52
- package/src/templates/agents/claude-code/skills/test-engineer/SKILL.md +2 -0
- package/src/templates/agents/claude-code/skills/test-engineer/ears-test-mapping.md +75 -71
- package/src/templates/agents/claude-code/skills/test-engineer/test-types.md +85 -63
- package/src/templates/agents/claude-code/skills/traceability-auditor/coverage-matrix-template.md +39 -36
- package/src/templates/agents/claude-code/skills/traceability-auditor/gap-detection-rules.md +22 -17
- package/src/templates/agents/claude-code/skills/ui-ux-designer/SKILL.md +1 -0
- package/src/templates/agents/claude-code/skills/ui-ux-designer/accessibility-guidelines.md +49 -75
- package/src/templates/agents/claude-code/skills/ui-ux-designer/design-system-components.md +71 -59
- package/src/templates/agents/codex/AGENTS.md +74 -42
- package/src/templates/agents/cursor/AGENTS.md +74 -42
- package/src/templates/agents/gemini-cli/GEMINI.md +74 -42
- package/src/templates/agents/github-copilot/AGENTS.md +83 -51
- package/src/templates/agents/qwen-code/QWEN.md +74 -42
- package/src/templates/agents/windsurf/AGENTS.md +74 -42
- package/src/templates/architectures/README.md +41 -0
- package/src/templates/architectures/clean-architecture/README.md +113 -0
- package/src/templates/architectures/event-driven/README.md +162 -0
- package/src/templates/architectures/hexagonal/README.md +130 -0
- package/src/templates/index.js +6 -1
- package/src/templates/locale-manager.js +16 -16
- package/src/templates/shared/delta-spec-template.md +20 -13
- package/src/templates/shared/github-actions/musubi-issue-resolver.yml +5 -5
- package/src/templates/shared/github-actions/musubi-security-check.yml +3 -3
- package/src/templates/shared/github-actions/musubi-validate.yml +4 -4
- package/src/templates/shared/steering/structure.md +95 -0
- package/src/templates/skills/browser-agent.md +21 -16
- package/src/templates/skills/web-gui.md +8 -0
- package/src/templates/template-constraints.js +50 -53
- package/src/validators/advanced-validation.js +30 -36
- package/src/validators/constitutional-validator.js +77 -73
- package/src/validators/critic-system.js +49 -59
- package/src/validators/delta-format.js +59 -55
- 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(
|
|
194
|
-
rule.id.toUpperCase(),
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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(
|
|
202
|
-
'RULE_ERROR',
|
|
203
|
-
|
|
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(
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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(
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
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(
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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 =
|
|
337
|
-
|
|
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 =
|
|
352
|
-
|
|
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 =
|
|
367
|
-
|
|
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
|
};
|