musubix 2.1.0 → 2.2.0

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 (70) hide show
  1. package/README.md +44 -310
  2. package/bin/musubix.js +4 -12
  3. package/dist/index.d.ts +25 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +73 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +49 -72
  8. package/.github/AGENTS.md +0 -242
  9. package/.github/prompts/sdd-change-apply.prompt.md +0 -283
  10. package/.github/prompts/sdd-change-archive.prompt.md +0 -241
  11. package/.github/prompts/sdd-change-init.prompt.md +0 -269
  12. package/.github/prompts/sdd-design.prompt.md +0 -250
  13. package/.github/prompts/sdd-implement.prompt.md +0 -387
  14. package/.github/prompts/sdd-requirements.prompt.md +0 -193
  15. package/.github/prompts/sdd-review.prompt.md +0 -155
  16. package/.github/prompts/sdd-security.prompt.md +0 -228
  17. package/.github/prompts/sdd-steering.prompt.md +0 -269
  18. package/.github/prompts/sdd-tasks.prompt.md +0 -255
  19. package/.github/prompts/sdd-test.prompt.md +0 -230
  20. package/.github/prompts/sdd-validate.prompt.md +0 -304
  21. package/.github/skills/musubix-adr-generation/SKILL.md +0 -209
  22. package/.github/skills/musubix-best-practices/SKILL.md +0 -315
  23. package/.github/skills/musubix-c4-design/SKILL.md +0 -162
  24. package/.github/skills/musubix-code-generation/SKILL.md +0 -229
  25. package/.github/skills/musubix-domain-inference/SKILL.md +0 -196
  26. package/.github/skills/musubix-ears-validation/SKILL.md +0 -161
  27. package/.github/skills/musubix-sdd-workflow/SKILL.md +0 -210
  28. package/.github/skills/musubix-test-generation/SKILL.md +0 -212
  29. package/.github/skills/musubix-traceability/SKILL.md +0 -141
  30. package/AGENTS.md +0 -622
  31. package/LICENSE +0 -21
  32. package/README.ja.md +0 -302
  33. package/bin/musubix-mcp.js +0 -19
  34. package/docs/API-REFERENCE.md +0 -1425
  35. package/docs/GITHUB-ACTIONS-NPM-SETUP.md +0 -132
  36. package/docs/INSTALL-GUIDE.ja.md +0 -459
  37. package/docs/INSTALL-GUIDE.md +0 -459
  38. package/docs/MUSUBI-enhancement_roadmap_20260105.md +0 -651
  39. package/docs/MUSUBIv1.6.1-enhancement_roadmap_20260105.md +0 -291
  40. package/docs/ROADMAP-v1.5.md +0 -116
  41. package/docs/SwarmCoding.md +0 -1284
  42. package/docs/Test-prompt.md +0 -105
  43. package/docs/USER-GUIDE-v1.8.0.md +0 -2371
  44. package/docs/USER-GUIDE.ja.md +0 -2147
  45. package/docs/USER-GUIDE.md +0 -2652
  46. package/docs/adr/0001-real-time-pattern-learning-architecture-for-v1-5-0.md +0 -75
  47. package/docs/adr/0002-pattern-sharing-protocol-for-cross-team-collaborat.md +0 -79
  48. package/docs/adr/0003-owl-2-rl-implementation-strategy-for-advanced-infe.md +0 -90
  49. package/docs/evolution-from-musubi-to-musubix.md +0 -2168
  50. package/docs/getting-started-with-sdd.md +0 -1602
  51. package/docs/overview/MUSUBIX-Core.md +0 -671
  52. package/docs/overview/MUSUBIX-FormalVerify.md +0 -566
  53. package/docs/overview/MUSUBIX-Learning.md +0 -837
  54. package/docs/overview/MUSUBIX-MCP-Server.md +0 -535
  55. package/docs/overview/MUSUBIX-Overview.md +0 -264
  56. package/docs/overview/MUSUBIX-Phase1-Complete.md +0 -271
  57. package/docs/overview/MUSUBIX-Phase2-Complete.md +0 -310
  58. package/docs/overview/MUSUBIX-Roadmap-v2.md +0 -399
  59. package/docs/overview/MUSUBIX-Security-Plan.md +0 -939
  60. package/docs/overview/MUSUBIX-Security.md +0 -891
  61. package/docs/overview/MUSUBIX-YATA.md +0 -666
  62. package/docs/overview/Neuro-SymbolicAI.md +0 -159
  63. package/scripts/generate-quality-gate-report.ts +0 -106
  64. package/scripts/postinstall.js +0 -94
  65. package/steering/.musubi-version +0 -1
  66. package/steering/product.ja.md +0 -572
  67. package/steering/project.yml +0 -66
  68. package/steering/rules/constitution.md +0 -412
  69. package/steering/structure.ja.md +0 -503
  70. package/steering/tech.ja.md +0 -208
