EvoSpikeNet プロジェクト機能実装ステータス
- Author: Masahiro Aoki
- Copyright: 2026 Moonlight Technologies Inc. All Rights Reserved.
- 最終更新日: 2026年8月15日
本ドキュメントは、Remaining_Functionality の記述を以下の順に再編したものです。
- 更新履歴
- 実装中・未実装
- 実装完了
判定基準(ソースコード準拠)
- 実装完了: リポジトリ内に実装が存在し、少なくとも unit/integration/e2e のいずれかで利用可能。
- 実装中: プレースホルダ、部分実装、統合待ち、本番化/最適化の未完了項目がある。
- 未実装: 実装が存在しない、または外部契約・運用手続きが完了条件でコードだけでは完了とみなせない。
1. 更新履歴
1.1 運用ハードニング更新(2026-04-24)
evospikenet.apiは PyTorch 非搭載時の疑似縮退起動を廃止し、fail-fast 起動に変更。- 動画解析は
VIDEO_ANALYSIS_FAIL_CLOSED=trueで real backend が満たせない場合に起動拒否。 - 縮退応答に
source_backend/fallback_reason/quality_level/degradedを返却。 AvailabilityMonitorは import 時に監視スレッドを自動起動しない仕様へ変更。- strict mode (
EVOSPIKENET_STRICT_FUNCTIONAL_MODULES=true) で欠落 genome/chromosome/topology を黙って補完しない仕様へ変更。
1.2 Video Scene Analysis 追加(2026-04-22)
- API:
POST /analyze/videoGET /results/{job_id}- パイプライン:
- フレーム抽出、音声抽出、検出器推論、Whisper STT、イベントマージ、日本語ナラティブ生成
- SDK:
VideoSceneSDK(同期)VideoSceneAsyncSDK(非同期)- テスト:
- API 入力検証
- SDK 同期/非同期ユニットテスト
1.3 Phase E コネクトーム統合(2026-03-18〜2026-03-19)
- E-0: 設計・スキーマ・設定・テスト雛形を追加。
- E-1/E-2:
connectome_loader.py、node_mapping.py、delay_buffer.py、zenoh_connectome_publisher.pyを実装。 - E-3(内部実装):
sync_connectome.py、brain_routing.py、auto_node_mapper.py、E2E バリデーションを実装。
1.4 Phase D 分散ノード統合(2026-03-11)
BrainSimulation互換エイリアス追加。InstantiatedBrain.apply_weight_delta()実装。DistributedBrainNode.deploy_genome()実装。DistributedEvolutionEngine.deploy_to_nodes()実装。
1.5 生物模倣統合(2026-03-06/09)
- Phase A/B 完了。
- Phase C(C-1〜C-4)完了。
- Biomimetic API、SDK 連携、distributed_brain 統合を拡張。
1.6 EEG/セキュリティ修正(2026-03-05)
comparative_analysis.pyの数値安定化。eeg_translator.py、spectrum_converter.py、device_interface.pyの互換性修正。- OPA 拒否時の HTTP 403 判定を明確化。
1.7 実装更新(2026-05-06)
- 動画解析: prod/staging 既定 fail-closed、バックエンド起動チェック、DeepSORT adapter を反映。
- EEG: gRPC ストリーミング定義(
eeg_streaming_pb2.py/eeg_streaming_pb2_grpc.py)を追加。 - Embodied PLA: ROS2 接続の
_ROSRobotInterface実装を反映。
1.8 運用テンプレ・診断追加(2026-05-07)
- 動画解析: real backend 運用テンプレ/strict 準備確認と診断出力を追加。
- EEG PTP: ハードウェアクロック配備テンプレ、精度検証/ヘルスレポートを追加。
- mTLS: プロキシヘッダ転送テンプレとヘッダ診断を追加。
- 監視/アラート: Slack/SMTP/PagerDuty 設定テンプレと設定状態診断を追加。
1.9 ドキュメント履歴
| 日付 | バージョン | 変更概要 |
|---|---|---|
| 2026-02-02 | v1.0 | Remaining_Functionality.md 新規作成 |
| 2026-02-25 | v1.1 | 生物模倣 11-1〜11-19 と実装計画を整理 |
| 2026-03-18 | v1.2 | Phase E(Section 17)と設計成果物を追加 |
| 2026-03-19 | v1.3 | E-0/E-1/E-2 完了反映 |
| 2026-03-19 | v1.4 | E-3 内部実装完了反映 |
| 2026-04-24 | v2.0 | 本再編版(更新履歴→実装中・未実装→実装完了) |
| 2026-04-25 | v2.1 | 2.1.1 機能モジュール層を実装完了へ移管 |
| 2026-04-25 | v2.2 | 2.1.2 Embodied PLA ループを実装完了へ移管 |
| 2026-04-25 | v2.3 | 2.1.4 分散ファサード層 / 2.1.5 LLM学習フックを実装完了へ移管 |
| 2026-04-25 | v2.4 | 2.1.9 Foundation拡張 / 2.1.10 言語バインディング基盤を実装完了へ移管 |
| 2026-04-27 | v2.5 | 3.21 GPU/CPU デバイス整合性修正(AEG / ClosedLoopController)と SDK-URL 全ファイル置換を実装完了へ追加 |
| 2026-04-27 | v2.6 | 3.22 Evaluate_System.md 全未対応項目の実装(ALERT-001 / TEST-001 / TYPE-001 / MOCK-001 残件 / tasks.py High / IoU Low / translator Low / CRED-001 確認)を追加 |
| 2026-05-01 | v2.7 | 4.1 モック/プレースホルダ検出点の fail-closed 化・可観測性強化(通信、互換API、動画解析、PFC、時刻同期、サービスfallback、test-status)を反映 |
| 2026-05-06 | v2.8 | 動画解析の strict/backends 更新、EEG gRPC 定義追加、ROS2 連携反映 |
| 2026-05-07 | v2.9 | 動画解析/EEG/セキュリティ/アラートの運用テンプレ・診断を追加 |
| 2026-05-16 | v3.0 | DevicePlugin 拡張(IBM Quantum/QAOA)と SDK デバイスプラグインテンプレート、関連ドキュメントを追加 |
| 2026-05-16 | v3.1 | IBM Runtime の Sampler/Estimator 接続、QAOA 最適化ループ、secret 条件付き live CI 疎通ジョブを追加 |
| 2026-05-17 | v3.2 | OptimizationPlugin フレームワーク、Quantization/Pruning/Fusion、YAML パイプラインを追加し Phase 6 を完了 |
| 2026-05-17 | v3.3 | Loihi DevicePlugin に Brain2Loihi シミュレータ経路を追加し、SDK サンプル/ガイド/テストを追加 |
| 2026-05-17 | v3.4 | IBM NeuroChip DevicePlugin を追加し、SDK サンプル/ガイド/テストを拡張 |
| 2026-05-17 | v3.5 | IBM NeuroChip NorthPole runtime のエラーコード enum 化、NorthPole mock E2E CI スモーク、AIST G-QuAT DevicePlugin と SDK/CI/テスト導線を追加 |
| 2026-06-08 | v3.6 | 公開ドキュメント同期(API key verify 時再読込、tokenizer 環境変数上書き、RAG 重複抑止、EpisodicMemory 容量制御)を反映 |
| 2026-08-02 | v3.7 | テキスト用Sparse Event-Memory LMの実装範囲を再確認し、音声・画像・マルチモーダルへ拡張するMEMERIED SpikeNetLM計画、SDK/artifact契約、受入基準を追加 |
| 2026-08-03 | v3.8 | アプリケーションからの可変 d_model と複数 LanguageModel 共存について、artifact manifest・追加学習・推論の互換性契約と未実装範囲を追加 |
| 2026-08-03 | v3.9 | Mineral LanguageMode の GPU 容量照会・起動前拒否を追加し、Core が提出構成を変更しない実行契約、可視 GPU 選択、H100 を含む移植性、運用上の制約を明文化 |
| 2026-08-14 | v3.10 | Sparse Evo-MemoryLM レビューの結論を反映し、メモリと学習の統合制御設計書と fail-fast 実装計画を追加 |
| 2026-08-14 | v3.11 | メモリと学習の統合制御について、フェーズ別実装計画、タスク分解、テスト計画、リスク緩和、DoD を詳細化 |
| 2026-08-14 | v3.12 | /api/memory/orchestrate を追加し、runtime model 選択(stub/api_loaded/evolm_backend)、fail-fast 例外変換、監査イベント整合テストを反映 |
| 2026-08-14 | v3.13 | 実装済みのメモリオーケストレーション契約を再検証し、MemoryOrchestrator/API/テスト群が LM alias との整合と fail-fast 動作を通過したことを反映 |
| 2026-08-15 | v3.14 | メモリと学習の統合制御に transaction 境界、request/session 一貫性、学習制御連携、回帰ゲートを追加し、Priority1 テスト群を通過したことを記録 |
| 2026-08-23 | v3.15 | tenant_id / user_id / client_id の受け渡しを end-to-end で実装し、匿名互換モード(public 補完)、strict mode(EVOSPIKENET_IDENTITY_STRICT=true)、tenant スコープの retrieval/writeback、フォールバックスナップショットの tenant 配下保存を追加し、21 テスト通過を反映 |
| 2026-08-27 | v3.16 | DeviceClientExample PC 版の動的最適化問題設定ファイル読み込み(formulation 定式化 / 直接 qubo 行列)、問題差し替え実行機能、設定ファイル群、README/GETTING_STARTED ドキュメントの整備とテスト群を反映 |
| 2026-08-27 | v3.17 | HPDBN の責務境界を明文化し、Local PFC / Safety Barrier / 外部最適化の役割分担、通信断時のローカル継続条件、既存 DevicePlugin 接続時の責務を docs と Core 契約に反映 |
| 2026-08-27 | v3.18 | ドキュメントおよびコード全般から独自 PHORCYS フレームプロトコルを全面削除し、Zenoh (Zenoh P2P / Zenoh Message) を共通通信フレーミングおよび分散プロトコルとして統一・仕様確定。空中ドローン/水中ドローンアプリのモデル・サービス・API・テスト群および全ドキュメントを更新 |
| 2026-08-28 | v3.19 | 量子アニーリング前処理の共通 QUBO 問題生成ライブラリを追加。道路・低空・高空・汎用ドメイン、衝突競合、必須選択、時刻付き突発禁止条件を統一モデルから既存ソルバー互換QUBOへコンパイル可能にした |
| 2026-08-28 | v3.20 | OpenStreetMap/NetworkXから有向道路リンクを生成する任意依存アダプタを追加。片方向道路、MultiDiGraph、到達不能区間、期限付き道路閉鎖を共通QUBO前処理へ統合し、日英文書に道路データ生成仕様を追加 |
| 2026-08-28 | v3.21 | 共通QUBO問題生成のSDKガイドとオフライン道路データ生成サンプルを追加。SDK索引・README・MkDocs導線を更新し、任意OSMnx依存と動的道路閉鎖を含む実行手順を整備 |
1.10 マルチテナント識別子隔離実装(2026-08-23)
- 実装済み:
MemoryOrchestrator.process_request()からtenant_id/user_id/client_idを retrieval、learning、writeback、fallback persistence に伝播させた。tenant_id未指定時はpublicに補完して匿名互換を維持し、user_id/client_idは strict mode 未設定時は省略可能にした。evospikenet/api_modules/memory_api.pyに strict validation を追加し、EVOSPIKENET_IDENTITY_STRICT=trueのときは必須 identity が欠けると400を返す。- retrieval/writeback を tenant 単位でスコープし、cross-tenant な混在を防止した。
- 永続フォールバックスナップショットを
<persistent_fallback_dir>/<tenant_id>/配下に保存するようにした。 - 検証:
pytest -q tests/unit/test_causal_and_resilience.py evospikenet/tests/test_memory_orchestrator.py evospikenet/tests/test_memory_api_orchestrate.py- 結果:
21 passed
1.11 DeviceClientExample PC版問題差し替え・設定ファイル拡張(2026-08-27)
- 実装済み:
PCClient(DeviceClientExample/Devices/PC/pc_client.py) に動的設定ファイル読み込み(load_problem_config)を追加。- 高レベル問題定式化(
formulation: 価値、コスト、予算、依存関係、相互排他、シナジー)からの QUBO 行列自動変換機能(build_qubo_from_formulation)を追加。 - 事前計算済み QUBO 行列(
qubo)の直接読み込みをサポート。 - CLI 引数
--configによる実行時の問題設定ファイルの差し替え・指定機能を追加。 - 設定ファイルディレクトリ (
DeviceClientExample/Devices/PC/configs/) と設定例を作成 (default_portfolio.json,complex_facility_location.json,direct_qubo_matrix.json)。 - PC 版用の構成・実行ドキュメント (
DeviceClientExample/Devices/PC/README.md) の新規作成、および全体ドキュメント (README.md,GETTING_STARTED.md) の更新。 - 検証:
PYTHONPATH=DeviceClientExample pytest DeviceClientExample/tests/test_pc_client.py -v- 6 テストケース(デフォルト実行、設定ファイル読み込み、拠点配置問題、直接 QUBO 行列、動的差し替えテスト、不正設定エラーハンドリング)が全件合格することを確認。
1.12 HPDBN責務境界更新(2026-08-27)
- 実装済み:
EvoSpikeNet-Core/evospikenet/hpdbn.pyのLocalHPDBNNode/DevicePluginRuntimeAdapter/PfcDecision契約を最新の責務境界に合わせて整理。Local PFCは期限・負荷・通信・品質から経路選択を行い、利用側のSafetyBarrierが最終制御を判定するべきことを明文化。- 外部最適化は緊急時に待機せず、非緊急の非同期ジョブとしてのみ扱う設計を反映。
- 既存 DevicePlugin を流用する SDK 経路と、Core が担当する可用性・寿命・モデル整合機能を分離した。
- 日英ドキュメント
Docs/docs/HPDBN_ARCHITECTURE.md/.en.mdとDocs/docs/HPDBN_SDK_INTEGRATION.md/.en.mdに更新を追記。 - 影響範囲:
- HPDBN の責務境界、通信断時のローカル継続、非同期外部ジョブの扱い、Safety Barrier との分離がドキュメントと実装契約に統一された。
1.13 PHORCYS廃止・Zenoh P2Pプロトコル統一・仕様確定(2026-08-27)
- 実装済み:
- 独自フレーム規格 PHORCYS (
phorcys-1/PhorcysFrame) を全ドキュメントおよび全コードから全面削除し、分散通信プロトコルを Zenoh (Zenoh P2P / Zenoh Message) に一本化・統一・仕様確定。 future_apps/uav_swarm_controlおよびfuture_apps/underwater_drone_swarmのデータモデル (src/models/phase2.py) からPhorcysFrameを削除し、ZenohPositionMessage構造に統合。- サービス層 (
src/services/phase2_service.py)、API 層 (src/api/routes.py)、テスト群 (tests/unit/test_phase2_service.py,tests/integration/test_phase_endpoints.py) から PHORCYS 依存コードを削除し、Zenoh 位置補正メッセージ・トランスポート形式に改修。 - 全ドキュメント (
implementation_plan.md,implementation_plan.en.md,README.md,README.en.md,pyproject.toml,docs/system_architecture.md,docs/underwater_communication_spec.md,docs/UserManual.md) から PHORCYS の記述を削除し、Zenoh P2P の仕様として更新。 - 検証:
cd future_apps/uav_swarm_control && pytest: 16 テスト全件パス (カバレッジ 94.02%)cd future_apps/underwater_drone_swarm && pytest: 11 テスト全件パス (カバレッジ 96.58%)- リポジトリ全体での
PHORCYS検索結果が 0 件であることを確認。
1.14 共通QUBO問題生成・動的制約コンパイラ(2026-08-28)
- 実装済み:
evospikenet/optimization/に、量子アニーリング・量子最適化・古典アニーリングの前段で共有するQUBO問題生成ライブラリを追加。OptimizationProblemでroad、low_altitude、high_altitude、genericの各ドメインを統一的に表現し、候補経路・ウェイポイント・割当・飛行状態を離散候補として受け付ける。QuboProblemBuilderが候補コスト、衝突競合ペア、必須選択グループを既存ソルバー互換の対称QUBO行列へ変換する。DynamicConstraintにより、期限付きの通行禁止・飛行禁止・機体停止・気象リスクなどをハード制約またはソフト制約としてコンパイル可能にした。QuboProblem.as_problem_dict()が、既存の D-Wave / OpenJij / Fixstars / Qiskit 系バックエンドのproblem["qubo"]契約へ変換する。- ドキュメント:
evospikenet/optimization/README.mdに入力モデル、対象ドメイン、突発禁止条件、ソルバー接続例を記載。- 検証:
pytest -q tests/test_qubo_problem_builder.py: 6 passed。
1.15 実道路ネットワークデータ生成・QUBO前処理統合(2026-08-28)
- 実装済み:
evospikenet/optimization/road_network.pyにRoadNetworkBuilder、RoadLocation、RoadLink、RoadNetworkSnapshotを追加。- OpenStreetMapからの道路ネットワーク取得は
from_osm()、キャッシュ済みまたは試験用NetworkXグラフからの生成はfrom_graph()として分離。 - 一方通行を含む有向道路グラフを保持し、全順序対の道路最短距離を生成する。到達不能な経路は疑似距離を付けず候補から除外する。
- OSMnxの
MultiDiGraphと1系/2系の境界ボックスAPI差に対応し、OSMnxはevospikenet[road]の任意依存として追加。 RoadNetworkSnapshot.to_optimization_problem()により、有向道路リンク、期限付き道路閉鎖などのDynamicConstraintを既存量子・アニーリングソルバー互換QUBO入力へ変換可能にした。- ドキュメント:
Docs/docs/QUANTUM_ANNEALING_PROBLEM_GENERATION.md/.en.mdに道路・低空・高空・汎用の共通入力、OSM道路データ生成、巡回/衝突条件のQUBO化、突発禁止条件、ソルバー接続、受け入れ条件を追加。- 検証:
pytest -q tests/test_road_network.py tests/test_qubo_problem_builder.py: 8 passed。
1.16 共通QUBO問題生成SDKガイド・サンプル(2026-08-28)
- 実装済み:
examples/sdk/programs/road_qubo_generation_demo.pyを追加し、NetworkXの有向道路グラフ、動的一時道路閉鎖、QUBO入力生成、既存ソルバーへの接続方法をネットワークアクセスなしで実演可能にした。- ドキュメント:
Docs/docs/SDK_QUANTUM_ANNEALING_PROBLEM_GENERATION.md/.en.mdにSDKインストール、OSMnx任意依存、道路データ生成、動的禁止条件、ソルバー接続、実行手順を追加。SDK_README.md、SDK_DOCUMENTATION_INDEX.md、mkdocs.ymlにSDKサンプルとガイドへの導線を追加。- 検証:
python3.10 examples/sdk/programs/road_qubo_generation_demo.py: 有向道路リンク6本、道路閉鎖1件、6x6 QUBOを生成。
1.10 DevicePlugin・量子層統合更新(2026-05-16)
- 実装済み:
IBMQuantumPluginを追加(qiskit 未導入時フォールバック可)。QAOANeuronLayerとQAOANeuronLayerPluginを追加。- SDK サンプルとして
examples/sdk/programs/device_plugin_template.pyを追加。 - ドキュメント:
SDK_DEVICE_PLUGIN_GUIDE.mdを追加し、テンプレートと実装手順を明文化。- テスト:
tests/unit/test_ibm_quantum_plugin.pyを追加し、依存非導入環境でも通る最小保証を追加。
1.11 IBM Runtime・QAOA 実行更新(2026-05-16)
- 実装済み:
IBMQuantumPluginにQiskitRuntimeServiceの段階接続を追加。run_sampler()/run_estimator()を追加し、Sampler/Estimator の実ジョブ経路を実装。QAOANeuronLayerに counts/probabilities 復元と軽量パラメータ最適化ループを追加。- SDK サンプルとして
examples/sdk/programs/ibm_quantum_runtime_demo.pyを追加。 - CI:
optional-dependency-matrix.ymlにibm_quantum_runtimeプロファイルを追加。QISKIT_IBM_TOKENがある場合のみ実接続を行う live connectivity ジョブを追加。- テスト:
- Runtime 接続モック、Sampler/Estimator モック、QAOA 最適化結果保持テストを追加。
1.12 最適化パイプライン実装完了(2026-05-17)
- 実装済み:
OptimizationPluginを追加し、PluginType.OPTIMIZATIONで登録可能にした。QuantizationPlugin/PruningPlugin/FusionPluginを追加し、動的量子化・構造的剪定・モジュール融合を統一化した。OptimizationPipelineを追加し、YAML から逐次最適化パイプラインを生成・実行可能にした。- サンプル設定として
config/optimization_pipeline.yamlを追加した。 - テスト:
tests/unit/test_optimization_pipeline.pyで plugin 登録、個別最適化、YAML パイプライン実行を検証した。
1.13 Loihi Brain2Loihi シミュレータ実装完了(2026-05-17)
- 実装済み:
LoihiPluginにBrain2LoihiSimulatorバックエンドを追加。run_brain2loihi()実行 API を追加。backend=brain2loihi_simulator/enable_simulator=trueの設定経路を追加。convert_format()時に simulator 向けコンパイル情報を保持するようにした。- SDK サンプル:
examples/sdk/programs/loihi_brain2loihi_demo.pyを追加。- ドキュメント:
SDK_LOIHI_BRAIN2LOIHI_GUIDE.mdを追加(ビルド・設定・実行・トラブルシューティング)。SDK_DEVICE_PLUGIN_GUIDE.md/SDK_README.md/SDK_DOCUMENTATION_INDEX.mdに導線を追加。- テスト:
tests/unit/test_loihi_brain2loihi_plugin.pyを追加し、capability・実行・変換/デプロイを検証。
1.14 IBM NeuroChip DevicePlugin 実装完了(2026-05-17)
- 実装済み:
IBMNeuroChipPluginを追加し、platform=ibm_neurochipの DevicePlugin 経路を実装。aihwkitruntime の検出と simulator fallback(enable_simulator=true)を実装。target_chip=northpoleと runtime candidates 指定による NorthPole プロファイル (run_northpole()) を追加。run_simulator()を追加し、閾値ベースのニューロモルフィック疑似実行経路を追加。- SDK サンプル:
examples/sdk/programs/ibm_neurochip_demo.pyを追加。- ドキュメント:
SDK_DEVICE_PLUGIN_GUIDE.md/SDK_README.md/SDK_DOCUMENTATION_INDEX.mdに導線を追加。- テスト:
tests/unit/test_ibm_neurochip_plugin.pyを追加し、capability・simulator・変換/デプロイを検証。
1.15 NorthPole runtime 強化 / G-QuAT DevicePlugin 実装完了(2026-05-17)
- 実装済み:
IBMNeuroChipPluginの NorthPole runtime エラーコードを enum 化し、get_capabilities()の構造化エラー情報整備を強化。- NorthPole mock E2E と CI スモークを追加し、runtime adapter 経路を継続検証可能にした。
GQuATPlugin(platform=g_quat)を追加し、runtime candidates 解決、API 優先実行、class fallback、出力正規化、simulator fallback を実装。- 変換形式
.gqpkとrun_g_quat()/run_simulator()実行 API を追加。 - SDK サンプル:
examples/sdk/programs/ibm_neurochip_northpole_mock_e2e.pyを追加。examples/sdk/programs/g_quat_mock_e2e.pyを追加。- CI:
- optional dependency matrix に
northpole_mockの E2E 実行とg_quat_mockプロファイルを追加。 - ドキュメント:
SDK_DEVICE_PLUGIN_GUIDE.mdに NorthPole mock / G-QuAT の実行手順と設定例を追加。- テスト:
tests/unit/test_northpole_runtime_adapter.pyと統合テストで NorthPole adapter 契約を検証。tests/unit/test_g_quat_plugin.pyを追加し、metadata・runtime 経路・simulator fallback・失敗時挙動を検証。
1.16 Q-PFC + QAOA ソルバープラグインシステム実装(2026-06-11)
evospikenet/optimizer.pyに.env自動ロード(_load_dotenv)とPluginFactory.SOLVER優先ディスパッチを追加。evospikenet/plugins/__init__.pyにPluginType.SOLVERを追加。evospikenet/plugins/solver_plugin.py—SolverPlugin抽象基底クラスを追加。evospikenet/plugins/builtin/solver_backends/に 6 バックエンドプラグインを追加:classical_solver_plugin.py— SimulatedAnnealing(依存なし)qaoa_simulator_solver_plugin.py— SA/SPSA 古典 QAOA 近似(依存なし)qiskit_solver_plugin.py— Qiskit Aer / IBMQ QPU(qiskit要)dwave_solver_plugin.py— D-Wave QPU / アニーリング(dwave-ocean-sdk要)openjij_solver_plugin.py— 産総研 / Jij Inc. OpenJij SA/SQA(openjij要、接続確認済み)fixstars_amplify_solver_plugin.py— Fixstars Amplify AE(amplify要、実機接続確認済み)evospikenet/qpfc_qaoa_bridge.pyをget_optimizer()経由でプラグイン切り替えに対応。- ベンチマーク:
EvoSpikeNet-Core/scripts/bench_qpfc_qaoa_bulk.py(n=400 試行/バックエンド) - ベンチ結果:
EvoSpikeNet-Core/bench_reports/に JSONL・CSV・効果量レポートを格納。 - SDK サンプル:
examples/sdk/programs/solver_plugin_demo.pyを追加。 - ドキュメント:
Docs/docs/SDK_SOLVER_PLUGIN_GUIDE.md/.en.mdを新規追加。
1.17 メモリと学習の統合制御設計更新(2026-08-14)
Sparse_Evo_MemoryLM_System_Review.mdの結論を受けて、メモリ検索、推論、学習制御、記憶書き戻し、監査ログを単一制御フローで扱う メモリと学習の統合制御設計 を追加。evospikenet/memory_orchestrator.pyの最小実装とspecs/system_orchestration_spec.md、specs/memory_event_schema.md、specs/failure_handling_matrix.mdの対応関係を整理。- 本番経路では mock / fallback を採用せず、必須段階の失敗時は fail-fast で停止する移行方針を明文化。
2. 実装中・未実装
2.1 実装中(部分実装・プレースホルダを含む)
2.1.1 動画解析の本番バックエンド統合(部分実装)
- 対象:
evospikenet/video_analysis/backends.py、evospikenet/video_analysis/asr.py - 状態:
MoveNetRealPoseBackend/STGCNRealActionBackend/WhisperRealASRBackendの real backend 分岐は実装済み。- 依存やモデル未配置時は stub/fallback を使用。
- 未完了ポイント:
- 本番モデル配備・運用監視・SLO 検証の完了が必要。
2.1.2 型安全性完全化(継続中)
- 対象: Feature 12 一式
- 状態:
- 型ヒント追加、mypy 設定、CI 連携は実装済み。
- ただし型エラー収束は継続中(段階的改善フェーズ)。
2.1.3 空間生成高精度化と高速化(実装済み・運用チューニング継続)
- 対象:
evospikenet/services/spatial_generation_service.pyevospikenet/spatial/recognition.pyevospikenet/spatial/generation.pyevospikenet/spatial/attention.py- 状態:
- 基本サービス、
/generate、/quantum/infer、高精度モード切替、品質評価、レイテンシ可視化は実装済み。 total_latency_msとperformanceメタデータを/generate応答へ載せ、品質プロファイルごとの目標レイテンシと達成判定を返すようにした。- 50ms/ノード閾値の最終最適化と本番チューニングは継続中。
2.1.4 セキュリティ運用統合(継続中)
- 対象:
evospikenet/security.py、evospikenet/foundation_extensions.py - 状態:
- APIキー認証、レート制限、mTLSヘッダ検証、証明書ローテーション関数は実装済み。
- 保存時暗号化/KMS/Secrets 連携の本番運用設計(Vault連携、ローテーションデーモン)は継続中。
2.1.5 MEMERIED SpikeNetLM 音声・画像・マルチモーダル拡張(コア実装済み・統合継続)
- 現状:
SparseEventMemoryLMは整数token_idsを受けるテキスト用モデルであり、INT8 CSR主シナプス、INT16イベント状態、因子化共有語彙、Top-k専門家を実装済み。SpikingEvoVisionEncoderは画像からspike trainを、SpikingEvoAudioEncoderはMFCCからspike trainを、AudioToBrainLanguageSystemは波形から離散token候補を出力する。SpikingEvoMultiModalLMはtext/image/audio spikeをdense融合する既存経路であり、Sparse Event-Memory LMへ直接置換できない。- 実装済み:
VectorQuantizedTokenBridge、VisionEventTokenizer、AudioEventTokenizer、AudioLanguageTokenAdapterによる範囲検証付き離散token化とvalidity mask。MultimodalVocabularyLayout、MultimodalTokenBatch、MultimodalSequenceBuilder、MemoriedSpikeNetLM。router、event state、局所可塑性はpaddingを除外する。- text/image/audio範囲のtoken logits、pooling分類head、sampled CE、local plasticity、
MemoriedSpikeNetLMConfigとmodel/config/manifest/report artifact upload。 - 未実装:
- 学習済み・version固定済みのvision/audio bridge、waveform直接token化、専用trainer/data collator、CTC・retrieval head。
- ストリーミング状態cache、API architecture selector、artifact download、実測VRAM/遅延ベンチマーク。
- 実装順序:
- P1:
MultimodalTokenBatch、vision/audio token bridge、統合data contract(コア完了)。 - P2:
MemoriedSpikeNetLM、基本task head、SDK artifact統合(コア完了)。trainer/API/追加headは継続。 - P3: chunk単位の音声・映像streaming state、増分cache、遅延計測。
- 詳細計画: MEMERIED SpikeNetLM 音声・画像・マルチモーダル拡張仕様
2.1.6 LanguageModel の可変 d_model・アーティファクト互換性(コード実装済み・本番適用前)
- 実装済み:
- Core は checkpoint、
config.json、Tokenizer、SHA-256付きartifact_manifest.jsonを保存し、Core/SDK は永続URIを返す。 - Core/SDK の artifact 契約はアプリケーション非依存であり、Mineral Exploration はその先行統合先として不変
model_specとartifact manifestを台帳・一覧へ保存し、既存レコードをlegacy_unverifiedとして明示する。 - UI/API は構成入力、
d_model % n_heads == 0、数値上限を検証し、追加学習でbase checkpointをCore可読base_model_pathへ解決する。 - 追加学習・推論はcheckpoint/config/Tokenizerの実体・digest・
model_specをpreflightで検証し、legacy、不一致、改ざんをHTTP 422で拒否する。 - Core の SpikingEvoTextLM ダッシュボードは architecture、
d_model、head/block数、time_steps、neuron、Tokenizer、sequence length、learning rate、batch size、epoch、新規/追加学習を送信し、提出値の batch size を CPU 用に自動縮小しない。TransformerLM (Float) は対応する Float 構造・学習・継続学習の値だけを trainer に渡す。 - 運用上の残作業:
- Docker再起動を伴うデプロイ、既存モデルの管理者manifest移行、実行中ジョブのrequest/artifact非変更確認を別途行う。
- 完了条件:
- 異なる
d_modelのモデルを一覧・推論で混線なく扱い、非互換な追加学習をジョブ作成前に拒否し、同一仕様の追加学習だけが checkpoint をロードする自動テストを追加する。 - 詳細仕様: LanguageModel アーキテクチャ互換性・アーティファクト契約
2.1.7 LanguageModel GPU 容量検証(コード実装済み・本番適用前)
- 実装済み:
- Mineral は dense
SpikingEvoTextLMの現在の可視 GPU 空き VRAM と、要求された構成の推定必要 VRAM を比較する。容量見積もりと Core 実行は同じ提出済みseq_lenを使用する。 POST /api/language-mode/training-capacityは非変更の容量照会を返し、UI は構成変更後に必要量/空き量を表示して既知の不足時に学習開始を無効化する。- 学習起動 API は同じ検証を再実行し、不足時には構造化した
capacity情報を含む HTTP 422 を返す。 - Core/SDK は提出された
batch_sizeを含む構成を自動調整せずに実行する。容量不足でリクエストや artifact を書き換えない。 - 運用上の残作業:
- 実 GPU の本番デプロイ検証、GPU 使用量が照会後に変化する競合の監視、分散学習・複数 GPU VRAM 集約は別作業である。
- 完了条件:
- 容量不足で不変の batch size を維持して拒否し、提出済み
seq_lenを変更せずに判定し、同じ構成が十分な空き H100 で許可される自動テストを維持する。 - 詳細仕様: LanguageModel GPU 容量検証ポリシー
2.1.8 メモリと学習の統合制御(実装完了・本番統合継続)
- 実装済み:
evospikenet/memory_orchestrator.pyにMemoryContextPayload、MemoryEventRecord、FailureHandlingResult、process_request()を含む最小オーケストレーションを追加。specs/system_orchestration_spec.md、specs/memory_event_schema.md、specs/failure_handling_matrix.mdに基本契約を追加。evospikenet/common.pyにAuditLoggerとDataConverterを追加し、SDK 実行例で構造化監査ログの利用を開始。evospikenet/api_modules/memory_api.pyにPOST /api/memory/orchestrateを追加し、単一 API 呼び出しで retrieval -> execution -> learning -> writeback を実行可能化。- API の
runtime_model選択にstub/api_loaded/evolm_backendを追加し、effective_runtime_modelで実際の実行経路を明示。 evospikenet/error_handling.pyの例外変換経路によりOrchestrationRuntimeErrorをMLI-*準拠の標準エラー envelope へマッピング。evospikenet/tests/test_memory_api_orchestrate.pyに正常系、fail_fast=true/false、API 例外変換、監査イベント整合の検証を追加。evospikenet/tests/test_memory_orchestrator.pyとevospikenet/tests/test_orchestration_error_handler.pyによって fail-fast 契約と audit-stream 整合性を継続検証済み。evospikenet/learning_control_coordinator.pyにより、Meta-STDP/AEG/ForgettingController/LongTermMemoryModuleを request 単位で束ねる学習制御経路を既存オーケストレータへ接続。evospikenet/memory_orchestrator.pyに transaction ID 付与、transaction_started/transaction_committed/transaction_rolled_backイベント、学習用レコード正規化、LTM コンテキスト伝播を追加。evospikenet/memory_writeback_service.pyはtransaction_idを保持可能になり、書き戻し時の監査追跡性を改善。evospikenet/execution_policy.pyの検証過程で顕在化したloggingimport 欠落を修正し、統合経路の 500 / NameError を解消。tests/unit/test_priority1_learning_control_unit.py、tests/integration/test_priority1_memory_orchestrator_integration.py、tests/e2e/test_priority1_memory_orchestrate_api_e2e.py、tests/performance/test_priority1_memory_orchestrator_performance.pyを追加し、Priority1 回帰ゲートを構築。Makefileにpriority1-memory-orchestrator-testを追加し、CI では.github/workflows/priority1-memory-orchestrator.ymlから同一テスト群を実行可能化。- 2026-08-15 時点のローカル検証では、
Product/venv上でmake priority1-memory-orchestrator-testが 5 passed で通過済み。 - 設計完了:
- 詳細設計書 メモリと学習の統合制御設計 を追加し、入力正規化、記憶検索、学習制御、書き戻し、監査、失敗契約、受入基準を定義。
- 運用上の残作業:
- Docker 上の live SDK/API 検証と、実機/実運用バックエンドを伴う追加回帰は別途継続する。
- 完了条件:
user_input -> retrieval -> context fusion -> model execution -> learning update -> memory writebackが単一制御フローで実行され、任意の必須段階の失敗時には縮退せず明示エラーで停止する。- 既存の unit/integration/e2e/performance テストで fail-fast、API 例外マッピング、transaction 境界、request/session 一貫性を検証済みである。
- 詳細設計: メモリと学習の統合制御設計
実装計画(REMAINIG_FUNCTIONALITY 用詳細計画)
本項は MEMORY_LEARNING_INTEGRATION_CONTROL.md の設計をコードへ落とし込む実装計画である。
| フェーズ | 期間目安 | 主担当モジュール | 成果物 | 判定 |
|---|---|---|---|---|
| MLI-P1 契約固定 | 1週間 | memory_orchestrator.py, specs/*.md |
データ契約更新、fail-fastエラーコード、互換テスト | 旧fallback経路を通らない |
| MLI-P2 検索・融合実装 | 1〜2週間 | memory_retrieval_coordinator.py, context_fusion_engine.py |
retrieval bundle、token budget剪定、監査イベント | top-k/剪定が再現可能 |
| MLI-P3 学習制御統合 | 2週間 | learning_control_coordinator.py |
Meta-STDP/AEG/忘却制御の統合ゲート | 更新可否が request 単位で追跡可能 |
| MLI-P4 書き戻し・監査統合 | 1週間 | memory_writeback_service.py, common.py |
writebackトランザクション、監査統合 | 失敗時に pipeline_failed 必須発行 |
| MLI-P5 E2E運用検証 | 1週間 | API/SDK/Docker テスト群 | live回帰、性能/安定性レポート | 受入基準5項目を満たす |
実装タスク分解
memory_orchestrator.pyをステートマシン化し、RECEIVED -> ... -> COMPLETED/FAILEDを明示実装する。FailureHandlingResultを fallback 応答用途から、失敗契約 (error_code,failed_stage) の構造へ変更する。request_normalizer.pyを新設し、request_id/session_id/source/timestampを全経路で強制付与する。- retrieval を
episodic/semanticで分離し、RetrievalBundleへ正規化する。 ContextFusionEngineにmax_context_tokens/max_retrieved_items/max_event_age_hoursを実装する。execution_policy.pyでinference_only,inference_plus_update,consolidation判定を統一する。LearningControlSignalとLearningUpdateResultを導入し、Meta-STDP/AEG/忘却制御への入力を統一する。memory_writeback_service.pyで出力、評価、更新結果を同一トランザクションとして保存する。AuditTrailEmitterにstarted/completed/failedの3状態イベントを強制し、latency_msを計測する。- 失敗コード
MLI-REQ-001〜MLI-WRB-001を API 例外マッピングへ接続する。
テスト計画
- Unit:
- 正規化、検索統合、コンテキスト剪定、ポリシー判定、学習更新可否の個別テストを追加。
- Integration:
- retrieval -> inference -> learning -> writeback の happy path を request_id 単位で検証。
- Failure:
- 各必須段階を強制失敗させ、fallback なし fail-fast を検証。
- E2E (Docker):
- SDK/API から 1 リクエスト分の監査系列再構築を自動チェック。
リスクと緩和策
| リスク | 影響 | 緩和策 |
|---|---|---|
| 検索結果肥大化で推論遅延 | レイテンシ悪化 | token budget剪定 + 重要度スコア降順で制限 |
| 学習更新の暴走 | 品質低下 | gradient/reward gate と更新停止条件の強制 |
| 監査イベント欠損 | 追跡不能 | pipeline_stage ごとの発行を必須化しCIで検証 |
| 旧fallback経路残存 | 契約不整合 | 旧分岐を削除し、失敗時は必ず例外化 |
完了の定義(DoD)
- fail-fast 契約で全必須段階が停止可能である。
- 監査ログから 1 request の全ステージを復元できる。
- learning update の適用/非適用理由が必ず記録される。
- Docker E2E と CI テストで同一結果を再現できる。
MEMORY_LEARNING_INTEGRATION_CONTROL.mdの受入基準 1〜5 を満たす。
2.2 未実装・未着手
2.2.1 外部手続き依存
- E-3-5 HCP DUC 取得手続きとデータ配置(
data/hcp/連携)は外部契約/手続き依存で未着手。
2.2.2 長期研究テーマ(計画段階)
- 量子実機連携(IBM Quantum / Google Quantum)
- ハイブリッド量子-古典システムの本番運用
- BMI/BCI 双方向閉ループ統合(EEG→Brain Language 基盤は実装済み)
- ロボット実機評価パイプライン(オンライン進化含む)
- クラウド/エッジ混在の自動オーケストレーション高度化(分散基盤は実装済み)
- 数千ノード本番運用の大規模分散実証
2.2.3 拡張テーマ(未着手中心)
- バイアス検出と緩和の本番運用化
- 倫理的評価フレームワークの運用統合
- 嗅覚/味覚センサー統合
- 生体センサー統合の高度化
- 継続学習・記憶管理の高度化(大規模運用最適化、戦略高度化、自動パラメータ最適化)
2.2.4 量子デバイスプラグイン拡張フェーズ(新規)
| フェーズ | 機能項目 | ステータス |
|---|---|---|
| Phase Q-1 | IBMQuantumPlugin の最小実装と依存なしフォールバック | 実装完了 |
| Phase Q-2 | QAOA/VQE 実回路実行(Runtime接続、job管理、結果復元) | 実装完了 |
| Phase Q-3 | 量子デバイスプラグイン共通最適化層(コスト制御、再試行、監査) | 実装中 |
| Phase Q-4 | ハイブリッド量子-古典分散運用(SLO/可観測性/本番運用) | 未着手 |
| Phase S-1 | SolverPlugin 基底クラスと PluginFactory.SOLVER レジストリ | 実装完了 |
| Phase S-2 | classical / qaoa_simulator / qiskit / dwave / openjij / fixstars_amplify プラグイン | 実装完了 |
| Phase S-3 | Q-PFC ブリッジ統合・ベンチ・効果量分析・SDK サンプル | 実装完了 |
| Phase S-4 | VRP→QUBO 完全定式化(ペナルティ項、容量制約、実機規模検証) | 実装中 |
詳細: - Phase Q-2 実装済み範囲: - Runtime 接続 - Sampler/Estimator 実行 API - counts/probabilities 復元 - QAOA 軽量最適化ループ - VQE 固有ワークフロー - Phase Q-2 追加改善ポイント: - 実機 backend ごとの制約吸収 - ジョブ永続化/再開/監査ログ強化 - Phase Q-3 今後の実装候補: - 共通 retry/backoff - コスト/ショット予算制御 - backend 選択戦略の高度化 - 実行トレースと監査メタデータ標準化
3. 実装完了
3.1 コアSNNエンジン
- ニューロン層:
LIFNeuronLayerIzhikevichNeuronLayerEntangledSynchronyLayer- シナプス管理:
SynapseMatrixCSR- アテンション:
ChronoSpikeAttention- 疎イベント記憶言語モデル:
SparseEventMemoryLM(INT8 CSR主シナプス、INT16イベント状態、因子化共有語彙、Top-k専門家ルーティング)- Adamは語彙基底・ルータ・低ランクアダプタ・正規化層のみを対象とし、主シナプスは局所Hebbian更新
--architecture sparse_event_memoryで明示選択。詳細は仕様書を参照- 符号化:
- TAS-Encoding
RateEncoder
3.2 学習・可塑性
STDPMeta-STDPHomeostasisMetaPlasticityEnergyManagerEnergyConstrainedPlasticityController- Surrogate gradients
HierarchicalPlasticityController系
3.3 分散処理・通信
- Zenoh 非同期通信基盤
- PFC 認知制御ルーティング
- Raft 合意形成
- ノード発見・クリーンアップ
- 負荷分散・動的容量管理
- 地理的分散ノード管理 (
GeoNodeManager) - 通信圧縮フレームワーク (
compression.py+ CUDA ラッパ)
3.4 コネクトーム統合(Phase E)
- E-0: 設計/スキーマ/設定/テスト雛形
- E-1:
connectome_loader.pyとConnectomeLIFLayer - E-2:
node_mapping.py、SparseDelayBuffer、ConnectomeMetadataPublisher - E-3(内部実装):
sync_connectome.py、brain_routing.py、auto_node_mapper.py、E2E 検証
3.5 脳機能シミュレーション
- 機能モジュール(視覚/聴覚/言語/音声/運動/計算)
- フェデレーティッド学習(Async-FedAvg)
- Embodied PLA 統合ループ
- 継続学習と記憶管理(基盤):
LongTermMemoryModuleEpisodicMemoryの記憶保持/統合/忘却処理MemoryIntegratorNodeForgettingController- 記憶ノード:
EpisodicMemoryNodeSemanticMemoryNodeMemoryIntegratorNode
3.6 生物模倣機能(11-1〜11-19)
以下はソース確認で実装完了を確認済み。
- 11-1 遅延・脳波リズム
- 11-2 細胞・シナプス多様化
- 11-3 層状・階層トポロジ
- 11-4 調節物質ゲーティング
- 11-5 記憶システム拡張
- 11-6 感覚・運動クローズドループ強化
- 11-7 エネルギー・ホメオスタシス
- 11-8 発達ダイナミクス
- 11-9 意図表現モジュール
- 11-10 創造性生成
- 11-11 自己認識/内省
- 11-12 動的目標選択
- 11-13 感情システム
- 11-14 睡眠フェーズ記憶固定
- 11-15 ミラーニューロン
- 11-16 アセチルコリン系
- 11-17 NAcc/VTA 報酬ループ
- 11-18 DMN 専用モジュール
- 11-19 カリキュラム学習スケジューラ
3.7 Feature 13 高度空間認知・生成
SpatialWhereNode(Where 経路)SpatialWhatNode(What 経路)SpatialIntegrationNode(What-Where 統合)SpatialAttentionControlNode(注意制御)- 分散脳(Rank 12-15)統合と関連テスト一式
3.8 Feature 20 動画情景描写・3D空間認識・音声テキスト化
実装済みモジュール:
event_schema.py(統一イベントスキーマ)shot_boundary_detector.pyvad.pydepth_estimation.pyspatial_relations.pynarrative_generator.pytemporal_action_localizer.pypose.pytracking.pyaction_recognition.pyasr.pyasr_policy.pyfusion.pypipeline.pybackends.pybackends_real.pypostprocess.pypostprocess_polite.pyjob_queue.pyprivacy.pymetrics.pyruntime_metrics.py
API/SDK 実装済み:
evospikenet/api_modules/video_analysis_api.pyevospikenet/video_analysis/worker.pyevospikenet.sdk.video_sdk.VideoSceneSDKevospikenet.sdk.video_sdk.VideoSceneAsyncSDK
3.9 EEG統合
- データ変換/解析:
spike_extractor.pyeeg_converter.pyspectrum_converter.py- ストリーミング/時刻同期:
streaming.pyeeg_streaming_pb2.pyeeg_streaming_pb2_grpc.pytime_sync.py- デバイス統合:
- OpenBCI / Muse / Emotiv / Neurosky ドライバ
- Brain Language 変換:
eeg_translator.pybrain_language_decoder.py(scaffold + ベンチ/学習ステップ含む)
3.10 RAG・文書管理
rag_milvus.py/rag_backends.py/rag_client.py- PDF/Word/Excel/PPT/Markdown 取り込み
- バージョン履歴・差分・ジョブ監視
- 大容量アップロードの分割/バックグラウンド処理
3.11 UI・API・SDK
- Dash UI / 進化ダッシュボード / 3D可視化
- FastAPI ベース API 群
- Python SDK(型安全、Jupyter 連携)
- 追加言語プロキシ SDK:
- Go (
sdk/go_sdk.py) - TypeScript (
sdk/ts_sdk.py) - Swift (
sdk/swift_sdk.py)
3.11.1 DevicePlugin 拡張(2026-05-16)
PluginType.DEVICE経路を利用した IBM Quantum プラグインを追加。QAOANeuronLayer/QAOANeuronLayerPluginを追加。- SDK サンプルにデバイスプラグインテンプレートを追加。
3.11.2 IBM Runtime / QAOA 実行基盤(2026-05-16)
IBMQuantumPluginに Runtime 接続・Sampler・Estimator 実行 API を追加。QAOANeuronLayerに実回路 counts/probabilities 復元を追加。- QAOA の軽量パラメータ最適化ループを追加。
- SDK サンプルに IBM Runtime デモを追加。
3.11.3 最適化パイプライン(2026-05-17)
OptimizationPluginとPluginType.OPTIMIZATIONを追加。QuantizationPlugin/PruningPlugin/FusionPluginを追加。OptimizationPipelineで YAML 定義の逐次最適化パイプラインを実行可能にした。config/optimization_pipeline.yamlとtests/unit/test_optimization_pipeline.pyを追加。
3.12 セキュリティ・監視・運用
- API Key 認証(
EVOSPIKENET_API_KEYSの verify 時再読込を含む) - レート制限
- CORS 制御
SpikeEncryption(PSK/DH/AES-256-GCM)- 監査ログ (
audit_log.py) - 自動復旧 (
auto_recovery.py) - Prometheus 連携監視
- 運用テンプレ/診断(動画解析 strict ops、PTP 精度検証、mTLS プロキシヘッダ診断、アラートチャネル設定診断)
- CI/静的解析/カバレッジ基盤
3.13 特許技術実装(MT25-EV001〜MT25-EV030)
- 旧台帳の MT25-EV001〜MT25-EV030 は、ソース上の対応モジュール実装を確認済み。
- 代表対応:
- ChronoSpikeAttention
- TAS-Encoding
- Quantum PFC / Q-PFC Loop
- Energy Plasticity
- Embodied PLA
- Conscience Circuit
- SNN-RAG Hybrid
- Spike Encryption
- 睡眠/調節物質/発達/創造性/内省/目標選択/共進化など
3.14 その他完了項目
- センサー統合プラグイン機構(USB/ステレオ/IR/ONVIF/LiDAR/環境/GPIO/音声)
markdown_parser.pyを含む文書パーサ拡張quantum/quantum_interface.pyプロキシdistributed_brain_executor.pyの BiomimeticAdapter 統合- 通信ラッパー改善 (
communication.py,zenoh_comm.py) EVOSPIKENET_TOKENIZER_NAMEによる tokenizer 既定値の上書き- RAG 重複挿入抑止と legacy exact text fallback
EpisodicMemory.set_max_memories()と eviction policy の runtime 制御
3.15 機能モジュール層(evospikenet/functional_modules.py)
VisualModule/AuditoryModule/SpeechGenerationModule/WordEmbeddingLayer/TAS_Encoder/FunctionalModuleManagerの実装と管理機構を確認。- docstring TODO(
TODO: document this function/class)は解消済み。 EdgeDetector.forward()は Sobel ベースエッジ抽出へ更新済み。MFCCExtractor.forward()は STFT + DCT ベースの MFCC 近似抽出へ更新済み。AuditoryModuleは 1D Conv ベース音声エンコーダを実装済み。SpeechGenerationModule/WaveformSynthesizerは ConvTranspose1d ベース波形デコード経路を実装済み。functional_modules.py内の「In a real implementation ...」注記は解消済み。MilvusRetrieverはEVOSPIKENET_MILVUS_URI等と依存が存在する場合は Milvus 検索を使用し、未設定時はローカル fallback retrieval を使用。- 補足:
passは抽象基底クラスFunctionalModuleBase.forward()の抽象メソッド宣言であり、欠落バグではない。MilvusRetrieverの Milvus 接続経路と失敗時フォールバック経路はtests/unit/test_functional_modules_milvus.pyで検証済み。
3.16 Embodied PLA ループ(evospikenet/embodied_pla_loop.py)
PerceptualLanguageEncoder/LanguageActionDecoderの重複スタブ定義を整理し、主実装のみを有効化。- SNNベース視覚処理を Rank1-9 に実装(
SNNConv2d/ LIF近似処理を統合)。 - 音声/NLP 実運用経路として
SpikingLanguageDecoderを統合し、ルールベースとのハイブリッド推論を実装。 - 逆運動学/小脳協調/PWM 変換を
TrajectoryPlanner/CerebellumCoordinatorと接続。 - 実ロボット連携の抽象化として
_RobotInterfaceを導入し、_MockRobotInterface/_ROSRobotInterfaceを実装。 - 順運動学ベースの現在位置推定を実装し、
idle行動を no-op 成功として制御ループ継続性を確保。 vocab_table.jsonの探索をパッケージ相対パス優先に修正(Docker 固定パス依存を解消)。- 検証:
tests/unit/test_embodied_pla_loop.pyにて、クローズドループのハング修正。- 同ファイルに以下の新規検証を追加:
- SNN視覚 Rank1 出力検証
- 音声/NLP 統合デコーダ検証
- 逆運動学→小脳協調→PWM フロー検証
- ロボットIFモード切替検証
- 実行結果:
pytest tests/unit/test_embodied_pla_loop.py tests/unit/test_embodied_pla_phase_modules.py -q -o addopts=''で 20 passed。
3.17 分散ファサード層(evospikenet/distributed.py)
- 研究向け lightweight facade を、実運用寄りの依存軽量ファサードへ拡張。
ZenohCommunicatorに以下を実装:send_message/receive_messagepublish/subscribeencode_message/decode_messagecloseNodeDiscoveryServiceにノード台帳とヘルス管理を実装:register_node/discover_nodesupdate_node_status/heartbeatget_failed_nodesDistributedLoadBalancerに実負荷ベース配分を実装:register_node/assign_taskmark_task_done/handle_node_failureSnapshotManagerにスナップショット生成・復元を実装:create_snapshotrestore_from_snapshotDistributedBrainNetworkをランダム出力から安定再現可能な推論へ改善(形状正規化 + 決定論的投影 + ノード数ゲイン)。DistributedManagerの通信/計算コストモデルを改良(単純比例モデルから非線形スケーリングへ)。- 検証:
tests/unit/test_distributed_facade.py新規追加- 実行結果:
pytest tests/unit/test_distributed_facade.py -q -o addopts=''通過
3.18 LLM バックエンド学習フック(evospikenet/llm_backend.py)
- 推論経路(デバイス不一致時 CPU リトライ)を維持しつつ、
train()を実行可能フックへ強化。 train()の実装強化:dataset_path存在検証trainer=spiking|standardによる学習スクリプト解決- CLI 引数組み立て(
epochs/batch_size/learning_rateなど) dry_runサポートsubprocess実行結果の要約返却(exit code, stdout/stderr tail)- timeout 処理(終了コード 124)
- これにより、外部スクリプト運用前提を保ちながら、SDK/API から安全に学習起動可否を判定可能化。
- 検証:
tests/unit/test_llm_backend.py新規追加- 実行結果:
pytest tests/unit/test_llm_backend.py -q -o addopts=''通過
3.19 Foundation拡張機能(evospikenet/foundation_extensions.py ほか)
- バイアス緩和運用化:
BiasMitigationEngine/BiasMitigationResultを実装。- Demographic parity / Equal opportunity gap の算出と、閾値超過時の軽量 reweighing を実装。
- 倫理評価運用化:
EthicsComplianceEvaluator/EthicsEvaluationResultを実装。- 安全・プライバシー・公平性・人間オーバーライドの運用ゲートを実装。
- 大規模マルチエージェント協調:
ScalableMultiAgentCoordinatorを実装。- shard 分散による経験蓄積・集約・推薦を実装。
- 嗅覚/味覚/生体センサー統合:
MultiModalSensorData/MultiSensoryToBrainLanguageAdapterを実装。- 触覚既存経路と olfactory/gustatory/biosignal の融合ベクトル化を実装。
- API 拡張:
/api/foundation/bias-mitigation/evaluate/api/foundation/ethics/evaluate/api/foundation/social/scale- 検証:
tests/unit/test_foundation_extensions.pyに bias/ethics/scalable social の unit テスト追加tests/integration/test_foundation_api_integration.pyに新規 API の integration テスト追加tests/unit/test_tactile_to_language.pyに multisensory adapter テスト追加
3.20 言語バインディング・逆コンパイル基盤(sdk_* / brain_language_decoder.py)
- 各言語 SDK 配布雛形の自動生成を追加:
export_go_sdk_package()(go.mod生成)export_ts_sdk_package()(package.json/dist/*生成)export_swift_sdk_package()(Package.swift/ Sources / Tests 生成)- Swift プロキシ専用 unit テスト追加:
tests/unit/test_sdk_swift_stub.py- Brain Language 逆コンパイル運用評価を強化:
BrainLanguageDecoder.integrate_pretrained_artifacts()BrainLanguageDecoder.evaluate_dataset()- 検証:
tests/unit/test_sdk_stubs.pyに package export テスト追加tests/unit/test_brain_language_decoder.pyに pretrained 統合 + dataset 評価テスト追加
3.21 GPU/CPU デバイス整合性修正(2026-04-27)
3.21.1 AEG デバイス alignment(BUG-CPU-001)
- 対象:
evospikenet/control.py—AEGクラス - 問題:
__init__内の 4 つの状態テンソルがregister_bufferなしで定義されていたため、モジュールを.to(device)/.cuda()で移動しても当該テンソルはデバイス移動せずデバイス不一致エラーが発生していた。また、reset_statistics()をupdate()前に呼ぶとAttributeErrorが生じるケースもあった。 - 修正内容:
self.energy(torch.ones(num_neurons))→register_buffer("energy", ...)self.load_history(torch.zeros(100))→register_buffer("load_history", ...)self.total_spikes_processed(Python int)→register_buffer("total_spikes_processed", torch.zeros(1, dtype=torch.long))self.total_energy_saved(Python float)→register_buffer("total_energy_saved", torch.zeros(1))get_power_statistics()内の比較をif self.total_spikes_processed > 0:→.item() > 0に変更(tensor bool 変換 UserWarning 解消)- 検証:
tests/unit/test_fail_closed_regressions.pyに以下を追加:test_aeg_buffers_move_with_module_to_cputest_aeg_buffers_move_with_module_to_cuda(CUDA 利用可能時のみ実行)test_aeg_reset_statistics_before_any_updatetest_aeg_get_power_statistics_before_any_update
- CPU(
CUDA_VISIBLE_DEVICES=''): 17 passed, 2 skipped / GPU(CUDA_VISIBLE_DEVICES=0): 19 passed
3.21.2 ClosedLoopController デバイス自動移動(BUG-CPU-002)
- 対象:
evospikenet/control.py—ClosedLoopController.forward() - 問題: モデルが GPU に移動済みでも入力テンソル(
sensor_input、target)と内部バッファ(integral、prev_error、spike_buffer)が CPU のままデバイス不一致エラーが発生していた。 - 修正内容:
forward()先頭でmodel_device = next(self.controller_net.parameters()).deviceを取得し、sensor_input/target/ 内部バッファ 3 本を.to(model_device)で自動移動。- 検証:
tests/unit/test_fail_closed_regressions.pyに以下を追加:test_closed_loop_controller_cpu_gpu_input_alignmenttest_closed_loop_controller_moves_cpu_inputs_to_cuda(CUDA 利用可能時のみ実行)
- 全テスト結果: CPU 17 passed / GPU 25 passed(既存テスト含む)
3.21.3 SDK-URL 全ファイル一括置換(Sprint-2 SDK-URL)
- 対象: リポジトリ全体の
future_apps/配下 40+ ファイル - 内容: ハードコードされた
http://localhost:8000等の URL を環境変数参照(EVOSPIKENET_SDK_URL等)に置換するtools/replace_sdk_url.pyを実行済み。 - 状態:
grep -R "http://localhost:8000" .でヒットなし(ドキュメント・コメント除く)を確認。
3.21.4 AvailabilityMonitor 遅延初期化(MONITOR-001)
- 対象:
evospikenet/availability_monitor.py—AvailabilityMonitor - 内容:
autostart=Falseデフォルトにより、import 時に監視スレッドが自動起動しない。EVOSPIKENET_AVAIL_MONITOR_LAZY=true環境変数でも遅延化を制御可能。EVOSPIKENET_HEALTH_URL環境変数によるヘルスエンドポイント設定(FALLBACK-004)も実装済み。- 状態: ソース確認済み・テスト通過済み。
3.21.5 Evaluate_System.md ソース対照監査
Evaluate_System.mdの全ステータス(✅ / ❌ / 🔄)をソースコードと照合し修正:- Sprint-2
SDK-URL: ❌ → ✅ - Sprint-3
MONITOR-001: ❌ → ✅ BUG-005(hidden_size ONNX): ✅ → 🔄(TensorRT パスは GPU 専用クラスなので.cuda()は適切であり完全修正ではなく部分対応)BUG-CPU-001/BUG-CPU-002: 新規エントリ追加- セクション 9「GPU/CPU デバイス整合性検証サマリー」新規追加
3.22 Evaluate_System.md 全未対応項目の実装(2026-04-27)
3.22.1 統一アラートモジュール(ALERT-001)
- 対象:
evospikenet/alerting.py(新規作成) - 内容:
- Slack Incoming Webhook / PagerDuty Events API v2 / SMTP メール の 3 チャンネルを統一した公開 API を実装。
send_alert(message, level, component, details)→Dict[str, bool]send_fallback_alert(component, reason, details)— フォールバック定型アラートsend_critical_alert(component, message, details)— Critical 障害アラート- 各チャンネルの有効化は環境変数で制御:
EVOSPIKENET_SLACK_WEBHOOK_URL— Slack Webhook URLEVOSPIKENET_PAGERDUTY_ROUTING_KEY— PagerDuty ルーティングキーEVOSPIKENET_ALERT_EMAIL_TO/EVOSPIKENET_ALERT_EMAIL_FROM/EVOSPIKENET_ALERT_SMTP_HOST/EVOSPIKENET_ALERT_SMTP_PORT— SMTP 設定EVOSPIKENET_ALERT_CHANNELS— 有効チャンネルの明示指定(カンマ区切り)
- チャンネル未設定時は
logger.warningにフォールバック(例外を投げない)。 - 検証:
python -c "from evospikenet.alerting import ..."で 3 関数すべて正常動作(チャンネル未設定 →{}返却、logger.warning出力)を確認済み。
3.22.2 SDK モックパッケージ(TEST-001)
- 対象:
future_apps/tools/evospikenet_sdk_mock/(新規パッケージ) - 内容:
__init__.py—MockServer(port)クラス:start()/stop()/base_urlプロパティserver.py— FastAPI アプリ:/api/health//v1/evolve//v1/predict//v1/spatial/generate//v1/spatial/infer//v1/sessions/{id}/ catch-all を実装conftest.py— pytest fixtures:evospikenet_mock_server(session scope)/evospikenet_mock_urlpyproject.toml— installable パッケージ、evospikenet-mockCLI エントリポイントtests/test_sdk_mock.py— 6 テスト(import、全ルート確認、health、evolve、catch-all)- 用途: CI 環境で
EVOSPIKENET_API_URL=http://localhost:18000を向けてテスト実行。本番コードへの Mock 混入を防止。 - 検証:
pytest future_apps/tools/evospikenet_sdk_mock/tests/ -q→ 6 passed。
3.22.3 GPUAdapter TensorRT hidden_size 修正(TYPE-001)
- 対象:
evospikenet/universal_integration.py—GPUAdapter.convert_format() - 問題: TensorRT コンパイル時のダミー入力が
torch.randn(1, 768).cuda()にハードコードされており、hidden_size が 768 以外のモデルで形状不一致が発生。 - 修正内容:
_hidden = 768 try: _hidden = int(getattr(getattr(model, 'config', None), 'hidden_size', _hidden)) except Exception: pass model = torch_tensorrt.compile(model, inputs=[torch.randn(1, _hidden).cuda()]) - 状態: ソース修正済み。
BUG-005/TYPE-001は完全対応済みとしてEvaluate_System.mdを更新。
3.22.4 JobQueue 移行警告(MOCK-001 残件)
- 対象:
evospikenet/video_analysis/job_queue.py—JobQueue.__init__ - 内容:
JobQueueは in-memory のみのレガシークラス。本番相当のVideoAnalysisJobStore(Redis / SQLite / JSON フォールバック対応済み)への移行を促すlogger.warningを追加。 - 状態:
Evaluate_System.mdの MOCK-001 残件を ✅ に更新済み。
3.22.5 mineral_exploration タスク警告強化(tasks.py High)
- 対象:
future_apps/mineral_exploration/workers/tasks.py - 問題:
preprocess_task/predict_taskがプレースホルダー出力(.tifテキストファイル、"0\n"ファイル)を使用しているにもかかわらず、ダウンストリームに品質低下が伝わらない。 - 修正内容:
preprocess_task:logger.warning("[preprocess_task][job=%s] Using placeholder stack...")を追加し、結果に"synthetic": True/"warning": "..."フィールドを追加。predict_task: 同様にlogger.warningと"synthetic": True/"warning": "..."フィールドを追加。- 状態: API 消費者が
result["synthetic"]を確認してデータ品質低下を検知可能になった。
3.22.6 IoU 例外ログ追加(Low — video_scene_app)
- 対象:
future_apps/video_scene_app/main.py—_iou()関数 - 内容:
except Exceptionブロックをexcept Exception as _e:に変更し、logger.debug("_iou: failed to compute IoU for boxA=%s boxB=%s — %s", boxA, boxB, _e)を追加。 - 状態: 除算失敗時のデバッグが容易になった。
3.22.7 翻訳サービス ニューラルエンジン統合(Low — translator)
- 対象:
future_apps/real_time_language_translation/src/services/translator.py - 問題: アプリ名が "real_time_language_translation" であるにもかかわらず実装がルールベースのみ。
- 修正内容:
_load_neural_backend(src_lang, tgt_lang)関数を追加(global キャッシュ付き遅延ロード)。Helsinki-NLP/OPUS-MT のMarianTokenizer+MarianMTModelを使用。Translator.translate()内でEVOSPIKENET_TRANSLATION_BACKEND=neural環境変数が設定されている場合にニューラル翻訳を試行し、失敗時はルールベースにフォールバック。- レスポンス
metadataに"engine": "neural" | "rule"フィールドを追加。 - 依存:
transformers未インストール時はルールベースに自動フォールバック(例外なし)。
3.22.8 Evaluate_System.md 全ステータス反映
- 上記 3.22.1〜3.22.7 の実装完了に伴い
Evaluate_System.mdを更新: - Sprint-3:
ALERT-001/TEST-001/CRED-001を ❌ → ✅ - Sprint-4:
TYPE-001を ❌ → ✅ - Section 3
MOCK-001 残件(job_queue.py) を ❌ → ✅ - Section 4
workers/tasks.py Highを ❌ → ✅ - Section 4.14
IoU Lowを 🟢 → ✅ - Section 4.15
translator.py Lowを 🟢 → ✅ BUG-005 / TYPE-001(Section 8 サマリー)を 🔄 → ✅- ドキュメント先頭更新ノートに v2 追記
3.23 4.1 モック/プレースホルダ検出点の改善(2026-05-01)
3.23.1 通信 fallback の fail-closed 制御
- 対象:
evospikenet/communication.py - 内容:
EVOSPIKENET_FAIL_ON_COMM_FALLBACKを追加。- 通信バックエンド状態
backend/is_fallback_backendを明示。 - in-memory fallback publish 時に警告ログを追加。
- 状態: 実装完了。
3.23.2 互換 API fallback の厳格化
- 対象:
evospikenet/api_modules/future_apps_compat_api.py - 内容:
EVOSPIKENET_ALLOW_COMPAT_FALLBACKSを追加。- strict 環境で fallback 不許可時に
503 compat_fallback_disabledを返却。 - fallback 応答に
is_synthetic/data_provenanceとヘッダを付与。 - 状態: 実装完了。
3.23.3 動画解析プレースホルダ文字列の廃止
- 対象:
evospikenet/video_scene_service.py - 内容:
TRANSCRIPT_PLACEHOLDER/NARRATIVE_GENERATION_FAILED依存を廃止。transcript_status/narrative_statusと synthetic フラグで状態を明示。EVOSPIKENET_ALLOW_MEDIA_PLACEHOLDERS=0で fail-closed 化。- 状態: 実装完了。
3.23.4 PFC プレースホルダの実装置換
- 対象:
evospikenet/pfc.py - 内容:
- remote backup の未接続プレースホルダを
_backup_to_remote_site実装に置換。 - leader タスク結果の固定
task_completed文字列を廃止し、構造化結果を返却。 - 状態: 実装完了。
3.23.5 時刻同期の劣化状態可視化
- 対象:
evospikenet/eeg_integration/time_sync.py - 内容:
require_high_precision/allow_ntp_fallback_for_ptpを追加。sync_source/degraded/degraded_reasonを status に追加。- PTP 不可時の NTP fallback を設定で fail-closed 化可能に変更。
- 状態: 実装完了(型エラーも収束)。
3.23.6 dummy service fallback の運用制御
- 対象:
evospikenet/services/__init__.py - 内容:
EVOSPIKENET_ALLOW_DUMMY_SERVICESを追加。- strict 環境で dummy scene 生成を禁止し、例外送出へ変更。
- 状態: 実装完了。
3.23.7 test-status の実行状態化
- 対象:
evospikenet/api_modules/test_api.py - 内容:
TEST_EXECUTION_STATEを追加。/run-testsの開始・完了・失敗・タイムアウトで状態更新。/test-statusは placeholder ではなく runtime state を返却。- 状態: 実装完了。
3.24 Q-PFC + QAOA ソルバープラグインシステム(2026-06-11)
3.24.1 SolverPlugin 基底クラスとレジストリ
- 対象:
evospikenet/plugins/__init__.py,evospikenet/plugins/solver_plugin.py,evospikenet/plugin_factory.py - 内容:
PluginType.SOLVERを追加しPluginFactoryで_solver_pluginsレジストリを管理。SolverPlugin抽象基底クラス(solve()必須実装)を追加。- 状態: 実装完了。
3.24.2 組み込みバックエンドプラグイン 6 種
- 対象:
evospikenet/plugins/builtin/solver_backends/ - 内容:
| プラグイン名 | ファイル | 依存 | 動作確認 |
|---|---|---|---|
classical |
classical_solver_plugin.py |
なし | ✅ |
qaoa_simulator |
qaoa_simulator_solver_plugin.py |
なし | ✅ |
qiskit |
qiskit_solver_plugin.py |
qiskit, qiskit-aer |
フォールバック確認済み |
dwave |
dwave_solver_plugin.py |
dwave-ocean-sdk |
フォールバック確認済み |
openjij |
openjij_solver_plugin.py |
openjij |
✅ 実機 SA/SQA 動作確認 |
fixstars_amplify |
fixstars_amplify_solver_plugin.py |
amplify |
✅ Amplify AE 実機接続確認 |
- 状態: 実装完了。
.envからトークン自動ロード済み。
3.24.3 optimizer.py .env 自動ロード
- 対象:
evospikenet/optimizer.py - 内容:
_load_dotenv()をモジュールインポート時に実行。FIXSTARS_TOKEN/IBMQ_TOKEN/DWAVE_API_TOKENを.envから読み込む。 - 状態: 実装完了。
3.24.4 ベンチマーク・効果量分析
- 対象:
EvoSpikeNet-Core/scripts/,EvoSpikeNet-Core/bench_reports/ - 内容:
bench_qpfc_qaoa.py/bench_qpfc_qaoa_bulk.py— 各バックエンド n=400 試行。qpfc_qaoa_report_bulk.md— 平均スコア・95% CI。qpfc_qaoa_thresholds.md— N_qaoa_limit / T_qaoa_min 推定(現状 None; 実機規模が必要)。qpfc_qaoa_effect_sizes.md— Cohen's d: size 40 で d≈-0.23(小〜中効果)。- 状態: 実装完了。
3.24.5 SDK サンプル
- 対象:
examples/sdk/programs/solver_plugin_demo.py - 内容: 4 デモ(直接呼び出し・Q-PFC 統合・カスタムプラグイン登録・ベンチ結果表示)。
- 状態: 実装完了・動作確認済み。
3.24.6 ドキュメント
Docs/docs/SDK_SOLVER_PLUGIN_GUIDE.md/.en.md— ソルバープラグイン開発ガイド(日英)を新規追加。Docs/docs/Q_PFC_ADAPTIVE_CONTROL_GUIDE.md— QAOA+プラグイン統合セクションを末尾追記。Docs/mkdocs.yml— 日英ナビに SDK_SOLVER_PLUGIN_GUIDE を追加。- 状態: 実装完了。
3.25 HPDBN 契約境界整理(2026-08-27)
3.25.1 責務境界の明文化
- 対象:
EvoSpikeNet-Core/evospikenet/hpdbn.py,Docs/docs/HPDBN_ARCHITECTURE.md,Docs/docs/HPDBN_ARCHITECTURE.en.md,Docs/docs/HPDBN_SDK_INTEGRATION.md,Docs/docs/HPDBN_SDK_INTEGRATION.en.md - 内容:
LocalHPDBNNodeは期限・負荷・通信・品質から経路決定を行う。SafetyBarrierは利用側制御層で最終許可を行うことを明文化。- 外部最適化は非緊急・非同期の補助ジョブに限定し、緊急時に待機しない設計とした。
- 既存 DevicePlugin 接続は SDK 層の責務に分離し、Core の可用性/期限/モデル整合と切り分けた。
- 状態: 実装完了・ドキュメント更新済み。
参照ドキュメント
docs-dev/connectome_evospikenet_implementation_policy.ja.mddocs-dev/connectome_schema.mddocs/DISTRIBUTED_BRAIN_SPATIAL_NODES.mddocs/SDK_API_REFERENCE.mdDocs/VIDEO_AUDIO_ANALYSIS_SPEC.md
この再編版は、重複セクションを統合し、ステータス表記をソースコード準拠に補正した運用用台帳です。