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.
- 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 +164 -145
- package/src/analyzers/codegraph-auto-update.js +858 -0
- package/src/analyzers/complexity-analyzer.js +536 -0
- package/src/analyzers/context-optimizer.js +247 -125
- package/src/analyzers/impact-analyzer.js +1 -1
- package/src/analyzers/large-project-analyzer.js +766 -0
- package/src/analyzers/repository-map.js +83 -80
- 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 +53 -44
- package/src/monitoring/incident-manager.js +123 -103
- package/src/monitoring/index.js +144 -134
- package/src/monitoring/observability.js +82 -59
- package/src/monitoring/quality-dashboard.js +51 -39
- package/src/monitoring/release-manager.js +70 -50
- 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,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MUSUBI Issue Resolver
|
|
3
|
-
*
|
|
3
|
+
*
|
|
4
4
|
* GitHub Issue を分析し、自動的に解決策を提案・実装
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
6
|
* @module src/resolvers/issue-resolver
|
|
7
7
|
* @see REQ-P0-B006
|
|
8
8
|
* @inspired-by OpenHands openhands/resolver/
|
|
@@ -63,10 +63,10 @@ class IssueInfo {
|
|
|
63
63
|
* @returns {string}
|
|
64
64
|
*/
|
|
65
65
|
get type() {
|
|
66
|
-
const labelNames = this.labels.map(l =>
|
|
66
|
+
const labelNames = this.labels.map(l =>
|
|
67
67
|
typeof l === 'string' ? l.toLowerCase() : (l.name || '').toLowerCase()
|
|
68
68
|
);
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
if (labelNames.some(l => l.includes('bug') || l.includes('fix'))) {
|
|
71
71
|
return IssueType.BUG;
|
|
72
72
|
}
|
|
@@ -234,7 +234,7 @@ class IssueResolver {
|
|
|
234
234
|
this.draftPR = options.draftPR !== false;
|
|
235
235
|
this.dryRun = options.dryRun || false;
|
|
236
236
|
this.repo = options.repo || this._detectRepo();
|
|
237
|
-
|
|
237
|
+
|
|
238
238
|
// GitHub クライアント初期化
|
|
239
239
|
this.github = null;
|
|
240
240
|
if (GitHubClient && this.githubToken && this.repo) {
|
|
@@ -276,21 +276,23 @@ class IssueResolver {
|
|
|
276
276
|
|
|
277
277
|
try {
|
|
278
278
|
// 1. Issue 情報を取得/正規化
|
|
279
|
-
const issueInfo = issue instanceof IssueInfo
|
|
280
|
-
? issue
|
|
281
|
-
: await this.fetchIssue(issue);
|
|
279
|
+
const issueInfo = issue instanceof IssueInfo ? issue : await this.fetchIssue(issue);
|
|
282
280
|
result.issue = issueInfo;
|
|
283
281
|
|
|
284
282
|
// 2. 要件抽出
|
|
285
283
|
result.requirements = this.extractRequirements(issueInfo);
|
|
286
|
-
|
|
284
|
+
|
|
287
285
|
// 3. 影響範囲分析
|
|
288
286
|
result.status = ResolverStatus.ANALYZING;
|
|
289
287
|
result.impactAnalysis = await this.analyzeImpact(result.requirements, issueInfo);
|
|
290
288
|
|
|
291
289
|
// 4. 変更計画を生成
|
|
292
290
|
result.status = ResolverStatus.IMPLEMENTING;
|
|
293
|
-
result.changes = await this.planChanges(
|
|
291
|
+
result.changes = await this.planChanges(
|
|
292
|
+
issueInfo,
|
|
293
|
+
result.requirements,
|
|
294
|
+
result.impactAnalysis
|
|
295
|
+
);
|
|
294
296
|
|
|
295
297
|
// 5. テスト計画を生成
|
|
296
298
|
result.status = ResolverStatus.TESTING;
|
|
@@ -340,7 +342,7 @@ class IssueResolver {
|
|
|
340
342
|
|
|
341
343
|
/**
|
|
342
344
|
* 分析コメントをフォーマット
|
|
343
|
-
* @param {ResolverResult} result
|
|
345
|
+
* @param {ResolverResult} result
|
|
344
346
|
* @returns {string}
|
|
345
347
|
*/
|
|
346
348
|
_formatAnalysisComment(result) {
|
|
@@ -361,7 +363,10 @@ class IssueResolver {
|
|
|
361
363
|
comment += `- **Risk Level**: ${result.impactAnalysis.riskLevel}\n`;
|
|
362
364
|
comment += `- **Estimated Effort**: ${result.impactAnalysis.estimatedEffort}\n`;
|
|
363
365
|
if (result.impactAnalysis.affectedFiles.length > 0) {
|
|
364
|
-
comment += `- **Affected Files**: ${result.impactAnalysis.affectedFiles
|
|
366
|
+
comment += `- **Affected Files**: ${result.impactAnalysis.affectedFiles
|
|
367
|
+
.slice(0, 5)
|
|
368
|
+
.map(f => `\`${f}\``)
|
|
369
|
+
.join(', ')}\n`;
|
|
365
370
|
}
|
|
366
371
|
}
|
|
367
372
|
|
|
@@ -371,8 +376,8 @@ class IssueResolver {
|
|
|
371
376
|
|
|
372
377
|
/**
|
|
373
378
|
* PR 本文をフォーマット
|
|
374
|
-
* @param {IssueInfo} issue
|
|
375
|
-
* @param {ResolverResult} result
|
|
379
|
+
* @param {IssueInfo} issue
|
|
380
|
+
* @param {ResolverResult} result
|
|
376
381
|
* @returns {string}
|
|
377
382
|
*/
|
|
378
383
|
_formatPRBody(issue, result) {
|
|
@@ -380,7 +385,7 @@ class IssueResolver {
|
|
|
380
385
|
body += `Resolves #${issue.number}\n\n`;
|
|
381
386
|
|
|
382
387
|
body += `## Requirements Addressed\n\n`;
|
|
383
|
-
result.requirements.forEach((req,
|
|
388
|
+
result.requirements.forEach((req, _i) => {
|
|
384
389
|
body += `- [ ] ${req}\n`;
|
|
385
390
|
});
|
|
386
391
|
|
|
@@ -455,7 +460,7 @@ class IssueResolver {
|
|
|
455
460
|
|
|
456
461
|
/**
|
|
457
462
|
* Issue から要件を抽出
|
|
458
|
-
* @param {IssueInfo} issue
|
|
463
|
+
* @param {IssueInfo} issue
|
|
459
464
|
* @returns {string[]}
|
|
460
465
|
*/
|
|
461
466
|
extractRequirements(issue) {
|
|
@@ -503,8 +508,8 @@ class IssueResolver {
|
|
|
503
508
|
|
|
504
509
|
/**
|
|
505
510
|
* 影響範囲を分析
|
|
506
|
-
* @param {string[]} requirements
|
|
507
|
-
* @param {IssueInfo} issue
|
|
511
|
+
* @param {string[]} requirements
|
|
512
|
+
* @param {IssueInfo} issue
|
|
508
513
|
* @returns {Promise<ImpactAnalysis>}
|
|
509
514
|
*/
|
|
510
515
|
async analyzeImpact(requirements, issue) {
|
|
@@ -561,15 +566,22 @@ class IssueResolver {
|
|
|
561
566
|
|
|
562
567
|
/**
|
|
563
568
|
* リスクレベルを推定
|
|
564
|
-
* @param {IssueInfo} issue
|
|
565
|
-
* @param {ImpactAnalysis} analysis
|
|
569
|
+
* @param {IssueInfo} issue
|
|
570
|
+
* @param {ImpactAnalysis} analysis
|
|
566
571
|
* @returns {string}
|
|
567
572
|
*/
|
|
568
573
|
_estimateRiskLevel(issue, analysis) {
|
|
569
574
|
const content = issue.fullContent.toLowerCase();
|
|
570
|
-
|
|
575
|
+
|
|
571
576
|
// 高リスクキーワード
|
|
572
|
-
const highRiskKeywords = [
|
|
577
|
+
const highRiskKeywords = [
|
|
578
|
+
'security',
|
|
579
|
+
'authentication',
|
|
580
|
+
'authorization',
|
|
581
|
+
'database',
|
|
582
|
+
'migration',
|
|
583
|
+
'production',
|
|
584
|
+
];
|
|
573
585
|
if (highRiskKeywords.some(k => content.includes(k))) {
|
|
574
586
|
return 'high';
|
|
575
587
|
}
|
|
@@ -584,8 +596,8 @@ class IssueResolver {
|
|
|
584
596
|
|
|
585
597
|
/**
|
|
586
598
|
* 工数を推定
|
|
587
|
-
* @param {IssueInfo} issue
|
|
588
|
-
* @param {string[]} requirements
|
|
599
|
+
* @param {IssueInfo} issue
|
|
600
|
+
* @param {string[]} requirements
|
|
589
601
|
* @returns {string}
|
|
590
602
|
*/
|
|
591
603
|
_estimateEffort(issue, requirements) {
|
|
@@ -596,9 +608,9 @@ class IssueResolver {
|
|
|
596
608
|
|
|
597
609
|
/**
|
|
598
610
|
* 変更計画を作成
|
|
599
|
-
* @param {IssueInfo} issue
|
|
600
|
-
* @param {string[]} requirements
|
|
601
|
-
* @param {ImpactAnalysis} impact
|
|
611
|
+
* @param {IssueInfo} issue
|
|
612
|
+
* @param {string[]} requirements
|
|
613
|
+
* @param {ImpactAnalysis} impact
|
|
602
614
|
* @returns {Promise<Object[]>}
|
|
603
615
|
*/
|
|
604
616
|
async planChanges(issue, requirements, impact) {
|
|
@@ -635,8 +647,8 @@ class IssueResolver {
|
|
|
635
647
|
|
|
636
648
|
/**
|
|
637
649
|
* テスト計画を作成
|
|
638
|
-
* @param {IssueInfo} issue
|
|
639
|
-
* @param {Object[]} changes
|
|
650
|
+
* @param {IssueInfo} issue
|
|
651
|
+
* @param {Object[]} changes
|
|
640
652
|
* @returns {Promise<Object[]>}
|
|
641
653
|
*/
|
|
642
654
|
async planTests(issue, changes) {
|
|
@@ -667,7 +679,7 @@ class IssueResolver {
|
|
|
667
679
|
|
|
668
680
|
/**
|
|
669
681
|
* ブランチ名を生成
|
|
670
|
-
* @param {IssueInfo} issue
|
|
682
|
+
* @param {IssueInfo} issue
|
|
671
683
|
* @returns {string}
|
|
672
684
|
*/
|
|
673
685
|
generateBranchName(issue) {
|
|
@@ -682,7 +694,7 @@ class IssueResolver {
|
|
|
682
694
|
|
|
683
695
|
/**
|
|
684
696
|
* プレビューを生成(dry run用)
|
|
685
|
-
* @param {ResolverResult} result
|
|
697
|
+
* @param {ResolverResult} result
|
|
686
698
|
* @returns {string}
|
|
687
699
|
*/
|
|
688
700
|
generatePreview(result) {
|