@@ -1,159 +0,0 @@
1
- # Neuro-Symbolic AIのソフトウェア開発ツールへの実用化状況
2
-
3
- Neuro-Symbolic AI(記号的推論とニューラルネットワークの統合)は、**形式検証・定理証明の分野で最も成熟した実用化**が進んでいる。商用コーディングツールでは「真の統合」よりも「ニューラル主導+記号的コンテキスト補強」が主流であり、JetBrains AI AssistantとMicrosoft PROSE/FlashMetaが最も深い統合を実現している。DeepMind AlphaProof(IMO銀メダル相当)、MIT DreamCoder(ライブラリ学習)、IBM LNN(論理ニューラルネットワーク)が技術的に最先端のアプローチを示す。
4
-
5
- ## カテゴリ別の実用化事例一覧
6
-
7
- ### 1. 形式検証・定理証明ツール(最も成熟した領域)
8
-
9
- | ツール名 | 開発元 | 記号的コンポーネント | ニューラルコンポーネント | 統合アーキテクチャ | 実用化レベル |
10
- |---------|--------|---------------------|------------------------|------------------|------------|
11
- | **AlphaProof** | DeepMind | Lean証明検証カーネル | Gemini + AlphaZeroのRL | 探索木+強化学習(Test-Time RL) | 研究(Nature 2025) |
12
- | **LeanDojo/ReProver** | Caltech | Lean 4証明支援系 | ByT5(**299M**パラメータ)+ 検索拡張 | ベストファースト探索 | **製品利用可**(MIT) |
13
- | **Lean Copilot** | Caltech | Lean 4 ネイティブ | ReProverモデル | FFI経由でLLM推論 | **製品利用可**(MIT) |
14
- | **AutoVerus** | Microsoft Research | Verus(Rust用SMT検証器) | GPT-4oマルチエージェント | 3フェーズワークフロー | 研究(OOPSLA 2025) |
15
- | **Baldur** | UMass/Google | Isabelle/HOL | Minerva系LLM | 全証明生成+エラー修復 | 研究 |
16
- | **Thor** | Cambridge/Warsaw | Isabelle + Sledgehammer | Transformer | LLM+自動定理証明器統合 | 研究 |
17
- | **Tactician** | Radboud/CTU | Coq(プラグイン) | K-NN/GNN(Graph2Tac) | オンライン学習 | **製品利用可** |
18
-
19
- AlphaProofは2024年国際数学オリンピックで**銀メダル相当(28/42点、6問中4問解決)**を達成した。LeanDojoは**1GPUで1週間の学習**という低コストで高性能を実現し、オープンソースで公開されている。
20
-
21
- ### 2. プログラム合成・修復ツール
22
-
23
- | ツール名 | 開発元 | 記号的コンポーネント | ニューラルコンポーネント | 統合パターン | 実用化レベル |
24
- |---------|--------|---------------------|------------------------|------------|------------|
25
- | **DreamCoder** | MIT | 型指向列挙探索 + E-graph | 認識モデル(構造予測) | Wake-Sleep学習 | 研究(PLDI 2021) |
26
- | **DeepCoder** | Microsoft Research | DFS/SMT/λ² | 関数出現確率予測NN | Neural as Search Guidance | 研究 |
27
- | **AlphaCode** | DeepMind | 実行フィルタリング+クラスタリング | Transformer(**41.4B**パラメータ) | 大量生成→記号フィルタ | 研究 |
28
- | **PROSE/FlashMeta** | Microsoft | 演繹的合成(Witness関数) | NGDS拡張(分岐スコアリング) | Symbolic→Neural | **商用(Excel等に搭載)** |
29
- | **RobustFill** | Microsoft Research | FlashFill DSL出力 | Attention付きSeq2Seq | End-to-End | 研究 |
30
- | **Neural Program Repair** | 各種 | テスト検証、AST制約 | Seq2Seq/Transformer | 生成→検証ループ | 研究/一部ツール |
31
-
32
- DreamCoderは**10^72年のブルートフォース探索**を要する問題を解決可能にする階層的ライブラリを学習できる。Microsoft PROSEは**Excel Flash Fill**、**PowerShell 3.0**、**Azure OMS**等に実際に搭載された唯一の商用化事例。
33
-
34
- ### 3. 知識グラフ・コード構造ベースツール
35
-
36
- | ツール名 | 開発元 | グラフ/知識表現 | ニューラルコンポーネント | 用途 | 実用化レベル |
37
- |---------|--------|---------------|------------------------|------|------------|
38
- | **GraphGen4Code** | IBM Research | RDF名前付きグラフ(**20億+トリプル**) | GNN、言語モデル統合 | コード理解、AutoML | **オープンソース**(EPL-2.0) |
39
- | **GraphCodeBERT** | Microsoft | データフローグラフ(DFG) | Transformer(RoBERTaベース) | コード検索、クローン検出 | **オープンソース**(Apache 2.0) |
40
- | **Code2Vec/Code2Seq** | Technion | AST パス表現 | Path-Attention Network | コード埋め込み | オープンソース |
41
- | **CodeOntology** | 大学研究 | OWL 2オントロジー(RDF) | SPARQL + ニューラルランキング | コード検索 | 研究プロトタイプ |
42
- | **Sourcegraph Cody** | Sourcegraph | コードグラフ + SCIP/LSIFインデックス | Claude 3/GPT | コードインテリジェンス | **商用** |
43
-
44
- GraphCodeBERTは**データフローグラフを構造として組み込んだ初のプリトレインモデル**で、コード検索・クローン検出・翻訳・改善の全タスクでSOTA(ICLR 2021)。
45
-
46
- ### 4. 商用AIコーディングツール
47
-
48
- | ツール名 | 開発元 | 記号的統合度 | 技術的特徴 | 評価 |
49
- |---------|--------|------------|----------|------|
50
- | **JetBrains AI Assistant** | JetBrains | **最高** | 20年以上のPSI(Program Structure Interface)静的解析基盤上にLLM | 真のハイブリッド |
51
- | **Sourcegraph Cody** | Sourcegraph | 高 | コードグラフ + 検索 + LLM | 検索主導型 |
52
- | **Tabnine** | Tabnine | 中 | グラフベースRAG、エンタープライズコンテキスト | RAG重視 |
53
- | **GitHub Copilot** | Microsoft/OpenAI | 低 | スニペット抽出、ヒューリスティックコンテキスト | ニューラル主導 |
54
- | **Cursor** | Anysphere | 低-中 | 埋め込み + AST | AI-native IDE |
55
- | **Amazon Q Developer** | AWS | 中-低 | CodeGuruセキュリティ統合 | セキュリティ補強 |
56
-
57
- JetBrains AI Assistantは**PSI(クラス階層分析、依存関係グラフ、型チェック)**という20年以上の静的解析インフラの上にLLMを配置し、真のNeuro-Symbolic統合を実現している。
58
-
59
- ### 5. テスト自動化・バグ検出ツール
60
-
61
- | ツール名 | 開発元 | 記号的コンポーネント | ニューラルコンポーネント | 用途 | 実用化レベル |
62
- |---------|--------|---------------------|------------------------|------|------------|
63
- | **Amazon CodeGuru** | AWS | 自動推論、テイント分析 | ロジスティック回帰 + CNN | セキュリティ、コードレビュー | **商用** |
64
- | **Snyk DeepCode AI** | Snyk | 記号ルール、テイント分析 | LLM(修正生成) | セキュリティ自動修正 | **商用** |
65
- | **Semgrep + AI** | Semgrep | パターンベース静的解析 | GPT-4(トリアージ) | セキュリティ、偽陽性削減 | **商用** |
66
- | **SonarQube + AI** | SonarSource | 静的解析ルール | AI CodeFix(LLM修正) | コード品質 | **商用** |
67
- | **Facebook Infer** | Meta | 双方向帰納、分離論理 | 限定的 | バグ検出 | **商用**(オープンソース) |
68
- | **DeepBugs** | UC Berkeley | AST抽出 | Word2Vec + NN分類器 | 名前ベースバグ | 研究 |
69
- | **BugLab** | Microsoft Research | グラフ表現(AST, DFG, CFG) | GNN(自己教師学習) | バグ検出・修復 | 研究 |
70
- | **NEUZZ** | 研究 | - | NN(勾配誘導) | ファジング | 研究 |
71
-
72
- Snyk DeepCode AIは**LLM生成の修正を記号ルールで再検証**してから適用する「ハイブリッドAI検証」を実装し、ハルシネーション防止を実現している。
73
-
74
- ### 6. 大企業の研究開発成果
75
-
76
- | 企業 | 主要プロジェクト | Neuro-Symbolicアプローチ | 特徴 |
77
- |-----|----------------|------------------------|------|
78
- | **IBM** | Logical Neural Networks(LNN)、CodeNet | **真のNeuro-Symbolic統合**(各ニューロン=論理式) | 解釈可能、少データ学習 |
79
- | **DeepMind** | AlphaProof、AlphaGeometry、AlphaCode | ニューラル + 形式証明システム | 数学的厳密性 |
80
- | **Microsoft** | Semantic Kernel、PROSE、Copilot | プラグインベース統合、RAG | エンタープライズ対応 |
81
- | **Meta** | LLaMA、Code LLaMA、Infer | ニューラル主導 + 安全ガードレール | オープンソース重視 |
82
- | **Amazon** | CodeGuru、Q Developer | ML + 自動推論 + 静的解析 | AWSエコシステム統合 |
83
- | **Salesforce** | CodeT5/CodeT5+ | 識別子認識プリトレーニング | コード意味論重視 |
84
- | **NVIDIA** | NeMo Agent Toolkit | エージェント統合、形式評価 | GPU最適化 |
85
-
86
- IBM LNN(Logical Neural Networks)は**各ニューロンが重み付き実数値論理式を表現**する革新的アーキテクチャで、全方向推論と劇的なデータ効率を実現。DeepMind AlphaGeometryは**金メダリストレベル(30問中25問解決)**のオリンピアド幾何学問題を解決。
87
-
88
- ## Neuro-Symbolic統合アーキテクチャの類型分類
89
-
90
- 調査結果から、以下の**6つの主要な統合パターン**が識別された:
91
-
92
- **1. Neural as Search Guidance(ニューラル探索誘導型)**
93
- - ニューラルモデルが探索分岐をスコアリング・優先順位付け
94
- - 例:DeepCoder、DreamCoder、NGDS、Thor
95
- - 特徴:記号的正確性を維持しつつ探索効率を10-100倍向上
96
-
97
- **2. Neural Generator + Symbolic Filter(生成→フィルタ型)**
98
- - ニューラルで大量生成し、記号的に検証・フィルタリング
99
- - 例:AlphaCode、Snyk DeepCode AI、AlphaProof
100
- - 特徴:ニューラルの生成力と記号的正確性の両立
101
-
102
- **3. Symbolic→Neural Context Augmentation(記号的コンテキスト補強型)**
103
- - 記号的分析(AST、型、依存関係)をLLMコンテキストとして供給
104
- - 例:JetBrains AI、Sourcegraph Cody、GraphCodeBERT
105
- - 特徴:既存の静的解析資産を活用
106
-
107
- **4. Interleaved Wake-Sleep(交互学習型)**
108
- - ニューラル学習と記号的抽象化を交互に実行
109
- - 例:DreamCoder、GPT-f/PACT
110
- - 特徴:概念ライブラリの自動成長
111
-
112
- **5. Formal Proof in the Loop(形式証明ループ型)**
113
- - ニューラル生成→形式検証器→フィードバック→再生成
114
- - 例:AutoVerus、Baldur、LeanDojo
115
- - 特徴:数学的に保証された正確性
116
-
117
- **6. Differentiable Symbolic(微分可能記号型)**
118
- - 記号操作を微分可能にして勾配ベース学習
119
- - 例:IBM LNN、∂ILP(微分可能帰納論理プログラミング)
120
- - 特徴:真の統合、両方向の情報フロー
121
-
122
- ## 技術的特徴と革新性のハイライト
123
-
124
- **形式検証分野での飛躍的進歩**が最も顕著である。AlphaProofはIMO 2024で**P6(最難問)を含む4問を解決**し、形式証明という「正解が数学的に保証される」環境でニューラル+記号統合の威力を実証した。LeanDojoは**1GPU・1週間**という低コストで再現可能な定理証明AIを実現し、研究の民主化に貢献。
125
-
126
- **商用ツールでの実用化**は、Microsoft PROSE(Excel Flash Fill)が**唯一の大規模展開成功例**として際立つ。JetBrains AI Assistantは**20年以上の静的解析インフラを活用**した点で真のハイブリッドアーキテクチャに最も近い。
127
-
128
- **知識グラフ分野**では、GraphCodeBERTの**データフローグラフをTransformer注意機構に統合**するアプローチが標準的手法として確立。GraphGen4Codeの**20億トリプル規模**のコード知識グラフも実現可能性を実証。
129
-
130
- ## MUSUBIXとの比較可能性
131
-
132
- 調査対象ツールとMUSUBIXを比較する際の主要な軸:
133
-
134
- | 比較軸 | 関連する先行事例 |
135
- |-------|----------------|
136
- | 記号推論の深さ | IBM LNN(真の論理統合)、AlphaProof(形式証明) |
137
- | 知識グラフ活用 | GraphGen4Code、Sourcegraph、CodeOntology |
138
- | プログラム合成 | DreamCoder(ライブラリ学習)、PROSE(演繹合成) |
139
- | コード理解 | GraphCodeBERT、JetBrains PSI |
140
- | 双方向統合 | IBM LNN(微分可能)、DreamCoder(Wake-Sleep) |
141
- | 商用化レベル | PROSE(Excel)、JetBrains AI、Snyk DeepCode |
142
-
143
- ## 主要リポジトリ・リソース一覧
144
-
145
- - **LeanDojo/ReProver**: github.com/lean-dojo/ReProver(MIT License)
146
- - **GraphGen4Code**: github.com/wala/graph4code(EPL-2.0)
147
- - **GraphCodeBERT**: huggingface.co/microsoft/graphcodebert-base(Apache 2.0)
148
- - **DreamCoder**: github.com/ellisk42/ec
149
- - **Tactician**: github.com/coq-tactician
150
- - **Code2Vec**: github.com/tech-srl/code2vec
151
- - **Facebook Infer**: github.com/facebook/infer
152
- - **Microsoft Semantic Kernel**: github.com/microsoft/semantic-kernel
153
- - **IBM Neuro-Symbolic AI Toolkit**: github.com/IBM/neuro-symbolic-ai
154
-
155
- ## 結論と今後の展望
156
-
157
- Neuro-Symbolic AIのソフトウェアエンジニアリングへの実用化は、**形式検証・定理証明が最も成熟**しており、AlphaProof・LeanDojoが数学的推論での有効性を実証した。商用コーディングツールは**ニューラル主導+コンテキスト補強**が主流で、真の深い統合は少ない。**JetBrains AI Assistant**と**Microsoft PROSE**が最も深い統合を達成している商用事例である。
158
-
159
- 今後の発展方向として、**Model Context Protocol(MCP)**による標準化、**形式検証をReward/Filterとして活用するRL**(AlphaProof型)、**LLM生成コードの記号的検証**(Snyk型)が有望。研究と商用のギャップは依然として大きく、DreamCoderやIBM LNNのような革新的アプローチの商用展開が次の課題となる。
@@ -1,106 +0,0 @@
1
- /**
2
- * Quality Gate Report Generator
3
- *
4
- * Generates an approval report for the Neuro-Symbolic Integration implementation.
5
- *
6
- * Usage: npx tsx scripts/generate-quality-gate-report.ts
7
- */
8
-
9
- import { QualityGateValidator, createComponentValidation } from '../packages/core/src/symbolic/quality-gate.js';
10
- import type { TraceabilityCoverage } from '../packages/core/src/symbolic/quality-gate.js';
11
- import * as fs from 'fs';
12
- import * as path from 'path';
13
-
14
- // Traceability data based on REQ-SYMB-001 and DES-SYMB-001
15
- const traceabilityData: TraceabilityCoverage[] = [
16
- // Semantic Filter requirements (REQ-SF-001〜003)
17
- { requirementId: 'REQ-SF-001', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-001'], testIds: ['semantic-filter.test.ts'], coveragePercent: 100 },
18
- { requirementId: 'REQ-SF-002', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-001'], testIds: ['semantic-filter.test.ts'], coveragePercent: 100 },
19
- { requirementId: 'REQ-SF-003', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-002'], testIds: ['hallucination-detector.test.ts'], coveragePercent: 100 },
20
-
21
- // Formal Verification requirements (REQ-FV-001〜005)
22
- { requirementId: 'REQ-FV-001', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-009'], testIds: ['ears-to-formal.test.ts'], coveragePercent: 100 },
23
- { requirementId: 'REQ-FV-002', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-010'], testIds: ['vc-generator.test.ts'], coveragePercent: 100 },
24
- { requirementId: 'REQ-FV-003', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-011'], testIds: ['z3-adapter.test.ts'], coveragePercent: 100 },
25
- { requirementId: 'REQ-FV-004', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-012'], testIds: ['z3-adapter.test.ts'], coveragePercent: 100 },
26
- { requirementId: 'REQ-FV-005', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-013'], testIds: ['security-scanner.test.ts'], coveragePercent: 100 },
27
-
28
- // Constitution requirements (REQ-CONST-001〜010)
29
- { requirementId: 'REQ-CONST-001', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003'], testIds: ['constitution-registry.test.ts'], coveragePercent: 100 },
30
- { requirementId: 'REQ-CONST-002', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003'], testIds: ['constitution-registry.test.ts'], coveragePercent: 100 },
31
- { requirementId: 'REQ-CONST-003', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003'], testIds: ['constitution-registry.test.ts'], coveragePercent: 100 },
32
- { requirementId: 'REQ-CONST-004', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003', 'TSK-SYMB-019'], testIds: ['constitution-registry.test.ts', 'quality-gate.test.ts'], coveragePercent: 100 },
33
- { requirementId: 'REQ-CONST-005', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003'], testIds: ['constitution-registry.test.ts'], coveragePercent: 100 },
34
- { requirementId: 'REQ-CONST-006', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003'], testIds: ['constitution-registry.test.ts'], coveragePercent: 100 },
35
- { requirementId: 'REQ-CONST-007', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003'], testIds: ['constitution-registry.test.ts'], coveragePercent: 100 },
36
- { requirementId: 'REQ-CONST-008', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003'], testIds: ['constitution-registry.test.ts'], coveragePercent: 100 },
37
- { requirementId: 'REQ-CONST-009', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-003', 'TSK-SYMB-019'], testIds: ['constitution-registry.test.ts', 'quality-gate.test.ts'], coveragePercent: 100 },
38
- { requirementId: 'REQ-CONST-010', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-004', 'TSK-SYMB-019'], testIds: ['confidence-estimator.test.ts', 'quality-gate.test.ts'], coveragePercent: 100 },
39
-
40
- // Routing requirements (REQ-ROUTE-001〜003)
41
- { requirementId: 'REQ-ROUTE-001', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-005'], testIds: ['confidence-router.test.ts'], coveragePercent: 100 },
42
- { requirementId: 'REQ-ROUTE-002', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-005'], testIds: ['confidence-router.test.ts'], coveragePercent: 100 },
43
- { requirementId: 'REQ-ROUTE-003', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-006'], testIds: ['error-handler.test.ts'], coveragePercent: 100 },
44
-
45
- // Non-functional requirements (REQ-NFR-001〜006)
46
- { requirementId: 'REQ-NFR-001', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-018'], testIds: ['performance-budget.test.ts'], coveragePercent: 100 },
47
- { requirementId: 'REQ-NFR-002', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-016'], testIds: ['rule-config.test.ts'], coveragePercent: 100 },
48
- { requirementId: 'REQ-NFR-003', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-001', 'TSK-SYMB-003', 'TSK-SYMB-006', 'TSK-SYMB-008', 'TSK-SYMB-012', 'TSK-SYMB-019'], testIds: ['multiple'], coveragePercent: 100 },
49
- { requirementId: 'REQ-NFR-004', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-014'], testIds: ['candidate-ranker.test.ts'], coveragePercent: 100 },
50
- { requirementId: 'REQ-NFR-005', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-013'], testIds: ['security-scanner.test.ts'], coveragePercent: 100 },
51
- { requirementId: 'REQ-NFR-006', designIds: ['DES-SYMB-001'], taskIds: ['TSK-SYMB-017'], testIds: ['audit-logger.test.ts'], coveragePercent: 100 },
52
- ];
53
-
54
- // Component validation based on implemented modules
55
- const componentValidation = createComponentValidation({
56
- // Phase 3 Components
57
- performanceBudgetDefined: true, // TSK-SYMB-018: PerformanceBudget implemented
58
- extensibleConfigDefined: true, // TSK-SYMB-016: ExtensibleRuleConfig implemented
59
- explanationGeneratorDefined: true, // All components have Explanation support
60
- securityMaskingDefined: true, // TSK-SYMB-013: SecurityScanner with masking
61
- auditLoggingDefined: true, // TSK-SYMB-017: AuditLogger with hash-chain
62
-
63
- // Constitution Compliance
64
- libraryFirstCompliant: true, // Article I: All modules are independent libraries
65
- cliInterfaceDefined: true, // Article II: CLI available via musubix command
66
- testFirstCompliant: true, // Article III: 598 tests written first
67
- earsFormatCompliant: true, // Article IV: REQ-SYMB-001 uses EARS format
68
- traceabilityCompliant: true, // Article V: Full traceability matrix
69
- projectMemoryCompliant: true, // Article VI: steering/ directory maintained
70
- designPatternsDocumented: true, // Article VII: DES-SYMB-001 documents patterns
71
- adrCompliant: true, // Article VIII: Decision records in design doc
72
- qualityGatesConfigured: true, // Article IX: QualityGateValidator implemented
73
- });
74
-
75
- // Generate report
76
- const validator = new QualityGateValidator();
77
- const result = validator.validate(traceabilityData, componentValidation);
78
- const report = validator.generateApprovalReport(result);
79
-
80
- // Output paths
81
- const outputDir = path.join(process.cwd(), 'storage', 'reviews');
82
- const outputPath = path.join(outputDir, `quality-gate-report-${new Date().toISOString().split('T')[0]}.md`);
83
-
84
- // Ensure directory exists
85
- if (!fs.existsSync(outputDir)) {
86
- fs.mkdirSync(outputDir, { recursive: true });
87
- }
88
-
89
- // Write report
90
- fs.writeFileSync(outputPath, report);
91
-
92
- console.log('\n' + '='.repeat(60));
93
- console.log('Quality Gate Validation Complete');
94
- console.log('='.repeat(60));
95
- console.log(`\nStatus: ${result.passed ? '✅ PASSED' : '❌ FAILED'}`);
96
- console.log(`\nSummary:`);
97
- console.log(` Total Checks: ${result.summary.totalChecks}`);
98
- console.log(` Passed: ${result.summary.passedChecks}`);
99
- console.log(` Failed: ${result.summary.failedChecks}`);
100
- console.log(` Blockers: ${result.summary.blockerCount}`);
101
- console.log(` Critical: ${result.summary.criticalCount}`);
102
- console.log(`\nReport saved to: ${outputPath}`);
103
- console.log('='.repeat(60) + '\n');
104
-
105
- // Also print the report
106
- console.log(report);
@@ -1,94 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * MUSUBIX Postinstall Script
4
- *
5
- * Copies .github/ and AGENTS.md to the project root after npm install.
6
- * This enables GitHub Copilot and other AI agents to use MUSUBIX prompts and skills.
7
- */
8
-
9
- import { existsSync, cpSync, copyFileSync, mkdirSync } from 'fs';
10
- import { dirname, join, resolve } from 'path';
11
- import { fileURLToPath } from 'url';
12
-
13
- const __filename = fileURLToPath(import.meta.url);
14
- const __dirname = dirname(__filename);
15
-
16
- // Source: where musubix is installed (node_modules/musubix)
17
- const packageRoot = resolve(__dirname, '..');
18
-
19
- // Target: project root (where npm install was run)
20
- // When installed as dependency: process.env.INIT_CWD points to project root
21
- // When running in musubix repo itself: skip
22
- const projectRoot = process.env.INIT_CWD || process.cwd();
23
-
24
- // Skip if we're in the musubix package itself
25
- if (projectRoot === packageRoot || projectRoot.includes('node_modules/musubix')) {
26
- console.log('musubix: Skipping postinstall (running in package directory)');
27
- process.exit(0);
28
- }
29
-
30
- const sourceGithub = join(packageRoot, '.github');
31
- const sourceAgents = join(packageRoot, 'AGENTS.md');
32
- const targetGithub = join(projectRoot, '.github');
33
- const targetAgents = join(projectRoot, 'AGENTS.md');
34
-
35
- let copied = false;
36
-
37
- // Copy .github directory
38
- if (existsSync(sourceGithub)) {
39
- // Only copy musubix-specific files, don't overwrite existing .github
40
- const musubixPrompts = join(sourceGithub, 'prompts');
41
- const musubixSkills = join(sourceGithub, 'skills');
42
- const musubixAgents = join(sourceGithub, 'AGENTS.md');
43
-
44
- // Create .github if not exists
45
- if (!existsSync(targetGithub)) {
46
- mkdirSync(targetGithub, { recursive: true });
47
- }
48
-
49
- // Copy prompts
50
- if (existsSync(musubixPrompts)) {
51
- const targetPrompts = join(targetGithub, 'prompts');
52
- if (!existsSync(targetPrompts)) {
53
- mkdirSync(targetPrompts, { recursive: true });
54
- }
55
- cpSync(musubixPrompts, targetPrompts, { recursive: true, force: false });
56
- console.log('musubix: Copied .github/prompts/');
57
- copied = true;
58
- }
59
-
60
- // Copy skills
61
- if (existsSync(musubixSkills)) {
62
- const targetSkills = join(targetGithub, 'skills');
63
- if (!existsSync(targetSkills)) {
64
- mkdirSync(targetSkills, { recursive: true });
65
- }
66
- cpSync(musubixSkills, targetSkills, { recursive: true, force: false });
67
- console.log('musubix: Copied .github/skills/');
68
- copied = true;
69
- }
70
-
71
- // Copy .github/AGENTS.md
72
- if (existsSync(musubixAgents)) {
73
- const targetGithubAgents = join(targetGithub, 'AGENTS.md');
74
- if (!existsSync(targetGithubAgents)) {
75
- copyFileSync(musubixAgents, targetGithubAgents);
76
- console.log('musubix: Copied .github/AGENTS.md');
77
- copied = true;
78
- }
79
- }
80
- }
81
-
82
- // Copy AGENTS.md to project root
83
- if (existsSync(sourceAgents) && !existsSync(targetAgents)) {
84
- copyFileSync(sourceAgents, targetAgents);
85
- console.log('musubix: Copied AGENTS.md');
86
- copied = true;
87
- }
88
-
89
- if (copied) {
90
- console.log('musubix: AI agent configuration files installed successfully!');
91
- console.log('musubix: GitHub Copilot can now use MUSUBIX SDD prompts and skills.');
92
- } else {
93
- console.log('musubix: Configuration files already exist, skipping.');
94
- }
@@ -1 +0,0 @@
1
- 6.2.1